Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Memo und typisierte Dateien (https://www.delphipraxis.net/143997-memo-und-typisierte-dateien.html)

Mysterio08 27. Nov 2009 16:13

Re: Memo und typisierte Dateien
 
Mhm, also ich werde wohl eine sehr unelegante Methode verwenden, ich werde zwei Variablen für den Text deklarieren, bei können 255 Zeichen aufnehmen, dann bin ich schonmal bei mehr als 500 und dann werde ich die Zeichen in die erste und ggf. in die zweite Variable transportieren. Dann muss sich der Nutzer wohl mit 510 Zeichen zufrieden geben.
Ehrlich gesagt überzeugt mich die Alternative nicht....

DeddyH 27. Nov 2009 16:25

Re: Memo und typisierte Dateien
 
Delphi-Quellcode:
type
  TMyRec = record
    Inhalt: array[1..1024] of char;
  end;

procedure TFormTest.FormCreate(Sender: TObject);
var s: string;
    f: file of TMyRec;
    R: TMyRec;
begin
  FillChar(R,SizeOf(R),0);
  s := StringOfChar('a',Length(R.Inhalt));
  StrPCopy(@R.Inhalt,s);
  AssignFile(f,'C:\Test\Test.dat');
  {$I-}
  try
    Rewrite(f);
    write(f,R);
    CloseFile(f);
  except
    on E: Exception do
      ShowMessage(E.Message);
  end;
  {$I+}
end;
Hat bei mir einwandfrei funktioniert.

Mysterio08 28. Nov 2009 15:03

Re: Memo und typisierte Dateien
 
Ich wollte Deine Idee gerade umsetzen, DeddyH, aber ich weiß nicht so recht, an welcher Stelle ich den Inhalt des Memos einsetzen soll, denn wie ich gelesen habe, füllt StrOfChar immer nur mit dem gleichen Zeichen!?
Ich stehe gerade auf'm Schlauch

DeddyH 28. Nov 2009 15:05

Re: Memo und typisierte Dateien
 
Das war ja auch nur ein Test. Du müsstest statt
Delphi-Quellcode:
s := StringOfChar('a',Length(R.Inhalt));
Delphi-Quellcode:
s := Memo1.Text;
schreiben.

[edit] Oder sicherheitshalber besser
Delphi-Quellcode:
s := Copy(Memo1.Text, 1, Length(R.Inhalt));
[/edit]

Mysterio08 2. Dez 2009 15:25

Re: Memo und typisierte Dateien
 
Also, mir ist heute noch eine Alternative eingefallen, die evtl. klappen könnte: mit einer TStringList arbeiten. Der Compiler zeigt mir wegen der Variablendeklaration und des records keine Fehlermeldung an, allerdings habe ich es nur grob getestet. Ich werde das Ganze morgen mal ausführlicher testen.

DeddyH 2. Dez 2009 15:30

Re: Memo und typisierte Dateien
 
Du meinst eine TStringlist im Record? Da hättest Du aber wieder nur den Pointer gespeichert, der nützt Dir ja nichts.

Mysterio08 2. Dez 2009 18:09

Re: Memo und typisierte Dateien
 
Ja, stimmt. Sobald ich das Memo in eine Variable vom Typ TStringList speichern will, gibt es eine saftige Fehlermeldung - logisch...
Dann werde ich um deinen Lösungsvorschlag nicht herumkommen, DeddyH. Wobei ich damit kein Problem habe.

himitsu 2. Dez 2009 18:20

Re: Memo und typisierte Dateien
 
als Alternative: du nimmst einfach keine typisierte Datei :stupid:

- entweder du definiserst dir eine Binärdatei mit dynamischen "Feldern"
- oder du nimmst eine INI
- oder XML
- oder .... nja, gibt noch tausende andere Möglichkeiten

DeddyH 3. Dez 2009 08:07

Re: Memo und typisierte Dateien
 
Zitat:

Zitat von Mysterio08
..., aus schulischen Gründen bin ich "gezwungen", eine typisierte Datei zu erstellen.


himitsu 3. Dez 2009 09:48

Re: Memo und typisierte Dateien
 
Zitat:

Zitat von DeddyH
Zitat:

Zitat von Mysterio08
..., aus schulischen Gründen bin ich "gezwungen", eine typisierte Datei zu erstellen.


ups :oops:

nja, wenn man es genau nimmt, dann könnte man eine INI oder XML auch als File of Char ansehn :roll:


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:37 Uhr.
Seite 2 von 2     12   

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