Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Dateien mit Pascal erzeugen (https://www.delphipraxis.net/52213-dateien-mit-pascal-erzeugen.html)

Matrix Scripter 25. Aug 2005 14:08


Dateien mit Pascal erzeugen
 
Hallo!
Ich möchte Textdateien mit Pascal erzeugen...raff aber nicht wie das geht :oops:
Kann mir bitte jemand ein kleines Beispiel Programm sagen, dass zeigt wie man ne Datei erzuegt in die Datei schreibt usw.
Wäre echt net! :-D

P.S. Ich benutze den GPC unter Linux (bin aber auch Linux neuling^^)

mfG Matrix Scripter

alcaeus 25. Aug 2005 14:15

Re: Dateien mit Pascal erzeugen
 
Moin Matrix Scripter,

hier mal ein Beispiel mit einer Textdatei:

Delphi-Quellcode:
var
  F: Text;
begin
  Assign(F, SomeFileName);
  {I-}
  ReWrite(F);
  {I+}
  if IOResult = 0 then
  begin
    Writeln(F, 'Dies ist ein Text.');
    Writeln(F, 'Und dies ist eine zweite Zeile');
  end;
  Close(F);
end;
Wichtig: ReWrite loescht den aktuellen Inhalt der Datei. Zum Lesen musst du anstatt ReWrite() einfach Reset() verwenden, wenn du was an die Datei anhaengen willst, gibst Append().

Greetz
alcaeus

Matrix Scripter 25. Aug 2005 16:33

Re: Dateien mit Pascal erzeugen
 
Hey danke alcaeus! :-D
Hat geklappt, aber wie siehts aus wenn ich keine Textdatei erzeugen will?
Da gabs doch was wie
Delphi-Quellcode:
var
  F: File;
Aber da kommt bei mir ne mehr oder weniger verständliche Meldung ^^
Muss ich wenn ich das mit "File" mach noch irgendwas beachten?
Und für was steht:
Zitat:

{I-}
und
Zitat:

IOResult = 0
mfG Matrix Scripter

jfheins 25. Aug 2005 16:35

Re: Dateien mit Pascal erzeugen
 
Schau dir mal Delphi-Referenz durchsuchenTFileStream an ;)

Matrix Scripter 25. Aug 2005 16:42

Re: Dateien mit Pascal erzeugen
 
Wo soll ich mir das anschauen?
Wenn du in der Delphi-hilfe meinst, dann geht das schlecht.
Ich benutz den GPC :wink:
Zitat:

P.S. Ich benutze den GPC unter Linux (bin aber auch Linux neuling^^)

jfheins 25. Aug 2005 16:52

Re: Dateien mit Pascal erzeugen
 
Achso ^^ dann:

Du musst im Konstruktor den Dateipfad angeben, dann kannst du mir Stream.WriteBuffer Daten hineinschreiben, und Sie mit Stream.Readbuffer wieder auslesen ;)

BlackJack 25. Aug 2005 20:19

Re: Dateien mit Pascal erzeugen
 
Zitat:

Zitat von jfheins
Achso ^^ dann:

Du musst im Konstruktor den Dateipfad angeben, dann kannst du mir Stream.WriteBuffer Daten hineinschreiben, und Sie mit Stream.Readbuffer wieder auslesen ;)

er will das programm mit GPC (also nicht mit Delphi) schreiben, von daher werden ihm tipps zum Umgang mit TFileStream nicht so viel bringen ;)

luwo 25. Aug 2005 20:36

Re: Dateien mit Pascal erzeugen
 
abgesehen davon, dass vielleicht Freepascal die bessere Alternative wäre um Pascal unter Linux zu programmieren,
schau doch mal bei

http://www.gnu-pascal.de/gpc/h-about.html#lang

Stichwort: "file" nach

Gruß Luwo

Matrix Scripter 25. Aug 2005 21:17

Re: Dateien mit Pascal erzeugen
 
Warum wäre FreePascal besser?

mael 26. Aug 2005 00:56

Re: Dateien mit Pascal erzeugen
 
Weil fast total Delphi-kompatibel, mehr Sprachfeatures, Klassenbibliothek (in der z.B. TFileStream zu finden ist), eine Dokumentation dabei ist (z.B. zu TFileStream ;-), ...

alcaeus 26. Aug 2005 08:42

Re: Dateien mit Pascal erzeugen
 
Zitat:

Zitat von Matrix Scripter
Hat geklappt, aber wie siehts aus wenn ich keine Textdatei erzeugen will?
Da gabs doch was wie
Delphi-Quellcode:
var
  F: File;
Aber da kommt bei mir ne mehr oder weniger verständliche Meldung ^^
Muss ich wenn ich das mit "File" mach noch irgendwas beachten?

Jup. Es gibt auch typed files:
Delphi-Quellcode:
type
  TFoo = record
    fInt: Integer;
  end;
  TFooFile = file of TFoo;

var
  F: TFooFile;
Dort liest dann
Delphi-Quellcode:
var
  F: TFooFile;
  Foo: TFoo;
begin
  //...
  Read(F, Foo);
  //...
end;
einen Datensatz vom Typ TFoo aus. Mit Seek() kannst du auf einen beliebigen Datensatz in der Datei springen, wobei die Zaehlung bei 0 beginnt und bis FileSize(F)-1 geht.

Zitat:

Zitat von Matrix Scripter
Und für was steht:
Zitat:

{I-}
und
Zitat:

IOResult = 0

{I-} und {I+} steuern die Fehlermeldungen. Mit {I-} schalte ich mal aus, dass er bei einem Fehler bei Dateioperationen abbricht. Dies kann z.B. passieren wenn du eine nicht-existierende Datei oeffnen willst, oder wenn du in eine Datei schreiben willst, aber keine Schreibrechte hast.
IOResult gibt dir schliesslich den Fehlercode der letzten IO-Operation an, 0 bedeutet in diesem Fall "kein Fehler". Deshalb schalte ich die Meldungen aus, Resettiere den Dateizeiger, schalte sie wieder ein und frage dann ab, ob alles glatt gegangen ist.

Greetz
alcaeus

luwo 26. Aug 2005 09:02

Re: Dateien mit Pascal erzeugen
 
Zitat:

Zitat von mael
Weil fast total Delphi-kompatibel, mehr Sprachfeatures, Klassenbibliothek (in der z.B. TFileStream zu finden ist), eine Dokumentation dabei ist (z.B. zu TFileStream ;-), ...

und auch für richtig viele Plattformen verfügbar :-D

siehe http://www.freepascal.org/

turboPASCAL 26. Aug 2005 09:24

Re: Dateien mit Pascal erzeugen
 
www.lazarus.freepascal.org hier gibts auch 'n paar Screenshots...


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:23 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