![]() |
#32 mit FileStream in Datei schreiben klappt nicht
Warum geht das nicht?
Delphi-Quellcode:
Der sagt immer:
ft := TFileStream.Create(FileName,fmCreate);
try with ft do begin Write(#32,3); end; finally ft.free; end; Zitat:
|
Re: #32 mit FileStream in Datei schreiben klappt nicht
Dann gib doch eine Variable an:
Delphi-Quellcode:
var
ch: Char; begin ch := #32; ...; ...; |
Re: #32 mit FileStream in Datei schreiben klappt nicht
Lass mal das with spaßeshalber weg:
Delphi-Quellcode:
Da laut Hilfe ja eine Konstante erlaubt ist, könnte es sein, dass sich hier das "Write" vom File-Stream und der gleichnamige Delphi-Befehl "Write" (den man bspw. zum Schreiben in typisierte Dateien nutzt:
ft.Write(#32,3);
Delphi-Quellcode:
) in die Quere kommen. ;) Ist aber nur eine Vermutung.
AssignFile(f,'Datei.txt');
Write(f,'Hallo'); { ... } |
Re: #32 mit FileStream in Datei schreiben klappt nicht
Zitat:
Ich versuche es momentan so:
Delphi-Quellcode:
var
s : string; begin // Datei erstellen und öffnen FileName := Edit1.Text + '\EV01'; ft := TFileStream.Create(FileName,fmCreate); try ft.Write('001',3); FillChar(s[1],3,#32); // <-- Hier krieg ich ne Schutzverletzung!! Warum?? ft.Write(s[1],3); ft.Write('1234567',7); ft.Write('HansMeiser',9); ft.Write(s[1],1); ft.Write('00001',5); ft.Write('00001',5); FillChar(s[1],95,#32); ft.Write(s[1],95); finally ft.Free; end; end; |
Re: #32 mit FileStream in Datei schreiben klappt nicht
Erst einmal zum ersten Teil. Ein Char ist nicht 3 Bytes, sondern nur 1 Byte groß...
Code:
...:cat:...
var
Ch: Char; .... ft := TFileStream.Create(FileName,fmCreate); try Ch := #32; with ft do begin Write(Ch,[color=#ff0009]1[/color]); end; finally ft.free; end; |
Re: #32 mit FileStream in Datei schreiben klappt nicht
probier mal das von luckie, sollte klappen.
schutzverletzung: weil dein string noch nicht so lang ist, wie du fillen willst. |
Re: #32 mit FileStream in Datei schreiben klappt nicht
Zitat:
![]() ...:cat:... |
Re: #32 mit FileStream in Datei schreiben klappt nicht
@Luckie: Will #32 aber 3x reinschreiben
so klappt es
Delphi-Quellcode:
SetLength(s,1);
FillChar(s[1],3,#32); |
Re: #32 mit FileStream in Datei schreiben klappt nicht
Zitat:
DANKE!!
Delphi-Quellcode:
s := stringofchar(#32,3);
ft.Write(s[1],3); |
Re: #32 mit FileStream in Datei schreiben klappt nicht
Und jetzt noch:
Delphi-Quellcode:
Dann ist es einigermaßen sicher ;)
s := stringofchar(#32,3);
ft.Write(s[1],Length(s)); ...:cat:... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:59 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