Einzelnen Beitrag anzeigen

design5

Registriert seit: 20. Jan 2003
20 Beiträge
 
#1

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

  Alt 12. Mai 2003, 15:38
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...
  Mit Zitat antworten Zitat