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 Wo liegt der Fehler? (https://www.delphipraxis.net/95301-wo-liegt-der-fehler.html)

GISS79 4. Jul 2007 20:54


Wo liegt der Fehler?
 
Hallo,

eine leichte Aufgabe und doch komme ich nicht weiter...??

Delphi-Quellcode:
procedure TForm3.Button1Click(Sender: TObject);
var
f: textfile;
s: string;

begin
assignfile(f,'c:\text1.txt');
  if ioresult<>0 then begin
  showmessage('Diese Datei 'f'existiert nicht');
  exit;
  end;

readln(F,s);
label1.caption:=s

end;
er gibt mir eine exception aus "E/A Fehler -104"

könnt ihr bitte schnell sagen, wo der Fehler liegt?

hoika 4. Jul 2007 20:58

Re: Wo liegt der Fehler?
 
Höhö,

habe gerade eine TextFile-Lesemethode geschrieben .. ;)

AssignFile prüft nicht, ob eine Datei existiert.
Nimm FileExists dafür.

Ausserdem fehlt Reset

Delphi-Quellcode:
Reset(f);
try
  dein Readln
finally
  CloseFile(f);
end;
Heiko
PS: Der 1000. Beitrag ist nahhhhh

GISS79 4. Jul 2007 21:02

Re: Wo liegt der Fehler?
 
danke, jetzt funktioniert es...:-D

aber was bewirkt das reset?

Muetze1 4. Jul 2007 21:03

Re: Wo liegt der Fehler?
 
Zitat:

Zitat von GISS79
aber was bewirkt das reset?

Zitat:

Zitat von OH D5, Reset()
Die Prozedur Reset öffnet eine vorhandene Datei.

Unit

System

Kategorie

Ein-/Ausgabe

procedure Reset(var F [: File; RecSize: Word ] );

Beschreibung

Reset öffnet die mit F angegebene externe Datei. Ist keine Datei mit diesem Namen vorhanden, tritt ein Fehler auf. Ist F bereits offen, wird sie zuerst geschlossen und dann erneut geöffnet. Nach dem Öffnen wird der Dateizeiger an den Anfang der Datei gesetzt.

F ist eine Variable eines beliebigen Dateityps, die zuvor mit AssignFile einer externen Datei zugewiesen wurde. Der optionale Ausdruck RecSize kann nur bei nicht typisierten Dateien verwendet werden und gibt die Datenblockgröße für das Lesen und Schreiben der Datei an. Wird RecSize nicht angegeben, wird der Standardwert 128 verwendet.

Wird F ein leerer String zugewiesen (z.B. AssignFile(F, '')), zeigt die Variable nach dem Aufruf von Reset auf die Standardeingabedatei.

Bei einer Textdatei ist F nach dem Öffnen schreibgeschützt.

Nach dem Aufruf von Reset hat Eof(F) den Wert True, wenn die Datei leer ist. Andernfalls ist Eof(F) False.

Hinweis

Mit dem Compiler-Schalter {$I+} können Laufzeitfehler durch Exceptions behandelt werden. Wird {$I–} verwendet, muß explizit mit IOResult auf E/A-Fehler geprüft werden.

Siehe Hilfe! für RTFM reicht bei Delphi ein F1 wenn der Cursor auf dem Wort steht.

mkinzler 4. Jul 2007 21:04

Re: Wo liegt der Fehler?
 
Zitat:

aber was bewirkt das reset?
Das die Datei geöffnet wird.

hoika 4. Jul 2007 21:06

Re: Wo liegt der Fehler?
 
Hallo,

Klick auf Reset in der IDE und dann STRG+F1 ...


Heiko

DeddyH 4. Jul 2007 21:07

Re: Wo liegt der Fehler?
 
F1? Diese Taste scheint generell außer Funktion zu sein, nicht nur hier (glaub mir, ich bin Hotliner) :mrgreen:

GISS79 4. Jul 2007 21:10

Re: Wo liegt der Fehler?
 
Zitat:

Zitat von DeddyH
F1? Diese Taste scheint generell außer Funktion zu sein, nicht nur hier (glaub mir, ich bin Hotliner) :mrgreen:

ups sorry... meine ist abgefallen ;)

aber (achtung: OT) warum reagieren hier alle so allergisch auf "dumme" fragen?

mkinzler 4. Jul 2007 21:11

Re: Wo liegt der Fehler?
 
Zitat:

aber (achtung: OT) warum reagieren hier alle so allergisch auf "dumme" fragen?
Ich glaube du wünscht dir nicht, daß wir "allergisch" reagieren :mrgreen:

Muetze1 4. Jul 2007 21:12

Re: Wo liegt der Fehler?
 
Zitat:

Zitat von GISS79
aber (achtung: OT) warum reagieren hier alle so allergisch auf "dumme" fragen?

Ich würde sie nicht als dumm bezeichnen, aber als unnötig, wenn man es schneller selber beantworten kann. Vor allem ist das schreiben der Frage ein langwieriger Prozess als einfach nur F1 zu drücken nach einem Mausklick. Auch gibt die Delphi Hilfe viel mehr Informationen zu der Frage aus als hier im Forum getippt wird (im Schnitt). Auch sind dort gleich einfacher Querverweise zu finden. Anders wäre es bei FPC/Lazarus, wo die Hilfe schonmal schwer zu bedienen ist oder nicht geladen wurde.


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

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