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
Antwort Antwort
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
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.763 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Binärrechner

  Alt 25. Aug 2011, 15:10
  Hexa.Caption:=Binaer.Caption+ErgebnisH[iH]; Das dürfte es sein.

Sherlock
Oliver
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat
loirad

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

AW: Binärrechner

  Alt 25. Aug 2011, 15:33
Vielen Dank für die Antwort - hat alles geklappt!! Hat mir sehr geholfen!
Wer Fehler findet darf sie behalten!
  Mit Zitat antworten Zitat
Antwort Antwort


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 23:32 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