Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - LongInt in Integer umwandeln?


butterblume - Do 02.01.03 13:53
Titel: LongInt in Integer umwandeln?
Habe hier ein Problem, wo ich denke, das könnte ein Grund sein!
Geht das? :?:


Anonymous - Do 02.01.03 15:03
Titel: Re: LongInt in Integer umwandeln?
butterblume hat folgendes geschrieben:
Habe hier ein Problem, wo ich denke, das könnte ein Grund sein!


Ein Grund für was?

Zurück zum Thema. Ich las mich gerne berichtigen, aber LongInt und Integer haben die gleiche Größe. In der guten alten 16Bit Zeit war LongInt größer als Integer, inzwischen sind aber Integer und LongInt gleich groß.

Konvertieren ist auch kein Problem, da beide Integer-Typen sind.


Wolff68 - Do 02.01.03 17:01

Nun, da Integer mittlerweile = LongInt ist könnte konvertieren schon problematisch werden. :wink:
Nee, im Ernst jetzt: Einfach zuweisen und fertig.

Wäre aber schon interessant zu wissen welches Problem Du hast, und wie Du drauf kommst, daß es ein Konvertierungsproblem sein könnte.


butterblume - Fr 03.01.03 21:37

wenn ich das wüßte ... :roll:
aber Danke, es geht also auch mal einfach!


torstenheinze - Fr 03.01.03 21:47

notfalls kann man aber für

Quelltext
1:
2:
var a: longint;
      b: integer;

auch

Quelltext
1:
var a, b: variant;                    

ich glaub variant kann man für alles benutzen

(04.01. 23:47 Tino) Code-Tag hinzugefügt.


Delete - Fr 03.01.03 21:56

Jupp, bloß dass du damit sau viel Arbeitsspeicher verbrätst und dass dein programm entsprechend langasam wird, weil immer erst der Datentyp bestimmt werden muß und dieser dann passen geändert werden muß. Desweiteren gibt es diese Datentyp erst ab D6 und wurde wohl wahrscheinlich für OLE-Objekte eingeführt oder so.


Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
procedure TForm1.Button1Click(Sender: TObject);
var
  int: Integer;
  lint: Longint;
begin
  int := -10;
  lint := int;
  ShowMessage(IntToStr(lint));
end;

Erklärung aus der Delphi-Hilfe:
Zitat:

Integer –2147483648..2147483647 signed 32-bit
Longint –2147483648..2147483647 signed 32-bit

Unter 16-Bit sah das natürlich anders aus.


torstenheinze - Fr 03.01.03 21:57

japp, so wird es sein