Witam wszystkich
Jak zwykle mam kłopoty ze składnią
Kłopot polega na tym że komponent który zastosowałem ma możliwość pobierania "pliku" jako "string"
Tylko że nie mogę podpiąć się do tego "STRING-a"
początki były takie
//*********************************************************************************************************************
function bin2dec(b:string):cardinal;
var i:integer;
begin
result:=0;
for i:=1 to length(b) do
if b[i]='1' then result:=result*2+1 else result:=result*2;
//if b[i]='1' then result:=result*2 else result:=result*2+1;
end;
//*********************************************************************************************************************
procedure TForm1.Button1Click(Sender: TObject);
var dane: TStringlist;
rozkaz_dec: byte;
begin
try
dane:= TStringList.Create;
dane.loadfromfile('rozkaz.txt');
if dane.Count<>1 then
begin
dane.free; //cokolwiek bo plik nie taki itd ...
exit;
end;
rozkaz_dec:= bin2dec(dane.strings[0]);
DlPortWritePortUchar(adres+PORT0 , rozkaz_dec);
finally //ladne bezpieczne zakonczenie itd.
//dane.free;
end;
end;
czyli
pobieram "plik"
tworzę "string"
przekształcam go w "daną" typu "DEC"
i wysyłam na "port"
Ale chciałem to samo zrobić przez "HTTP"
Zastosowałem komponent "httpget" www.utilmind.com/delphi/httpget.zip , ma on możliwość pobierania pliku i pobierania "danej" jako "string"
obie procedurki działają bardzo ładnie
Ale nie mogę podpiąć się pod "string-a"
chciałem pominąć
pobieranie "plik-u"
i tworzenie "string-u"
Ale mi to nie chce działać
Jak robię
procedure TForm1.Button2Click(Sender: TObject);
begin
HTTPGet.URL := Edit_URL.Text; // Adres pliku
HTTPGet.GetString; //pobiera string
end;
procedure TForm1.HTTPGetDoneString(Sender: TObject; Result: String);
begin
ShowMessage(Result); // wyswietla pobrany string
end;
To wszystko działa ok.
jak chcę umieścić "string" u siebie w kodzie to nie mogę skompilować
gdzie popełniam błąd w składni
//*********************************************************************************************************************
function bin2dec(b:string):cardinal;
var i:integer;
begin
result:=0;
for i:=1 to length(b) do
if b[i]='1' then result:=result*2+1 else result:=result*2;
//if b[i]='1' then result:=result*2 else result:=result*2+1;
end;
//*********************************************************************************************************************
procedure TForm1.Button1Click(Sender: TObject);
var rozkaz_dec: byte;
begin
rozkaz_dec:= bin2dec(HTTPGet.GetString[0]); //// GDZIE BŁĄD ?????
DlPortWritePortUchar(adres+PORT0 , rozkaz_dec);
end;
PROSZĘ o pomoc kolegów , bo nie mogę sobie z tym poradzić