boris.nihil
Members-
Content Count
27 -
Joined
-
Last visited
Community Reputation
0 NeutralRecent Profile Visitors
The recent visitors block is disabled and is not being shown to other users.
-
where can i find needed delphi units for this new openssl ? (libeay32.pas,libexslt.pas,libxml2.pas,libxmlsec.pas...)
-
hello,i am not familiar with ssl much.. I have some old delphi code for sending soap messages ,it uses oopenssl: "Delphi import unit for OpenSSL libeay, version 0.7m, 2010-11-05" it works only with dlls from 2005 year (ssleay32.dll and libeay32.dll) why this EXE dont work with some newer dlls, from 2019 for example...
-
thanks a lot for you answers
-
compiler says error,no such function this code works... ------------------- bajt := data1.IdTCPClient1.IOHandler.ReadByte; bajt1 := data1.IdTCPClient1.IOHandler.ReadByte; bajt2 := bajt * $10 + bajt1; data1.IdTCPClient1.IOHandler.ReadBytes(Buffer,bajt2,false); s := ''; for i := 0 to bajt2 - 1 do s := s + inttohex(buffer,2); ---------------------------- i need a hex, I explode it with 1C delimeter, its easy to handle.. What AApend parameter means, true or false, what to use in: data1.IdTCPClient1.IOHandler.ReadBytes(Buffer,bajt2,false); ?
-
thanks Datagram protocol Datagram protocol is used over stream-oriented protocols (TCP) to provide information to the receiver of the length of the data being sent. Datagram protocol forms a packet by adding a header to the payload. Datagram protocol header contains the length of the payload encoded in two bytes. Header Format Header consists of two bytes with the most significant byte first: Byte Value 1 Message length/256 2 Message lengt%256 --------------------------------------- Length of data Header Packet 7 0x00 0x07 0x00 0x07 B1 B2 B3 … B7 17 0x00 0x11 0x00 0x11 B1 B2 B3 … B17 135 0x00 0x87 0x00 0x87 B1 B2 B3 … B135 i need timer (put on 2000 ms), becouse i wait for customer to insert credit card on POS terminal, then POS will sent some message to me,starting with 10xxxxxxx first 2 bytes is size of packet,i think first one is always zero ? thanks,i will try it
-
Hello I have question about indy,sending and receiving messages from-to ECR-POS(Ingenico), am i doing it right ? ------send to POS request for Card paying IdTCPClient1.IOHandler.InputBuffer.Clear; IdTCPClient1.IOHandler.Write(buff); Timer4.Enabled := true; ---------on timer4 try if IdTCPClient1.IOHandler.InputBufferIsEmpty then begin if IdTCPClient1.IOHandler.CheckForDataOnSource(1000) then begin bajt := IdTCPClient1.IOHandler.ReadByte; bajt := IdTCPClient1.IOHandler.ReadByte; IdTCPClient1.IOHandler.ReadBytes(Buffer,bajt - 1,true); s := ''; for i := 0 to bajt - 1 do s := s + chr(buffer); Memo1.Lines.Add(s); Timer4.Enabled := false; end else IdTCPClient1.IOHandler.InputBuffer.Clear end else IdTCPClient1.IOHandler.InputBuffer.Clear; except end;
-
Does anybody have experience with 2d barcode, TurboPower SysTools, component StPDF417Barcode... I can't add StPDF417Barcode1.code = '...' witch contains some local letters (ŠĐČĆŽš), it says "Range check error"... virm_grad ,virm_adresa ,virm_naziv:string; virm_naziv := utf8encode('dsdddddd'); virm_adresa := utf8encode('ŠĐŠĐČĆĆČĆČ'); virm_grad := utf8encode('špšpUIZUZUZ'); StPDF417Barcode1.Code := 'HRVHUB30' + #13#10 + 'EUR' + #13#10 + virm_naziv + #10 + virm_adresa + #10 + virm_grad + #10;
-
all thanks goes to Remy
-
function GetValue(JsonObject: TJSONObject; const PairName: string): TJSONValue; var JsonPair: TJSONPair; begin JsonPair := JsonObject.Get(PairName); if JsonPair = nil then raise Exception.Create('Pair "' + PairName + '" not found'); Result := JsonPair.JsonValue; end; function GetObject(JsonObject: TJSONObject; const PairName: string): TJSONObject; begin Result := GetValue(JsonObject, PairName) as TJSONObject; end;
-
var JsonValueArr,JsonValue: TJSONValue; JsonObject: TJSONObject; jasonArr: TJSONArray; begin JsonValue := TJSONObject.ParseJSONValue(memoRequest.Lines.Text); if JsonValue = nil then begin ShowMessage('Error'); end else begin JsonObject := JsonValue as TJSONObject; JsonObject := GetObject(JsonObject, 'forretningsadresse'); jasonArr := GetValue(JsonObject, 'adresse') as TJSONArray; for JsonValueArr in jasonArr do begin showmessage(JsonValueArr.Value); end; end; end;
-
you are right, thanks for you help and your time
-
this works ok.. var jasonArr:TJSONArray; par: TJSONPair; i: Integer; LItem:TJSONValue; JsonValueArr : TJSONValue; testValue: TJSONValue; begin jasonArr := GetValue(JsonObject, 'documentStatus') as TJSONArray; for JsonValueArr in jasonArr do begin for LItem in TJSONArray(JsonValueArr) do begin if TJSONPair(LItem).JsonString.Value = 'statusCode' then odgovorFinaStatus.b2gStatus := TJSONPair(LItem).JsonValue.Value else if TJSONPair(LItem).JsonString.Value = 'statusText' then odgovorFinaStatus.b2gStatusTekst := TJSONPair(LItem).JsonValue.Value else if TJSONPair(LItem).JsonString.Value = 'statusTimestamp' then odgovorFinaStatus.b2gStatusVrijeme := TJSONPair(LItem).JsonValue.Value else if TJSONPair(LItem).JsonString.Value = 'note' then odgovorFinaStatus.b2gStatusNapomena := TJSONPair(LItem).JsonValue.Value else if TJSONPair(LItem).JsonString.Value = 'partialAmount' then begin try odgovorFinaStatus.b2gDjelIzn := StrToFloat(TJSONPair(LItem).JsonValue.Value); except odgovorFinaStatus.b2gDjelIzn := 0 end; end;
-
when i write for LItem in TJSONObject(JsonValueArr) do it says: [dcc32 Error] Unit1.pas(568): E2010 Incompatible types: 'TJSONValue' and 'TJSONPair'