12. juli 2004 - 14:51Der er
9 kommentarer og 2 løsninger
Integer: Skrevet bagfra?
Hej Jeg skal bruge en Integer variabel skrevet bagfra, jeg tror jeg har læst hele Delphis hjælp igennem, men jeg kunne ike rigtig finde noget jeg ku bruge. er der nogen der kan hjælpe??? det tal der skal skrives bagfra ligger i en Integer Variable "Tal1", og Tal1 bagfra skal gemmes i Variablen "Back".
function ReverseString(const s: string): string; var i, len: Integer; begin len := Length(s); SetLength(Result, len); for i := len downto 1 do begin Result[len - i + 1] := s[i]; end; end;
procedure TForm1.Button1Click(Sender: TObject); var Tal1,Back: Integer; begin Tal1 := 1234; Back := StrToInt(ReverseString(IntToStr(Tal1))); ShowMessage(IntToStr(Back)); end;
Synes godt om
Slettet bruger
12. juli 2004 - 15:05#8
Du kan også vende tallene bytevis:
// Turning a smallint (16 bit signed) function i16( i : smallint ) : smallint; var x1 : smallint; x2 : array[0..1] of byte absolute x1; x3 : array[0..1] of byte absolute i; begin x2[0] := x3[1]; x2[1] := x3[0]; result := x1; end;
// Turning a word (16 bit unsigned) function r16( i : word) : word; var x1 : word; x2 : array[0..1] of byte absolute x1; x3 : array[0..1] of byte absolute i; begin x2[0] := x3[1]; x2[1] := x3[0]; result := x1; end;
// Turning a longint (32 bit signed) function r32( i : longint) : longint; var x1 : longint; x2 : array[1..4] of byte absolute x1; x3 : array[1..4] of byte absolute i; begin x2[1] := x3[4]; x2[2] := x3[3]; x2[3] := x3[2]; x2[4] := x3[1]; result := x1; end;
Jeg kom lige til at tænke på dette spørgsmål igen.
Hvis det er Integer->Integer man vil så er følgende noget hurtigere end at køre via string:
function MyReverseInteger(const v : Integer) : Integer;
var tmp : Integer;
begin tmp := v; result := 0; while (tmp > 0) do begin result := 10 * result + (tmp mod 10); tmp := tmp div 10; end; end;
Synes godt om
Ny brugerNybegynder
Din løsning...
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.