Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   datei nicht überschreiben.. (https://www.delphipraxis.net/111003-datei-nicht-ueberschreiben.html)

napstar 27. Mär 2008 21:24


datei nicht überschreiben..
 
hi ^^.. ich habe ein problem
ich möchte eine datei speichern.. aber wenn diese existiert dann soll er einfach eine andere ziffer nehmen...

z.b. datei.txt in datei1.txt ..
oder datei1.txt in datei2.txt ^^

ich habe das mit For verfucht.. bin aber daran gescheitert.. hat sich nichtmal kompilieren lassen... soll mit while funktionieren. nur habe ich dies noch nie benutzt.. kann mir einer von euch weiterhelfen?

mkinzler 27. Mär 2008 21:27

Re: datei nicht überschreiben..
 
Wie können wir helfen? Was genau verstehst du an While nicht?

Klaus01 27. Mär 2008 21:28

Re: datei nicht überschreiben..
 
Guten Abend,

mit FileExists(DateiName) kannst Du überprüfen, wie der Name schon sagt, ob eine
Datei existiert.

Vor dem Speichern brauchst Du dann nur prüfen ob die Datei schon vorhanden ist
und kannst dann entsprechend reagieren.

Grüße
Klaus

napstar 27. Mär 2008 22:12

Re: datei nicht überschreiben..
 
Delphi-Quellcode:
  i:=1;
  dateiname:='\video';
  endung:='.flv';
  dlname:=dateiname+inttostr(i)+endung;
  if FileExists(downloadpfad+dlname) then begin
  while i<>i do begin
  i:=i + 1;
  end;
  end;
i ist immer 1

mkinzler 27. Mär 2008 22:16

Re: datei nicht überschreiben..
 
Delphi-Quellcode:
  i:=1;
  dateiname:='\video';
  endung:='.flv';
  dlname:=dateiname+inttostr(i)+endung;
  while FileExists(downloadpfad+dlname) do
  begin
      inc(i);
      dlname:=dateiname+inttostr(i)+endung;
  end;

Fussball-Robby 27. Mär 2008 22:17

Re: datei nicht überschreiben..
 
Zitat:

Zitat von napstar
Delphi-Quellcode:
  i:=1;
  dateiname:='\video';
  endung:='.flv';
  dlname:=dateiname+inttostr(i)+endung;
  if FileExists(downloadpfad+dlname) then begin
  while i<>i do begin
  i:=i + 1;
  end;
  end;
i ist immer 1

Klar, weil du i nur um 1 erhöhst, wenn i ungleich i ist - was nie zutrifft.
Probiers doch mal so:
Delphi-Quellcode:
i := 1;
While FileExists(downloadpfad + 'video' + IntToStr(i) + '.flv' do inc(i);//Solange Datei mit i existiert, i um 1 erhöhen
Mfg

napstar 27. Mär 2008 22:18

Re: datei nicht überschreiben..
 
was bewirkt inc().. sorry aber irrgendwie spinnt grad meine delphi hilfe..

//edit: achso ok danke.. ich hab auch anstatt <> = verwendet.. da hängt sich das program aber auf.. ^^ warscheinlich ne endlosschleife.. da die if abfrage auserhalb des whiles ist ^^

Fussball-Robby 27. Mär 2008 22:19

Re: datei nicht überschreiben..
 
Inc(i,2) erhöht z.B. i um 2. Lässt man den 2.Parameter weg, wird die Zahl um 1 erhöht.

Mfg

Edit: Ätsch, Erster :P

Die Muhkuh 27. Mär 2008 22:20

Re: datei nicht überschreiben..
 
Inc erhöht die Zahl, sofern der zweite Parameter nicht angegeben ist, um 1.

mkinzler 27. Mär 2008 22:20

Re: datei nicht überschreiben..
 
Inc() erhöht die Variable um 1 (inkrementieren)
dec() verringert eine Variable um 1 (dekrementieren)


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