![]() |
AW: ReWrite() findet kein File?
Hat der Pfad irgendwelche Sonderzeichen? Lazarus/FP hat ja so eine eigentümliche Art mit Sonderzeichen umzugehen. Bei meinen Test vor ca. 1 Jahr musst man etwas sehr unverständlich und gemischt Dateifunktionen einmal mit UTF und einmal ohne UTF8 im Namen aufrufen. Evtl. ist ja hier ein Fehler in der UTF8-Wandlungskette vorhanden.
|
AW: ReWrite() findet kein File?
Dann müßte man den Fehler weiter eingrenzen. Geht das?
Delphi-Quellcode:
function FileName: string;
begin Result := ExtractFilePath(ParamStr(0)) + 'SLTest.txt'; end; procedure TForm2.Button1Click(Sender: TObject); var SL: TStringList; begin SL := TStringList.Create; try SL.Add('DP'); SL.SaveToFile(FileName); Button2.Enabled := true; finally SL.Free; end; end; procedure TForm2.Button2Click(Sender: TObject); var SL: TStringList; begin SL := TStringList.Create; try SL.LoadFromFile(FileName); ShowMessage(SL.Text); finally SL.Free; end; end; procedure TForm2.FormCreate(Sender: TObject); begin Button2.Enabled := false; end; |
AW: ReWrite() findet kein File?
Sonderzeichen hat der Pfad keine (außer Leerzeichen in Ordnernamen).
Zitat:
[EDIT] Ich weiß jetzt woran es lag, und zwar waren meine Records noch leer bzw. noch keine Variablen darin, da ich das später machen wollte. Wenn ich testweise eine Variable deklariere, funktioniert es. Warum macht es beim Schreiben der Datei etwas aus, wenn der Record noch keine Daten enthält? Im Grunde genommen ist das File beim Erstellen ja auch leer, oder? |
AW: ReWrite() findet kein File?
Das macht aber dem Rewrite nichts? Du hast die Datei doch als file of TMyRecord deklariert? Diese Reset/Rewrite Konstruktion ist eh irgendwie nicht so prickelnd? Ich würde sagen es ist Zeit für eine Liste (mit Methoden LoadFromFile, SaveToFile, Add, Delete, IndexOf ect..).
|
AW: ReWrite() findet kein File?
Zitat:
:?: Trotzdem Danke an alle die mir geholfen haben! |
AW: ReWrite() findet kein File?
Was für ein TList Beispiel meinst du? Ich seh (hier) keins? Du würdest dir von Tlist deine eigene Liste ableiten und die Methoden LoadFromFile, SaveToFile ect. ergänzen. Dabei könnte die typisierte Datei bleiben. Man könnte das Zeugs aber auch in einen FileStream schreiben, da könntest du dann auch strings statt shortstrings verwenden.
|
AW: ReWrite() findet kein File?
Als TList Beispiel meinte ich das Beispiel oben mit der TStringList.
Ich habe es jetzt so, dass ich für die Dateiverwaltung jeweils eine Klasse habe, die per Read und Write auf die typisierte Datei zugreift. Da ich die Daten über diese Klasse in anderen Klassen als einzelne Records benötige(von den Klassen gibt es wiederum mehrere Instanzen in einer Liste), ist die Verwendung einer Liste für die Daten nicht so sinnvoll, glaube ich. |
AW: ReWrite() findet kein File?
Liste der Anhänge anzeigen (Anzahl: 1)
Eine Liste sollte auf alle Fälle gehen? Muß nicht unbedingt TList sein. Ich hab "früher" Listen viel mit Dyn. Arrays erstellt. Ist für Übungszwecke m.E. auch gut geeignet. Hab' dir mal ein Beispiel zusammenkopiert (nur wenn es dich interessiert).
|
AW: ReWrite() findet kein File?
Danke für die Beispiele, jetzt ist alles etwas klarer :-D.
Was ich noch nicht wusste, bzw nur am Rande mal gesehen habe, ist, dass man Records auch mit Funktionen und Prozeduren ausstatten kann; das werde ich definitiv des öfteren nutzen können. Eine Blöde Frage: Wenn man Records als Datentypen mit Prozeduren speichern kann, kann man dann auch Klassen als Typen in typisierten Files speichern (in der Art: file of TMyClass)? Wahrscheinlich doch nicht (habe es jedenfalls noch nie gesehen), oder? |
AW: ReWrite() findet kein File?
Beim Speichern eines Records werden die Methoden nicht mit gespeichert.
Es werden ausschließlich die Inhalte der Felder gespeichert. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:27 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