AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Nummer der Datei um 1 erhöhen
Thema durchsuchen
Ansicht
Themen-Optionen

Nummer der Datei um 1 erhöhen

Ein Thema von AnfängerDelphi · begonnen am 2. Apr 2013 · letzter Beitrag vom 4. Jul 2013
 
Volker Z.

Registriert seit: 3. Dez 2012
Ort: Augsburg, Bayern, Süddeutschland
419 Beiträge
 
Delphi XE4 Ultimate
 
#16

AW: Nummer der Datei um 1 erhöhen

  Alt 8. Jun 2013, 23:44
Hallo,

Zitat:
Delphi-Quellcode:
procedure TForm1.Button3Click(Sender: TObject);
var x : Integer;
    datei : TextFile;
      pfad : String;

begin
  pfad := JvDirectoryEdit1.Directory;
  x := 1;
  AssignFile(datei, pfad +'\'+ 'datei'+ IntToStr(x) + '.txt');
    If not FileExists(pfad +'\'+ 'datei'+ IntToStr(x) + '.txt') then
      begin
       Rewrite(datei);
       CloseFile(datei);
      end
     else
      x := x+1;
      AssignFile(datei, pfad +'\'+ 'datei'+ IntToStr(x) + '.txt');
      Rewrite(datei);
      CloseFile(datei);

end;
Zitat:
Meine Zählervariable (x) habe ich global deklariert und initialisiert,und ich muß sagen,es hat funktioniert.
Nö, glaube ich nicht, dass das funktioniert
Delphi-Quellcode:
var
  x : Integer; // hier rein

procedure TForm1.Button3Click(Sender: TObject);
var // x : Integer; hier raus
    datei : TextFile;
      pfad : String;
begin
  pfad := JvDirectoryEdit1.Directory;
  x := 1;
  AssignFile(datei, pfad +'\'+ 'datei'+ IntToStr(x) + '.txt');
    If not FileExists(pfad +'\'+ 'datei'+ IntToStr(x) + '.txt') then
      begin
       Rewrite(datei);
       CloseFile(datei);
      end
     else
      x := x+1;
      AssignFile(datei, pfad +'\'+ 'datei'+ IntToStr(x) + '.txt');
      Rewrite(datei);
      CloseFile(datei);
end;
Starte Dein Programm, wähle einen Ordern, der noch vollkommen jungfräulich ist (zur Not anlegen) und klick zweimal auf den Button. Im gewählten Ordner sollten nun die Dateien:
Datei1.txt
Datei2.txt
liegen.
Öffne die "Datei2.txt" mit einem Texteditor (z. B. mit Notepad). Schreibe einen beliebigen Text (gerne: "Hallo Welt!") und schließe den Texteditor - speichern nicht vergessen. Starte Dein Programm und klick einmal auf den Button. Öffne die Datei "Datei2.txt" und wundere Dich nicht, wenn da nix mehr drin steht.

Zitat:
Warum funktioniert es nur dann,wenn die Variable global deklariert ist....???
Es funktioniert bestens, wenn die Zählvariable lokal (und bitte nur lokal) deklariert wird! Uwe Raabe und hathor habe Dir bereits alle notwendigen Hinweise und auch Code geliefert. Du kannst Deine Methode Button3Click auch so oder ähnlich ändern:
Delphi-Quellcode:
procedure TForm1.Button3Click(Sender: TObject);
var
  datei : TextFile;
  pfad : string;
  s : string;
  x : Integer;
begin
  pfad := JvDirectoryEdit1.Directory;
  x := 1;
  repeat
    s := pfad + '\' + 'datei' + IntToStr (x) + '.txt';
    if not FileExists (s) then
      begin
        AssignFile (datei, s);
        Rewrite (datei);
        CloseFile (datei);
        Break
      end;

    Inc (x)
  until False
end;
Gruß
Volker Zeller
  Mit Zitat antworten Zitat
 


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:39 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