Zwei Bytes zu Word zusammenführen und zurück
lima-city → Forum → Programmiersprachen → Delphi & Pascal
addieren
brauche
code
dank
datei
einzige angabe
festlegen
frage
helfen
intervall
lese
mache
nehmen
prinzip
schnelle antwort
speichern
-
Hallo allerseits!
Ich habe nun schon gegooglelt, aber irgendwie nichts brauchbare gefunden. Ich lese eine Datei über ein TFileStream byteweise aus. Weil mir für eine einzige Angabe (die pro Datei aber genau einhundertmal vorliegt) ein Intervall von 0 bis 255 nicht ausreicht, wollte ich da zwei Bytes nehmen, die dann zusammen ein Word ergeben, das ja bekanntermaßen von 0 bis über 50.000 geht.
Frage: Wie erstelle ich aus zwei Bytes ein Word? Also wie packe ich die im Speicher so hintereinander? Und wie funktioniert das rückwärts, also wie mache ich aus einem Word wieder zwei Bytes?
Ich hoffe, ihr könnt mir helfen! Danke im Vorraus..... -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Ich weiß nicht genau, wie das in Delphi funktioniert, aber im Prinzip musst du beide zu einem Word machen. Dann das eine um 8 nach links shiften und dann beide addieren (egal ob arithmetisch oder logisch). Dazu gibt es in Delphi den Shiftoperator "Shl".
Word := Byte1; TempWord := Byte2; TempWord := TempWord Shl 8; Word := Word + TempWord;
So müsste es gehn.
Beitrag zuletzt geändert: 6.5.2011 22:49:00 von reimann -
Danke für die wirklich schnelle Antwort, aber...
Hat sich soeben erledigt. Wie gesagt, ich lese ja per TFileStream ein und speichere die auch damit. Mehr brauche ich nicht. Und da kann ich auch die einzulesende/-zuschreibende Byteanzahl festlegen.
var i:Word; begin //... datei.Read(j,2); //liest zwei bytes hintereinander in i ein datei.Write(j,2); //schreibt i in zwei Bytes hintereinander in die Datei //... end;
Und ich bin nicht drauf gekommen bis eben...
Beitrag zuletzt geändert: 6.5.2011 23:10:16 von dermaik -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage