AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Bitweise schreiben mit Streams?

Ein Thema von glkgereon · begonnen am 8. Apr 2005 · letzter Beitrag vom 9. Apr 2005
Antwort Antwort
Benutzerbild von glkgereon
glkgereon

Registriert seit: 16. Mär 2004
2.287 Beiträge
 
#1

Bitweise schreiben mit Streams?

  Alt 8. Apr 2005, 13:45
hi

ich möchte wirklich bitweise in eine Datei schreiben.

geht das irgendwie?

oder muss ich immer 8 schleifendurchläufe warten, und in den anderen 7 das in nen byte-buffer schreiben?

es wäre für mich erheblich einfacher (und imho auch performanter) das bitweise zu machen...wie?
»Unlösbare Probleme sind in der Regel schwierig...«
  Mit Zitat antworten Zitat
Vjay

Registriert seit: 2. Dez 2003
Ort: Berlin/Eschede
481 Beiträge
 
Delphi 7 Professional
 
#2

Re: Bitweise schreiben mit Streams?

  Alt 8. Apr 2005, 13:50
Das Erstere, eine andere Lösung wärem ir nicht bekannt. Ich denke nicht das eine grössere bitweise Operation bei grösseren Datenmengen ohne asm in irgend einer Weise performant ist ^^
Wer später bremst ist eher tot.
  Mit Zitat antworten Zitat
Benutzerbild von Binärbaum
Binärbaum

Registriert seit: 19. Jan 2005
Ort: Elstra
764 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Bitweise schreiben mit Streams?

  Alt 8. Apr 2005, 14:08
Die kleinste Einhet, die man in Streams schreiben kann ist ein Byte. D.h. du musst immer erst warten, bis min. 8 Bit zum Schreiben bereitstehen.
Das gleiche gilt auch für das Auslesen.

MfG
Binärbaum
There are exactly 10 kinds of people: those who understand binary, and those who don't.
---
"Software reift beim Kunden. Bei Hardware ist es anders: Hardware fault beim Kunden." - Rainer G. Spallek
  Mit Zitat antworten Zitat
Benutzerbild von glkgereon
glkgereon

Registriert seit: 16. Mär 2004
2.287 Beiträge
 
#4

Re: Bitweise schreiben mit Streams?

  Alt 8. Apr 2005, 14:52
kann ich denn ohne streams biteise schreiben?

oder kann ich bei einem byte ein bit direkt ohne umwege über 2er-potenzen "ansteuern"?
»Unlösbare Probleme sind in der Regel schwierig...«
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: Bitweise schreiben mit Streams?

  Alt 8. Apr 2005, 14:53
Was hast du denn vor, dass du bitweise schreiben musst?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von glkgereon
glkgereon

Registriert seit: 16. Mär 2004
2.287 Beiträge
 
#6

Re: Bitweise schreiben mit Streams?

  Alt 8. Apr 2005, 15:00
ich hatte ne idee wie man komprimieren könnte (kann aber auch sein dasses das schon gibt...) und dazu will ich halt schön ein bit nachm anderen reinklatschen.

ich will eine zahl (die ich aus der datei erstelle) mit 2 operationen aufschlüsseln, bis ich sie bei 0 hab, und von diesen operationen muss ich mir nur immer die reihenfolge merken...also ein bit...
»Unlösbare Probleme sind in der Regel schwierig...«
  Mit Zitat antworten Zitat
Benutzerbild von BenBE
BenBE

Registriert seit: 3. Apr 2005
Ort: Jahnsdorf
48 Beiträge
 
Delphi 5 Enterprise
 
#7

Re: Bitweise schreiben mit Streams?

  Alt 8. Apr 2005, 20:42
AFAIK gibt's dafür den TBitStream von Borland. Guck mal in der DOH; müsstest Du Infos zu finden.
Benny Baumann
Je komplexer das System, desto kleiner die Fehler; je kleiner die Fehler, desto häufiger ihr Auftreten!
  Mit Zitat antworten Zitat
Benutzerbild von glkgereon
glkgereon

Registriert seit: 16. Mär 2004
2.287 Beiträge
 
#8

Re: Bitweise schreiben mit Streams?

  Alt 8. Apr 2005, 21:42
also ich hab Delphi 7, und hab kein TBitStream inner OH

wer morgen noch mal ausführlich über google etc. suchen...

aber danke für den tipp
»Unlösbare Probleme sind in der Regel schwierig...«
  Mit Zitat antworten Zitat
Benutzerbild von Binärbaum
Binärbaum

Registriert seit: 19. Jan 2005
Ort: Elstra
764 Beiträge
 
Delphi 7 Enterprise
 
#9

Re: Bitweise schreiben mit Streams?

  Alt 9. Apr 2005, 00:28
Zitat von glkgereon:
kann ich denn ohne streams biteise schreiben?
AFAIK geht das auch nicht.

Zitat von glkgereon:
oder kann ich bei einem byte ein bit direkt ohne umwege über 2er-potenzen "ansteuern"?
Es wäre möglich, mit Hilfe der Operatoren Delphi-Referenz durchsuchenshl und/oder Delphi-Referenz durchsuchenshr auf bestimmte bits im Byte zuzugreifen:
Delphi-Quellcode:
function GetBitofByte(aByte: Byte; nBit: Byte): Boolean;
begin
  Result:= ((aByte and (1 shl nBit))<>0);
end;
Die Funktion gibt True zurück, wenn das entsprechende Bit von aByte gesetzt ist, ansonsten erhält man False. (Es sei 0<=nBit<=7)

MfG
Binärbaum
There are exactly 10 kinds of people: those who understand binary, and those who don't.
---
"Software reift beim Kunden. Bei Hardware ist es anders: Hardware fault beim Kunden." - Rainer G. Spallek
  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 00:18 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