| Autor |
Beitrag |
der organist
      
Beiträge: 467
Erhaltene Danke: 17
WIN 7
NQC, Basic, Delphi 2010
|
Verfasst: Fr 01.08.08 11:49
Ich versuche gerade einen Highscore (nach einem Spiel) zu programmieren. So will ich den Punktestand in die entsprechende Textdatei speichern; p : textfil; und ap [1] gehört einem Array an, das ist der Punktestand in Real:
Delphi-Quelltext 1: 2: 3: 4: 5:
| AssignFile (p, 'C:\punkte0.txt'); Rewrite (p); Reset (p); Write (p, FloatToStr (ap[1])); Close (p); |
Beim Ablaufen bekomme ich in der Zeile mit WRite einen Fehler (auch wenn ich WriteLN) nutze. EInOutError 105
_________________ »Gedanken sind mächtiger als Waffen. Wir erlauben es unseren Bürgern nicht, Waffen zu führen - warum sollten wir es ihnen erlauben, selbständig zu denken?« Josef Stalin
Zuletzt bearbeitet von der organist am Fr 01.08.08 13:28, insgesamt 1-mal bearbeitet
|
|
jakobwenzel
      
Beiträge: 1889
Erhaltene Danke: 1
XP home, ubuntu
BDS 2006 Prof
|
Verfasst: Fr 01.08.08 11:56
Fürs schreiben braucht man ReWrite, fürs Lesen Reset. Wenn du das Reset rausschmeißt, sollte es gehen.
Die Hilfe sagt dazu: Errorcode 105: Datei nicht für Ausgabe geöffnet
Anmerkung: Es ist eine schlechte Idee, nach C:\ zu schreiben, das mangels der richtigen Rechte häufig nicht funktionieren wird.
_________________ I thought what I'd do was, I'd pretend I was one of those deaf-mutes.
|
|
der organist 
      
Beiträge: 467
Erhaltene Danke: 17
WIN 7
NQC, Basic, Delphi 2010
|
Verfasst: Fr 01.08.08 12:03
Was C:\ angeht, ich habe überlegt, welcher ordner auf jedem PC existiert, vllt gibbet da noch andere oder man könnte seinen eigenen Ordner erstellen, aber da weiss ich nich, wie das geht.
Vielen Dank für die schnelle hilfe.
_________________ »Gedanken sind mächtiger als Waffen. Wir erlauben es unseren Bürgern nicht, Waffen zu führen - warum sollten wir es ihnen erlauben, selbständig zu denken?« Josef Stalin
|
|
jakobwenzel
      
Beiträge: 1889
Erhaltene Danke: 1
XP home, ubuntu
BDS 2006 Prof
|
Verfasst: Fr 01.08.08 12:06
_________________ I thought what I'd do was, I'd pretend I was one of those deaf-mutes.
|
|
der organist 
      
Beiträge: 467
Erhaltene Danke: 17
WIN 7
NQC, Basic, Delphi 2010
|
Verfasst: Fr 01.08.08 12:19
das heisst, man braucht nun den Benutzernamen, um es zu speichern, sonst geht das leider nich. Ich denke aber, dass das ein lösbares Problem ist.
_________________ »Gedanken sind mächtiger als Waffen. Wir erlauben es unseren Bürgern nicht, Waffen zu führen - warum sollten wir es ihnen erlauben, selbständig zu denken?« Josef Stalin
|
|
jakobwenzel
      
Beiträge: 1889
Erhaltene Danke: 1
XP home, ubuntu
BDS 2006 Prof
|
Verfasst: Fr 01.08.08 13:12
Hast du den Artikel richtig gelesen?
Wenn du den da angegebenen Code nutzt, kriegst du alles fertig eingesetzt zurückgeliefert, inklusive des Benutzernamens.
_________________ I thought what I'd do was, I'd pretend I was one of those deaf-mutes.
|
|
der organist 
      
