AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi 4 bytes in ein Integer / Cardinal kopieren
Thema durchsuchen
Ansicht
Themen-Optionen

4 bytes in ein Integer / Cardinal kopieren

Ein Thema von Jasmine · begonnen am 13. Jul 2005 · letzter Beitrag vom 13. Jul 2005
Antwort Antwort
Jasmine

Registriert seit: 30. Jun 2005
Ort: Rom / Italien
24 Beiträge
 
Delphi 7 Personal
 
#1

4 bytes in ein Integer / Cardinal kopieren

  Alt 13. Jul 2005, 12:59
Hallo liebe Delphi Freunde,

ich habe eine Frage :

Wenn ich 4 Bytes in eine Integer oder Cardinal Variable kopieren möchte,
wie geht dies am schnellstens ? Also die 4 bytes sollen zusammen ein 32 bit Integer ergeben.

Ich habe eine Lösung mit or und shl gefunden, die mir allerdings nicht sehr gefällt.
Gibt es nicht eine Copy Variante oder etwas ähnliches ?

Dankeeee.

Jasmine

Jasmine
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#2

Re: 4 bytes in ein Integer / Cardinal kopieren

  Alt 13. Jul 2005, 13:02
4 Bytes woraus?

Angenommen es wäre ein record mit 4 einzelnen (Byte- oder Char-)Membern, dessen Typ TBla wäre, dann so:
Delphi-Quellcode:
var bla:TBla; card:Cardinal;
begin
  card := Cardinal(bla);
end;
Kommt drauf an. Bitte nochmal spezifizieren. Die Frage ist zu ungenau!

Edit: sorry, Syntaxfehler. Bin zur zeit auf C++ ... andere haben eben andere Drogen ... *g*

Noch'n Edit: Wenn es einzelne Bytes sind, dann ginge noch folgendes ...
Delphi-Quellcode:
var HoechstesByte, DrittesByte, ZweitesByte, NiedrigstesByte: Byte; card: Cardinal
begin
  card := Cardinal((HoechstesByte shl 24) or (DrittesByte shl 16) or (ZweitesByte shl 8) or NiedrigstesByte);
end;
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#3

Re: 4 bytes in ein Integer / Cardinal kopieren

  Alt 13. Jul 2005, 13:22
Um die Verwirrung zu komplettieren - hier noch eine umfangreiche Behandlung dieses Themas.

Grüße vom marabu
  Mit Zitat antworten Zitat
Jasmine

Registriert seit: 30. Jun 2005
Ort: Rom / Italien
24 Beiträge
 
Delphi 7 Personal
 
#4

Re: 4 bytes in ein Integer / Cardinal kopieren

  Alt 13. Jul 2005, 13:48
Danke..... hat mir sehr geholfen

Jasmine

Jasmine
  Mit Zitat antworten Zitat
Sidorion

Registriert seit: 23. Jun 2005
403 Beiträge
 
#5

Re: 4 bytes in ein Integer / Cardinal kopieren

  Alt 13. Jul 2005, 15:44
Kannst auch ein Recordtyp deklarieren:
Delphi-Quellcode:
  TByteInt=Record
   Case Boolean Of
     False: (Int: Integer);
     True: (Byte0: Byte;
            Byte1: Byte;
            Byte2: Byte;
            Byte3: Byte);
  End;
Jetzt kannst Du eine Variable vom Typ TByteInt Deklarieren und da dann entweder auf MyVar.Int zugreifen und kriegst einen Integer oder mit MyVar.Byte0 .. MyVar.Byte3 auf die einzelnen Bytes.
Manchmal sehen Dinge, die wie Dinge aussehen wollen mehr wie Dinge aus, als Dinge
<Esmerelda Wetterwachs>
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#6

Re: 4 bytes in ein Integer / Cardinal kopieren

  Alt 13. Jul 2005, 15:54
Zitat von Sidorion:
Kannst auch ein Recordtyp deklarieren
Der war mehr als flüssig. Habe ich oben schon erwähnt und im Link von marabu findest du diesen Beitrag von Dax.
  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 03:30 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