String and Extended - Fehler in Delphi 6
lima-city → Forum → Programmiersprachen → Delphi & Pascal
antwort
ausgabe
aussehen
beitrag
dezimalzahl
division
extended
fehlermeldung
integer beitrag
mache
mll
pa
quatsch
rechtschreibfehler
schauen
scoren
sender
trottel
zeile
-
procedure TForm1.Timer1Timer(Sender: TObject);
var z : String;
begin
t := (t - 1);
z:=t/m;
Label3.Caption := 'Score: ' +z;
if t = -1 then
begin
Timer1.Enabled:=FALSE;
Button1.visible:=False;
Label5.Visible:=True;
t:=0;
Label3.Caption := 'Score: ' + inttostr(t)
end;
end;
lautet mein Sourcecode, aber in der Zeile
z:=t/m;
gibt er mit die Fehlermeldung
Incompatible types: 'String' and 'Extended'
Was heißtn das?!
m und t sind INTEGER....
Beitrag geaendert: 13.1.2007 14:07:01 von norky -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
var z: Integer;
begin
t := t -1;
z := t div m;
Label3.Caption := 'Score: '+IntToStr(z);
oder
var z: String;
begin
t := t -1;
z := IntToStr(t div m);
Label3.Caption := 'Score: '+ z;
Beitrag geaendert: 13.1.2007 14:19:43 von trueweb -
doof?! :D hab doch gesagt, m und t sind INTEGER
und ich brauche kein inttostr(z) wenn z ein int iss^^
also die Antwort war Müll... sry -
doof?! :D hab doch gesagt, m und t sind INTEGER
und ich brauche kein inttostr(z) wenn z ein int iss^^
also die Antwort war Müll... sry
Wenn du erst hinterher hinschreibst, dass m ein Int ist... Habs dann auch gesehn und mein Beitrag geändert, schau ihn mal an, so gehts auf jeden Fall.
Wenn m und t = integer und z = string dann kannst du dem z nicht m (mit t verrechnet) zuweisen, denn dies ist eine Zahl, also brauchst du das IntToStr oder du deklarierst z gleich als Int, dann gibts keine Probleme aber bei der Ausgabe in der Caption musst du das als String umwandeln
Aber pass auf, dass bei dem Teilen keine Fließkommazahl entsteht, weil das dann kein Int mehr ist.
Beitrag geaendert: 13.1.2007 14:23:47 von trueweb -
trotzdem isses Quatsch, ich will keine ganzzahlige Division mit div, ich möchte eine dezimalzahl, also z.B. 22,33 und wenn ich das mit div mache, dann kann ich z auch integer nehmen und brauche das alles garnich so kompli...
P.S.: Das stand von Anfang an drin, hatte nur Rechtschreibfehler ausgebessert...udn zwar bevor du geantwortet hast ;) -
... dann kann ich z auch integer nehmen und brauche das alles garnich so kompli...
Sag ich doch:
var z: Integer;
begin
t := t -1;
z := t div m;
Label3.Caption := 'Score: '+IntToStr(z);
-
Versteh es :D
div macht eine ganzzahlige Division
dann ist 12 div 5 = 2
ich möchte aber, dass 12/5 = 2,4 bei rauskommt -
Ach, ich Trottel, Thema gelöst, kann geclosed werden...
muss natürlich so aussehen:
procedure TForm1.Timer1Timer(Sender: TObject);
var z:Real;
begin
t := (t - 1);
z:=t/m;
Label3.Caption := 'Score: ' +floattostr(z);
if t = -1 then
begin
Timer1.Enabled:=FALSE;
Button1.visible:=False;
Label5.Visible:=True;
t:=0;
Label3.Caption := 'Score: ' + inttostr(t)
end;
Falsche Variablendeklaration XD -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage