Forum: Programmieren allgemein
by Kostas,
7. Sep 2018
Perfekt Uwe,
genau das habe ich gemeint. Bau gerne wieder alles um.
Herzlichen Dank an Euch. :-)
Forum: Programmieren allgemein
by Kostas,
7. Sep 2018
Sorry Zacherl,
die einzelne Bytes müssen in der Quelle NICHT direkt nacheinander liegen. Ich habe zufällig Byte 11,12,13 verwendet.
Das Ziel ist bis zu vier Bytes auf ein Integer zu schieben.
Es kommt auch vor das ich z.B.: die drei Bytes 33, 1 und 7 auf ein Integer schieben muss.
Gruß Kostas
Forum: Programmieren allgemein
by Kostas,
7. Sep 2018
Hallo Zusammen,
Die Methode mit dem packed record gefällt mit sehr gut.
Das Ergebnis von Test1 und Test2 sind identisch.
Ich finde Test1 ist schöner zu lesen.
Eigentlich habe ich gehofft es gibt so etwas wie: MyInt := FReceiveBuffer << FReceiveBuffer << FReceiveBuffer;
Ich werde die packed record Methode einsetzen.
Forum: Programmieren allgemein
by Kostas,
6. Sep 2018
data := $0;
data := $5f;
Das Ergebnis sollte sein = 95($5f)
Ich habe gerade ausprobiert, leider ist das Ergebnis nicht 95 sondern 24320($5f00)
procedure SnapshotLength;
begin
// FSnapshotLength := data;
// FSnapshotLength := FSnapshotLength shl 8;
Forum: Programmieren allgemein
by Kostas,
6. Sep 2018
sorry das ich nachfrage, aber wie bekomme ich das zweite Byte auf den Integer aufgefädelt? Ich habe eigentlich nur vier Varianten Auf dem Integer L werden 1,2,3 oder 4 Bytes aufgefädelt.
Gruß Kostas
Forum: Programmieren allgemein
by Kostas,
6. Sep 2018
Hallo Zusammen,
um z.B.: zwei Bytes auf ein Integer aufzufädeln mache ich das so:
var L: Integer;
begin
L := FReceiveBuffer;
L := L shl 8;
L := L or FReceiveBuffer;
end;