AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi byte in memorystream einfügen - wie am einfachsten ?
Thema durchsuchen
Ansicht
Themen-Optionen

byte in memorystream einfügen - wie am einfachsten ?

Ein Thema von soulies · begonnen am 25. Sep 2007 · letzter Beitrag vom 25. Sep 2007
Antwort Antwort
soulies

Registriert seit: 9. Dez 2005
234 Beiträge
 
#1

byte in memorystream einfügen - wie am einfachsten ?

  Alt 25. Sep 2007, 08:30
hi habe folgendes 'problem':

ich will an ein memorystream ein byte 'anhängen'

dazu hatte ich mir überlegt: [ausschnitt]
Delphi-Quellcode:
myStream := TMemoryStream.Create;
myStream.LoadFromFile(eine Datei);
myStream.Position := myStream.Size-1;
myStream.Write(Byte,1);
aber damit verändere ich nur das letzte byte ...


wo liegt mein denkfehler ?
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.755 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: byte in memorystream einfügen - wie am einfachsten ?

  Alt 25. Sep 2007, 08:37
Guten Morgen,

mit
myStream.size := myStream.size +1 die Größe des Streams erweitern und dann wie gehabt das letzte Byte verändern.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#3

Re: byte in memorystream einfügen - wie am einfachsten ?

  Alt 25. Sep 2007, 09:04
@Klaus01: Er will das letzte Byte verändern und nicht ein neues hinzufügen...

@soulies: Den geänderten Stream auch wieder zu speichern? Bisher lädst du ihn in den Speicher und veränderst ihn. Sollte es vielleicht anstatt TMemoryStream TFileStream heissen?
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.755 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: byte in memorystream einfügen - wie am einfachsten ?

  Alt 25. Sep 2007, 09:07
@Muetze1:
Ich habe dieses gelesen:
Zitat:
habe folgendes 'problem':

ich will an ein memorystream ein byte 'anhängen'
und das sieht nach anhängen/erweitern aus.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#5

Re: byte in memorystream einfügen - wie am einfachsten ?

  Alt 25. Sep 2007, 09:10
Ok, das habe ich wiederrum irgendwie überlesen. Ok, damit ist es nicht eindeutig was er nun machen will.

@soulies: Wenn du wirklich anhängen willst, dann setze die Position nicht auf ein Byte vor dem Ende der Datei sondern auf das Ende der Datei und schreibe dann dein Byte. Dein bisheriger Code überschreibt immer das letzte Byte im Stream.

Die Grösse muss nicht zuvor vergrössert werden.
  Mit Zitat antworten Zitat
Tyrael Y.

Registriert seit: 28. Jul 2003
Ort: Stuttgart
1.093 Beiträge
 
Delphi 2007 Professional
 
#6

Re: byte in memorystream einfügen - wie am einfachsten ?

  Alt 25. Sep 2007, 09:18
Du darfst die Position nicht zurücksetzen.
Du stehst nach dem LoadFromFile schon an der letzten Position.
Daher brauchst du jetzt nur noch zu schreiben und das Byte wird angehängt.

Delphi-Quellcode:
myStream := TMemoryStream.Create;
myStream.LoadFromFile(eine Datei);
//myStream.Position := myStream.Size-1;
myStream.Write(Byte,1);
Levent Yildirim
Erzeugung von Icons aus Bildern:IconLev
  Mit Zitat antworten Zitat
soulies

Registriert seit: 9. Dez 2005
234 Beiträge
 
#7

Re: byte in memorystream einfügen - wie am einfachsten ?

  Alt 25. Sep 2007, 09:25
danke für die schnellen und hilfreichen antworten

cya
  Mit Zitat antworten Zitat
Antwort Antwort


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 04:39 Uhr.
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