![]() |
Maske zum bearbeiten von Binärwerten
Liste der Anhänge anzeigen (Anzahl: 1)
Hi DPler :hi:
Habt ihr eine Idee wie man eine Maske wie im Anhang zu finden für das Bearbeiten von Binärwerten der registry umsetzen bzw. wie man das Ganze sonst gestalten kann? MFG Jonas |
Re: Maske zum bearbeiten von Binärwerten
Schau mal hier:
![]() |
Byte zu Binärstring wandeln
Also wenn es nur um die Ideen dazu geht, will ich hier mal ein paar Worte dazu verlieren:
Nett wäre eine weitere Spalte mit den Binärwerten ala 01001110 00000000 00000000 00000000 4E 00 00 00 N . . . in der bei der Auswahl alle anderen zugehörigen Dastellungen markiert sind, etwa so 01001110 00000000 00000000 00000000 4E 00 00 00 N . . . und natürlich für jede Darstellung die Editierbarkeit gegeben ist, vielleicht auch noch eine Dezimaldarstellung. Das ganze müsste man dann entweder komplett selbst zeichnen oder als richtext ausgeben. Das Umwandeln sollte kein Probelm darstellen, die Binärumwandlung kann man als mit inline deklarierte Assemblerroutine erledigen. Hab dir mal die Wandelroutine gebastelt:
Delphi-Quellcode:
program Project2;
{$APPTYPE CONSOLE} uses SysUtils; procedure ByteToBinary(stringstart: Pointer; const b: Byte); Register; // stringstart -> EAX, b -> EDX label bit0_0 , bit1_0 , bit2_0 , bit3_0 , bit4_0 , bit5_0 , bit6_0 , bit7_0; asm push EBX mov EBX, $30303030 rcl DL, 1 jnc bit7_0 or EBX,$00000001 bit7_0: rcl DL, 1 jnc bit6_0 or EBX,$00000100 bit6_0: rcl DL, 1 jnc bit5_0 or EBX,$00010000 bit5_0: rcl DL, 1 jnc bit4_0 or EBX,$01000000 bit6_0: mov [EAX],EBX mov EBX, $30303030 rcl DL, 1 jnc bit3_0 or EBX,$00000001 bit3_0: rcl DL, 1 jnc bit2_0 or EBX,$00000100 bit2_0: rcl DL, 1 jnc bit1_0 or EBX,$00010000 bit1_0: rcl DL, 1 jnc bit0_0 or EBX,$01000000 bit0_0: add EAX, 4 mov [EAX],EBX pop EBX end; var outstr: string; begin outstr :='######## ######## ######## ######## '; ByteToBinary(@outstr[1],$F0); ByteToBinary(@outstr[10],$0F); ByteToBinary(@outstr[19],$66); ByteToBinary(@outstr[28],$AA); outstr := outstr + IntToHex($F0,2) + ' ' + IntToHex($0F,2) + ' ' + IntToHex($66,2) + ' ' + IntToHex($AA,2) + ' '; outstr := outstr + ' '+' ' + Chr($F0)+' '+ Chr($0F) +' ' + Chr($66)+' '+ Chr($AA); writeln(outstr); readln; end. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:55 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