AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Array of Byte in eine Datei schreiben

Ein Thema von Cyberstorm · begonnen am 11. Nov 2008 · letzter Beitrag vom 12. Nov 2008
Antwort Antwort
Seite 2 von 2     12
Benutzerbild von inherited
inherited

Registriert seit: 19. Dez 2005
Ort: Rosdorf
2.022 Beiträge
 
Turbo Delphi für Win32
 
#11

Re: Array of Byte in eine Datei schreiben

  Alt 11. Nov 2008, 17:05
Sollte man hier nicht besser WriteBuffer benutzen?
Zitat von http://www.freepascal.org/docs-html/rtl/classes/tstream.write.html über TStream.Write:
This method should be used when the number of bytes that should be written is not determined. If a specific number of bytes should be written, use TSTream.WriteBuffer instead.
Nikolai Wyderka

SWIM SWIM HUNGRY!
Neuer Blog: hier!
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#12

Re: Array of Byte in eine Datei schreiben

  Alt 11. Nov 2008, 17:15
Zitat von inherited:
Sollte man hier nicht besser WriteBuffer benutzen?
Man sollte eigentlich immer (*) WriteBuffer anstelle Write benützen, weil dann geprüft wird ob auch wirklich die gewünschte Anzahl von Bytes geschrieben wurden.
Falls nicht wird eine Exception ge"raised".
Das Gleiche gilt auch für Read und ReadBuffer.

*) Ausnahme: wenn man eine Streamklasse ableitet oder einen Proxystream entwickelt gilt das nicht.
Dann benützt man die Streamklasse quasi von Innen.
Andreas
  Mit Zitat antworten Zitat
Cyberstorm

Registriert seit: 23. Okt 2003
159 Beiträge
 
Delphi 2010 Architect
 
#13

Re: Array of Byte in eine Datei schreiben

  Alt 11. Nov 2008, 22:58
Zitat von divBy0:
TFileStream geht auch.

Delphi-Quellcode:
fs := TFileStream.Create('test.txt', fmCreate);

    fs.Write(Bytes[0], Length(Bytes)*SizeOf(Byte));

fs.Free;
danke!
  Mit Zitat antworten Zitat
jottkaerr

Registriert seit: 2. Jul 2007
Ort: Tuttlingen
80 Beiträge
 
Delphi 10.1 Berlin Professional
 
#14

Re: Array of Byte in eine Datei schreiben

  Alt 12. Nov 2008, 06:55
Zitat von divBy0:
TFileStream geht auch.

Delphi-Quellcode:
fs := TFileStream.Create('test.txt', fmCreate);

    fs.Write(Bytes[0], Length(Bytes)*SizeOf(Byte));

fs.Free;
Statt SizeOf() auf den Datentyp des Arrays anzuwenden, sollte man es besser direkt mit einem Element des Arrays aufrufen:

  fs.Write(Bytes[0], Length(Bytes) * SizeOf(Bytes[0])); Das hat den Vorteil, dass man bei einer späteren Änderung des Datentyps (z.B. von Byte zu Word) nicht noch solche Stellen suchen muss. Dem Compiler ist es übrigens egal, ob Bytes[0] tatsächlich existiert; ihn interessiert nur der Typ des Ausdrucks.

jkr
Jürgen Krämer
Sometimes I think the surest sign that intelligent life exists elsewhere
in the universe is that none of it has tried to contact us. (Calvin)
  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 +2. Es ist jetzt 03:37 Uhr.
Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf