AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Fehler: Inkompatible Typen: 'string' und 'Integer'
Thema durchsuchen
Ansicht
Themen-Optionen

Fehler: Inkompatible Typen: 'string' und 'Integer'

Ein Thema von Nashy · begonnen am 29. Nov 2014 · letzter Beitrag vom 29. Nov 2014
Antwort Antwort
Nashy

Registriert seit: 22. Nov 2014
14 Beiträge
 
#1

Fehler: Inkompatible Typen: 'string' und 'Integer'

  Alt 29. Nov 2014, 09:51
Hallo,

ich schreibe gerade an einem Programm, dass in einem Editfeld Zufallszahlen ausgibt. Nach 5 Sekunden verschwindet das Editfeld und der Spieler muss in ein anderes Editfeld die ausgegebene Zahl Eintippen und auf Fertig klicken. Das Programm kontrolliert ob EditAusgabe=Edit1. Sollte die Eingabe nicht stimmen, möchte ich, dass dem Spieler im LabelAusgabe angezeigt wird: Du hast noch y Leben. Dies habe ich wie folgt programmiert:
Delphi-Quellcode:
procedure TForm1.Timer2Timer(Sender: TObject);
begin

if y=0 then
begin
  LabelAusgabe.Text := 'Verloren! Keine Leben mehr!' ;
  ButtonGo.Text := 'Nochmal spielen'      ;
  Timer2.Enabled := false;
  EditAusgabe.Text := '';

end
else
begin
  y:= y-1 ;
  Timer2.Enabled:= false;
  InttoStr (y);
  LabelAusgabe.Text:= 'Du hast noch' + y + 'Leben'

end;
end;
y hab ich als globale Variable definiert mit y: integer=3;

Wenn ich versuche das Programm abspielen zu lassen wird mir der Fehler angezeigt, das in der Zeile
LabelAusgabe.Text:= 'Du hast noch' + y + 'Leben' Inkompatible Typen 'String' und 'Integer' vorkommen. Aber ich habe y ja zuvor mit IntToStr in ein String umgewandelt und somit in dieser Zeile überhaupt kein Integer mehr..

Kann mir jemand sagen, wo das Problem ist, bzw. wie ich es beheben kann?

Vielen Dank!
  Mit Zitat antworten Zitat
Aviator

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

AW: Fehler: Inkompatible Typen: 'string' und 'Integer'

  Alt 29. Nov 2014, 09:56
IntToStr() gibt immer einen String zurück. Das heißt, dass du das Ergebnis einer Variable zuweisen musst, die vom Typ string ist.

Delphi-Quellcode:
var
  MyStr: string;
begin
  y := 3;
  MyStr := IntToStr(y);
  LabelAusgabe.Text:= 'Du hast noch ' + MyStr + ' Leben';
end;
Oder alternativ noch einfacher, da du nicht zwingend eine Zuweisung benötigst:

Delphi-Quellcode:
begin
  y := 3;
  LabelAusgabe.Text:= 'Du hast noch ' + IntToStr(y) + ' Leben';
end;
Und falls es wirklich ein Label ist, dann verwende bitte die Eigenschaft LabelAusgabe.Caption , denn Text gibt es bei einem Label nicht.
  Mit Zitat antworten Zitat
Nashy

Registriert seit: 22. Nov 2014
14 Beiträge
 
#3

AW: Fehler: Inkompatible Typen: 'string' und 'Integer'

  Alt 29. Nov 2014, 09:59
Hallo,

Danke für deine schnelle Antwort!

Stimmt, das habe ich übersehen.

Mein Delphi zeigt kein Problem mit der Eigenschaft Label.Text.. es funktioniert auch (ich benutze dieses Label auch, um Richtig/Falsch anzeigen zu lassen und das Funktioniert auch wenn ich es ablaufen lasse problemlos.

Edit: Habe eben nach der Eigenschaft Caption geschaut, diese gibt es bei meinem Label nicht. (Fehler: TLabel enthält kein Element Namens Caption)

Geändert von Nashy (29. Nov 2014 um 10:03 Uhr)
  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
 
#4

AW: Fehler: Inkompatible Typen: 'string' und 'Integer'

  Alt 29. Nov 2014, 10:24
Ja, es wäre hilfreich, wenn man angibt mit welcher Delphi-Version und mit welchem Framework (VCL oder FMX) man arbeitet, denn da gibt es teils erhebliche Unterschiede.

Ach ja, wir können weder auf deinen Rechner noch in deinen Kopf schauen
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
Dejan Vu
(Gast)

n/a Beiträge
 
#5

AW: Fehler: Inkompatible Typen: 'string' und 'Integer'

  Alt 29. Nov 2014, 10:29
Ach, und ob 'LabelText' ein TLabel ist oder nicht, wäre vielleicht auch noch interessant. Nicht überall, wo Label draufsteht, ist auch Label drin.
  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
 
#6

AW: Fehler: Inkompatible Typen: 'string' und 'Integer'

  Alt 29. Nov 2014, 10:32
Ach, und ob 'LabelText' ein TLabel ist oder nicht, wäre vielleicht auch noch interessant. Nicht überall, wo Label draufsteht, ist auch Label drin.
Jupp, und dafür schuf man eine Dokumentation auf die man verweisen kann
Delphi-Referenz durchsuchenFMX.StdCtrls.TLabel oder Delphi-Referenz durchsuchenVCL.StdCtrls.TLabel
Im Zweifelsfall gibt man eben an, was man meint, dann wird es - seltsamerweise - klarer
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
Antwort Antwort

 

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 18:13 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz