![]() |
Strings Zerlegen zum 1000 mal^^
Moin DPlers
Ich habe folgende Frage habe in der suche wohl falsche begriffe eingegeben so das ich nicht das richtige gefunden habe ich habe folgende frage ich möchte strings oder ganze memos zerlegen und wörter raussotieren im memo stehen sie so 12.12.2004 09:34:59 XXX nimmt sich XXX € Aus den Schliessfach 12.12.2004 08:12:45 XXX Legt XXX € ins Schliessfach 12.12.2004 07:28:38 XXX beseitigt das Schliessfach und ich möchte aus diesen Log immer die XXX rausholen nur es sind keine trennzeichen gegeben vllt hat ja jemand von euch ein code schnipsel übrig oder weiss mit welchen suchbegriffen ich das richtige finden kann oder event. ein deutsches tutorial mfg deadinpac |
Re: Strings Zerlegen zum 1000 mal^^
[oh]copy, pos, delete[/oh]
Hierzu dürfte auch die Suche was hergeben. Frohes Schaffen ;) |
Re: Strings Zerlegen zum 1000 mal^^
Oder vielleicht kannst Du auch etwas mit [dp="reguläre Ausdrücke"]Regulären Ausdrücken[/dp] anfangen. Die sind in Deinem Fall vielleicht auch ganz nützlich.
mfG mirage228 |
Re: Strings Zerlegen zum 1000 mal^^
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Deadinpac,
meinst Du das zerlegen so? bye Claus |
Re: Strings Zerlegen zum 1000 mal^^
Danke an alle das ihr so schnell gepostet habt :-)
und Danke Duffy für dein Demo so ist das schon ganz gut so bräuchte ich mir ja nur die passende zeile rausfischen so das ich das dann so habe XXX = XXX € aber ich guck mir erstmal den quelltext an mfg deadinpac |
Re: Strings Zerlegen zum 1000 mal^^
Liste der Anhänge anzeigen (Anzahl: 1)
So, Duffy war schneller, aber wegschmeißen wollt ich es nicht.
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject); VAR i, i2, i3 : integer; a, b, c : string; ende : boolean; begin //Dient nur als Beispiel - änder Lines.Add um in LoadFromFile Memo1.Lines.Add('12.12.2004 09:34:59 XXX nimmt sich 500000 € Aus den Schliessfach'); Memo1.Lines.Add('12.12.2004 08:12:45 XXX Legt 565656 € ins Schliessfach'); Memo1.Lines.Add('12.12.2004 07:28:38 Horst beseitigt das Schliessfach'); for i := 0 to Memo1.Lines.Count do begin a := ''; i2 := 20; //startet hinter dem datum b := Memo1.Lines[i]; ende := False; while (i2 <= Length(b)) do begin i2 := i2 + 1; IF ((b[i2] = ' ') = false) AND (ende = False) THEN begin a := a + b[i2]; end; IF (b[i2] = ' ') THEN ende := True; //Wenn b[i2] kein Buchstabe mehr ist bedeutet das, dass der name zuende ist. end; ende := False; IF ((a = '') = false) THEN a := a + ' = '; //Falls nichts gefunden wurde auch nicht dazu tun i3 := 20; //Startet wieder hinter dem Datum while i3 < Length(b) do begin IF (b[i3] = '1') //Wenn b[i3] eine Zahl ist... OR (b[i3] = '2') OR (b[i3] = '3') OR (b[i3] = '4') OR (b[i3] = '5') OR (b[i3] = '6') OR (b[i3] = '7') OR (b[i3] = '8') OR (b[i3] = '9') OR (b[i3] = '0') THEN begin a := a + b[i3]; end; IF (b[i2] = ' ') THEN ende := True; //Wenn leerzeichen dann wieder beenden i3 := i3 + 1; end; IF ((a = '') = false) THEN a := a + ' €'; Memo2.Lines.Add(a); end; end; end. |
Re: Strings Zerlegen zum 1000 mal^^
Danke St.Pauli für deine Arbeit
So habs mir mal angeguckt und es macht genau das was es machen soll wäre es denn auch möglich den code so zu verändern das er es auch gleich ausrechnet? d.h wenn die liste so aussieht 07.05.05 - 17:00: SweetBini legt 1023 € in das Schliessfach. 07.05.05 - 16:59: SweetBini nimmt sich 1000 € aus dem Schliessfach. 07.05.05 - 16:42: stylo_muetze nimmt sich 1600 € aus dem Schliessfach. 07.05.05 - 16:40: stylo_muetze nimmt sich 4000 € aus dem Schliessfach. 07.05.05 - 16:39: stylo_muetze legt 169 € in das Schliessfach. 07.05.05 - 15:01: Deadinpac legt 220 € in das Schliessfach. 07.05.05 - 14:59: stylo_bommel legt 99 € in das Schliessfach. 07.05.05 - 14:52: stylo_bommel nimmt sich 400 € aus dem Schliessfach. 07.05.05 - 14:51: stylo_bommel nimmt sich 4000 € aus dem Schliessfach. 07.05.05 - 14:23: Hippi4Slim legt 1 € in das Schliessfach. 07.05.05 - 14:23: Hippi4Slim legt 1 € in das Schliessfach. 07.05.05 - 14:23: Hippi4Slim legt 1 € in das Schliessfach. 07.05.05 - 14:23: Hippi4Slim legt 1 € in das Schliessfach. 07.05.05 - 14:23: Hippi4Slim legt 1 € in das Schliessfach. 07.05.05 - 14:23: Hippi4Slim legt 1 € in das Schliessfach. 07.05.05 - 14:23: Hippi4Slim legt 1 € in das Schliessfach. 07.05.05 - 14:23: Hippi4Slim legt 1 € in das Schliessfach. 07.05.05 - 14:23: Hippi4Slim legt 1337 € in das Schliessfach. 07.05.05 - 14:03: Steffan legt 207 € in das Schliessfach. das er es gleich zusammen rechnet das es dann so aussieht Steffan = 207 € Hippi4Slim = 1345 € Stylo_Bommel = - 4301 € Deadinpac = 220 € Stylo_Muetze = - 5431 € SweetBini = 23 € mfg deadinpac |
Re: Strings Zerlegen zum 1000 mal^^
So was mir gerade noch aufgefallen ist ist das bei Hippi4Slim immer eine 4 dranhängt
also anstatt von 1 € schreibt er 41 € und der qt von St.pauli ist wohl gut aber ich checkt denn irgendwie nicht ganz :-( vllt könnt ihr mir noch ein paar tips geben wäre nett mfg deadinpac |
Re: Strings Zerlegen zum 1000 mal^^
Liste der Anhänge anzeigen (Anzahl: 1)
Probier mal das hier aus.
Das Programm teilt einen Satz bei den Leerzeichen auf. |
Re: Strings Zerlegen zum 1000 mal^^
Wenn nach dem XXX immer ein €uro-Zeichen steht, dann kann man mit pos dieses Zeichen suchen und dann alle Zahlen die davor stehen auslesen.
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:48 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 by Thomas Breitkreuz