AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Dateien einlesen

Ein Thema von schöni · begonnen am 1. Apr 2012 · letzter Beitrag vom 6. Apr 2012
Antwort Antwort
schöni

Registriert seit: 23. Jan 2005
Ort: Dresden
445 Beiträge
 
Delphi 7 Personal
 
#1

AW: Dateien einlesen

  Alt 1. Apr 2012, 19:42
Danke @DeddyH, werde ich machen. Sieht vielversprechend aus.
Damit der Topf nicht explodiert, lässt man es ab und zu mal zischen.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.361 Beiträge
 
Delphi 12 Athens
 
#2

AW: Dateien einlesen

  Alt 1. Apr 2012, 21:44
Zitat:
Delphi-Quellcode:
var StillFiles: Integer;
begin
  Image.Proportional := true;
  Image.Stretch := true;
  FFileList := TStringList.Create;
  while (FindFirst(FFilename,faAnyFile,FSearch)=0) and (StillFiles=0) do
  begin
    FFileList.Add(FSearch.Name);
    StillFiles := FindNext(FSearch);
  end;
Warnt dich denn nicht der Compiler vor dem nicht initialisierten StillFiles?

Ich könnte fast wetten diese Variable ist nicht 0 und deswegen wird auch nicht in die Schleife gesprungen.
Du kannst aber froh sein, denn wäre dort reingesprungen wurden, dann hättest du dir vermutlich eine Endlosschleife gebastelt.

Denn wer kommt schon auf die Idee FindFirst ebenfalls mit in die Schleife aufzunehmen?
Da wird der Suchvorgann immer wieder von neu vorne gestartet.

PS: In der DP und vorallem in der CL gibt es schon mehrere Codes ala "find all files".
Hier im Forum suchenFindAllFiles
FindAllFilesFindAllFiles
...

Ansonsten steht in deiner Delphi-OH sogar ein Beispielcode für FindFiles.
Delphi-Referenz durchsuchenFindFirst (auch zu Erreichen über die geheime F1-Funktion)

Tipp für neuere Delphis: Delphi-Referenz durchsuchenTDirectory.GetFiles
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu ( 1. Apr 2012 um 21:53 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.658 Beiträge
 
Delphi 12 Athens
 
#3

AW: Dateien einlesen

  Alt 2. Apr 2012, 07:02
Oder mein TFileSearcher, aber das ist in diesem Fall wohl mit Kanonen auf Spatzen geschossen.
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
Benutzerbild von ConnorMcLeod
ConnorMcLeod

Registriert seit: 13. Okt 2010
Ort: Bayern
490 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Dateien einlesen

  Alt 2. Apr 2012, 17:52
Geht das nicht üblicherweise mit
Delphi-Quellcode:
FindFirst...
while FindNext do
begin
end;
Nr.1 Delphi-Tool: [F7]
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.658 Beiträge
 
Delphi 12 Athens
 
#5

AW: Dateien einlesen

  Alt 2. Apr 2012, 18:10
Oder mit
Delphi-Quellcode:
if FindFirst... then
  repeat
  until FindNext... <> 0;
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
Benutzerbild von ConnorMcLeod
ConnorMcLeod

Registriert seit: 13. Okt 2010
Ort: Bayern
490 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: Dateien einlesen

  Alt 2. Apr 2012, 18:20
Genau, aber while FindFirst... finde ich ziemlich exotisch
Nr.1 Delphi-Tool: [F7]
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.361 Beiträge
 
Delphi 12 Athens
 
#7

AW: Dateien einlesen

  Alt 2. Apr 2012, 18:23
Nicht nur ODER oder EXOTISCH,

denn sonst würde man den ersten Fund überspringen.
Zitat:
Delphi-Quellcode:
FindFirst...
while FindNext do
begin
  // verarbeiten
end;
Delphi-Quellcode:
if FindFirst... then
begin
  // verarbeiten ;)
  while FindNext... do
  begin
    // verarbeiten
  end;
  FindClose...;
end;
Wobei am Ende natürlich Beides ginge.
Delphi-Quellcode:
if FindFirst... then
begin
  repeat
    // verarbeiten
  until FindNext... <> 0;
  FindClose...;
end;
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu ( 2. Apr 2012 um 18:26 Uhr)
  Mit Zitat antworten Zitat
schöni

Registriert seit: 23. Jan 2005
Ort: Dresden
445 Beiträge
 
Delphi 7 Personal
 
#8

AW: Dateien einlesen

  Alt 4. Apr 2012, 10:20
Danke @Himitsu, @ConnorMcLeod, DeddyH....

@Himitsu:

Danke für den Hinweis, werde mir meinen Quelltext noch mal bezüglich der Variablen "stillfiles" ansehen.

Aber:

Ich wollte allerdings eigentlich eine selber erstellte Lösung schaffen. Der Filesearcher von DeddyH sieht gut aus, aber damit nutze ich wieder eine Lösung, die jemand anderes geschrieben hat. Wenn ich aber programmieren will, muss ich auch fähig sein, selber eine Lösung zu erarbeiten. Außerdem muss ich mich in eine von anderen Programmierern erstellte Lösung auch hineinarbeiten, bevor ich sie nutzen kann.

Werd mir deshalb die anderen Lösungen für findallfiles auch anschauen. Werde auch den FileSearcher-Quelltext von DeddyH studieren und bei Verständnisproblemen hier fragen. Die pichshow Komponente(n) schaue ich mir auch an.

Und schließlich habe ich genug Ehrgeiz, aus all diesen Anregungen meine persönliche Lösung zu schaffen.

.
Damit der Topf nicht explodiert, lässt man es ab und zu mal zischen.
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 12:28 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