![]() |
Anzahl der .ini´s in einem Verzeichniss rausfinden
Hi,
ich habe ein Verzeichniss, x Ini-Dateien und null Ahung wie ich es anstellen soll rauszufinden wieviele Ini-Dateien sich in diesem Verzeichniss befinden. Das Einzigste was ich mir vorstellen könnt, ware eine Schleifen, die ihre Abbruchbedingen immer um eins erhöht. Irgendjemand ne Ahnung? |
Re: Anzahl der .ini´s in einem Verzeichniss rausfinden
|
Re: Anzahl der .ini´s in einem Verzeichniss rausfinden
Hai,
in der Code-Library gibt es diesen ![]() |
Re: Anzahl der .ini´s in einem Verzeichniss rausfinden
Also vom Prinzip her klappt des nun bei mir. Nur nicht alle Dateien werden ausgelesen, so werden z.B. von 6 Dateien nur 5 in die Memo geschrieben (die 4te wird ausgelassen, warum auch immer).
Hier mal der Code
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var Ini: TInifile; i : integer; F: TSearchRec; var1 : string; begin Findfirst('Stocks\*.ini', faAnyFile , F); Ini:= TInifile.create('Stocks\'+F.Name); var1:= Ini.readstring('Stock','Name','NIX'); Memo1.lines.Add(var1); repeat Findnext(F); Ini:= TInifile.create('Stocks\'+F.Name); var1:= Ini.readstring('Stock','Name','NIX'); Memo1.lines.Add(var1); until (FindNext(F) <> 0); //Memo1.Lines.Add(inttostr(i)); end; |
Re: Anzahl der .ini´s in einem Verzeichniss rausfinden
Hi! FindClose und Resourcenschutzblöcke nicht vergessen ;)
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var Ini: TInifile; i : integer; F: TSearchRec; s, RootDir : string; begin i := 0; RootDir := ExtractFilePath(ParamStr(0)); If FindFirst(RootDir + 'Stocks\*.ini', faAnyFile-faDirectory, F) = 0 then Repeat Ini:= TInifile.Create(RootDir + 'Stocks\'+F.Name); try inc(i); s := Ini.ReadString('Stock','Name',''); Memo1.Lines.Add(IntToStr(i) +': ' + s); finally Ini.Free; end; Until FindNext(F) <> 0; SysUtils.FindClose(F); end; |
Re: Anzahl der .ini´s in einem Verzeichniss rausfinden
Ach sag doch einfach, das ich zuviel Code hab. :D
Delphi-Quellcode:
So okay?
procedure TForm1.Button1Click(Sender: TObject);
var Ini: TInifile; i : integer; F: TSearchRec; var1 : string; begin if (Findfirst('Stocks\*.ini', faAnyFile , F)=0) then repeat try Ini:= TInifile.create('Stocks\'+F.Name); var1:= Ini.readstring('Stock','Name','NIX'); Memo1.lines.Add(var1); finally Ini.free; end; until (FindNext(F) <> 0); SysUtils.FindClose(F); end; Warum eigentlich SysUtils.FindClose(F) und nicht nur FindClose(F)? |
Re: Anzahl der .ini´s in einem Verzeichniss rausfinden
es reicht auch nur "FindClose". Und das FindClose braucht nur aufgerufen werden wenn FindFirst erfolgreich ist, ansonsten wird bei Findfirst intern schon FindClose aufgerufen.
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var Ini: TInifile; i : integer; F: TSearchRec; s, RootDir : string; begin i := 0; RootDir := ExtractFilePath(ParamStr(0)); If FindFirst(RootDir + 'Stocks\*.ini', faAnyFile-faDirectory, F) = 0 then begin Repeat Ini:= TInifile.Create(RootDir + 'Stocks\'+F.Name); try inc(i); s := Ini.ReadString('Stock','Name',''); Memo1.Lines.Add(IntToStr(i) +': ' + s); finally Ini.Free; end; Until FindNext(F) <> 0; FindClose(F); end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:40 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-2025 by Thomas Breitkreuz