AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Algorithmen, Datenstrukturen und Klassendesign Fehlermeldung "zugewiesener Wert wird niemals benutzt"?
Thema durchsuchen
Ansicht
Themen-Optionen

Fehlermeldung "zugewiesener Wert wird niemals benutzt"?

Ein Thema von Edgware · begonnen am 23. Nov 2014 · letzter Beitrag vom 20. Mai 2015
Antwort Antwort
Edgware

Registriert seit: 23. Nov 2014
6 Beiträge
 
Delphi 7 Professional
 
#1

AW: Fehlermeldung "zugewiesener Wert wird niemals benutzt"?

  Alt 19. Mai 2015, 17:29
Delphi-Quellcode:
implementation
var Farbe: tColor;
       Hg : tBrushStyle;
       Art : tPenMode;

{$R *.dfm}

procedure TForm1.B_ZeichnenClick(Sender: TObject);
var x1, y1 , x2 , y2 :integer;
begin

with form1.image1.canvas do

begin
 x1:=Random(Width);
 x2:=Random(Width);
 y1:=Random(Height);
 y2:=Random(Height);
 Canvas.Pen.Color :=Farbe;
 Canvas.Brush.Color:=Farbe;
 Canvas.Pen.Mode :=Art;
 Canvas.Rectangle(x1,y1,x2,y2)

end;

end;

procedure TForm1.B_EndeClick(Sender: TObject);
begin
close;
end;

procedure TForm1.R_weissClick(Sender: TObject);
begin
  Farbe:=clWhite;
end;

procedure TForm1.R_pinkClick(Sender: TObject);
begin
Farbe:=clfuchsia;
end;

procedure TForm1.R_schwarzClick(Sender: TObject);
begin
Farbe:=clBlack ;
end;

procedure TForm1.R_gruenClick(Sender: TObject);
begin
Farbe:=clGreen;
end;

procedure TForm1.R_PurpleClick(Sender: TObject);
begin
 Farbe:=clpurple;
end;

procedure TForm1.B_LeerClick(Sender: TObject);
begin
if B_Leer.Caption='leerthen
begin
 Hg:=bsSolid;
 B_Leer.caption:='gefüllt';
 end
else begin
 Hg:=bsClear;
 B_Leer.caption:='leer';
 end
end;

procedure TForm1.B_NormalClick(Sender: TObject);
begin
if B_Normal.Caption='normal'then
begin
Art:=pmNotCopy;
B_Normal.caption:='komplementär';
end

else
begin
  art:=pmCopy;
  B_Normal.caption:='normal';
end ;


end;



procedure TForm1.B_LoeschenClick(Sender: TObject);
begin
with Form1.Image1 do
  begin
  picture:=nil;
  end;
end;

end.
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#2

AW: Fehlermeldung "zugewiesener Wert wird niemals benutzt"?

  Alt 19. Mai 2015, 18:02
Nennt mich altmodisch, nicht mehr zeitgemäß, analfixiert, aber ein unformatierter Code tut mir in den Augen weh. Wie soll man da verstehen was das Programm macht?
Delphi-Quellcode:
procedure TForm1.B_StartClick(Sender: TObject);
var
  i, rAnzahl, rVerzogerung, x, y, rDicke :integer;
begin
  randomize ;

  rAnzahl:= StrToInt (E_Anzahl.Text);
  rVerzogerung:= StrToInt (E_Pause.Text);

  For i:=1 To rAnzahl do
  begin
    x:= random (800);
    y:= random (800);
    rDicke:= random (30);

    IF C_blau.Checked then
    begin
      Canvas.Brush.Color:= clblue or random (8000000);
    end
    ELSE
    begin
      IF C_Gelb.Checked then
      begin
      Canvas.Brush.Color:= clyellow or random (8000000);
      end
      ELSE
      begin
        IF C_gruen.Checked then
        begin
          Canvas.Brush.Color:= clgreen or random (8000000);
        end
        ELSE IF C_blau.Checked then
        begin
          Canvas.Brush.Color:= clblue or random (8000000);
        end
        ELSE
        begin
          IF C_pink.Checked then
          begin
            Canvas.Brush.Color:= clfuchsia or random (8000000);
          end
          ELSE
          begin
            IF C_red.Checked then
            begin
              Canvas.Brush.Color:= clred or random (8000000);
            end
            ELSE
            begin
              IF C_ighlight.Checked then
              begin
                Canvas.Brush.Color:= clskyblue or random (800000);
              end
              ELSE
              begin
                IF C_teal.Checked then
                begin
                  Canvas.Brush.Color:= clteal or random (8000000);
                end
                ELSE
                begin
                  IF C_navy.Checked then
                  begin
                    Canvas.Brush.Color:= clteal or random (8000000);
                  end
                  ELSE
                  begin
                    Canvas.Brush.Color:= clblack;
                  end;
                end;
              end;
            end;
          end;
        end;
      end;
    end;

    Canvas.Ellipse(x,y, x+rDicke, y+rDicke) ;
    sleep (rVerzogerung);
  end;
end;

procedure TForm1.B_ClearClick(Sender: TObject);
begin
  refresh;
  E_Anzahl.Text:= ' ';
  E_Pause.Text:= ' ';
end;
Oder noch anders. Wozu die nagen Begins und Ends?
Delphi-Quellcode:
procedure TForm1.B_StartClick(Sender: TObject);
var
  i, rAnzahl, rVerzogerung, x, y, rDicke :integer;
