AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi #32 mit FileStream in Datei schreiben klappt nicht

#32 mit FileStream in Datei schreiben klappt nicht

Ein Thema von Nalincah · begonnen am 2. Aug 2004 · letzter Beitrag vom 2. Aug 2004
Antwort Antwort
Benutzerbild von Nalincah
Nalincah

Registriert seit: 18. Jul 2003
898 Beiträge
 
Delphi 6 Professional
 
#1

#32 mit FileStream in Datei schreiben klappt nicht

  Alt 2. Aug 2004, 16:38
Warum geht das nicht?

Delphi-Quellcode:
ft := TFileStream.Create(FileName,fmCreate);
try
  with ft do
  begin
    Write(#32,3);
  end;
finally
  ft.free;
end;
Der sagt immer:
Zitat:
[Fehler] uFrmMain.pas(64): Variable erforderlich
Sebastian
Ehemals bekannt als General2004
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie
(Moderator)

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

Re: #32 mit FileStream in Datei schreiben klappt nicht

  Alt 2. Aug 2004, 16:43
Dann gib doch eine Variable an:
Delphi-Quellcode:
var
  ch: Char;
begin
  ch := #32;
  ...;
  ...;
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#3

Re: #32 mit FileStream in Datei schreiben klappt nicht

  Alt 2. Aug 2004, 16:44
Lass mal das with spaßeshalber weg:
ft.Write(#32,3); 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:
Delphi-Quellcode:
AssignFile(f,'Datei.txt');
Write(f,'Hallo');

{ ... }
) in die Quere kommen. Ist aber nur eine Vermutung.
  Mit Zitat antworten Zitat
Benutzerbild von Nalincah
Nalincah

Registriert seit: 18. Jul 2003
898 Beiträge
 
Delphi 6 Professional
 
#4

Re: #32 mit FileStream in Datei schreiben klappt nicht

  Alt 2. Aug 2004, 16:50
Zitat von MathiasSimmack:
Lass mal das with spaßeshalber weg:
ft.Write(#32,3); 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:
Delphi-Quellcode:
AssignFile(f,'Datei.txt');
Write(f,'Hallo');

{ ... }
) in die Quere kommen. Ist aber nur eine Vermutung.
Gleicher Fehler.
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;
Sebastian
Ehemals bekannt als General2004
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.550 Beiträge
 
Delphi 10.4 Sydney
 
#5

Re: #32 mit FileStream in Datei schreiben klappt nicht

  Alt 2. Aug 2004, 16:52
Erst einmal zum ersten Teil. Ein Char ist nicht 3 Bytes, sondern nur 1 Byte groß...
Code:
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;
......
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Benutzerbild von nailor
nailor

Registriert seit: 12. Dez 2002
Ort: Karlsruhe
1.989 Beiträge
 
#6

Re: #32 mit FileStream in Datei schreiben klappt nicht

  Alt 2. Aug 2004, 16:53
probier mal das von luckie, sollte klappen.

schutzverletzung: weil dein string noch nicht so lang ist, wie du fillen willst.
Michael N.
http://nailor.devzero.de/code/sharpmath/testing/ --- Tests, Feedback, Anregungen, ... aller Art sehr willkommen!
::: don't try so hard - it'll happen for a reason :::
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.550 Beiträge
 
Delphi 10.4 Sydney
 
#7

Re: #32 mit FileStream in Datei schreiben klappt nicht

  Alt 2. Aug 2004, 16:53
Zitat von General2004:
FillChar(s[1],3,#32); // <-- Hier krieg ich ne Schutzverletzung!!
S ist nicht initialisiert. Nutze doch einfach mal Hier im Forum suchenStringOfChar

......
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Benutzerbild von Nalincah
Nalincah

Registriert seit: 18. Jul 2003
898 Beiträge
 
Delphi 6 Professional
 
#8

Re: #32 mit FileStream in Datei schreiben klappt nicht

  Alt 2. Aug 2004, 16:54
@Luckie: Will #32 aber 3x reinschreiben

so klappt es

Delphi-Quellcode:
  SetLength(s,1);
  FillChar(s[1],3,#32);
Sebastian
Ehemals bekannt als General2004
  Mit Zitat antworten Zitat
Benutzerbild von Nalincah
Nalincah

Registriert seit: 18. Jul 2003
898 Beiträge
 
Delphi 6 Professional
 
#9

Re: #32 mit FileStream in Datei schreiben klappt nicht

  Alt 2. Aug 2004, 17:03
Zitat von sakura:
Zitat von General2004:
FillChar(s[1],3,#32); // <-- Hier krieg ich ne Schutzverletzung!!
S ist nicht initialisiert. Nutze doch einfach mal Hier im Forum suchenStringOfChar

......
Klappt wunderbar
DANKE!!

Delphi-Quellcode:
  s := stringofchar(#32,3);
  ft.Write(s[1],3);
Sebastian
Ehemals bekannt als General2004
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.550 Beiträge
 
Delphi 10.4 Sydney
 
#10

Re: #32 mit FileStream in Datei schreiben klappt nicht

  Alt 2. Aug 2004, 17:04
Und jetzt noch:
Delphi-Quellcode:
  s := stringofchar(#32,3);
  ft.Write(s[1],Length(s));
Dann ist es einigermaßen sicher

......
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 03:21 Uhr.
Powered by vBulletin® Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2020 by Daniel R. Wolf