AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Umrechnung in die interne Zahlendarstellung eines Rechners
Thema durchsuchen
Ansicht
Themen-Optionen

Umrechnung in die interne Zahlendarstellung eines Rechners

Ein Thema von sahry · begonnen am 20. Dez 2009 · letzter Beitrag vom 20. Dez 2009
 
sahry

Registriert seit: 19. Dez 2009
2 Beiträge
 
#1

Umrechnung in die interne Zahlendarstellung eines Rechners

  Alt 20. Dez 2009, 00:14
Hallo,

ich brauche dringend Hilfe für mein letztes Uni Projekt. Mir fehlt nur noch dieser eine Schein und dann kann ich auch meine Diplom Arbeit abgeben, aber leider habe ich mich auf eine Projektarbeit eingelassen in einer Gruppe und wurde nun von dieser im Stich gelassen.. Ich hab die Aufgabe ein Umrechnungsprogramm zur internen Zahlendarstellung (im Hexsystem unn im Binärsystem) in Pascal zu schreiben. Was die Benutzeroberfläche angeht haben wir relativ strikte vorgaben. Ich glaub das hab ich richtig gelöst.
Ich bräuchte dringend Hilfe und das so schnell wie möglich. Ich würde echt nicht Fragen wenn ich mehr Zeit hätte, aber mich hat es schon 3 Wochen gekostet die Benutzeroberfläche zu erstellen weil ich mich mit Delphi/Pascal wirklich null auskenne. Vielleicht möchte mir ja jemand Helfen und hat sogar spaß an der Aufgabe.



Delphi-Quellcode:
unit EINGABE1;

interface

uses
  SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
  Forms, Dialogs, StdCtrls, Buttons, Mask, ExtCtrls;

type
  TFormular = class(TForm)
    LabelUeberschrift: TLabel;
    RadioGroupAusgabetyp: TRadioGroup;
    RadioButtonFestpunkt: TRadioButton;
    RadioButtonIBMDW: TRadioButton;
    RadioButtonIBMExt: TRadioButton;
    RadioButtonIEEELReal: TRadioButton;
    RadioButtonIEEEExtReal: TRadioButton;
    LabelEingabe: TLabel;
    MaskEditEingabeInt: TMaskEdit;
    MaskEditEingabeReal: TMaskEdit;
    LabelAusgabe: TLabel;
    EditAusgabeHex: TEdit;
    EditAusgabeBin: TEdit;
    BitBtnExit: TBitBtn;
    BitBtnUmrechnen: TBitBtn;
    GroupBoxEingabetyp: TGroupBox;
    RadioButtonInteger: TRadioButton;
    RadioButtonReal: TRadioButton;
    LabelSedezimal: TLabel;
    LabelBinaer: TLabel;
    procedure RadioButtonIntegerClick(Sender: TObject);
    procedure RadioButtonRealClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure BitBtnUmrechnenClick(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Formular: TFormular;

implementation

{$R *.DFM}

procedure TFormular.RadioButtonIntegerClick(Sender: TObject);
begin
  RadioButtonIBMDW.Enabled := FALSE;
  RadioButtonIBMExt.Enabled := FALSE;
  RadioButtonIEEELReal.Enabled := FALSE;
  RadioButtonIEEEExtReal.Enabled := FALSE;
  RadioButtonFestpunkt.Enabled := TRUE;
  RadioButtonFestpunkt.Checked := TRUE;
  MaskEditEingabeInt.Visible := TRUE;
  MaskEditEingabeReal.Visible := FALSE;

end;

procedure TFormular.RadioButtonRealClick(Sender: TObject);
begin
  RadioButtonIBMDW.Enabled := TRUE;
  RadioButtonIBMExt.Enabled := TRUE;
  RadioButtonIEEELReal.Enabled := TRUE;
  RadioButtonIEEEExtReal.Enabled := TRUE;
  RadioButtonFestpunkt.Enabled := FALSE;
  RadioButtonFestpunkt.Checked := FALSE;
  RadioButtonIBMDW.Checked := TRUE;
  MaskEditEingabeInt.Visible := FALSE;
  MaskEditEingabeReal.Visible := TRUE;
end;

procedure TFormular.FormShow(Sender: TObject);
begin
  RadioButtonInteger.Checked := TRUE;
end;


{ NEU }

procedure TFormular.BitBtnUmrechnenClick(Sender: TObject);


begin { TFormular.BitBtnUmrechnenClick }
  IF (RadioButtonFestpunkt.Checked AND(MaskEditEingabeInt.Text = ''))
     OR (RadioButtonReal.Checked AND (MaskEditEingabeReal.Text = ''))
  THEN Exit;

  IF RadioButtonFestpunkt.Checked
  THEN BEGIN { Ganzzahlige Umrechnung }

         { ===> Code für ganzzahlige Umrechnung einfügen }

         { Ausgabe nach EditAusgabeHex.Text und EditAusgabeBin.Text }

       END
  ELSE BEGIN { Realzahlige Umrechnung }
         IF RadioButtonIBMDW.Checked
            OR RadioButtonIBMExt.Checked
         THEN BEGIN

                { ===> Code für Umrechnung IBM-Gleitpunktformate einfügen }

                { Ausgabe nach EditAusgabeHex.Text und EditAusgabeBin.Text }

              END
         ELSE BEGIN

                { ===> Code für Umrechnung IEEE-Gleitpunktformate einfügen }

                { Ausgabe nach EditAusgabeHex.Text und EditAusgabeBin.Text }
              END;
       END;

end { TFormular.BitBtnUmrechnenClick };


end.


Die Benutzeroberfläche sind dementsprechend so aus:

(Siehe Anhang)

So jetzt fehlen mir natürlich die Code Teile für die Umrechnungen. Wenn jemand mir helfen möchte einfach hier melden.

Edit: Ahso für die Eingaefelder gibt es auch Beschränkungen.
Wenn es Integer ist dann dürfen nur ganze Zahlen eingegeben werden und Vorzeichen.
Bei Real darf auch noch ein Komma eingegeben werden.
Damit hab ich mich schon beschäftigt und dachte an diese Lösung:

Delphi-Quellcode:
procedure TFormular.MaskEditEingabeIntKeyPress(Sender: TObject;
  var Key: Char);
   begin
     if not (Key in ['0'..'9', '+', '-', #8]) then
     begin
     SysUtils.Beep;
     ShowMessage('Bitte geben Sie eine ganze Zahl ein');
     Key := #0;

        end;
     end;

procedure TFormular.MaskEditEingabeRealKeyPress(Sender: TObject;
  var Key: Char);
begin
     if not (Key in ['0'..'9', ',', '+', '-', #8]) then
     begin
     SysUtils.Beep;
     ShowMessage('Bitte geben Sie eine Zahl ein');
     Key := #0;

     end;
      end;
Für weitere und genauere Infos steh ich zur Verfügung

[edit=SirThornberry]Bild in Anhang gepackt damit der Beitrag nicht irgendwann wertlos/unvollständig wird wenn das Bild vom externen Server verschwindet. Mfg, SirThornberry[/edit]
Angehängte Grafiken
Dateityp: jpg 18905236_588.jpg (36,2 KB, 16x aufgerufen)
  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 12:40 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz