![]() |
Problem beim abspeichern in Datei
Hi folks!
Wir haben im Info-Unterricht n Hangman (Galgenmännchen) programmiert. Jetz soll sich das Prog die eingegebenen Wörter in iner Datei merken um sie evtl. später zufallsgesteuert als zu ratendes Wort einzulesen. Unser Lehrer hat uns dazu AssignFile,ReWrite,Write,Read und seek gegeben. Mein jämmerlicher Source dazu sieht so aus:
Delphi-Quellcode:
(Speichertyp wurde in "type" als String[14] deklariert.)
procedure TFrm_Hangman.speichern(a:Speichertyp);
begin assignfile(Datei,'woerter.dat'); rewrite(datei); write(datei,a); closefile(datei); end; Jetz will ich aber nat. nicht, dass der immer wieder die datei nueschreibt...wie erreich ichs, dass der die datei nur dann nueschriebt, wenns die auch gibt?mein versuch:
Delphi-Quellcode:
aber da krieg ich gesagt: "Dateizugrif verweigert."
procedure TFrm_Hangman.speichern(a:Speichertyp);
begin assignfile(Datei,'woerter.txt'); if not fileexists('woerter.txt') then rewrite(datei); write(datei,a); closefile(datei); end; Hoffe ihr könnt mir helfen... :dp: |
Re: Problem beim abspeichern in Datei
Wenn du nur anhängen willst, kuck dir mal in der Hilfe Append an. Desweiteren empfehle ich dir einen absoluten Pfad zur datei anzugeben. Das was du machts ist Roulette. ;)
|
Re: Problem beim abspeichern in Datei
Bei deiner 2. Prozedur wird die Datei, wenn sie vorhanden ist ja garnicht geöffnet!
Man macht des im allgemeinen so:
Delphi-Quellcode:
So hab ichs zumindest damals mit Turbo Pascal gelernt.
assignfile(f, 'datei.dat');
{$I-} reset(f); {$I+} if ioresult <> 0 then rewrite(f); write(f, a); closefile(f); gruß Mario |
Re: Problem beim abspeichern in Datei
Komisch, ich bin hier mit bisher immer ganz gut gefahren:
Delphi-Quellcode:
AssignFile(f, Filename);
{ if exits open it } if FileExists(Filename) then begin //FileMode := fmShareExclusive; Reset(f); end { if not rewrite it } else begin {$I-} Rewrite(f); |
Re: Problem beim abspeichern in Datei
Was wäre, wenn die Datei existiert, du aber keine Leserechte hast?
Ist zwar ne Spitzfindigkeit, aber ... EDIT: Gut, dann könnt man bei mir bringen, wenn die Datei nicht existiert und man keine Schreibrechte im Verzeichnis hat... |
Re: Problem beim abspeichern in Datei
Das kann ich auch. :mrgreen: Was passiert bei dir, wenn du keine Schreibrechte hast? :tongue: Also, es geht doch nur ums Prinzip, dass ich dafür keinen wasserdichten Code entwickle dürfte klar sein. darum hat sich der Programmierer dann noch selber zu kümmern.
|
Re: Problem beim abspeichern in Datei
wenn ich reset benutze wird die datei doch auch neugeschrieben...
|
Re: Problem beim abspeichern in Datei
Nein, es ist Roulette wo deine Datei abgespeicherrt wird, nämlich im gerade aktuellen Verzeichnis und das muss nicht ztwingen dein Anwendungsverzeichnis sein. Wo soll sie denn liegen? Im Programmordnder? Den Pfad deiner Anwending bekommst du mit ParamStr(0)
Datei vom Typ Struing[14]? Zeig mal Code, darunter kann ich mir nichts vorstellen. |
Re: Problem beim abspeichern in Datei
Liste der Anhänge anzeigen (Anzahl: 1)
IHR---HABT---ES---NICHT---ANDERS GEWOLLT!!!
[edit=thomasdrewermann]Code in den Anhang gepackt Mfg, thomasdrewermann[/edit] |
Re: Problem beim abspeichern in Datei
Zitat:
Und würdest du bitte aufhören, deine Psotings nachträglich komplett zu ändern? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:21 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