Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi Problem mit Auslesen von Ordner (https://www.delphipraxis.net/164408-problem-mit-auslesen-von-ordner.html)

ByTheTime 10. Nov 2011 21:17

Problem mit Auslesen von Ordner
 
Hallo,
mein Programm liest die Dateien aus einem Verzeichnis aus und schreibt sie als Item in eine ComboBox:

Delphi-Quellcode:
procedure TFormSettings.GetProfils;
var
  lDir: String;
  lSearchRecord: TSearchRec;
begin
  ComboProfil.Clear;
  lDir := AppDataPath + 'Profiles\';

  if FindFirst(lDir + '*.txt', faAnyFile, lSearchRecord) = 0 then
  begin
    repeat
      if (lSearchRecord.Attr <> faDirectory) then
         ComboProfil.Items.Add(lSearchRecord.Name);
    until
      FindNext(lSearchRecord) <> 0;
      FindClose(lSearchRecord);
  end;
end;
Wenn ich die Anwendung aus führe habe ich aber folgende Probleme:
1. Ich kann kein Element auswählen, also es tut sich nichts wenn ich es aus der Pop-Up-Liste öffne.
2. Wenn ich selbst etwas in die ComboBox schreibe, darf der 1. Buchstabe des Dateinamens nicht der erste Buchstabe sein, den ich eingebe, das heißt meine Testdateien hießen "Test.txt" (:P). Also konnte ich nie ein "T" als ersten Buchstaben eintippen...

Bitte Helfen :)

Bummi 10. Nov 2011 21:33

AW: Problem mit Auslesen von Ordner
 
ad 1.) Style csDropDown, enabled also ganz normal und nicht angefummelt?
ad 2.) Du kannst schon schreiben was Du willst (zumindest bei csDropDown,csSimple), wenn Du nichts vorgeschlagen haben wiilst, AutoComplete abschalten

DeddyH 11. Nov 2011 07:19

AW: Problem mit Auslesen von Ordner
 
Zitat:

Delphi-Quellcode:
if (lSearchRecord.Attr <> faDirectory) then

Das ist mit ziemlicher Sicherheit falsch. Die Bedingung trifft ja nur dann zu, wenn das Attribut lediglich aus faDirectory besteht, aber nicht, wenn neben faDirectory noch andere Attribute enthalten sind. Daher würde ich die Abfrage ändern in
Delphi-Quellcode:
if ((lSearchRecord.Attr and faDirectory) <> faDirectory) then

ByTheTime 11. Nov 2011 15:05

AW: Problem mit Auslesen von Ordner
 
Habe mein Problem entdeckt (Hätte ich mal etwas früher drauf kommen müssen!):

Habe die "GetProfiles" Procedure einmal ins FormCreate gesetzt und in der COmboBox ins InClick Event, aus dem OnClick hab ich's rausgenommen und es funzt ;)

Aber danke für die Hilfe

@DeddyH: Danke, hab ich auch eingebaut


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