Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - String schneiden.[done]
cromos - Mo 25.08.03 22:13
Titel: String schneiden.[done]
Hallo,
wie schneide ich einen String. Also der Hintergrund ist der, das ich in einem Order verschiedene Dateien des gleichen Typs haben. die Dateinames sind so aufgebaut:
1.8.2003_blabla1.estt
Diese Dateien möchte ich in eine ListBox oder FileListBox einlesen, aber nur die mit einem bestimmten Datum vorne im Dateinamen.
Wie kürze ich also den Namen bis zum Unterstrich. Die Anzahl der Zeichen im Datum ist immer verschieden. Ist ja logisch, gibt ja auch zwei stellige Monate :wink:
Gruss
Cromos
Terra23 - Mo 25.08.03 22:26
Weiß nicht, ob das so hinhaut:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17:
| procedure TForm1.Button1Click(Sender: TObject); begin Label1.Caption:=''; For I:=1 To Length(Edit1.Text) Do Begin If Edit1.Text[I]='_' Then Begin J:=I-1; Break; End; End;
For K:=1 To J Do Begin Label1.Caption:=Label1.Caption+Edit1.Text[K]; End; end; |
Ich hab das jetzt mal so vom Gefühl her gemacht. Es ist wirklich nicht getestet und es kann sein, daß etwas verändert werden muß. So würde ich es aber versuchen. Es kann sein, daß Leute wie Luckie oder MathiasSimmack eine schnellere und effektivere Lösung haben. Einfach mal warten, bis sie hier vorbei kommen. :-)
Aya - Mo 25.08.03 22:33
Hi,
versuch's mal so:
Delphi-Quelltext
1:
| Datum:=Copy(FileName,1,Pos('_',FileName)-1); |
Au'revoir,
Aya~
Terra23 - Mo 25.08.03 23:15
... oder warte bis Aya kommt. :mrgreen: Ich wußte doch, es geht kürzer. ;-)
cromos - Mo 25.08.03 23:45
Titel: Hi
Hallo
Also habe mal was damit versucht.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26:
| procedure TForm1.btnHeuteAktClick(Sender: TObject); var res : Integer; var ProgrammOrdner : String; var Paket : String; var Datum : String;
ds: TSearchRec; begin ListBox1.Clear; ProgrammOrdner:=ExtractFilePath(application.ExeName);
Paket :=lblKontakt.Caption;
res := FindFirst(ProgrammOrdner + 'Data\' + Paket + '\*.estt',faAnyFile,ds); while(res =0) do begin
Datum:=Copy(ds.name,1,Pos('_',ds.name)-1); if Datum = lblAnruf.Caption then ListBox1.Items.Add(Datum);
res := FindNext(ds); end; FindClose(ds);
end; |
Aber hier steckt ein ganz dicker Fetter logischer Fehler drin. Leider blicke ich da jetzt irgendwie nicht durch.
Also Der Code soll eigendlich bewirken das alle Dateien die mit dem gewünschten Datum gefunden werden in eine ListBox geschrieben werden.
Aber irgendwie ist das glaube ich total vermurkst.
:?:
cromos - Mo 25.08.03 23:55
Titel: Geschafft
OK. Hab es geschafft. Hab einfach mal meine Gedanken wieder gesammelt. :)
Funktioniert jetzt.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26:
| procedure TForm1.btnHeuteAktClick(Sender: TObject); var res : Integer; var ProgrammOrdner : String; var Paket : String; var Datum : String;
ds: TSearchRec; begin ListBox1.Clear; ProgrammOrdner:=ExtractFilePath(application.ExeName);
Paket :=lblKontakt.Caption;
res := FindFirst(ProgrammOrdner + 'Data\' + Paket + '\*.estt',faAnyFile,ds); while(res =0) do begin
Datum:=Copy(ds.name,1,Pos('_',ds.name)-1); if Datum = lblAnruf.Caption then ListBox1.Items.Add(ds.name);
res := FindNext(ds); end; FindClose(ds);
end; |
Danke für die Hilfe
Gruss
Cromos
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!