![]() |
Letztes Zeichen einer Datei immer #16?
Hi NG.
Delphi 4 (update 3) Ich habe mir als Test eine kurzes Programm geschrieben. Es wird eine Datei geöffnet, die im HEX-Editor nur 3 Zeichen 'abc' enthält. Mit Button1Click lasse ich mir schrittweise ein Zeichen anzeigen. Seltsamerweise zeigt es mir beim vierten Button1Click das Zeichen #16 an. Warum?
Code:
procedure TForm1.Button1Click(Sender: TObject);
var s: String; begin SetLength(s, 1); fs.Read(s[1], 1); label1.Caption := s + ' ' + inttostr(ord(s[1])); label2.caption := Inttostr(fs.Position); label3.caption := inttostr(fs.size); end; procedure TForm1.FormCreate(Sender: TObject); begin fs := tFileStream.Create('d:\temp\zEnde.txt', fmOpenRead); label2.caption := Inttostr(fs.Position); label3.caption := inttostr(fs.size); end; |
Re: Letztes Zeichen einer Datei immer #16?
Wahrscheinlich zeigst du nur an, was gerade zufällig an der Speicherposition im Array steht. Du solltest den Rückgabewert der Read-Methode überprüfen, dann siehst du ob du wirklich etwas eingelesen hast, oder nicht.
|
Re: Letztes Zeichen einer Datei immer #16?
Stimmt, es wird wohl ein Zufallswert sein. Beim Anzeigen des vermeintlich letzten Zeiches werden nämlich 0 Bytes gelesen - wie auch zu erwarten war.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:36 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