Operand nicht auf diesen Operanentyp anwendbar

MetallDragon

Erfahrenes Mitglied
hi Leute,
Im Delphiforum war ich bisher ja nicht so aktiv, was sich aber ändern dürfte, da ich ab diesem Jahr Delphi in der Schule mache.
Jetzt hat sich bei einer Aufgabe bei mir allerdings ein Problem ergeben:

und zwar der Fehler:

Operand nicht auf diesen Operanentyp anwendbar

und ich weiss nicht, was das bedeutet.
Der Fehler tritt auf, wenn ich zwei real-Zahlen addiere. Mir erscheint der Fehler auch völlig sinnlos.

Der genauer zusammenhang ist:

StrToFloat(Edit1.text)+StrToFloat(Edit2.text)

Ich kann auch nochmal den ganzen Quelltext hier posten ( Der ist nur leider z.Z auf nem anderen Rechner ;))

und noch eine Frage hätte ich. Und zwar:
Wie kann ich einen Mausklick in Delphi simulieren. Also quasi das Event Button1Click
in meinen Quelltext einbauen ?

Danke für die Hilfe.
 
Zuletzt bearbeitet:

JoelH

Erfahrenes Mitglied
hmm,

Code:
procedure TForm1.Button1Click(Sender: TObject);
var x : double;
begin
    x :=  StrToFloat(Edit1.text)+StrToFloat(Edit2.text);
    edit4.Text := FloattoStr(x);
end;
funktioniert bei mir ohne Probleme. Sind die Inhalte denn auch Floatzahlen ? Poste mal die ganze Procedure.

Zum Mausclick. Wenn es eine procedure Button1Click gibt kansnte die einfach aufrufen, auch aus dem Programm raus, als Parameter einfach self nehmen.

also

Button1Click(self);
 

MetallDragon

Erfahrenes Mitglied
danke eigendlich hatte mir nur der Parameter gefehlt.
Der Quellcode der y-Wert Berechnung:

y = double
default werte sind für XStr und YStr 1.
Und für XVersch 0.


y= (i*i)*StrToFloat(EdXStr.text) div StrToFloat(EdYStr.text) + (Hier kommt der Fehler) StrToFloat(EdXVersch.text)*Zoom)*-1

Ich hoffe man kann damit was anfangen.
 
Zuletzt bearbeitet:

MetallDragon

Erfahrenes Mitglied
Daran lags nicht, die sind nur zu viele, weil ich es abgetippt habe :-(
Aber ich schau mal weiter. Vielleicht finde ich ja noch ne andere Lösung für mein Problem.
 

JoelH

Erfahrenes Mitglied
hmm,

kann es sein dass das div nur auf Integerzahlen angewand werden darf ? Denn da liegt wohl der Fehler.
 

JoelH

Erfahrenes Mitglied
hmm,

einfach mal in der Hilfe nachlesen. DIV schneidet den Rest ab der bei einer Division entstehen kann. Dadurch bleibt das Ergebnis eine Integer Zahl. Wenn du mit / teilst ist das Ergebnis eine Realzahl.