Delphi-PRAXiS
Seite 1 von 5  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   String zerlegen (https://www.delphipraxis.net/155074-string-zerlegen.html)

value is NULL 7. Okt 2010 10:02

String zerlegen
 
Hi Delphianer

Ich weiß ich bin lästig, aber ich bin erst seit kurzem dabei mich mit delphi zu beschäftigen ... :)

ich habe einen String der so aussieht:

zB 20100917

das ganze muss ich in 3 Teile stückeln (Tag, Monat, Jahr)
mit LeftStr und Right Str bekomme ich ja wunderschön das Jahr
und den Tag

ich weiß aber nicht wie ich das Monat bekomme...

Könnt ihr mir da helfen?

DANKE im voraus!

Satty67 7. Okt 2010 10:05

AW: String zerlegen
 
Wenn der String immer gleich aussieht, schau dir mal die Funktion Copy an. Damit kann man etwas aus der String-Mitte schneiden

plusplus 7. Okt 2010 10:29

AW: String zerlegen
 
z.b

a := copy('zb 20101218', 0, Pos(' ', 'zb 20101218') -1);
y := copy('zb 20101218', Pos(' ', 'zb 20101218') +1, 4);

a would be = 'zb';
y would be = '2010';

etc.

HeikoAdams 7. Okt 2010 10:58

AW: String zerlegen
 
Wenn der String immer identisch aufgebaut ist, kann Du auch folgenden Code verwenden:
Delphi-Quellcode:
a := Copy('20101218', 0, 4);
b := Copy('20101218', 4, 4);
c := Copy('20101218', 8, 2);
etwas eleganter:
Delphi-Quellcode:
sString := '20101218';

a := Copy(sString, 0, 4);
b := Copy(sString, 4, 4);
c := Copy(sString, 8, 2);

Bummi 7. Okt 2010 11:02

AW: String zerlegen
 
Wobei COPY nicht 0 sondern 1 basiert ist....

Bernhard Geyer 7. Okt 2010 11:02

AW: String zerlegen
 
Euch sollte schon klar sein das "zb" "zum Beispiel" bedeutet.
Der String ist

20100917

Ansonsten würde ja wohl die Funktion LeftStr nicht das Jahr liefern.

HeikoAdams 7. Okt 2010 11:03

AW: String zerlegen
 
Zitat:

Zitat von Bummi (Beitrag 1054264)
Wobei COPY nicht 0 sondern 1 basiert ist....

Quatsch! Die erste Position in einem String ist Position 0 und wenn ich von Anfang an etwas aus dem String kopieren will, muss ich mit 0 anfangen 8-)

Neutral General 7. Okt 2010 11:05

AW: String zerlegen
 
Zitat:

Zitat von HeikoAdams (Beitrag 1054266)
Zitat:

Zitat von Bummi (Beitrag 1054264)
Wobei COPY nicht 0 sondern 1 basiert ist....

Quatsch! Die erste Position in einem String ist Position 0 und wenn ich von Anfang an etwas aus dem String kopieren will, muss ich mit 0 anfangen 8-)

Quatsch. Strings beginnen bei 1.

stahli 7. Okt 2010 11:06

AW: String zerlegen
 
Nicht Quatsch: Copy geht ab 1 los (genau wie Pos)

HeikoAdams 7. Okt 2010 11:07

AW: String zerlegen
 
Zitat:

Zitat von Neutral General (Beitrag 1054267)
Zitat:

Zitat von HeikoAdams (Beitrag 1054266)
Zitat:

Zitat von Bummi (Beitrag 1054264)
Wobei COPY nicht 0 sondern 1 basiert ist....

Quatsch! Die erste Position in einem String ist Position 0 und wenn ich von Anfang an etwas aus dem String kopieren will, muss ich mit 0 anfangen 8-)

Quatsch. Strings beginnen bei 1.

Und warum liefert mir dann
Delphi-Quellcode:
Copy('abcd', 0, 1)
als Ergebnis 'a'?


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:50 Uhr.
Seite 1 von 5  1 23     Letzte »    

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