Autor Beitrag
ArcticLord
Hält's aus hier
Beiträge: 4

Win 2000, Win XP, Linux
D6 Pers
BeitragVerfasst: Mo 22.09.03 14:40 
Moin,
Ich bin auf der Suche nach einer Funktion die mir von einem char z.B. ein 'A' den Binäre Code liefert als String in dem Fall '1000001'.

Kann mir da jemand weiter helfen

thx4answers
barfuesser
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 324



BeitragVerfasst: Mo 22.09.03 15:10 
Du brauchst 3 Funktionen:
    ord
    IntToHex
    HexToBin


barfuesser
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 22.09.03 15:11 
Erst in einen orinal Wert ändern und dann von Dezimal ins Binäre umrechnen. Forensuche sollte helfen.
ArcticLord Threadstarter
Hält's aus hier
Beiträge: 4

Win 2000, Win XP, Linux
D6 Pers
BeitragVerfasst: Mo 22.09.03 16:08 
Was mache ich falsch ?
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
procedure TForm1.Button1Click(Sender: TObject);
var
Zeichen : char;         // der Buchstabe
Dezimal : Integer;      // die Dezimal Zahl
HexaDezimal : String;   // der Hexadezimal Wert
Binaer  : PChar;        // der Binär Wert
begin
// der Reine Buchstabe
Zeichen := 'A';
Memo1.Text :=  Memo1.Text + 'Buchstabe: ' + Zeichen + ';  ';

// Dezimal Wert des Buchstabe
Dezimal := Ord(Zeichen);
Memo1.Text :=  Memo1.Text + 'Dezimal Wert: ' + IntToStr(Dezimal) + ';  ';

// HexaDezimal Wert der Dezimal Zahl
HexaDezimal := IntToHex(Dezimal, 8);
Memo1.Text :=  Memo1.Text + 'HexaDezimal Wert: ' + HexaDezimal + ';  ';

// BinaerWer des HexaDezimalWerts
HexToBin(PChar(HexaDezimal), Binaer, Length(HexaDezimal)div 2 );
Memo1.Text :=  Memo1.Text + 'Binär Wert: ' + Binaer + ';  ';

end;

erzeugt die Ausgabe:
ausblenden Quelltext
1:
Buchstabe: A;  Dezimal Wert: 65;  HexaDezimal Wert: 00000041;  Binär Wert: ;					


Irgendwie is Binaer String leer....
lambruco
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 100

Win 2000/2000 Server/XP
D6 Prof.
BeitragVerfasst: Mo 22.09.03 16:47 
sorry, hab meine Falsche Idee wieder gelöscht

_________________
Wer Rechtschreibfehler findet, kann Sie behalten
ArcticLord Threadstarter
Hält's aus hier
Beiträge: 4

Win 2000, Win XP, Linux
D6 Pers
BeitragVerfasst: Di 23.09.03 21:20 
ok das funtzt jetzt
ausblenden Quelltext
1:
Buchstabe: A;  Dezimal Wert: 65;  HexaDezimal Wert: 41;  Binär Wert: A½;					

aber mit A½ kann ich nix anfangen ich will die Duale Binär Schreibweise vom A in ein String bekommen 1000001
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 23.09.03 21:36 
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
function IntToBin(Int: Integer): String;
var
i : Integer;
begin
Result := '';
for i := 7 downto 0 do
Result := Result + IntToStr((Int shr i) and 1);
end;
lambruco
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 100

Win 2000/2000 Server/XP
D6 Prof.
BeitragVerfasst: Di 23.09.03 21:55 
Oder mit viel "Handarbeit": :lol:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
function Hex2Bin(const hex :string) :string;
var i :integer;
begin
   Result := '';
   for i := 1 to Length(hex) do
      case hex[i] of
         '0' : Result := Result+'0000';
         '1' : Result := Result+'0001';
         ...
         'F' : Result := Result+'1111';
end;

_________________
Wer Rechtschreibfehler findet, kann Sie behalten
ArcticLord Threadstarter
Hält's aus hier
Beiträge: 4

Win 2000, Win XP, Linux
D6 Pers
BeitragVerfasst: Mi 24.09.03 17:22 
thx a lot ;-)