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
Seite 1 von 3  1 23      
Edgware

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

Fehlermeldung "zugewiesener Wert wird niemals benutzt"?

  Alt 23. Nov 2014, 18:04
Hallo Leute,

ich versuche grad ein Programm zu erstellen und steh offensichtlich ziemlich auf der Leitung. Es kommt immer die Fehlermeldung, "[Hinweis] Unit1.pas(55): Auf 'rProzentsatz' zugewiesener Wert wird niemals benutzt". Ich komm aber nicht drauf, wo genau jetzt der Fehler liegt, weil ich rProzentsatz ja im Prinzip einen Wert zugewiesen habe, mit zwei Prozent im Rahmen liegt - oder?

Vielleicht findet ja wer von euch den Fehler. Vielen Dank!

Delphi-Quellcode:
procedure TForm1.B_BerechneClick(Sender: TObject);

  const rEinzelpreis=30;
  var rMenge, rGesamtpreis, rProzentsatz, rProzentwert, rRechnungsbetrag :real;

begin

  rMenge:= StrToFloat (E_Menge.Text);
  rGesamtpreis:= rMenge*rEinzelpreis ;
  E_Gesamtpreis.Text:= FloatToStr (rGesamtpreis);
  E_Prozentsatz.text:= FloatToStr (rProzentsatz);
  rProzentwert:= rProzentsatz*rGesamtpreis;
  E_Prozentwert.text:= FloatToStr (rProzentwert);
  rRechnungsbetrag:= rGesamtpreis-rProzentwert ;
  E_Rechnungsbetrag.text:= FloatToStr (rRechnungsbetrag);

  IF rGesamtpreis >100 THEN
  begin
  rProzentsatz:= 0.03
  end

  ELSE
  begin
  IF rGesamtpreis<=100 THEN
  rProzentsatz:=0.02;
  end;
end;

end.

Geändert von Luckie (23. Nov 2014 um 21:31 Uhr) Grund: Delphi-Tags eingefügt
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#2

AW: Fehlermeldung "zugewiesener Wert wird niemals benutzt"?

  Alt 23. Nov 2014, 18:15
Das ist kein Fehler, sondern ein Hinweis: Der Wert, den Du zuweist, wird nirgens verwendet. Das ist so, als ob Du einen Korb mit Äpfeln füllst, aber niemand isst sie. Dann ist es vollkommen egal, ob Du 3, 5 oder 195 Äpfel in den Korb legst: Deine Mutti wird dir immer sagen:'Die Äpfel isst doch eh keiner'.
  Mit Zitat antworten Zitat
Aviator

Registriert seit: 3. Jun 2010
1.610 Beiträge
 
Delphi 10.3 Rio
 
#3

AW: Fehlermeldung "zugewiesener Wert wird niemals benutzt"?

  Alt 23. Nov 2014, 18:17
Das Problem ist nicht der Wert, den du zugewiesen hast, sondern das du die Variable danach nirgends mehr verwendest.
Bitte geh auch das nächste Mal hin und poste deinen Code in Delphi-Code Tags.

Code:
[DELPHI]
  DeinCode
[/DELPHI]
Oder der griechen Helm über dem Texteditor.
  Mit Zitat antworten Zitat
TForm1

Registriert seit: 11. Jan 2014
128 Beiträge
 
FreePascal / Lazarus
 
#4

AW: Fehlermeldung "zugewiesener Wert wird niemals benutzt"?

  Alt 23. Nov 2014, 20:57
Die "Fehlermeldung" ist wie gesagt nur ein Hinweis, aber was ich sonst aus deinem Quelltext ersehen kann, ist, dass Du rProzentsatz gleich schon als erstes verwendest, bevor Du die Variable überhaupt initialisiert hast, bzw. ihr einen Wert zugewiesen hast, und das wird später zu Problemen führen, spätestens wenn Du mit dem Wert rechnest.

Oder fehlt da ein stück Code?
Der Fehler sitzt immer vor dem Computer...
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Fehlermeldung "zugewiesener Wert wird niemals benutzt"?

  Alt 23. Nov 2014, 21:53
Oder fehlt da ein stück Code?
Wenn nicht, dann hat er den anderen Hinweis "Variable nicht initialisiert" bestimmt übersehn.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Edgware

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

AW: Fehlermeldung "zugewiesener Wert wird niemals benutzt"?

  Alt 17. Mai 2015, 15:11
Okay, ich hab meinen Fehler gefunden.

Hier mal die überarbeitete Version:

1. Kreisquarder

Code:
procedure TForm1.FormActivate(Sender: TObject);
   var Anfang, Ende, J,x,y,I :Integer;

begin

