![]() |
Zahl in String erhöhen, wie????
Hi,
folgende Frage. Wie erhöhe ich eine Zahl in einen String, der z.B. so ausschaut "KD10000" oder "AB541000" bin für jede Hilfe dankbar. |
Re: Zahl in String erhöhen, wie????
Du könntest den Teil des Strings, in dem die Zahl steht (also hier alles ab der 3. Stelle) ausschneiden, in einen integer wandeln um 1 erhöhen, in String ändern und wieder an die beiden ersten Zeichen anfügen. In dem Zusammenhang mal nach Pos suchen
|
Re: Zahl in String erhöhen, wie????
Danke für den Tipp. Es könnte aber auch sen das der String am Ende oder in der Mitte steht, dann sollte er den String am Ende erhöhen. z.B. '10000A' soll dann 10000B sein... Ich blick es heut irgendwie noch nicjt so ganz(Fasching :spin2: )
|
Re: Zahl in String erhöhen, wie????
Zitat:
Die Frage würde dann lauten, was kommt raus, wenn der String '1000Z' lautet? '1001A' oder was sonst? |
Re: Zahl in String erhöhen, wie????
sind die Anzahl der Stellen immer gleich?
- 2 Buchstaben, 6 Ziffern - können nach den Ziffern nochmal Buchstaben kommen? Ok, beantwortet... ;-) Dann durchsuchst Du die Zeichenketten bis zur ersten Ziffer. Danach bis zur letzten Ziffer. Den Abschnitt merkst Du Dir, wandelst in Integer um, erhöhst um 1, wandelst die Zahl in String um und ersetzt den gefundenen Abschnitt. Evtl. Fehlertest, ob später nochmal Ziffern kommen oder unerlaubte Zeichen. stahli |
Re: Zahl in String erhöhen, wie????
Dann müsstest du den Buchstaben rausfiltern mit ord(Buchstabe) in ASCII-Code umwandeln, um 1 erhöhen, per chr(Zahl) wieder umwandeln und an den String anfügen.
//edit: habe die Befehler vertauscht, so wie es jetzt dasteht ist es korrekt. |
Re: Zahl in String erhöhen, wie????
Zitat:
|
Re: Zahl in String erhöhen, wie????
Dann habe ich es jetzt geändert ^^
|
Re: Zahl in String erhöhen, wie????
Zuerst wird eine Maske definiert, wobei "0" für eine Ziffer und "A" für einen Buchstaben und "Z" für Buchstaben und Ziffern steht.
Code:
Man fängt rechts an und zählt hoch.
String: 1000B
Maske: 0000A Aus 1000B würde dann 1000C, ... 1000Z, 1001A, 1001B, ... Wie beim schriftlichen Rechnen kann dann ein ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:10 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz