AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Inkompitable Typen bei AssignFile

Ein Thema von Andreas L. · begonnen am 14. Jul 2004 · letzter Beitrag vom 14. Jul 2004
Antwort Antwort
Andreas L.
(Gast)

n/a Beiträge
 
#1

Inkompitable Typen bei AssignFile

  Alt 14. Jul 2004, 15:07
Hi,
mein Code:
Delphi-Quellcode:
procedure TForm3.Button3Click(Sender: TObject);
var
  F: TextFile;
  S: String;
  datei : TFileStream;
begin
 Datei:=TFileStream.create(ExtractFilePath(Application.ExeName)+'\webver.txt',fmCreate);
 IdHttp1.Get('http://www.softprose.de/pub/website/webver.txt',Datei);
 AssignFile(F,datei);
  {$I-}
    Reset(F);
  {$I+}
  try
    if IOResult=0 then
    begin
      ReadLn(F, S);
      Label8.caption:=S;
    end;
  finally
  label7.Enabled:=TRUE;
  button4.enabled:=TRUE;
  CloseFile(F);
  Datei.free;
end;
end;
Zitat von Compiler:
Zeile 9: Inkompitable Typen
Wie muss ich die Typen umwandeln?

Greetz un thx
  Mit Zitat antworten Zitat
Benutzerbild von fred.reichbier
fred.reichbier

Registriert seit: 27. Apr 2004
154 Beiträge
 
#2

Re: Inkompitable Typen bei AssignFile

  Alt 14. Jul 2004, 15:11
muss jetzt nicht klappen, aber nimm mal statt tfilestream file of tfilestream.
Friedrich Weber
  Mit Zitat antworten Zitat
Andreas L.
(Gast)

n/a Beiträge
 
#3

Re: Inkompitable Typen bei AssignFile

  Alt 14. Jul 2004, 15:13
Zitat von fred.reichbier:
muss jetzt nicht klappen, aber nimm mal statt tfilestream file of tfilestream.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Inkompitable Typen bei AssignFile

  Alt 14. Jul 2004, 15:21
F1 -> AssignFile -> lesen -> verstehen -> anwenden -> glücklich werden.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Andreas L.
(Gast)

n/a Beiträge
 
#5

Re: Inkompitable Typen bei AssignFile

  Alt 14. Jul 2004, 15:26
Fungiert. Danke

Lösung:
datei in pchar umwandeln:
Code:
pchar(datei)
Greetz
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Inkompitable Typen bei AssignFile

  Alt 14. Jul 2004, 15:32
Hai onlinehome,

AssignFile möchte als zweiten Parameter den Dateinamen als String.
Zitat von F1:
Die Prozedur weist einer Dateivariablen den Namen einer externen Datei zu.
[Edit]Ich sollte nicht schreiben und vor dem posten erst noch telefonieren.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Inkompitable Typen bei AssignFile

  Alt 14. Jul 2004, 15:35
Das kann nicht funktionieren:
procedure AssignFile(var F; FileName: string);
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Andreas L.
(Gast)

n/a Beiträge
 
#8

Re: Inkompitable Typen bei AssignFile

  Alt 14. Jul 2004, 16:39
Doch, weil die Delphi Hilfe meint das man anstatt String auch Pchar verwenden kann:

Zitat von Delphi-Hilfe:
In Delphi können Sie mit AssignFile eine Dateivariable initialisieren. F ist eine Dateivariable eines beliebigen Dateityps. FileName enthält einen Ausdruck des Typs String bzw. Pchar (wenn die erweiterte Syntax aktiviert ist).
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#9

Re: Inkompitable Typen bei AssignFile

  Alt 14. Jul 2004, 16:51
Ja und? Deine Variable datei ist aber vom Typ TFileStream!!! AssignFile erwartet aber als zweiten Paramter eine Zeichenkette in der der Pfad und der Name der Datei steht, die der Dateivariablen F zu gewiesen werden soll. Den Cast nach PChar mag der Kompiler zwar akzeptiren, aber funktionieren wird es nicht.

Desweitern könnte es Probleme geben, weil der FileStream die datei noch nicht geschlossen hast und du sie mit AssignFile und reset öffnen willst.

Da es sich ja eh um eine Textdatei handelt, warum nicht so:
Delphi-Quellcode:
var
  sl: TStringlist;
begin
  sl := TStringList.Create;
  try
    sl.Text := IDHTTP.Get('...');
    Label1.Caption := sl.Strings[0];
  finally
    FreeAndNil(sl);
  end;
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:17 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