Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi alle .ini datei in einem bestimmten ordner auflisten (https://www.delphipraxis.net/74655-alle-ini-datei-einem-bestimmten-ordner-auflisten.html)

joel93 7. Aug 2006 10:01


alle .ini datei in einem bestimmten ordner auflisten
 
Ich möchte alle .ini Dateien die in einem Unterorder im Programmverzeichniss sind in einer listbox mit einem namen der sich aus zwei Werten aus der entsprechenden .ini zusammenstellt (z.B. Max Mustermann) auflisten! :coder:

Ich da schon was in der lib gesehen, aber so richt hab ich's nich kapiert.. :gruebel:

Hat da einer nen Code, oder so was? :wiejetzt:

EDatabaseError 7. Aug 2006 10:03

Re: alle .ini datei in einem bestimmten ordner auflisten
 
Also du möchtest einen Ordner nach .ini dateien durchsuchen...

Delphi-Referenz durchsuchenFindFirst
Delphi-Referenz durchsuchenFindNext

Mfg
Tobi

Balu der Bär 7. Aug 2006 10:28

Re: alle .ini datei in einem bestimmten ordner auflisten
 
Da ich heute gute Laune habe:
Delphi-Quellcode:
function ListIniFiles(Box : TListbox) : Boolean;
var
 LStrList: TStringlist;
 LPfad: String;
 LSearchRec: TSearchRec;
begin
 LPfad := ExtractFilePath(ParamStr(0)) + '\unterverzeichnis_des_ordners\';
 Box.Items.Clear;
 LStrList := TStringlist.Create;
 if FindFirst(LPfad + '*.ini', faAnyFile, LSearchRec) = 0 then
  begin
   repeat
    if LSearchRec.Attr and faDirectory = 0 then
     begin
      Box.Items.Add(LSearchRec.Name);
     end;
   until FindNext(LSearchRec) <> 0;
   FindClose(LSearchRec);
  end;
 LStrList.Free;
end;
Aufruf:
Delphi-Quellcode:
ListIniFiles(Listbox1);

joel93 7. Aug 2006 13:28

Re: alle .ini datei in einem bestimmten ordner auflisten
 
Delphi-Quellcode:
   FindClose(LSearchRec);
Macht Problems:
[Fehler] Inkompatible Typen: 'Cardinal' und 'TSearchRec'

Wenn ichs komplett wegmach kommt:
[Warnung] Rückgabewert der Funktion 'ListIniFiles' könnte undefiniert sein

:wiejetzt:

DGL-luke 7. Aug 2006 13:30

Re: alle .ini datei in einem bestimmten ordner auflisten
 
der rückgabewert wird ja auhc nirgends zugewiesen.... das mitm findclose is aber komisch, das sollte eigentlich so gehen.

Balu der Bär 7. Aug 2006 13:33

Re: alle .ini datei in einem bestimmten ordner auflisten
 
Zitat:

Zitat von joel93
Delphi-Quellcode:
   FindClose(LSearchRec);
Macht Problems:
[Fehler] Inkompatible Typen: 'Cardinal' und 'TSearchRec'

Hm, sehr komisch, ich kann das mit Delphi 2006 einwandfrei kompilieren, geht 1a.

Das Zweite is nur ne Warnung weil ich keinen Rückgabewert der Funktion definiert habe, ist erstmal nicht weiter schlimm.

marabu 7. Aug 2006 13:35

Re: alle .ini datei in einem bestimmten ordner auflisten
 
Hallo Pierre,

schau doch mal in diesem thread vorbei: Ordner durchsuchen

Grüße vom marabu

Balu der Bär 7. Aug 2006 13:38

Re: alle .ini datei in einem bestimmten ordner auflisten
 
Warum, bei mir gehts fehlerfrei. :P

Hawkeye219 7. Aug 2006 13:43

Re: alle .ini datei in einem bestimmten ordner auflisten
 
Noch eine Bemerkung zur Fehlermeldung, die in der DP schon häufiger auftauchte:
Wahrscheinlich steht die Unit Windows in der USES-Anweisung hinter der Unit SysUtils. Einfach die Reihenfolge umdrehen oder den Aufruf der Funktion qualifizieren:

Delphi-Quellcode:
SysUtils.FindClose(...)
Ich würde trotzdem marabus Link folgen.

Gruß Hawkeye

marabu 7. Aug 2006 13:44

Re: alle .ini datei in einem bestimmten ordner auflisten
 
Tut mir leid, aber nach Beitrag #4 war bei mir nichts mehr zu sehen und dann habe ich auch noch den Falschen addressiert - mein Hinweis ging natürlich an Joel.

marabu

joel93 7. Aug 2006 13:53

Re: alle .ini datei in einem bestimmten ordner auflisten
 
Liste der Anhänge anzeigen (Anzahl: 1)
:???:

joel93 7. Aug 2006 13:54

Re: alle .ini datei in einem bestimmten ordner auflisten
 
:thumb:
Delphi-Quellcode:
uses
  Windows, SysUtils, Messages, Classes, Graphics, Controls,
  Forms, Dialogs, StdCtrls, Buttons, ExtCtrls, Menus, XPMan, IniFiles;
:thumb:

joel93 7. Aug 2006 17:52

Re: alle .ini datei in einem bestimmten ordner auflisten
 
Kann mir jetz noch jemand sagen, wie ich in der listbox z.B. aus hallo.ini
einfach nur hallo mache??? :gruebel: :wall:

Klaus01 7. Aug 2006 17:56

Re: alle .ini datei in einem bestimmten ordner auflisten
 
Hallo Joel,

aus der Hilfe:

Zitat:

Changes the extension of a file name.

Unit

SysUtils

Category

file name utilities

function ChangeFileExt(const FileName, Extension: string): string;

Description

ChangeFileExt takes the file name passed in FileName and changes the extension of the file name to the extension passed in Extension. Extension specifies the new extension, including the initial dot character.

ChangeFileExt does not rename the actual file, it just creates a new file name string.

Note: This function works with multi-byte character sets (MBCS).
Als Extension kannst Du dann nichts, also '', eingeben.

Grüße
Klaus

joel93 7. Aug 2006 18:30

Re: alle .ini datei in einem bestimmten ordner auflisten
 
1. ???

2. Wie kann ich auf einen click auf ein item die .ini auslesen
Delphi-Quellcode:
procedure TMainForm.ListBox1Click(Sender: TObject);
var ini: TIniFile;
begin
  ini:=TIniFile.Create(ExtractFilePath(ParamStr(0))+'\data\'+listbox1.???+'.ini');
  try
    Edit1.Text:=ini.ReadString('Zugangsdaten','Benutzername','');
    Edit2.Text:=ini.ReadString('Zugangsdaten','Kennwort','');
  finally
    ini.free;
  end;
end;

Balu der Bär 7. Aug 2006 18:52

Re: alle .ini datei in einem bestimmten ordner auflisten
 
Delphi-Quellcode:
procedure TMainForm.ListBox1Click(Sender: TObject);
var ini: TIniFile;
begin
  ini:=TIniFile.Create(ExtractFilePath(ParamStr(0))+'\data\'+listbox1.Items[Listbox1.ItemIndex]); //Endung .ini sollte schon mit in der Listbox stehen
  try
    Edit1.Text:=ini.ReadString('Zugangsdaten','Benutzername','');
    Edit2.Text:=ini.ReadString('Zugangsdaten','Kennwort','');
  finally
    ini.free;
  end;
end;

Klaus01 7. Aug 2006 18:54

Re: alle .ini datei in einem bestimmten ordner auflisten
 
- die Lösung war nicht so gut -
- deswegen habe ich sie gelöscht -

joel93 7. Aug 2006 20:36

Re: alle .ini datei in einem bestimmten ordner auflisten
 
Delphi-Quellcode:
//Endung .ini sollte schon mit in der Listbox stehen
hätte ich's hingekriegt hätte ich das schon gemerkt :wink:

joel93 7. Aug 2006 21:10

Re: alle .ini datei in einem bestimmten ordner auflisten
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich hab da noch ein problem:
Ich hab nen prog gebastelt, wenn dort kein Item in der Listbox makiert (beim programmstart oder beim klicken auf 'Neu') ist und ich dan auf einen freien fleck ind der listbox klick kommt nen error ?!? :gruebel:

edit: download nich vergessen!!!

Klaus01 8. Aug 2006 06:48

Re: alle .ini datei in einem bestimmten ordner auflisten
 
Guten Morgen Joel,

aus der Hilfe:
Zitat:

Use ItemIndex to select an item at runtime. Set the value of ItemIndex to the index of the item to be selected. The ItemIndex of the first item in the list box is 0. If no item is selected, the value is -1, which is the default value unless MultiSelect is True.
das kann dann so eingesetzt werden:

Delphi-Quellcode:
procedure TMainForm.ListBox1Click(Sender: TObject);
var ini: TIniFile;
begin
  if Listbox1.ItemIndex > -1 then
    begin
      ini:=TIniFile.Create(ExtractFilePath(ParamStr(0))+'\data\'+listbox1.Items[Listbox1.ItemIndex]); //Endung .ini sollte schon mit in der Listbox stehen
      try
        Edit1.Text:=ini.ReadString('Zugangsdaten','Benutzername','');
        Edit2.Text:=ini.ReadString('Zugangsdaten','Kennwort','');
      finally
        ini.free;
      end;
    end;
end;
Grüße
Klaus

joel93 8. Aug 2006 16:39

Re: alle .ini datei in einem bestimmten ordner auflisten
 
:oops: Das hätte ich mir eigentlich denken könne :thumb:


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:14 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