![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Array of Char to String (ANSIString)=:'' [XP]
petvv © (2011-10-05 09:28:00)Предыстория такая. Cофтина написана на D7 и SDK тоже в SDK есть функция
function GetCardProps(Pump : Integer; Product : Byte; var CardType : Integer;
var CardNumber : TCardNum; var Balance : Double) : Boolean;
где
TCardNum = array [0..MAX_CARD_NUM_LEN] of Char;
Сейчас пишу на D XE:
function GetCardProps(Pump : Integer; Product : Byte; var CardType : Integer;
var CardNumber : TCardNum; var Balance : Double) : Boolean;
var
psa: PSafeArray;
rStr:String;
KardNum:ANSIString; //Делал и String
begin
KardNum:='';
if True then begin
SafeArrayUnaccessData(psa);
ACOS.Connect1;
rStr:=HReadRecord($ff01,1,8,0);
rStr:=Copy(rStr,4,5);
KardNum:=CardNumber; // KardNum='' =>?????????????
if KardNum=rStr then
begin
CardType := 0;
Balance := 0;
Result := True;
end;
end
else
Result := False;
end;
CardNumber:=(#0,#0,#0,#0,#0,#0,#0,#0,#0,#0,#0,#1,#0,#0,#0,#0,#0,#0,#0,#0,#0)
это в дебагере.
Собственно вопрос почему получаю пустую строку ???
MBo (2011-10-05 09:48:00) [1]Array of AnsiChar
логично, так ведь?
petvv (2011-10-05 09:45:00) [2]Не Char а Array of Char
Если делать KardNum:=AnsiChar(CardNumber);
То возникают грабли
E2089 Invalid typecast
Омлет (2011-10-05 09:31:00) [3]Char -> AnsiChar
String -> AnsiString