Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Mit Nullen auffüllen (https://www.delphipraxis.net/1611-mit-nullen-auffuellen.html)

NiLS-Da-BuBi 13. Dez 2002 13:56


Mit Nullen auffüllen
 
Ich habe einen String der in eine Datenbank geschrieben wird. So nun ist der Wert 8 stellen lang. Soll vom Benutzer eingegeben ungefähr so: 598 - gespeichert werden soll er dann aber so: 00000598 - Wenn ich ein Nummerisches Feld in der Datenbank nehme geht es nicht da die vorgehenden nullen weggeschnitten werden - nehme ich ein CHAR feld kann ich es speichern wenn der Benutzer aber auch die vorhergegangenen Nullen eingibt. So ich dachte da nun an eine Funktion die bei dem OnExit Ereigniss die länge des eingegebenen Strings prüft und die vorhergehenen nullen auffüllt... aber wie? Bestimmt hat soetwas ja schon mal wer gemacht. Wär für ein wenig (oder auch viel) hilfe dankbar.

Danke :)

sakura 13. Dez 2002 13:57

Mal so kurz

Delphi-Quellcode:
while Length(aString) < 8 do
  aString := '0' + aString;

NiLS-Da-BuBi 13. Dez 2002 14:04

Es kann so einfach sein... Danke.

sakura 13. Dez 2002 14:14

Zitat:

Zitat von NiLS-Da-BuBi
Es kann so einfach sein... Danke.

Es ist so einfach :lol:

NiLS-Da-BuBi 13. Dez 2002 14:20

Na es geht aber auch komplizierter, oder :)

sakura 13. Dez 2002 14:24

Logisch
Delphi-Quellcode:
var
  I, Miss: Integer;
  Nullen: string;
begin
  Miss := 8 - Length(aString);
  for I := 1 to Miss do
    Nullen := Format('%s0', [Nullen]);
  aString := Format('%s%s', [Nullen, aString]);
end;
Wenns gefällt, darfst Du auch diese Lösung nutzen. Oder lieber in Assembler ?

Luckie 13. Dez 2002 14:28

Dann das ganze in eine DLL packen, die DLL in die Ressource stecken und zur Laufzeit extrahieren. :mrgreen:

NiLS-Da-BuBi 13. Dez 2002 14:36

Ja so ungefähr hätte ich mir das vorgestellt... :roll:

Christian Seehase 13. Dez 2002 15:36

Moin Zusammen,

es geht aber auch einfacher (und resourcenschonender als die erste Variante): ;-)

Delphi-Quellcode:
aString := StringOfChar('0',8-Length(aString))+aString;

sakura 13. Dez 2002 15:45

Zitat:

Zitat von Christian Seehase
und resourcenschonender

Für ASP hatte ich die entsprechende Lösung parat, leider wusste ich nicht mehr wie die Funktion (StringOfChar) in Delphi hiess.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:52 Uhr.
Seite 1 von 2  1 2      

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