Beiträge: 467
Erhaltene Danke: 17
WIN 7
NQC, Basic, Delphi 2010
|
Verfasst: Fr 01.08.08 13:16
anscheinend nich richtig genut, mach ich nochmal.
Edit sagt: Gelesen nochmal, aber wie genau soll ich die einbinden, muss ich da noch eine Variable nutzen? etc pp.
Anstelle des C:\punkte0.txt einfach die Funktion einsetzen. Und welches Parameter dann?
Mir ist gerade eingefallen, könnte man nicht einfach 'all users' nehmen. Da bleibt nur die FRage, ob dieser Ordner auch existiert, wenn es nur einen Benutzer gibt.
_________________ »Gedanken sind mächtiger als Waffen. Wir erlauben es unseren Bürgern nicht, Waffen zu führen - warum sollten wir es ihnen erlauben, selbständig zu denken?« Josef Stalin
|
|
Timosch
      
Beiträge: 1314
Debian Squeeze, Win 7 Prof.
D7 Pers
|
Verfasst: Fr 01.08.08 13:57
der organist hat folgendes geschrieben: | anscheinend nich richtig genut, mach ich nochmal.
Edit sagt: Gelesen nochmal, aber wie genau soll ich die einbinden, muss ich da noch eine Variable nutzen? etc pp.
Anstelle des C:\punkte0.txt einfach die Funktion einsetzen. Und welches Parameter dann?
Mir ist gerade eingefallen, könnte man nicht einfach 'all users' nehmen. Da bleibt nur die FRage, ob dieser Ordner auch existiert, wenn es nur einen Benutzer gibt. |
Anscheinend immer noch nicht gut genug gelesen...
In dem Artikel wird eine Funktion GetShellFolder vorgestellt. Dieser übergibst du CSIDL_APPDATA und bekommst den Anwendungsdatenpfad als String zurück.
All users? Erstens: Woher willst du wissen, wo dieser Ordner liegt? Da musst du genauso diese Funktion bemühen, denn du darfst NICHT, ich wiederhole NICHT, davon ausgehen, dass er C:\Dokumente und Einstellungen\All Users\Anwendungsdaten lautet. Bei mir liegt er zum Beispiel auf D:\Dokumente und Einstellungen\All Users\Anwendungsdaten. Zweitens: AFAIK kannst du da nur als Administrator schreibend drauf zugreifen. Genau dieses Verhalten vieler Programme ist der Grund, warum man selbst heute noch trotz Sicherheitsbedenken oft als Admin eingeloggt sein muss.
Übrigens: Ein Programm, dass einfach ungefragt Dateien auf C:\ schmeißen würde, würde ich sofort wieder runterschmeißen. Das grenzt an Malware.
_________________ If liberty means anything at all, it means the right to tell people what they do not want to hear. - George Orwell
|
|
jakobwenzel
      
Beiträge: 1889
Erhaltene Danke: 1
XP home, ubuntu
BDS 2006 Prof
|
Verfasst: Fr 01.08.08 14:39
Timosch hat folgendes geschrieben: | | All users? Erstens: Woher willst du wissen, wo dieser Ordner liegt? Da musst du genauso diese Funktion bemühen, denn du darfst NICHT, ich wiederhole NICHT, davon ausgehen, dass er C:\Dokumente und Einstellungen\All Users\Anwendungsdaten lautet. Bei mir liegt er zum Beispiel auf D:\Dokumente und Einstellungen\All Users\Anwendungsdaten. |
Und auf einem Englischen XP hieße er "C:\Documents and Settings\All Users\Application Data". Unter Vista "C:\Users\All Users\Application Data".
Timosch hat folgendes geschrieben: | | Zweitens: AFAIK kannst du da nur als Administrator schreibend drauf zugreifen. Genau dieses Verhalten vieler Programme ist der Grund, warum man selbst heute noch trotz Sicherheitsbedenken oft als Admin eingeloggt sein muss. |
Ich bin hier als eingeschränkter Nutzer eingeloggt und kann in diesen Ordner schreiben. (Ob das unter Vista anders wäre, weiß ich nicht)
_________________ I thought what I'd do was, I'd pretend I was one of those deaf-mutes.
|
|
der organist 
      
Beiträge: 467
Erhaltene Danke: 17
WIN 7
NQC, Basic, Delphi 2010
|
Verfasst: Fr 01.08.08 22:03
ES FUNZT !!!!! Vielen Dank für die Hilfe und Tritte in den A-llerwertesten zum Lesen.
_________________ »Gedanken sind mächtiger als Waffen. Wir erlauben es unseren Bürgern nicht, Waffen zu führen - warum sollten wir es ihnen erlauben, selbständig zu denken?« Josef Stalin
|
|
|