Einzelnen Beitrag anzeigen

Christian18

Registriert seit: 9. Dez 2003
Ort: Hamburg
1.279 Beiträge
 
#1

Quelltext vereinfachen!!!

  Alt 17. Mär 2004, 11:00
Hallo,

Ich habe mir ein kleines Programm geschrieben, womit ich schnell bit und byte u.s.w. erechnen kann. der Quelltext ist bloß sehr lang und unübersichtlich. Das programm läuft so weit ganz gut. Wie kann ich den Quelltext übersichtlich gestalten? Also weniger quelltext und so. Hier mein QuellText:

Delphi-Quellcode:
unit UMain;

interface

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

type
  TFMain = class(TForm)
    Button1: TButton;
    Button2: TButton;
    EEingabe: TEdit;
    RBBit: TRadioButton;
    RBByte: TRadioButton;
    RBKByte: TRadioButton;
    RBMByte: TRadioButton;
    RBGByte: TRadioButton;
    RBTByte: TRadioButton;
    EBit: TEdit;
    EByte: TEdit;
    EKByte: TEdit;
    EMByte: TEdit;
    EGByte: TEdit;
    ETByte: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Button3: TButton;
    procedure Button2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    procedure EEingabeEnter(Sender: TObject);
    procedure EEingabeExit(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  FMain: TFMain;

implementation

uses UImpressum;

{$R *.dfm}

procedure TFMain.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if shift=[] then begin
    case key of
      27: Close;
    end;
  end;
end;

procedure TFMain.Button2Click(Sender: TObject);
begin
  Close;
end;

procedure TFMain.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  if MessageDlg('Möchten Sie das Programm wirklich beenden ?',mtConfirmation,[mbYES,mbNO],0)=mrYes then
    CanClose:=True
  else
    CanClose:=False;
end;

procedure TFMain.Button1Click(Sender: TObject);
  var zahl1: Real;
      ergebnis: Real;
begin
  if
    RBBit.Checked=True
  then
    begin
    zahl1:=0;
    ergebnis:=0;
    EBit.Text:=EEingabe.Text;
    zahl1:=StrToFloat(EEingabe.Text);
    ergebnis := zahl1 / 8;
    EByte.Text:=FloatToStr(ergebnis);

    zahl1:=0;
    ergebnis:=0;
    zahl1:=StrToFloat(EEingabe.Text);
    ergebnis := zahl1 / 8 / 1024;
    EKByte.Text:=FloatToStr(ergebnis);

    zahl1:=0;
    ergebnis:=0;
    zahl1:=StrToFloat(EEingabe.Text);
    ergebnis := zahl1 / 8 / 1024 / 1024;
    EMByte.Text:=FloatToStr(ergebnis);

    zahl1:=0;
    ergebnis:=0;
    zahl1:=StrToFloat(EEingabe.Text);
    ergebnis := zahl1 / 8 / 1024 / 1024 / 1024;
    EGByte.Text:=FloatToStr(ergebnis);

    zahl1:=0;
    ergebnis:=0;
    zahl1:=StrToFloat(EEingabe.Text);
    ergebnis := zahl1 / 8 / 1024 / 1024 / 1024 / 1024;
    ETByte.Text:=FloatToStr(ergebnis);
    end;

//------------------------------------------------------------------------------

  if
    RBByte.Checked=True
  then
    begin
    zahl1:=0;
    ergebnis:=0;
    EByte.Text:=EEingabe.Text;
    zahl1:=StrToFloat(EEingabe.Text);
    ergebnis := zahl1 * 8;
    EBit.Text:=FloatToStr(ergebnis);

    zahl1:=0;
    ergebnis:=0;
    zahl1:=StrToFloat(EEingabe.Text);
    ergebnis := zahl1 / 1024;
    EKByte.Text:=FloatToStr(ergebnis);

    zahl1:=0;
    ergebnis:=0;
    zahl1:=StrToFloat(EEingabe.Text);
    ergebnis := zahl1 / 1024 / 1024;
    EMByte.Text:=FloatToStr(ergebnis);

    zahl1:=0;
    ergebnis:=0;
    zahl1:=StrToFloat(EEingabe.Text);
    ergebnis := zahl1 / 1024 / 1024 / 1024;
    EGByte.Text:=FloatToStr(ergebnis);

    zahl1:=0;
    ergebnis:=0;
    zahl1:=StrToFloat(EEingabe.Text);
    ergebnis := zahl1 / 1024 / 1024 / 1024 / 1024;
    ETByte.Text:=FloatToStr(ergebnis);
    end;

//------------------------------------------------------------------------------

  if
    RBKByte.Checked=True
  then
    begin
    zahl1:=0;
    ergebnis:=0;
    EKByte.Text:=EEingabe.Text;
    zahl1:=StrToFloat(EEingabe.Text);
    ergebnis := zahl1 * 1024;
    EByte.Text:=FloatToStr(ergebnis);

    zahl1:=0;
    ergebnis:=0;
    zahl1:=StrToFloat(EEingabe.Text);
    ergebnis := zahl1 * 8 * 1024;
    EBit.Text:=FloatToStr(ergebnis);

    zahl1:=0;
    ergebnis:=0;
    zahl1:=StrToFloat(EEingabe.Text);
    ergebnis := zahl1 / 1024;
    EMByte.Text:=FloatToStr(ergebnis);

    zahl1:=0;
    ergebnis:=0;
    zahl1:=StrToFloat(EEingabe.Text);
    ergebnis := zahl1 / 1024 / 1024;
    EGByte.Text:=FloatToStr(ergebnis);

    zahl1:=0;
    ergebnis:=0;
    zahl1:=StrToFloat(EEingabe.Text);
    ergebnis := zahl1 / 1024 / 1024 / 1024;
    ETByte.Text:=FloatToStr(ergebnis);
    end;

//------------------------------------------------------------------------------

  if
    RBMByte.Checked=True
  then
    begin
    zahl1:=0;
    ergebnis:=0;
    EMByte.Text:=EEingabe.Text;
    zahl1:=StrToFloat(EEingabe.Text);
    ergebnis := zahl1 * 1024;
    EKByte.Text:=FloatToStr(ergebnis);

    zahl1:=0;
    ergebnis:=0;
    zahl1:=StrToFloat(EEingabe.Text);
    ergebnis := zahl1 * 1024 * 1024;
    EByte.Text:=FloatToStr(ergebnis);

    zahl1:=0;
    ergebnis:=0;
    zahl1:=StrToFloat(EEingabe.Text);
    ergebnis := zahl1 * 8 * 1024 * 1024;
    EBit.Text:=FloatToStr(ergebnis);

    zahl1:=0;
    ergebnis:=0;
    zahl1:=StrToFloat(EEingabe.Text);
    ergebnis := zahl1 / 1024;
    EGByte.Text:=FloatToStr(ergebnis);

    zahl1:=0;
    ergebnis:=0;
    zahl1:=StrToFloat(EEingabe.Text);
    ergebnis := zahl1 / 1024 / 1024;
    ETByte.Text:=FloatToStr(ergebnis);
    end;

//------------------------------------------------------------------------------

  if
    RBGByte.Checked=True
  then
    begin
    zahl1:=0;
    ergebnis:=0;
    EGByte.Text:=EEingabe.Text;
    zahl1:=StrToFloat(EEingabe.Text);
    ergebnis := zahl1 * 1024;
    EMByte.Text:=FloatToStr(ergebnis);

    zahl1:=0;
    ergebnis:=0;
    zahl1:=StrToFloat(EEingabe.Text);
    ergebnis := zahl1 * 1024 * 1024;
    EKByte.Text:=FloatToStr(ergebnis);

    zahl1:=0;
    ergebnis:=0;
    zahl1:=StrToFloat(EEingabe.Text);
    ergebnis := zahl1 * 1024 * 1024 * 1024;
    EByte.Text:=FloatToStr(ergebnis);

    zahl1:=0;
    ergebnis:=0;
    zahl1:=StrToFloat(EEingabe.Text);
    ergebnis := zahl1 * 8 * 1024 * 1024 * 1024;
    EBit.Text:=FloatToStr(ergebnis);

    zahl1:=0;
    ergebnis:=0;
    zahl1:=StrToFloat(EEingabe.Text);
    ergebnis := zahl1 / 1024;
    ETByte.Text:=FloatToStr(ergebnis);
    end;

//------------------------------------------------------------------------------

  if
    RBTByte.Checked=True
  then
    begin
    zahl1:=0;
    ergebnis:=0;
    ETByte.Text:=EEingabe.Text;
    zahl1:=StrToFloat(EEingabe.Text);
    ergebnis := zahl1 * 1024;
    EGByte.Text:=FloatToStr(ergebnis);

    zahl1:=0;
    ergebnis:=0;
    zahl1:=StrToFloat(EEingabe.Text);
    ergebnis := zahl1 * 1024 * 1024;
    EMByte.Text:=FloatToStr(ergebnis);

    zahl1:=0;
    ergebnis:=0;
    zahl1:=StrToFloat(EEingabe.Text);
    ergebnis := zahl1 * 1024 * 1024 * 1024;
    EKByte.Text:=FloatToStr(ergebnis);

    zahl1:=0;
    ergebnis:=0;
    zahl1:=StrToFloat(EEingabe.Text);
    ergebnis := zahl1 * 1024 * 1024 * 1024 * 1024;
    EByte.Text:=FloatToStr(ergebnis);

    zahl1:=0;
    ergebnis:=0;
    zahl1:=StrToFloat(EEingabe.Text);
    ergebnis := zahl1 * 8 * 1024 * 1024 * 1024 * 1024 * 1024;
    EBit.Text:=FloatToStr(ergebnis);
    end;

  if
    RBBit.Checked=True
    and
    RBByte.Checked=True
    and
    RBKByte.Checked=True
    and
    RBMByte.Checked=True
    and
    RBGByte.Checked=True
    and
    RBTByte.Checked=True
  then
    ShowMessage('Bitte treffen Sie erst eine Auswahl!');

end;

procedure TFMain.EEingabeEnter(Sender: TObject);
begin
  EEingabe.Color:=clYellow;
end;

procedure TFMain.EEingabeExit(Sender: TObject);
begin
  EEingabe.Color:=clWindow;
end;

procedure TFMain.Button3Click(Sender: TObject);
begin
  FImpressum.ShowModal;
end;

end.
  Mit Zitat antworten Zitat