Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Zahl in String erhöhen, wie???? (https://www.delphipraxis.net/106633-zahl-string-erhoehen-wie.html)

gaisser 14. Jan 2008 10:18


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.

Aurelius 14. Jan 2008 10:22

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

gaisser 14. Jan 2008 10:28

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: )

guidok 14. Jan 2008 10:31

Re: Zahl in String erhöhen, wie????
 
Zitat:

'10000A' soll dann 10000B sein'
Da erhöhst du aber nicht die Zahl im String, oder?

Die Frage würde dann lauten, was kommt raus, wenn der String '1000Z' lautet? '1001A' oder was sonst?

stahli 14. Jan 2008 10:33

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

Aurelius 14. Jan 2008 10:36

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.

DeddyH 14. Jan 2008 10:59

Re: Zahl in String erhöhen, wie????
 
Zitat:

Zitat von xX0815Xx
Ich hoffe ich hab die beiden Befehle nicht vertauscht :oops:

Doch, hast Du :lol:

Aurelius 14. Jan 2008 11:05

Re: Zahl in String erhöhen, wie????
 
Dann habe ich es jetzt geändert ^^

shmia 14. Jan 2008 11:06

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:
String: 1000B
Maske: 0000A
Man fängt rechts an und zählt hoch.
Aus 1000B würde dann 1000C, ... 1000Z, 1001A, 1001B, ...
Wie beim schriftlichen Rechnen kann dann ein Übertrag entstehen, der auf die weiter links stehenden Zeichen zu addieren ist.


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