Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Inkomatible typen (https://www.delphipraxis.net/105322-inkomatible-typen.html)

if-else 19. Dez 2007 20:07


Inkomatible typen
 
Hallo!

Ich habe folgendes Anfängerproblem, bei dem Einlesen einer Textdatei...
Es gibt 3 Variablen die in einem Record zusammengefasst werden...
Code:
type Tvar = record
  var1 : string[30];
  var2 : string[30];
  var3 : string[30];
end;
In der Textdatei befinden sich pro Zeile ein Wort, welche mit einer Schleife in ein array eingelesen werden...

Code:
[...]
var
f : file of Tvar;
vars : array[1..100] of Tvar;
[...]
assignfile(f,'path');
[...]
readln(f,vars[pos].var1);
Bei der letzten hier angegeben Zeile (readln(f,vars[pos].var1); ) wir die Fehlermeldung [DCC Fehler] Unit2.pas(203): E2010 Inkompatible Typen: 'Tvar' und 'ShortString' ausgegeben...

Wie kann ich diesen Fehler beheben?

Apollonius 19. Dez 2007 20:14

Re: Inkomatible typen
 
Herzlich willkommen in der DP! :dp:
Da f ein file of TVar ist, kannst du nur einen ganzen TVar-Record einlesen und keine Einzelteile. Folglich muss es
Delphi-Quellcode:
readln(f,vars[pos]);
heißen.

if-else 19. Dez 2007 20:18

Re: Inkomatible typen
 
Zitat:

Zitat von Apollonius
Herzlich willkommen in der DP! :dp:

Danke :)

Dann wird als Fehlermeldung Inkompatible Typen ausgegeben...

taaktaak 19. Dez 2007 20:39

Re: Inkomatible typen
 
Ähhh, was für eine Datei ist es denn nun?? Eine Textdatei oder nicht??? Wenn's 'ne Textdatei ist, dann kannst du die (auf diese Weise) natürlich nicht in Records einlesen....
Gruß Ralph

edit:
Also, wenn es eine Textdatei ist, dann musst du die auch als Textfile öffnen - und dann müsste deine Prozedur eigentlich auch funktionieren (vorausgesetzt, dass der für uns unsichtbare Teil in dem der Zähler "Pos" gesetzt wird und die beiden anderen Zeilen eingelesen werden, richtig ist)

DP-Maintenance 19. Dez 2007 21:26

DP-Maintenance
 
Dieses Thema wurde von "Matze" von "Programmieren allgemein" nach "Object-Pascal / Delphi-Language" verschoben.
Delphi-Frage


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:12 Uhr.

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