AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Problem mit Auslesen von Ordner
Thema durchsuchen
Ansicht
Themen-Optionen

Problem mit Auslesen von Ordner

Ein Thema von ByTheTime · begonnen am 10. Nov 2011 · letzter Beitrag vom 11. Nov 2011
Antwort Antwort
ByTheTime

Registriert seit: 24. Sep 2011
Ort: Frankfurt
297 Beiträge
 
Delphi XE2 Architect
 
#1

Problem mit Auslesen von Ordner

  Alt 10. Nov 2011, 21:17
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" (). Also konnte ich nie ein "T" als ersten Buchstaben eintippen...

Bitte Helfen
Lukas
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#2

AW: Problem mit Auslesen von Ordner

  Alt 10. Nov 2011, 21:33
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
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Problem mit Auslesen von Ordner

  Alt 11. Nov 2011, 07:19
Zitat:
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
if ((lSearchRecord.Attr and faDirectory) <> faDirectory) then
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
ByTheTime

Registriert seit: 24. Sep 2011
Ort: Frankfurt
297 Beiträge
 
Delphi XE2 Architect
 
#4

AW: Problem mit Auslesen von Ordner

  Alt 11. Nov 2011, 15:05
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
Lukas
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:38 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz