FindNext -> Ich komm nicht klar
-
Ich hab mir jetzt schon x Threads hier angeschaut, aber irgendwie bekomm ichs nicht hin...
AnsiString pfad = GetCommandLine(); pfad = pfad.SubString(0, pfad.Pos("Planer.exe")-1); TSearchRec fund; if (FindFirst(pfad+"*.xlsx", faAnyFile, fund) == 0) { do { if ((fund.Attr & faAnyFile) == fund.Attr) { Application->MessageBox(fund.Name.c_str(),"DEBUG",MB_ICONINFORMATION); } } while (FindNext(fund) == 0); FindClose(fund); }Application->MessageBox(fund.Name.c_str(),"DEBUG",MB_ICONINFORMATION); wird nie aufgerufen obwohl eine Datei dort ist, * funzt auch nicht
-
erstmal ein paar Hinweise:
- [Edit]AnsiString beginnt immer bei 1 und nicht bei 0[/Edit]
- um den Pfad der Anwendung zu ermitteln kann man ExtractFilePath und Application->ExeName verwenden
eine Frage: suchst du wirklich Dateien mit der Extension xlsx oder nur xls?
-
Hallo,
was steht denn in "pfad" drin?
mfg, Micha!
-
@Linnea ja imo such ich nach xlsx
@RandomAccess85 ahhh, danke, hier war der fehler es stand ein " am Anfang und @Linnea ja das mit dem Index spielte auch mit reinEin GROßES THX!

-
Hallo,
du solltest aber trotzdem um solche Fehler zu vermeiden auf von Linnea genannte methode zurückgreifen

was passiert denn zum Beispiel bei dir wenn jemand den Dateinamen ändert

AnsiString pfad = ExtractFilePath(Application->ExeName); //oder AnsiString pfad = ExtractFilePath(ParamStr(0));mfg, Micha