AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Schleife

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

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

Schleife

  Alt 1. Mär 2007, 07:51
Delphi-Quellcode:
begin
  for HDD:='Cto 'Zdo
  if SearchForFile(HDD + ':\', Filename, APathFound) then
  begin repeat
    DeleteFile(ApathFound+Filename);
    until SearchForFile(HDD + ':\', Filename, APathFound)=false;
    end;
  if SearchForFile(HDD + ':\', Filename, APathFound) then
    WriteLn(myFile, Filename + ' available on: ' + APathFound) else
    WriteLn(myFile, Filename + ' is not available');
    CloseFile(myFile);
    end;
Morgen, der Code löscht bestimmte Dateien, überprüft dann ob sie noch vorhanden sind und schreibt die dazugehörige Zeile. Mein Problem ist das er das nur bei der ersten Datei die Zeile schreibt weil das "SearchForFile" nicht ein eine Schleife eingebunden ist.

Ich hab es auch nich hinbekommen und brauche jetz eure Hilfe =) Danke
  Mit Zitat antworten Zitat
matashen

Registriert seit: 29. Jan 2007
Ort: daheim
460 Beiträge
 
Delphi XE2 Enterprise
 
#2

Re: Schleife

  Alt 1. Mär 2007, 07:55
ich hätte das so geschrieben,

hast dus so schon ausprobiert ?



Delphi-Quellcode:
begin
  for HDD:='Cto 'Zdo
  if SearchForFile(HDD + ':\', Filename, APathFound) then
  begin
       repeat
       DeleteFile(ApathFound+Filename);
       if SearchForFile(HDD + ':\', Filename, APathFound) then
          WriteLn(myFile, Filename + ' available on: ' + APathFound) else
          WriteLn(myFile, Filename + ' is not available');
       until SearchForFile(HDD + ':\', Filename, APathFound)=false;
    end;
  CloseFile(myFile);
end;
Matthias
  Mit Zitat antworten Zitat
Benutzerbild von thkerkmann
thkerkmann

Registriert seit: 7. Jan 2006
Ort: Pulheim Brauweiler
464 Beiträge
 
Delphi 2010 Professional
 
#3

Re: Schleife

  Alt 1. Mär 2007, 09:12
Hi,

wirklich besser ist das auch nicht
Delphi-Quellcode:
begin
  for HDD:='Cto 'Zdo
    if SearchForFile(HDD + ':\', Filename, APathFound) then
    begin
       repeat
          DeleteFile(ApathFound+Filename);
       until not SearchForFile(HDD + ':\', Filename, APathFound);
    end
    else
       WriteLn(myFile, Filename + ' is not available on ', HDD);

  CloseFile(myFile);
end;
Gruss
Thomas Kerkmann
Ich hab noch einen Koffer in Borland.
http://thomaskerkmann.wordpress.com/
  Mit Zitat antworten Zitat
-187-

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

Re: Schleife

  Alt 1. Mär 2007, 09:34
thkerkmann in deinem code hast du "is available" nich berücksichtigt, also mein code soll schon bestehen bleiben, nur umgeschrieben..


// funktioniet doch nicht,findet garkeine dateien mehr D:
  Mit Zitat antworten Zitat
-187-

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

Re: Schleife

  Alt 1. Mär 2007, 10:13
Das ist mein Code nun, die erste Datei wird prima auf allen Laufwerken aufgelistet, ob sie da is oder nicht.. Aber dann bleibt er wieder hängen, die Schleife ist noch nich ganz richtig was mach ich falsch ?! :/

Delphi-Quellcode:
  Procedure DeletingFiles(Filename:String);
begin
  for HDD:='Cto 'Zdo
    if SearchForFile(HDD + ':\', Filename, APathFound) then
    begin
       repeat
          DeleteFile(ApathFound+Filename);
          WriteLn(myFile, ':: '+ Filename + ' available on: ' + APathFound)
       until not SearchForFile(HDD + ':\', Filename, APathFound);
    end
    else
       WriteLn(myFile, Filename + ' is not available on ', HDD);
  CloseFile(myFile);
end;
  Mit Zitat antworten Zitat
Benutzerbild von thkerkmann
thkerkmann

Registriert seit: 7. Jan 2006
Ort: Pulheim Brauweiler
464 Beiträge
 
Delphi 2010 Professional
 
#6

Re: Schleife

  Alt 1. Mär 2007, 11:16
Hi,

also dann musst du uns mal sagen, welchen Eingangswert denn "Filename" bei Dir hat.

Und woher kommt SearchForFile, kenn ich gar nicht.

Und was heist "bleibt hängen" ? Die Schleife läuft doch über alle Laufwerke und ist dann zu Ende.
Und du sagst die erste Datei zeigt er auch an auf allen Laufwerken.
Wie ruftst Du die Prozedur denn auf ? Auch wieder in einer Schleife über irgendwas ?

Gruss
Thomas Kerkmann
Ich hab noch einen Koffer in Borland.
http://thomaskerkmann.wordpress.com/
  Mit Zitat antworten Zitat
-187-

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

Re: Schleife

  Alt 1. Mär 2007, 11:19
das sind meine prozeduren , ja hätt ich mit posten sollen. habs jetz gefixxt , das closefile musste raus weil er ja so nach der ersten file closed hat obwohl noch eine kam ..und neu geöffnet hat er es ja auch nich..naja problem behoben , danke
  Mit Zitat antworten Zitat
-187-

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

Re: Schleife

  Alt 1. Mär 2007, 11:24
Ein weiteres Problem besteht dadrin das ich den Exit nich hinkriege wenn eine File nicht vorhanden ist.

Delphi-Quellcode:
  Procedure DeletingFiles(Filename:String);
  begin
  for HDD:='Cto 'Zdo
    if SearchForFile(HDD + ':\', Filename, APathFound) then
    begin
       repeat
          DeleteFile(ApathFound+Filename);
          WriteLn(myFile, ':: '+ Filename + ' available on: ' + APathFound)
       until not SearchForFile(HDD + ':\', Filename, APathFound);
      end
    else
    WriteLn(myFile, Filename + ' is not available on ', HDD);
end;
Also sowas wie
else
WriteLn(myFile, Filename + ' is not available on ', HDD) + Exit;
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.754 Beiträge
 
Delphi 10.4 Sydney
 
#9

Re: Schleife

  Alt 1. Mär 2007, 11:54
Delphi-Quellcode:
else
WriteLn(myFile, Filename + ' is not available on ', HDD) + Exit;
Warum willst Du denn hier die Schleife verlassen.
Wenn Du da die for Schleife mit break verlaesst
kannst Du nicht sicher sein das alle Laufwerke durchsucht wurden.

Gruesse
Klaus
Klaus
  Mit Zitat antworten Zitat
-187-

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

Re: Schleife

  Alt 1. Mär 2007, 12:01
Naja klar , ich will nich die Schleife verlassen sondern was ich will ist:
Wenn eine Datei nicht vorhanden ist soll mein Programm die Zeile "not available" schreiben und sich danach schließen. Wenn aber alles vorhanden ist dann solls ganz normal weiter gehen ..
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 16:48 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