Einzelnen Beitrag anzeigen

Benutzerbild von gsh
gsh

Registriert seit: 24. Okt 2004
1.542 Beiträge
 
Delphi XE Architect
 
#8

Re: Was will mir mein Compiler damit sagen ??

  Alt 13. Jun 2005, 17:49
Durch die Ifs ist es nicht sicher des der Code dahinter ausgeführt wird also heisst des das MÖGLICHERWEISE aus der sieht des Compielers der code nicht ausgefürht wird also ist es für ihn MÖGLICHERWEISE unötig.
Delphi-Quellcode:
if RadioButton1.checked then Edit1.text := FloatToStr(b * a * Power(a,x));
if RadioButton2.checked then Edit1.text := FloatToStr(y / Power(a,x));
if RadioButton3.checked then Edit1.text := FloatToStr(power((y/b), 1/x));
if RadioButton4.checked then Edit1.text := FloatToStr(ln(y/b)/ln(a));

Bisschen optimiert
So müsste es gehen:
Delphi-Quellcode:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    LabeledEdit1: TLabeledEdit;
    LabeledEdit2: TLabeledEdit;
    LabeledEdit3: TLabeledEdit;
    LabeledEdit4: TLabeledEdit;
    Label1: TLabel;
    Label2: TLabel;
    Button1: TButton;
    GroupBox1: TGroupBox;
    RadioButton1: TRadioButton;
    RadioButton2: TRadioButton;
    RadioButton3: TRadioButton;
    RadioButton4: TRadioButton;
    Edit1: TEdit;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations } 
  public
    { Public declarations } 
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm} 

procedure TForm1.Button1Click(Sender: TObject);

var a,b,x,y: real; // <-- hier sagt der compiler das o.g.
begin
Edit1.Clear;

// Werte von den Edit-Feldern holen und den Variablen zuweisen
a := strtofloat(labelededit3.text);
b := strtofloat(labelededit2.text);
x := strtofloat(labelededit4.text);
y := strtofloat(labelededit1.text);

// Lasset uns Rechen
Edit1.text := FloatToStr(b * a * Power(a,x)); // Wenn nicht dann wirds einfach überschrieben
if RadioButton2.checked then Edit1.text := FloatToStr(y / Power(a,x));
if RadioButton3.checked then Edit1.text := FloatToStr(power((y/b), 1/x))
if RadioButton4.checked then Edit1.text := FloatToStr(ln(y/b)/ln(a));
end;

end.
//Nachtrag: @alzaimar: Rolig??? Hast du zuviele katzen dahei es gibt meistens eine logische erklärung
Alex
"Sage nicht alles, was du weißt, aber wisse alles, was du sagst!" Matthias Claudius
"Wer sich über Kritik ärgert, gibt zu, daß er sie verdient hat." Tacitus
  Mit Zitat antworten Zitat