![]() |
mehere Variable zu einer verbinden.
Ich möchte mehere Variablen mit einander verbinden.
Dei den Variablen handelt es sich um "bytes". Also ich hab eine Variable test1 und test2 beide byte. Inhalt der Variablen ist einmal $F und $4. Daraus soll dann in Variable test3 werden => $F4. Hat einer von euch eine Lösungsmöglichkeit? :wall: :wall: |
Re: mehere Variable zu einer verbinden.
Versuch mal das...
Delphi-Quellcode:
neu := test1 shl 4 or (test2 and $F)
|
Re: mehere Variable zu einer verbinden.
mit zeigern arbeiten
2 bytes holen und diese dann den variablen zuweisen |
Re: mehere Variable zu einer verbinden.
Also das mit shl und and habe ich versucht. doch werden da die Variablen addiert.
Das mit den Zeigern habe ich leider nicht ganz kappiert. Ich bin noch nicht so tief mit der Programmierung vertraut. Aber Danke für die schnelle Antwort. Viele Grüße Benjamin |
Re: mehere Variable zu einer verbinden.
Welchen Sinn soll es haben, aus $F und $4 $F4 zu machen? Was soll dann aus $10 und $4 werden?
Aber wenn du genau weißt, dass die beiden Bytes nur eine hexadezimale Stelle enthalten, kannst du einfach test3 := Integer(test1) * 16 + test2 machen. Ansonsten kannst du auch die beiden Bytes in ihre Hexpräsentation umwandeln (IntToHex), die beiden Strings "addieren" und dann wieder in Integer umwandeln... |
Re: mehere Variable zu einer verbinden.
Moin Benjamin,
neolithos' Zeile müsste doch genau wie gewünscht funktionieren? :gruebel: Übrigens werden die Werte eben nicht addiert, sondern logisch oder verküpft, das ist ein erheblicher Unterschied. |
Re: mehere Variable zu einer verbinden.
Die müssen ja "addiert" werden, um eine raus zu bekommen.
neu := (test1 shl 4) or (test2 and $0F); Verschiebt test1 um 4 Bits nach links. (xxxx1111 => 1111xxxx) neu := (test1 shl 4) or (test2 and $0F); sorgt dafür, das von test2 nur die letzen 4 Bits verwendet werden. (xxxx2222) neu := (...) or (...); Verbindet beide miteinander. (1111xxx & xxxx2222 => 11112222) |
Re: mehere Variable zu einer verbinden.
Seit wann kann ein Bit 2 sein? Ist dass das Booleana-vielleicht??
|
Re: mehere Variable zu einer verbinden.
Moin himitsu,
or ist keine Addition. Probiers aus: 1 or 1 = 1 1 + 1 = 2 |
Re: mehere Variable zu einer verbinden.
Das ist TriState. :zwinker:
Nein, mal im Ernst. Das sollte nur verdeutliche, welche Bits von welcher Variable (Test1 / Test2) wohin geschoben werden. Add: jetzt besser? @Chris: 1 + 1 = 10 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:56 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz