Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Problem mit EOF/Read/Write (https://www.delphipraxis.net/79748-problem-mit-eof-read-write.html)

fwsp 27. Okt 2006 11:42


Problem mit EOF/Read/Write
 
Hallo,

ich hab hier ein kleines programm, das aus einer datei werte auslesen soll und die daraus berechneten werte in eine andere datei schreiben. allerdings werden die ausgelesenen werte nicht in die 2.datei geschrieben...
kann mir jemand sagen, was ich falsch mache?

Werte.dat
Code:
1
2
3
4
5
Delphi-Quellcode:
program BerechnenFak;

{$APPTYPE CONSOLE}

uses
  SysUtils;

type
  TWerte = file of Integer;

function Fakultaet(N: Integer): Integer;
begin
  if (N > 0) then
    Result := N * Fakultaet(N - 1)
  else
    Result := 1;
end;

var
  Werte: TWerte;
  BWerte: TWerte;
  i: Integer;

begin
  AssignFile(Werte, 'Werte.dat');
  Reset(Werte);
  AssignFile(BWerte, 'Resultate.dat');
  Rewrite(BWerte);

  while not Eof(Werte) do
  begin
    Read(Werte, i);
    i := Fakultaet(i);
    Write(BWerte, i);
  end;

  CloseFile(Werte);
  CloseFile(BWerte);
end.

Klaus01 27. Okt 2006 11:51

Re: Problem mit EOF/Read/Write
 
Hallo,

vielleicht hilft ja das folgende.

Delphi-Quellcode:
var
  Werte: file of TWerte;
  BWerte: file of TWerte;
  i: Integer;

Und hier vielleicht noch Pfade hinzufügen.
Delphi-Quellcode:
begin
  AssignFile(Werte, 'Werte.dat');
  Reset(Werte);
  AssignFile(BWerte, 'Resultate.dat');
  Rewrite(BWerte);
Grüße
Klaus

DelphiKlaus 27. Okt 2006 11:53

Re: Problem mit EOF/Read/Write
 
Hallo,

wenn Deine Datei eine ASCII-Datei ist, solltest Du sie als Textfile und nicht als File of Integer vereinbaren.


Klaus

fwsp 27. Okt 2006 11:53

Re: Problem mit EOF/Read/Write
 
Zitat:

Zitat von Klaus01
Hallo,

vielleicht hilft ja das folgende.

Delphi-Quellcode:
var
  Werte: file of TWerte;
  BWerte: file of TWerte;

das lässt der compiler nicht zu:
Code:
[Fehler] BerechnenFak.dpr(20): Dateityp ist hier nicht zulässig

fwsp 27. Okt 2006 11:56

Re: Problem mit EOF/Read/Write
 
Zitat:

Zitat von DelphiKlaus
Hallo,

wenn Deine Datei eine ASCII-Datei ist, solltest Du sie als Textfile und nicht als File of Integer vereinbaren.


Klaus

danke, jetzt klappt es.

Neutral General 27. Okt 2006 11:56

Re: Problem mit EOF/Read/Write
 
Zitat:

Zitat von fwsp
Zitat:

Zitat von Klaus01
Hallo,

vielleicht hilft ja das folgende.

Delphi-Quellcode:
var
  Werte: file of TWerte;
  BWerte: file of TWerte;

das lässt der compiler nicht zu:
Code:
[Fehler] BerechnenFak.dpr(20): Dateityp ist hier nicht zulässig

Das wäre dann ja wenn mans ausrollt sowas wie

Delphi-Quellcode:
File of File of Integer
Das wird ja eh nix denk ich ma ;)

Gruß
Neutral General

Klaus01 27. Okt 2006 11:58

Re: Problem mit EOF/Read/Write
 
Zitat:

Zitat von fwsp
Zitat:

Zitat von Klaus01
Hallo,

vielleicht hilft ja das folgende.

Delphi-Quellcode:
var
  Werte: file of TWerte;
  BWerte: file of TWerte;

das lässt der compiler nicht zu:
Code:
[Fehler] BerechnenFak.dpr(20): Dateityp ist hier nicht zulässig

Sorry, ich hatte übersehen, das TWert schon File of Integer ist.

Grüße
Klaus


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