AGB  ·  Datenschutz  ·  Impressum  







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

Binärrechner (gelöst)

Ein Thema von loirad · begonnen am 25. Aug 2011 · letzter Beitrag vom 25. Aug 2011
 
loirad

Registriert seit: 25. Nov 2009
135 Beiträge
 
Delphi 6 Professional
 
#1

Binärrechner (gelöst)

  Alt 25. Aug 2011, 14:40
Hallo ich möchte einen Binärrechner programmieren.
irgendwie werden aber, wenn man erst Binär und dann Hexadezimal rechnet, bei Hexadezimal die Binärzahl und die leztze Hexadezimalzahl angezeigt. Woran liegt das?
Ich komm irgendwie nicht dahinter ...

Hier der Quelltext:
Code:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;

type
  TForm1 = class(TForm)
    Eingabe: TEdit;
    Berechnen: TButton;
    Text1: TLabel;
    Text2: TLabel;
    Binaer: TLabel;
    Hexa: TLabel;
    Auswahl: TRadioGroup;
    procedure BerechnenClick(Sender: TObject);
  private
    { Private-Deklarationen }
    ErgebnisB:array of string;
    ErgebnisH:array of string;
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.BerechnenClick(Sender: TObject);
var ergB,zaehlerB,iB,ergH,zaehlerH,iH,Zahl:integer;
begin
Zahl:=strtoint(Eingabe.Text);
//Binär
if Auswahl.ItemIndex=0 then
 begin
  Binaer.Caption:='';
  FillChar(ErgebnisB,SizeOf(ErgebnisB),0);
  zaehlerB:=0;
  ergB:=Zahl;
  repeat
   begin
    inc(zaehlerB);
    setLength(ErgebnisB,zaehlerB+1);
    ErgebnisB[zaehlerB-1]:=inttostr(ergB mod 2);
    ergB:=ergB div 2;
   end
  until ergB=0;
  for iB:=zaehlerB-1 downto 0 do
  Binaer.Caption:=Binaer.Caption+ErgebnisB[iB];
 end;
//Hexadezimal
else
if Auswahl.ItemIndex=1 then
 begin
  Hexa.Caption:='';
  FillChar(ErgebnisH,SizeOf(ErgebnisH),0);
  zaehlerH:=0;
  ergH:=Zahl;
  repeat
   begin
    inc(zaehlerH);
    setLength(ErgebnisH,zaehlerH+1);
    case ergH mod 16 of
     0..9: ErgebnisH[zaehlerH-1]:=inttostr(ergH mod 16);
     10: ErgebnisH[zaehlerH-1]:='A';
     11: ErgebnisH[zaehlerH-1]:='B';
     12: ErgebnisH[zaehlerH-1]:='C';
     13: ErgebnisH[zaehlerH-1]:='D';
     14: ErgebnisH[zaehlerH-1]:='E';
     15: ErgebnisH[zaehlerH-1]:='F';
    end;
    ergH:=ergH div 16;
   end
  until ergH=0;
  for iH:=zaehlerH-1 downto 0 do
  Hexa.Caption:=Binaer.Caption+ErgebnisH[iH];
 end
else showmessage('Bitte Endform auswählen!');
end;

end.
Woran liegt das
Anbei ein Bild des Problems!
Angehängte Grafiken
Dateityp: jpg 2011-08-25_154706.jpg (7,2 KB, 14x aufgerufen)
Wer Fehler findet darf sie behalten!

Geändert von loirad (25. Aug 2011 um 15:50 Uhr)
  Mit Zitat antworten Zitat
 


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 17:12 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