Anfang:= 0;
Ende:= 5;

   For J:= 1 to 10 do
    begin

    y:= (Form1.ClientHeight-50)-J*86;


     For I:= 1 to Ende do
       begin
       
        x:= I*100;
        Canvas.ellipse(x+Anfang,y,x+100+Anfang,y+100);
        Sleep(200)

       end;

    Anfang:= Anfang+50;
    Ende:= Ende-1;

    end;

   




end;

end.
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#7

AW: Fehlermeldung "zugewiesener Wert wird niemals benutzt"?

  Alt 17. Mai 2015, 15:22
So kann man Probleme naturlich auch lösen:

Man schreibt ein komplett anderes Programm!

Aber was hat das mit deiner ursprünglichen Frage zu tun?
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
J.Jay

Registriert seit: 17. Mai 2015
1 Beiträge
 
#8

AW: Fehlermeldung "zugewiesener Wert wird niemals benutzt"?

  Alt 17. Mai 2015, 15:36
Dieser Fehler wurde bei mir immer angezeigt, wenn die Syntax im ersten Exzerpt schwächer war als im zweiten. Versuch es mal so:

2. Farbblock

Code:
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='leer' then
      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;
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

AW: Fehlermeldung "zugewiesener Wert wird niemals benutzt"?

  Alt 17. Mai 2015, 15:45
Warum nicht einfach
Delphi-Quellcode:
procedure TForm1.B_LoeschenClick(Sender: TObject);
begin
  Image1.picture:=nil;
end;
Das with ist hier total überflüssig. Genauso wie die Verwendung einer benannten Instanz (Form1). Gibt es mehrere Instanzen bzw. wird die vorhandene umbenannt funktioniert der Code falsch oder gar nicht mehr.
Markus Kinzler
  Mit Zitat antworten Zitat
Edgware

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

AW: Fehlermeldung "zugewiesener Wert wird niemals benutzt"?

  Alt 17. Mai 2015, 15:49
Hm, @J.Jay, ich seh da jetzt nicht so ganz den Zusammenhang, was genau hätte ich bei mir denn jetzt ändern sollen?
Naja, hab hier erstmal was anderes:

1. Kreis
Code:
procedure TForm1.FormPaint(Sender: TObject);

var rKreis :integer;

begin

  rKreis:=1;
while rKreis <=200 do
begin

 canvas.Brush.Style:= bsclear;
 canvas.MoveTo(400,400);
 canvas.Ellipse (400+rKreis,400+rKreis,400-rKreis,400-rKreis);
 rKreis:=rKreis+2;
 sleep (30);

 end;
 end;


end.

2.
Code:
procedure TForm1.FormPaint(Sender: TObject);
begin


canvas.Pen.Color:= clgreen;
canvas.brush.color:= clyellow;
canvas.Rectangle(100,300,400,100);

Canvas.Pen.Color:= clRed;
canvas.Brush.color:= clblue;
Canvas.Ellipse(100,300,400,100);

canvas.Brush.Style:= bsclear;
Canvas.TextOut(20,90, 'Hallo');


end;

end.

3. Quadratische Gleichung
Code:
procedure TForm1.B_losClick(Sender: TObject);

var ra, rb ,rc, rx, rx1, rx2 ,rD :real;

begin

ra:=StrtoFloat(E_a.Text);
rb:=StrToFloat(E_b.Text);
rc:=StrToFloat(E_c.Text);
rD:= (rb)*(rb) - 4*(ra)*(rc);


If ra=0 Then

  If rb=0 Then

    If rc=0 Then
    begin
      E_Menge.Text:= ('Alle reellen Zahlen sind Lösungen');
      E_Menge2.Text:= ('-');
    end

    Else
      begin
      E_Menge.Text:= ('Keine Lösung');
      E_Menge2.Text:= ('-');
      end

  Else
  begin
    rx:= -rc/rb;
    E_Menge.text:= FloatToStr (rx);
    E_Menge2.Text:= ('-');
    end

   
Else
  If rD>0 Then
  begin
  rx1:= (-rb - sqrt (rD) )/(2*ra);
  rx2:= (-rb + sqrt (rD) )/ (2*ra);
  E_Menge.Text:= FloatToStr (rx1);
  E_Menge2.Text:= FloatToStr (rx2);
  end

  Else
   
      if rD=0 Then
      begin
      rx:= -rb/ (2* ra);
      E_Menge.text:= FloatToStr (rx);
      E_Menge2.Text:= ('-');
      end

    Else
      begin
       E_Menge.text:= ('Keine Lösung');
       E_Menge2.Text:= ('-');
      end;


end;

end.

4. Linien
Code:
procedure TForm1.FormPaint(Sender: TObject);
var rZahl :integer;
  begin

for rZahl := 10 downto 1 do
  begin
  canvas.MoveTo(100,rZahl*50);
  canvas.LineTo(700,rZahl*50); sleep (300);

  end;
end;

end.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      

 

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 04:15 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