Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Umwandlung der Zahl '4070523202' in '-224444094' (int) (https://www.delphipraxis.net/4806-umwandlung-der-zahl-4070523202-224444094-int.html)

design5 12. Mai 2003 15:38


Umwandlung der Zahl '4070523202' in '-224444094' (int)
 
Hallo,

ich habe folgendes Problem. Die o.g Zahl '4.070.523.202' steht für eine Kunden-Stamm-Nr. Leider hat man sich darauf geeinigt, Werte in der Datenbank nur in Integer zu speichern.

In der Datenbank befindet sich der Wert '-224.444.094'.

Jetzt, da ich gerade an einer Abfrage-Maske arbeite, die mir den gesuchten Kunden anhand seiner zugehörigen Nummmer anzeigen soll, habe ich da so meine Probleme.

Wie kommt man auf die Zahlen
============================
Maxint := 2147483647;
2xMaxint := 4294967294;

DBNr := KdNr - 2xMaxint (+2); // +2 aus welchem Grund auch immer?!?

Bis hier her -> THEORETISCH <-


Delphi-Variante
===============
??????????

Folgendes Problem tritt bei mir auf:
Die Kundennummer '4.070.523.202' entnehme ich einem Edit-Feld, in dem ich die Zahl eingebe. Nun, wie bekomme ich den Wert des Edit Feldes in eine Variable die gleichzeitig einem Zahlentyp entspricht, die einen solch großen Wert akzeptiert????


Verschiedenes ausprobiert:
==========================
zahl := longword(Edit.Text) -> ergibt eine andere Zahl wie '4.070.523.202'?!?
zahl := StrToInt(Edit.Text) -> Exception, da '4.070.523.202' zu groß


Das kann doch nicht sein, dass man in Delphi nicht mit so großen Zahlen umgehen kann...

nailor 12. Mai 2003 15:54

kann schon. aber geh mal mit dem cursor in das wort integer und drück F1 (Hilfe) und teste mal Sachen wie Cardinal oder int64.

design5 12. Mai 2003 15:57

Ich hab's...

Delphi-Quellcode:
KNr := LongWord(StrToInt64(Edit.Text, 0);
IntWert := Integer(KNr);
Ausgabe := IntToStr(IntWert);
showMessage(Ausgabe);
[edit=Daniel B]Delphi-Tags eingefügt. MfG Daniel B.[/edit]


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:48 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz