kostenloser Webspace werbefrei: lima-city


String and Extended - Fehler in Delphi 6

lima-cityForumProgrammiersprachenDelphi & Pascal

  1. Autor dieses Themas

    norky

    Kostenloser Webspace von norky

    norky hat kostenlosen Webspace.

    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
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. t*****b

    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
  4. Autor dieses Themas

    norky

    Kostenloser Webspace von norky

    norky hat kostenlosen Webspace.

    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
  5. t*****b


    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
  6. Autor dieses Themas

    norky

    Kostenloser Webspace von norky

    norky hat kostenlosen Webspace.

    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 ;)
  7. t*****b


    ... 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);
  8. Autor dieses Themas

    norky

    Kostenloser Webspace von norky

    norky hat kostenlosen Webspace.

    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
  9. Autor dieses Themas

    norky

    Kostenloser Webspace von norky

    norky hat kostenlosen Webspace.

    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
  10. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!