Autor Beitrag
cromos
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 219


Delphi 7
BeitragVerfasst: Mo 25.08.03 22:13 
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


Zuletzt bearbeitet von cromos am Di 26.08.03 00:23, insgesamt 1-mal bearbeitet
Terra23
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 872

Win 8
Delphi 7
BeitragVerfasst: Mo 25.08.03 22:26 
Weiß nicht, ob das so hinhaut:

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

_________________
Hasta La Victoria Siempre
Aya
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1964
Erhaltene Danke: 15

MacOSX 10.6.7
Xcode / C++
BeitragVerfasst: Mo 25.08.03 22:33 
Hi,

versuch's mal so:
ausblenden Delphi-Quelltext
1:
Datum:=Copy(FileName,1,Pos('_',FileName)-1);					


Au'revoir,
Aya~

_________________
Aya
I aim for my endless dreams and I know they will come true!
Terra23
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 872

Win 8
Delphi 7
BeitragVerfasst: Mo 25.08.03 23:15 
... oder warte bis Aya kommt. :mrgreen: Ich wußte doch, es geht kürzer. ;-)

_________________
Hasta La Victoria Siempre
cromos Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 219


Delphi 7
BeitragVerfasst: Mo 25.08.03 23:45 
Titel: Hi
Hallo
Also habe mal was damit versucht.

ausblenden 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 =0do begin

  
   Datum:=Copy(ds.name,1,Pos('_',ds.name)-1);
      if Datum = lblAnruf.Caption then //lblAnruf - gewünschtes Datum
        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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 219


Delphi 7
BeitragVerfasst: Mo 25.08.03 23:55 
Titel: Geschafft
OK. Hab es geschafft. Hab einfach mal meine Gedanken wieder gesammelt. :)

Funktioniert jetzt.

ausblenden 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 =0do begin

   //Hier die Datumsroutine rein:
   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