Einzelnen Beitrag anzeigen

Virchov

Registriert seit: 15. Mär 2004
Ort: Bäärlin
109 Beiträge
 
#10

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

  Alt 29. Mär 2004, 18:35
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
  Mit Zitat antworten Zitat