![]() |
Textfiles Verständnisfrage & Frage
Hallo DPler,
Ich möchte gerne eine Variable mit Integerwert, also zb. einfach 14 extern in einer Textdatei speichern. Dazu habe ich folgende Prozedur entwickelt:
Delphi-Quellcode:
Dabei soll erst geschaut werden ob es die Datei schon gibt. Wenn ja wird in der Datei der Integerwert rausgelesen und in GesH gespeichert. Anschließend wird GesZ mit GesH addiert und in GesZ gespeichert.
procedure TForm1.Speichern;
var Speicher: Textfile; GesH:Integer; begin Try Reset(Speicher,'Speicher.txt'); Readln(Speicher,GesH); GesZ:=GesH + GesZ; Except AssignFile(Speicher,'Speicher.txt'); End; Rewrite(Speicher); Writeln(Speicher,GesZ); CloseFile(SPeicher); end; Wenn keine datei mit dem Namen Speicher.txt existiert soll in der except schleife eine erstellt werden. Anschließend wird der Zeiger auf ganz oben gestellt, das neue GesZ bzw. das existierende in der 1. zeile gespeichert, und dann geschlossen. Sind meine Überlegungen richtig? denn es gibt 1 komischen Fehler: 1. Wenn keine Datei existiert, wird mir trotzdem ein Fehler angezeigt, das die Datei nicht gefunden wurde, aber eigentlich müsste doch durch AssignFile eine erstellt werden? :?: |
AW: Textfiles Verständnisfrage & Frage
Welche Delphi-Version verwendest du?
|
AW: Textfiles Verständnisfrage & Frage
FreePascal/Lazarus?
Delphi kennt kein derartigen Reset-Befehl (in der System.pas) Zitat:
Fehler/Denkfehler:
|
AW: Textfiles Verständnisfrage & Frage
Interessant wäre auch: Wo landet die Datei ohne Pfad Angabe? :roll:
|
AW: Textfiles Verständnisfrage & Frage
Zitat:
Zitat:
|
AW: Textfiles Verständnisfrage & Frage
|
AW: Textfiles Verständnisfrage & Frage
@Klaus01
Niemand hat behauptet, dass es
Delphi-Quellcode:
in Delphi nicht gibt.
Reset
himitsu hat gesagt, dass es allerdings kein
Delphi-Quellcode:
gibt, dass so
Reset
Delphi-Quellcode:
aufgerufen werden kann. ;)
Reset( Speicher, 'Speicher.txt' );
|
AW: Textfiles Verständnisfrage & Frage
Ahh, so schnell so viele Antworten :shock: :-D
Also: @Uwe Raabe, Hier ein Ausschnitt von der Info über Borland Delphi: "Borland® Delphi® für Microsoft® Windows™ Version 10.0.2288.42451 Update 2 Copyright © 2005 Borland® Software Corporation." -> Also Version 10 !? @himitsu, Sry, das war viel zu oberflächlich der Fehler: Das Programm lässt sich mit dem Debugger einwandfrei starten, Erst wenn die Prozedur ausgeführt wird, Kommt eine Infobox, wo ich das Programm Anhalten,Fortsetzen kann mit der Meldung: "Im Projekt Project1.exe ist eine Exception der KLasse EInOutError mit der Meldung "Datei nicht gefunden" aufgetreten." -> Also eine Benachrichtigung über die Debugger-Exception?! Verstehe ich das richtig, dass ich nicht die Try-Except-Schleife verwenden kann? -> Muss ich dann eher eine If Fileexists=True then ... -Schleife verwenden? @Luckie, Also so wie ich das immer überlege müsste sie in dem Ordner, wo sich die .Exe befindet, erstellt werden. Dachte ich mir immer jedenfalls ^^. @Klaus01, Also kopiere ich einfach den Code aus dem Beispiel und bastel ihn in bei mir mit rein? @Sir Rufo, Warum kann das Reset nicht so
Delphi-Quellcode:
aufgerufen werden?
Reset(Speicher,'Speicher.txt')
|
AW: Textfiles Verständnisfrage & Frage
Weil die Dokumentation das sagt?
Delphi: ![]() FPC: ![]() |
AW: Textfiles Verständnisfrage & Frage
@Sir Rufo, okey, also einfach nur
Delphi-Quellcode:
? Aber das verstehe ich jetzt nicht :D Oder doch... also dann ändere ich jetzt den Code zu:
Reset(Speicher)
Delphi-Quellcode:
Okey, mit AssignFile weise ich also der Variablen Speicher einfach Speicher.txt zu?! Und wie kann ich jetzt eine Text Datei erstellen? o.0
procedure TForm1.Speichern;
var Speicher: Textfile; GesH:Integer; begin GesH:=0; AssignFile(Speicher,'Speicher.txt'); Reset(Speicher); Readln(Speicher,GesH); GesZ:=GesH + GesZ; Rewrite(Speicher); Writeln(Speicher,GesZ); CloseFile(SPeicher); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:14 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 by Thomas Breitkreuz