22. maj 2007 - 03:02Der er
3 kommentarer og 2 løsninger
Oversættelse af c++ kode til delphi
Hola
Her er 2 funktioner som jeg bruger i min c++ kode. Er der en der gider oversætte det til delphi da jeg stadig ikke er helt inde i den lidt mere avancerede del endnu:
function ToHex(s : String) : String; var res : String; i : Integer; begin res := ''; for i := 1 to Length(s) do begin res := res + IntToHex(Ord(s[i]), 2); end; ToHex := res; end;
function FromHex(s : String) : String; var res : String; i : Integer; begin res := ''; for i := 1 to (Length(s) div 2) do begin res := res + Chr(StrToInt('$' + Copy(s,2*i-1,2))); end; FromHex := res; end;
Man behøver ikke at opfinde den dybe tallerken en gang til. Delphi har et hav af små rutiner som f.eks:
StrToIntDef Routine
Converts a string that represents an integer (decimal or hex notation) to a number with error default.
Unit SysUtils
Syntax
[Delphi] function StrToIntDef(const S: string, Default: Integer): Integer;
Description StrToIntDef converts the string S, which represents an integer-type number in either decimal or hexadecimal notation, into a number. If S does not represent a valid number, StrToIntDef returns Default.
Related Information IntToHex IntToStr StrToInt TryStrToInt
eller IntToHex Routine
Returns the hex representation of an integer.
Unit SysUtils
Syntax
[Delphi] function IntToHex(Value: Integer, Digits: Integer): string;
[Delphi] function IntToHex(Value: Int64, Digits: Integer): string;
Description IntToHex converts a number into a string containing the number's hexadecimal (base 16) representation. Value is the number to convert. Digits indicates the minimum number of hexadecimal digits to return.
Related Information IntToStr
I arnes udgaver kan man i øvrigt forenkle lidt ved brug af den indbyggede variabel result som er den returnerede værdi af en function:
function ToHex(s : String) : String; var i : Integer; begin result := ''; for i := 1 to Length(s) do begin result := result + IntToHex(Ord(s[i]), 2); end; end;
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.