AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Schleife

Ein Thema von -187- · begonnen am 1. Mär 2007 · letzter Beitrag vom 2. Mär 2007
Antwort Antwort
Seite 2 von 2     12
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.287 Beiträge
 
Delphi XE7 Professional
 
#11

Re: Schleife

  Alt 1. Mär 2007, 12:08
Delphi-Quellcode:
function DeletingFiles(Filename:String):Boolean;
  begin
  result:=true;
  for HDD:='Cto 'Zdo
    if SearchForFile(HDD + ':\', Filename, APathFound) then
    begin
       repeat
          DeleteFile(ApathFound+Filename);
          WriteLn(myFile, ':: '+ Filename + ' available on: ' + APathFound);
          result:=true;
       until not SearchForFile(HDD + ':\', Filename, APathFound);
      end
    else
      begin
        WriteLn(myFile, Filename + ' is not available on ', HDD);
        result:=false;
      end;
end;
vielleicht geht es so?

Gruesse
KLaus
Klaus
  Mit Zitat antworten Zitat
-187-

Registriert seit: 24. Sep 2005
483 Beiträge
 
Delphi 2010 Architect
 
#12

Re: Schleife

  Alt 1. Mär 2007, 12:14
Danke für deine schnelle Antwort aber so funktioniert es auch nicht. Vielleicht sollte ich es nochmal besser erklären:

Die Prozedur löscht Dateien. Danach durchsucht sie Die Festplatten nach den Dateien und schreibt mir in eine .txt Datei ob die jeweilige Datei vorhanden ist oder nicht.

Ich möchte das dass Programm nachdem es rausgefunden hat das die Datei nicht vorhanden ist keine weiteren Befehle ausführt und schließt. Also das Programm schreibt das eine Datei nicht vorhanden ist und schließt danach.

Wenn die Dateien aber doch vorhanden sind dann soll das Programm normal weiter laufen und weiter Befehle ausführen.

MFG
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.287 Beiträge
 
Delphi XE7 Professional
 
#13

Re: Schleife

  Alt 1. Mär 2007, 13:23
Delphi-Quellcode:
function DeletingFiles(Filename:String):Boolean;
  begin
  result:=false; // Datei nicht gefunden
  for HDD:='Cto 'Zdo
    if SearchForFile(HDD + ':\', Filename, APathFound) then
      begin
       repeat
          DeleteFile(ApathFound+Filename); // Datei gefunden
          WriteLn(myFile, ':: '+ Filename + ' available on: ' + APathFound); // wird geloescht
          result:=true; // Ergebnis -> true
          break; // Schleife wird abgebrochen
       until not SearchForFile(HDD + ':\', Filename, APathFound);
      end
    else
      begin
        WriteLn(myFile, Filename + ' is not available on ', HDD); // Datei wurde nicht gefunden, Schleife laeuft weiter
        result:=false;
      end;
end;
Delphi-Quellcode:
if not DeletingFile('test.dat') then // Es wurden alle Laufwerke durchsucht, die Datei wurde nicht gefunden
  close;
else // die Datei wurde gefunden
  ...
mein letzter Versuch

Gruesse
Klaus
Klaus
  Mit Zitat antworten Zitat
-187-

Registriert seit: 24. Sep 2005
483 Beiträge
 
Delphi 2010 Architect
 
#14

Re: Schleife

  Alt 1. Mär 2007, 13:49
Danke das du dir soviel Mühe gemacht hast aber das ist nicht leider nicht was ich möchte. Ich bräuchte wohl ein end. aber das soll nur funktionieren wenn eine Datei nicht da ist =)
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#15

Re: Schleife

  Alt 1. Mär 2007, 15:27
Was macht denn eigentlich
SearchForFile(HDD + ':\', Filename, APathFound) genau ?
Die Funktion sucht unterhalb eines bestimmten Verzeichnisses (HDD + ':\') rekursiv nach Filename
und liefert den 1. Treffer in APathFound, oder ??

Ist es denn nicht ziemlich ungeschickt, nur den 1. Treffer zu liefern?
Wäre es nicht viel besser ALLE gefundenen Dateien mit komplettem Pfad in einer StringListe zu sammeln.

Wenn man eine Datei löschen möchte, braucht man auch nicht nochmals nachsehen, ob sie wirklich gelöscht ist, sondern man wertet einfach das Result von DeleteFile aus!
Andreas
  Mit Zitat antworten Zitat
2. Mär 2007, 13:16
Dieses Thema wurde von "r_kerber" von "Programmieren allgemein" nach "Object-Pascal / Delphi-Language" verschoben.
Ist eindeutig ein Delphi-Problem
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 09:52 Uhr.
Powered by vBulletin® Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2019 by Daniel R. Wolf