AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Algorithmen, Datenstrukturen und Klassendesign Delphi Umrechner von dem einsersystem in richtige zahlen

Umrechner von dem einsersystem in richtige zahlen

Ein Thema von NewDelphiBenutzer · begonnen am 3. Nov 2010 · letzter Beitrag vom 3. Nov 2010
Antwort Antwort
NewDelphiBenutzer

Registriert seit: 30. Sep 2010
14 Beiträge
 
#1

Umrechner von dem einsersystem in richtige zahlen

  Alt 3. Nov 2010, 17:33
Guten abend
also ich soll in der schule in delphi ein Programm machen mit Checkboxen. In dem Falle sind es 7 Stück nebeneinander. Und das ist dieses komische Zahlensystem, nur mit 1 und 0. Und diese Boxen liegen nebeneinander. Ich habe eine Variable namens Dezimalzahl eingefügt. Und wenn der Benutzer des Programmes ein Kreuz in der linken Box macht, soll dieser Zahl 128 dazu gerechnet werden. WEnn die zweite Box dann angekreuzt wird, wird +64 dann +32,+16,+8,+4,+2 und der ganz rechten +1.
Und dann soll halt wenn er alles, was er wollte angekreuzt hat und auf rechnen drückt, sollte dann diese ,,Fertige'' Zahl in ein editFeld springen. Und ich weiß nicht, wie ich das machen soll.
Und auch gut wäre, wenn sich der Wert danach wieder auf 0 stellt, damit man nochmal ausrechnen kann. Ich hoffe ihr versteht, was ich meine.
liebe grüße =)


Delphi-Quellcode:
uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls;

  var dezimalzahl: integer;


type
  TForm1 = class(TForm)
    Label1: TLabel;
    Button1: TButton;
    CB64: TCheckBox;
    CB32: TCheckBox;
    CB16: TCheckBox;
    CB8: TCheckBox;
    CB128: TCheckBox;
    CB4: TCheckBox;
    CB2: TCheckBox;
    CB1: TCheckBox;
    Edit1: TEdit;
    Label2: TLabel;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
begin
  if cb128.checked=true
    then begin dezimalzahl;=dezimalzahl+128;
           if cb64.checked=true
             then begin dezimalzahl;=dezimalzahl+64 ;
                    if cb32.checked=true
                      then begin dezimalzahl;=dezimalzahl+32;
                             if cb16.checked=true
                               then begin dezimalzahl;=dezimalzahl+16;
                                      if cb8.checked=true
                                        then begin dezimalzahl;=dezimalzahl+8;
                                               if cb4.checked=true
                                                 then begin dezimalzahl;=dezimalzahl+4 ;
                                                        if cb2.checked=true
                                                          then begin dezimalzahl;=dezimalzahl+2;
                                                                 if cb1.checked=true
                                                                   then begin dezimalzahl;=dezimalzahl+1;




end;

end.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

AW: Umrechner von dem einsersystem in richtige zahlen

  Alt 3. Nov 2010, 17:40
1. Das heißt Dual- oder Binärsystem. Das Einersystem kann es nicht geben, denn es bestünde nur aus einer Ziffer und mit einer Ziffer kann man kein Zahlensystem aufbauen. Das lässt mich zu dem Schluss kommen, dass du nicht verstanden hast, um was es geht.
2. Du weißt schon dass man in Delphi eine Zuweisung mit := macht und nicht mit ;=?
3. Was ist jetzt dein Problem?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Umrechner von dem einsersystem in richtige zahlen

  Alt 3. Nov 2010, 17:41
1. Niemals auf True prüfen:
if cb64.checked then 2. so wie du es jetzt macht, werden "kleinere" Boxwn nur überprüft, wenn "größere" ebenfalls angehakt sind.

Delphi-Quellcode:
if cb128.checked then
    dezimalzahl := dezimalzahl+128;
if cb64.checked then ...
3. Zuweisung mit :=
Markus Kinzler
  Mit Zitat antworten Zitat
NewDelphiBenutzer

Registriert seit: 30. Sep 2010
14 Beiträge
 
#4

AW: Umrechner von dem einsersystem in richtige zahlen

  Alt 3. Nov 2010, 18:00
also müsste der quelltext jetzt so lauten?
Delphi-Quellcode:
uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls;

  var dezimalzahl: integer;


type
  TForm1 = class(TForm)
    Label1: TLabel;
    Button1: TButton;
    CB64: TCheckBox;
    CB32: TCheckBox;
    CB16: TCheckBox;
    CB8: TCheckBox;
    CB128: TCheckBox;
    CB4: TCheckBox;
    CB2: TCheckBox;
    CB1: TCheckBox;
    Edit1: TEdit;
    Label2: TLabel;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
begin
  if cb128.checked
    then begin dezimalzahl:=dezimalzahl+128;
           if cb64.checked
             then begin dezimalzahl:=dezimalzahl+64 ;
                    if cb32.checked
                      then begin dezimalzahl:=dezimalzahl+32;
                             if cb16.checked
                               then begin dezimalzahl:=dezimalzahl+16;
                                      if cb8.checked
                                        then begin dezimalzahl:=dezimalzahl+8;
                                               if cb4.checked
                                                 then begin dezimalzahl:=dezimalzahl+4 ;
                                                        if cb2.checked
                                                          then begin dezimalzahl:=dezimalzahl+2;
                                                                 if cb1.checked
                                                                   then begin dezimalzahl:=dezimalzahl+1;




end;

end.

außerdem muss das programm ja die dezimalzahl, die sie ausgerechnet hat, ausspucken
sie soll in einem editfeld stehen. Wie schreibe ich das? irgendwas mit inttostr oder so glaub ich.
Und das Programm soll die dezimalzahl wieder auf 0 setzen nach dem rechnen, damit man nicht das programm erst zu machen soll, damit man eine neue zahl eingeben kann.
  Mit Zitat antworten Zitat
zeras

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.618 Beiträge
 
Delphi 12 Athens
 
#5

AW: Umrechner von dem einsersystem in richtige zahlen

  Alt 3. Nov 2010, 18:23
Du nimmst einfach das Ereignis Onklick aller Checkboxen und rechnest das dort aus.


Delphi-Quellcode:
procedure TForm9.cb1Click(Sender: TObject);
var
  dezimalzahl : integer;

begin
  dezimalzahl:=0;

  if cb128.checked then dezimalzahl:=dezimalzahl+128;
  if cb64.checked then dezimalzahl:=dezimalzahl+64 ;
  if cb32.checked then dezimalzahl:=dezimalzahl+32;
  if cb16.checked then dezimalzahl:=dezimalzahl+16;
  if cb8.checked then dezimalzahl:=dezimalzahl+8;
  if cb4.checked then dezimalzahl:=dezimalzahl+4 ;
  if cb2.checked then dezimalzahl:=dezimalzahl+2;
  if cb1.checked then dezimalzahl:=dezimalzahl+1;
  Edit1.Text:=IntToStr(dezimalzahl);
end;
Matthias
Es ist nie falsch das Richtige zu tun!
- Mark Twain
  Mit Zitat antworten Zitat
NewDelphiBenutzer

Registriert seit: 30. Sep 2010
14 Beiträge
 
#6

AW: Umrechner von dem einsersystem in richtige zahlen

  Alt 3. Nov 2010, 18:37
okaaay funktioniert
danke Leute. Ihr seid die Helden des Tages =)
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 02:27 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