begin
  randomize ;

  rAnzahl:= StrToInt (E_Anzahl.Text);
  rVerzogerung:= StrToInt (E_Pause.Text);

  for i:=1 to rAnzahl do
  begin
    x:= random (800);
    y:= random (800);
    rDicke:= random (30);

    if C_blau.Checked then
      Canvas.Brush.Color := clblue or random (8000000)
    else if C_Gelb.Checked then
      Canvas.Brush.Color := clyellow or random (8000000)
    else if C_gruen.Checked then
      Canvas.Brush.Color := clgreen or random (8000000)
    else if C_blau.Checked then
      Canvas.Brush.Color := clblue or random (8000000)
    else if C_pink.Checked then
      Canvas.Brush.Color := clfuchsia or random (8000000)
    else if C_red.Checked then
      Canvas.Brush.Color := clred or random (8000000)
    else if C_ighlight.Checked then
      Canvas.Brush.Color := clskyblue or random (800000)
    else if C_teal.Checked then
      Canvas.Brush.Color := clteal or random (8000000)
    else if C_navy.Checked then
      Canvas.Brush.Color := clteal or random (8000000)
    else
      Canvas.Brush.Color:= clblack;

    Canvas.Ellipse(x,y, x+rDicke, y+rDicke) ;
    sleep (rVerzogerung);
  end;
end;

procedure TForm1.B_ClearClick(Sender: TObject);
begin
  refresh;
  E_Anzahl.Text:= ' ';
  E_Pause.Text:= ' ';
end;
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#3

AW: Fehlermeldung "zugewiesener Wert wird niemals benutzt"?

  Alt 19. Mai 2015, 18:23
Dann kannst du dir in deinem Beitrag auch alle Else sparen.
Da jeder Checkstatus aktiv sein könnte (anders als bei RadioGroups) erübrigt sich die Else abfrage.
Else = EntwederOder

Davon ab ist die Wahl einer Checkbox dafür unangebracht.
Eine Radio Group wäre dann die optimale Verwendung.

gruss

Geändert von EWeiss (19. Mai 2015 um 18:51 Uhr)
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#4

AW: Fehlermeldung "zugewiesener Wert wird niemals benutzt"?

  Alt 19. Mai 2015, 22:11
EWeiss hat Recht, das könnte man auch so lösen:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
const
  Col: array[0..8] of TColor = (clblue, clyellow, clgreen, clblue, clfuchsia,
    clred, clskyblue, clteal, clteal); //Farben
var
  i, rAnzahl, rVerzogerung, x, y, rDicke :integer;
begin
  randomize ;

  rAnzahl:= StrToInt (E_Anzahl.Text);
  rVerzogerung:= StrToInt (E_Pause.Text);

  for i:=1 to rAnzahl do
  begin
    x:= random (800);
    y:= random (800);
    rDicke:= random (30);

    if ColorRadioGroup.ItemIndex > -1 then // In RadioGroup alle 9 Farben auflisten
      Canvas.Brush.Color := Col[ColorRadioGroup.ItemIndex] or random (8000000)
    else
     Canvas.Brush.Color := clBlack;

    Canvas.Ellipse(x,y, x+rDicke, y+rDicke) ;
    sleep (rVerzogerung);
  end;
end;
Nur was soll das bewirken?

Delphi-Quellcode:
... or random (8000000)
...
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#5

AW: Fehlermeldung "zugewiesener Wert wird niemals benutzt"?

  Alt 19. Mai 2015, 23:25
Zitat:
Nur was soll das bewirken?
Ich denke mal er will dann eine Farbe im Bereich "8000000" ausgeben.
Meine Meinung dazu! Ist völliger Quatsch da kann man direkt Random(8000000) verwenden
und sich den ganzen anderen Kram mit Radio Button und Checkboxen sparen.

Entweder man definiert oder möchte eine feste Farbe festlegen oder man verwendet Random.. für eine beliebige.
Ich sehe zumindest keine Logik hinter der Verwendung "or Random(8000000)"

gruss
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.342 Beiträge
 
Delphi 12 Athens
 
#6

AW: Fehlermeldung "zugewiesener Wert wird niemals benutzt"?

  Alt 20. Mai 2015, 04:23
Bei einer RadioBox/RadioGroup kann man die Else weg lassen, bzw. gleich ein CASE verwenden.

Bei den IFs muß man aufpassen, denn ohne ELSE dreht sich die Auswertungsreihenfolge um, wenn mehr als eine Checkbox aktiviert ist.
Delphi-Quellcode:
if C_blau.Checked then
  Canvas.Brush.Color := clblue or random (8000000)
else if C_Gelb.Checked then
  Canvas.Brush.Color := clyellow or random (8000000)
else if C_gruen.Checked then
  Canvas.Brush.Color := clgreen or random (8000000)
...
else
  Canvas.Brush.Color:= clblack;
Delphi-Quellcode:
Canvas.Brush.Color:= clblack;
...
if C_gruen.Checked then
  Canvas.Brush.Color := clgreen or random (8000000)
if C_Gelb.Checked then
  Canvas.Brush.Color := clyellow or random (8000000)
if C_blau.Checked then
  Canvas.Brush.Color := clblue or random (8000000)
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (20. Mai 2015 um 04:38 Uhr)
  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 16:30 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