Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi mehere Variable zu einer verbinden. (https://www.delphipraxis.net/11022-mehere-variable-zu-einer-verbinden.html)

Benjamin410 29. Okt 2003 19:53


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:

neolithos 29. Okt 2003 20:04

Re: mehere Variable zu einer verbinden.
 
Versuch mal das...

Delphi-Quellcode:
neu := test1 shl 4 or (test2 and $F)

SirThornberry 29. Okt 2003 20:05

Re: mehere Variable zu einer verbinden.
 
mit zeigern arbeiten
2 bytes holen und diese dann den variablen zuweisen

Benjamin410 30. Okt 2003 18:03

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

OregonGhost 30. Okt 2003 18:11

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...

Christian Seehase 30. Okt 2003 18:14

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.

himitsu 30. Okt 2003 18:58

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)

Daniel B 30. Okt 2003 19:03

Re: mehere Variable zu einer verbinden.
 
Seit wann kann ein Bit 2 sein? Ist dass das Booleana-vielleicht??

Christian Seehase 30. Okt 2003 19:13

Re: mehere Variable zu einer verbinden.
 
Moin himitsu,

or ist keine Addition. Probiers aus:

1 or 1 = 1
1 + 1 = 2

himitsu 30. Okt 2003 19:16

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.
Seite 1 von 2  1 2      

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