AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Problem beim abspeichern in Datei

Ein Thema von mercanery · begonnen am 26. Feb 2004 · letzter Beitrag vom 27. Feb 2004
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von mercanery
mercanery

Registriert seit: 26. Dez 2003
Ort: Recklinghausen
41 Beiträge
 
Delphi 5 Enterprise
 
#1

Problem beim abspeichern in Datei

  Alt 26. Feb 2004, 21:14
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:
procedure TFrm_Hangman.speichern(a:Speichertyp);
begin
assignfile(Datei,'woerter.dat');
rewrite(datei);
write(datei,a);
closefile(datei);
end;
(Speichertyp wurde in "type" als String[14] deklariert.)

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:
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;
aber da krieg ich gesagt: "Dateizugrif verweigert."

Hoffe ihr könnt mir helfen...
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Problem beim abspeichern in Datei

  Alt 26. Feb 2004, 21:17
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.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
empanyc

Registriert seit: 31. Jan 2004
42 Beiträge
 
#3

Re: Problem beim abspeichern in Datei

  Alt 26. Feb 2004, 21:33
Bei deiner 2. Prozedur wird die Datei, wenn sie vorhanden ist ja garnicht geöffnet!

Man macht des im allgemeinen so:

Delphi-Quellcode:
assignfile(f, 'datei.dat');
{$I-}
reset(f);
{$I+}
if ioresult <> 0 then rewrite(f);
write(f, a);
closefile(f);
So hab ichs zumindest damals mit Turbo Pascal gelernt.

gruß
Mario
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Problem beim abspeichern in Datei

  Alt 26. Feb 2004, 21:43
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);
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
empanyc

Registriert seit: 31. Jan 2004
42 Beiträge
 
#5

Re: Problem beim abspeichern in Datei

  Alt 26. Feb 2004, 21:49
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...
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Problem beim abspeichern in Datei

  Alt 26. Feb 2004, 21:51
Das kann ich auch. Was passiert bei dir, wenn du keine Schreibrechte hast? 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.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von mercanery
mercanery

Registriert seit: 26. Dez 2003
Ort: Recklinghausen
41 Beiträge
 
Delphi 5 Enterprise
 
#7

Re: Problem beim abspeichern in Datei

  Alt 26. Feb 2004, 21:52
wenn ich reset benutze wird die datei doch auch neugeschrieben...
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#8

Re: Problem beim abspeichern in Datei

  Alt 26. Feb 2004, 21:55
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.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von mercanery
mercanery

Registriert seit: 26. Dez 2003
Ort: Recklinghausen
41 Beiträge
 
Delphi 5 Enterprise
 
#9

Re: Problem beim abspeichern in Datei

  Alt 26. Feb 2004, 21:57
IHR---HABT---ES---NICHT---ANDERS GEWOLLT!!!



[edit=thomasdrewermann]Code in den Anhang gepackt Mfg, thomasdrewermann[/edit]
Angehängte Dateien
Dateityp: pas hangman_u.pas (8,4 KB, 14x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#10

Re: Problem beim abspeichern in Datei

  Alt 26. Feb 2004, 21:58
Zitat von mercanery:
wenn ich reset benutze wird die datei doch auch neugeschrieben...
Hilfe lesen zu reset und rewrite.

Und würdest du bitte aufhören, deine Psotings nachträglich komplett zu ändern?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 21:13 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