Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Was könnte "File* Stream;" in Delphi bedeuten? (https://www.delphipraxis.net/19111-koennte-file%2A-stream%3B-delphi-bedeuten.html)

Virchov 29. Mär 2004 17:06


Was könnte "File* Stream;" in Delphi bedeuten?
 
Tach!
Danke

In c++ ist:
....

File* Stream;
stream = fopen("c:\\larylog.txt", "a");
......



Was ist das in Delphi?


man öffnet einen logfile namens "a"?

Sharky 29. Mär 2004 17:08

Re: Was könnte "File* Stream;" in Delphi bedeuten?
 
TFileStream -> F1

Skiron 29. Mär 2004 17:15

Re: Was könnte "File* Stream;" in Delphi bedeuten?
 
folgendes:
Delphi-Quellcode:
type
  TMyFile = file of string[255];

var
  MyFile: TMyFile;
...
assignFile(MyFile, 'C:\...');
reset(MyFile);
write(MyFile, 'test');
read(MyFile, variable);
//am Ende noch:
closeFile(MyFile);
...

Virchov 29. Mär 2004 17:30

Re: Was könnte "File* Stream;" in Delphi bedeuten?
 
Danke. Also "File* Stream; " kann man in Delphi weglassen und gleichhh mit AssignFile anfangen?

Luckie 29. Mär 2004 17:32

Re: Was könnte "File* Stream;" in Delphi bedeuten?
 
nein, das sind zwei unterschiedliche paar Schuhe. TFileStream entspricht in diesem Fall, was du suchst. Assignfile ist die alte Pascal-Methode um Dateien zu bearbeiten.

Wie wäre es, wenn du beide Begriffe einfach mal in der Hilfe nachschlägst? :roll:

Virchov 29. Mär 2004 17:40

Re: Was könnte "File* Stream;" in Delphi bedeuten?
 
verstehe...

Hab ich schon! In meiner hilfedatei gibt es keine Samples. Nicht mal der Syntax wird erörtert!

Luckie 29. Mär 2004 17:45

Re: Was könnte "File* Stream;" in Delphi bedeuten?
 
Was hast du für ein Delphi? :shock: Und vorallem: Woher hast du es? :gruebel:

Virchov 29. Mär 2004 18:06

Re: Was könnte "File* Stream;" in Delphi bedeuten?
 
Delphi 7

hab ich von einem Bekannten :lol:

Robert Marquardt 29. Mär 2004 18:30

Re: Was könnte "File* Stream;" in Delphi bedeuten?
 
FILE * ist vollkommen C spezifisch und kann nicht nach Delphi umgesetzt werden.
Das Problem ist das der Datentyp FILE ein Teil der C runtime ist und zusatzlich ein Teil des APIs
als C Makro ausgelegt ist.
Weiterhin wird malloc() verwendet das Teil der C Speicherverwaltung ist.
Am ehesten entsprechen die Funktionen aus diesem Bereich einem TReader bzw TWriter, da sie Daten puffern.

Virchov 29. Mär 2004 18:35

Re: Was könnte "File* Stream;" in Delphi bedeuten?
 
Zitat:

Zitat von Robert Marquardt
FILE * ist vollkommen C spezifisch und kann nicht nach Delphi umgesetzt werden.
Das Problem ist das der Datentyp FILE ein Teil der C runtime ist und zusatzlich ein Teil des APIs
als C Makro ausgelegt ist.
Weiterhin wird malloc() verwendet das Teil der C Speicherverwaltung ist.
Am ehesten entsprechen die Funktionen aus diesem Bereich einem TReader bzw TWriter, da sie Daten puffern.


Also, die Prozedur sieht so aus:
Delphi-Quellcode:


procedure pm1( M: pDouble; rowM, colM: integer; str: array of char);


begin
 
FILE* stream;

 stream := fopen("c:\\larylog.txt", "a");

 if (stream) then
  begin
      fputs("*temp. LOGFILE*\n",stream);

      fprintf(stream, "------------ %s --------------\n", str);

      for (int i=1; i<=rowM; i++)
      begin
         fprintf(stream, "[%d][x] = ", i);
         for (int j=1; j<=colM; j++)
            fprintf(stream, "%5.4f ", M[ i*(colM+1) + j]);
         fprintf(stream, "\n");
    end; // for i

      fclose(stream);
  end; // if fopen(stream)
   else
  begin
      MessageBox(0,"Unable to open logfile", "Lary   Message",
         MB_ICONERROR | MB_OK);
  end;
end; // end of pm1()
Ich übersetze es mittels assignfile und append. Scheint am einfachsten... Dieser TFileStream scheint zu beschiessen kompliziert und schwerfällig.Und dazu mies dokumentiert


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:26 Uhr.
Seite 1 von 2  1 2      

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 by Thomas Breitkreuz