AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Binären Wert schreiben

Ein Thema von Predator · begonnen am 1. Nov 2003 · letzter Beitrag vom 1. Nov 2003
Antwort Antwort
Seite 1 von 2  1 2      
Predator
(Gast)

n/a Beiträge
 
#1

Binären Wert schreiben

  Alt 1. Nov 2003, 16:37
hi Jungs.

Also ich hab folgenden Binärwert als .reg vorliegen:

5f,0e,ad,ff,d4,44,89,6c,96,6e,06,26,b2,f6,52,04,21 ,bc,f6,d6,5c,0a,\
25,37,be,70,98,e7,d9,45,8a

Den möchte ich gerne aus der Delphi Anwendung in die Registry schreiben.

Doch wie kann ich den Als Binärwert in die Reg schreiben ? Also in der Registry muss der dann genauso aussehen.

Villeicht kann mir jemand ein Beispielcode geben ?

Danke !

mfg
Predator
  Mit Zitat antworten Zitat
Benutzerbild von Duffy
Duffy

Registriert seit: 19. Mär 2003
Ort: Wuppertal
835 Beiträge
 
Delphi 3 Standard
 
#2

Re: Binären Wert schreiben

  Alt 1. Nov 2003, 16:42
Hallo Predator;
Schau dir mal die Funktionen "WriteBinaryData (Methode von TRegistry)" und "ReadBinaryData (Methode von TRegistry)" aus der Unit Registry an.
bye
Claus
Künftige Generationen wollen ihre Fehler selber machen.
Jedes Programm wird nie das können, was Du wirklich brauchst.
Das Gegenteil von gut ist gut gemeint
-----
  Mit Zitat antworten Zitat
Predator
(Gast)

n/a Beiträge
 
#3

Re: Binären Wert schreiben

  Alt 1. Nov 2003, 16:48
uch hat ich vergessen, die habe ich mir schon angeschaut aber wenn ich z.B.:
einen string habe s := 'hier die binäre werte';

und dann WriteBinaryData('ID', s, length(s));

schreibt er sie nicht so sonder macht andere Zahlen draus.

Also deswegen frage ich . Komme da einfach net weiter und beim Beispielcode könnte ich mich da reindenken deswegen.

Danke.
  Mit Zitat antworten Zitat
Benutzerbild von Duffy
Duffy

Registriert seit: 19. Mär 2003
Ort: Wuppertal
835 Beiträge
 
Delphi 3 Standard
 
#4

Re: Binären Wert schreiben

  Alt 1. Nov 2003, 16:53
Hallo Predator,
das verstehe ich nicht ganz. Wenn Du zum Beispiel in einem String einfach ein "A" stehen hättest, dann wird ein Hexa x'41' oder dezimal eine 65 in das Array geschrieben. Was steht dann bei Dir?
bye
Claus
Künftige Generationen wollen ihre Fehler selber machen.
Jedes Programm wird nie das können, was Du wirklich brauchst.
Das Gegenteil von gut ist gut gemeint
-----
  Mit Zitat antworten Zitat
Predator
(Gast)

n/a Beiträge
 
#5

Re: Binären Wert schreiben

  Alt 1. Nov 2003, 16:56
also nehmen wir von meinem Binären Code die ersten 2 Stellen: 5f !!!

Daraus wird dann in die Registry geschrieben: 64 und bei dem 0e wird 11 geschrieben.

Da stimmt doch was net.

Kannst du nichtmal ein Beispiel posten ? Also der String den ich oben gepostet hab ist der original Binär String aus der Registry. Nur ich will den jetzt aus Delphi in die reg schreiben.

Danke.
  Mit Zitat antworten Zitat
scp

Registriert seit: 31. Okt 2003
1.120 Beiträge
 
Delphi 7 Personal
 
#6

Re: Binären Wert schreiben

  Alt 1. Nov 2003, 16:56
Dann probiers mal hiermit:
Delphi-Quellcode:
function HexToBinStr(HexStr : string) : String;
const
  ValidHexChars : set Of Char = ['0'..'9', 'A'..'F', 'a'..'f'];
  Convert: array['0'..'f'] of SmallInt =
    ( 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,-1,-1,-1,-1,-1,-1,
     -1,10,11,12,13,14,15,-1,-1,-1,-1,-1,-1,-1,-1,-1,
     -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
     -1,10,11,12,13,14,15);
var
  HexTmpStr : String;
  HexSize : Integer;
  HexPos : Integer;
begin
  result := '';
  HexTmpStr := HexStr + ' ';
  HexSize := length(HexTmpStr);
  HexPos := 0;
  while ((HexSize - HexPos) > 1) do
    begin
      while not (HexTmpStr[HexPos+1] in ValidHexChars) do
        begin
          Inc(HexPos);
          If ((HexSize - HexPos) < 1) then
            Break;
        end;
      If ((HexSize - HexPos) < 2) then
        Break;

      result := result + Char((Convert[HexTmpStr[HexPos+1]] shl 4) + Convert[HexTmpStr[HexPos+2]]);
      Inc(HexPos, 2);
    end;
end;
Delphi-Quellcode:
s := '0a,1d,4f,7c';
s := HexToBinStr(s);
WriteBinaryData('ID', s[1], length(s));
  Mit Zitat antworten Zitat
Predator
(Gast)

n/a Beiträge
 
#7

Re: Binären Wert schreiben

  Alt 1. Nov 2003, 17:04
hmm geht irgendwie auch net, sind wieder andere Werte und die Kommas fehlen.

Delphi-Quellcode:
var
  ccd: TRegistry;
  s: String;
  Buffer: Byte;
begin
   ccd := TRegistry.Create;
   ccd.RootKey := HKEY_LOCAL_MACHINE;
   ccd.OpenKey('\SOFTWARE\Elaborate Bytes\CloneCD\CDKey', true);
   s := '5f,0e,ad,ff,d4,44,89,6c,96,6e,06,26,b2,f6,52,04,21,bc,f6,d6,5c,0a,25,37,be,70,98,e7,d9,45,8a';
   s := HextoBinStr(s);
   ccd.WriteBinaryData('Serial', s, length(s));
   ccd.Free;
oder mach ich was falsch ?
  Mit Zitat antworten Zitat
scp

Registriert seit: 31. Okt 2003
1.120 Beiträge
 
Delphi 7 Personal
 
#8

Re: Binären Wert schreiben

  Alt 1. Nov 2003, 17:15
Habs raus, alles richtig, bis auf eine Zeile:
WriteBinaryData('Serial', s[1], length(s)); Man muss den ersten Char eines Strings angeben, anstatt nur den Stringnamen
  Mit Zitat antworten Zitat
Predator
(Gast)

n/a Beiträge
 
#9

Re: Binären Wert schreiben

  Alt 1. Nov 2003, 17:18
juhuu Danke vielen Dank.

Jetzt kanns weitergehen mit der Entwicklung juhuuu.

cu
Predator
  Mit Zitat antworten Zitat
Predator
(Gast)

n/a Beiträge
 
#10

Re: Binären Wert schreiben

  Alt 1. Nov 2003, 17:20
eine frage hätte ich noch.

Kann man aus sonem hex Code bzw. Binär Code herausfinden wie der Original Code heißt ?

also mein Kumpel codet an dieser Routine und das ist eine BenutzerID die in hex umgewandelt wird und binär in die reg geschrieben wird.

Wie kann ich das machen, das aus diesem Hex wieder Klartext wird ? Danke.

cu
Predator
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 21:09 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