Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Problem beim bearbeiten/beschreiben einer .txt Datei (https://www.delphipraxis.net/111444-problem-beim-bearbeiten-beschreiben-einer-txt-datei.html)

MrMyagi 3. Apr 2008 15:37


Problem beim bearbeiten/beschreiben einer .txt Datei
 
Moin,
und zwar habe ich auf C:
eine .txt Datei mit dem Namen
Datei.txt. Nun möchte den Inhalt dieser Datei
des öffteren mit meinem Programm verändern,
jedoch schickt dieses mit immer die Fehlermeldung:
Ungültiger Dateiname.
Vielleicht könnt ihr mir ja sagen, wo das Problem liegt?

Delphi-Quellcode:
procedure TForm1.ButtonUnitAuswahlClick(Sender: TObject);
var
Datei: TextFile;
begin
if (Length(EditUnitAuswahl.Text)=0) then
begin
ShowMessage('Bitte einen Unit-Namen angeben!');
end
else
begin
AssignFile(Datei, 'C:\');
Rewrite(Datei);          //Fehler, Ungültiger Dateiname (Habe auch schon bei anderen Versuchen des öffteren den E/A Fehler 32) gehabt
WriteLn(Datei, EditUnitAuswahl.text);
CloseFile(Datei);
end;
end;
Edit: Habe den Fehler schon gefunden, es müsste C:\Datei.txt heißen

mfG, Nico

DeddyH 3. Apr 2008 15:42

Re: Problem beim bearbeiten/beschreiben einer .txt Datei
 
Zitat:

Delphi-Quellcode:
AssignFile(Datei, 'C:\');

Wo ist denn der Dateiname?

gmc616 3. Apr 2008 15:43

Re: Problem beim bearbeiten/beschreiben einer .txt Datei
 
Naja, du musst beim Öffnen der Datei auch den Dateinamen angeben.

Delphi-Quellcode:
AssignFile(Datei, 'C:\Datei.txt');
Edit: Zu langsam.

MrMyagi 3. Apr 2008 15:44

Re: Problem beim bearbeiten/beschreiben einer .txt Datei
 
Jepp, is mir auch gerade aufgefallen,

Danke

RavenIV 3. Apr 2008 15:48

Re: Problem beim bearbeiten/beschreiben einer .txt Datei
 
Mit
AssignFile(Datei, 'C:\');
schreibst Du in C:\
Das ist keine Datei und daher der Fehler.

Wenn Du
AssignFile(Datei, 'C:\Datei.txt');
schreibst, wird es besser klappen.

Chemiker 3. Apr 2008 18:27

Re: Problem beim bearbeiten/beschreiben einer .txt Datei
 
Hallo MrMyagi,

Dir ist aber bewusst, dass Du mit Rewrite die vorhandene Datei löschst und eine neue Datei anlegst? Wenn Du eine vorhandene Datei ändern willst ist die Function Append angebracht.

Empfehlenswert ist auch der E/A – Prüfung durchzuführen.

Etwa so:

Delphi-Quellcode:
AssignFile (Datei, ‘C:\Datei.txt');
  {$I-}
  Rewrite (Datei);
  {$I+}
  If IOResult = 0 then     // Alles O.K.
Bis bald Chemiker

Spiderpig_GER_15 7. Apr 2008 16:07

Re: Problem beim bearbeiten/beschreiben einer .txt Datei
 
Ginge es nciht auch so?

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
datei:tstringlist;
implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
datei:=tstringlist.create;
end;

procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
begin
i:=0;

repeat
inc(i);
datei.Add('Hi xD');
until i = 100;
datei.SaveToFile('C:\Datei.txt');//Datei wird gespeichert
end;

end.

patti 7. Apr 2008 16:12

Re: Problem beim bearbeiten/beschreiben einer .txt Datei
 
Ginge theoretisch auch, aber du darfst nicht vergessen, "datei" beim OnDestroy oder OnClose des Formulars wieder freizugeben!


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