Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Auswertung? (https://www.delphipraxis.net/130895-auswertung.html)

ichnixwissen 15. Mär 2009 08:32


Auswertung?
 
Er soll bei der Auswertung die Prozent anzeigen. er1,er2,er3 und er4 (ist integer) sind auf anderen Formen, aber global in Unit2 deklariert und Unit2 in uses eingetragen. Er zeigt,aber immer bei der Auswertung = an.
Delphi-Quellcode:
er:= er1 + ((er2)/ 4) + ((er3)/ 2) + er4;
 pro:= (er / 20) * 100;
 Label1.Caption:= floattostr(pro);

Chemiker 15. Mär 2009 08:39

Re: Auswertung?
 
Hallo ichnixwissen,

Du musst die Variablen qualifizieren:

Delphi-Quellcode:
Unit2.Er2
Bis bald Chemiker

Klaus01 15. Mär 2009 08:40

Re: Auswertung?
 
Guten Morgen

was wird angezeigt? ein Gleichheitszeichen?
Was für ein Typ hat "er"?

Gewöhne Dir mal bitte an den Variablen "sprechende" Namen zu geben.
So kann sich nun keiner etwas darunter vorstellen.

Grüße
Klaus

thkerkmann 21. Mär 2009 16:06

Re: Auswertung?
 
Zitat:

Zitat von ichnixwissen
Er soll bei der Auswertung die Prozent anzeigen. er1,er2,er3 und er4 (ist integer) sind auf anderen Formen, aber global in Unit2 deklariert und Unit2 in uses eingetragen. Er zeigt,aber immer bei der Auswertung = an.
Delphi-Quellcode:
er:= er1 + ((er2)/ 4) + ((er3)/ 2) + er4;
 pro:= (er / 20) * 100;
 Label1.Caption:= floattostr(pro);

Wenn die ganzen er's integer sind, würde ich die Berechnung von pro anders vornehmen:
Delphi-Quellcode:
  pro := (er * 100.0) / 20.0;
Zuerst multiplizieren, und die Konstanten als Gleitkomma schreiben. Dann sollte es gehen.

Gruss

ichnixwissen 22. Mär 2009 13:31

Re: Auswertung?
 
so gings leider nicht :(

Luckie 22. Mär 2009 13:34

Re: Auswertung?
 
Zitat:

Zitat von ichnixwissen
so gings leider nicht :(

Ich frage ja nur ungern, aber was für eine Fehlermeldung gibt es denn? Mit "so ging es leider nicht", kann man reichlich wenig anfangen.

ichnixwissen 22. Mär 2009 13:57

Re: Auswertung?
 
es kommt keine fehler meldung... er zeigt nur immer das ergebniss 0 an

ichnixwissen 23. Mär 2009 16:30

Re: Auswertung?
 
kann mir nicht noch jemand helfen???

Die Muhkuh 23. Mär 2009 16:31

Re: Auswertung?
 
Post mal die kompletten Units.

DeddyH 23. Mär 2009 16:36

Re: Auswertung?
 
Vielleicht ist es ja eine Integer-Funktion, bei der Result nicht zugewiesen wird :glaskugel:

ichnixwissen 23. Mär 2009 16:41

Re: Auswertung?
 
wie ist denn das gemeint mit result nicht zugewiesen?

DeddyH 23. Mär 2009 16:43

Re: Auswertung?
 
Delphi-Quellcode:
function Bla(a,b: integer): integer;
var gesamt: integer;
begin
  gesamt := a + b;
  Result := gesamt; //hier wird Result zugewiesen
end;

Die Muhkuh 23. Mär 2009 16:44

Re: Auswertung?
 
Anstatt herum zu raten, poste einfach mal die Units...

DeddyH 23. Mär 2009 16:45

Re: Auswertung?
 
Aber nur die relevanten Teile, nicht dass hier gleich 10.000 Zeilen Code gepostet werden.

Die Muhkuh 23. Mär 2009 16:47

Re: Auswertung?
 
Zitat:

Zitat von DeddyH
Aber nur die relevanten Teile, nicht dass hier gleich 10.000 Zeilen Code gepostet werden.

Dann halt als Attachment :stupid:

ichnixwissen 23. Mär 2009 16:51

Re: Auswertung?
 
in Unit2:
Delphi-Quellcode:
var
 er1,er2,er3,er4 : integer;
in Unit15:
Delphi-Quellcode:
...
if label18.Caption = label19.Caption then begin
p:= p+1;
label10.Visible:= true;
end
else
label11.Visible:= true;
...
er1:= p;
dies ist dann auch so für er2,er3 und er4

am Ende dann

Unit19:
Delphi-Quellcode:
var er, pro: real ;
begin
 er:= er1 + ((er2)/ 4) + ((er3)/ 2) + er4;
 pro := (er * 100) / 20;
 Label1.Caption:= floattostr(pro);

DeddyH 23. Mär 2009 16:56

Re: Auswertung?
 
Und in pro steht am Ende 0?

ichnixwissen 23. Mär 2009 17:01

Re: Auswertung?
 
da steht immer null, sollte aber nicht

DeddyH 23. Mär 2009 17:03

Re: Auswertung?
 
Und Du hast kontrolliert (z.B. per ShowMessage), ob er1 bis er4 nicht 0 sind?

ichnixwissen 23. Mär 2009 17:10

Re: Auswertung?
 
wenn ich in unit19
Delphi-Quellcode:
ShowMessage(floattostr(er1));
hinschreib, dann kommt wenn ich das programm starte die nachricht 0.
Aber wieso kommt das gleich wenn ich das programm starte?

DeddyH 23. Mär 2009 17:23

Re: Auswertung?
 
Hast Du es ins OnCreate geschrieben?


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:49 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