Hallo Community,
folgender Quellcode gibt bei mir irgendwie Unsinn aus:
Code:
function CharToBin(ordinary: integer): string;
var ergebnis : integer;
begin
while ordinary > 0 do
begin
ergebnis := ordinary mod 2;
if ergebnis = 1 then
result := '1' + result
else
result := '0' + result;
ordinary := ordinary div 2;
end;
end;
Code:
Funktionsaufruf:
procedure TForm1.Button2Click(Sender: TObject);
var
i: integer;
begin
Memo2.Lines.Clear();
OpenPictureDialog1.Execute(); // Öffnen des Öffnen - Dialogs
Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName); // Laden des Bildes;
for i := 0 to Length(Memo1.Text) do
begin
Memo2.Text := Memo2.Text + CharToBin(ord(Memo1.Text[i]));
end;
end;
Ein einzelner Buchstabe wird korrekt ausgegeben. Bei zwei bekomme ich irgendwie 3 Binärcodes und naja. irgendwas stimmt nicht und ich finde den Fehler von der Logik nicht. :S