Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Fehler: Inkompatible Typen: 'string' und 'Integer' (https://www.delphipraxis.net/182955-fehler-inkompatible-typen-string-und-integer.html)

Nashy 29. Nov 2014 10:51

Fehler: Inkompatible Typen: 'string' und 'Integer'
 
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
Delphi-Quellcode:
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.. :roll:

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

Vielen Dank!

Aviator 29. Nov 2014 10:56

AW: Fehler: Inkompatible Typen: 'string' und 'Integer'
 
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
Delphi-Quellcode:
LabelAusgabe.Caption
, denn Text gibt es bei einem Label nicht. :wink:

Nashy 29. Nov 2014 10:59

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

Danke für deine schnelle Antwort!

Stimmt, das habe ich übersehen.:oops:

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)

Sir Rufo 29. Nov 2014 11:24

AW: Fehler: Inkompatible Typen: 'string' und 'Integer'
 
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

Dejan Vu 29. Nov 2014 11:29

AW: Fehler: Inkompatible Typen: 'string' und 'Integer'
 
Ach, und ob 'LabelText' ein TLabel ist oder nicht, wäre vielleicht auch noch interessant. Nicht überall, wo Label draufsteht, ist auch Label drin.

Sir Rufo 29. Nov 2014 11:32

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

Zitat von Dejan Vu (Beitrag 1281564)
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

OlafSt 29. Nov 2014 11:45

AW: Fehler: Inkompatible Typen: 'string' und 'Integer'
 
Och leute, nu gebt dem Anfänger doch mal ne Chance.

Ihr tut ja geradezu so, als müßte man mit dem ersten Öffnen eines Compilers (der ja offensichtlich noch reichlich unbekannt ist !) sofort alle Hintergrundinfos wissen, um in einem Forum Hilfe zu bekommen, ohne von oben herab behandelt zu werden.
Mit den geschätzten 3 Wochen Schul-Pascal in den Knochen (wir alle wissen, wie hoch das Niveau dann ist) hat man sowas jedenfalls nicht.

himitsu 29. Nov 2014 11:49

AW: Fehler: Inkompatible Typen: 'string' und 'Integer'
 
@Olaf: Es gibt aber auch nicht umsonst viele Grundlagentutorials und Dergleichen, oder stetzt man sich in der Fahrschule auch sofort ins Auto und fährt Richtung Autobahn?
Typen umwandeln muß man nicht nur in Delphi und grade bei Anfängern denkt man nicht sofort an ein aktuelles Delphi (D5, D7 :stipid:), wo es also schon praktisch wäre das man Dieses mit erwähnt.

Es ist zwar nicht schlimm sowas auch mal nicht zu wissen und zu fragen (jeder hat mal ein Brett vorm Kopf oder sieht den Wald vor lauter Bäumen nicht), aber es gibt auch einfache Wege umindestens die Grundlagen zu erfahren.

Nashy 29. Nov 2014 12:03

AW: Fehler: Inkompatible Typen: 'string' und 'Integer'
 
Entschuldigung. Ich wusste nicht, welche Informationen alles benötigt werden. Das Problem ist gelöst.
Ich benutze Delphi XE7 und Programmieren FXM.
Die Grundlagen haben wir in der Schule gelernt (unter anderem auch diese hier, aber ich hab mich leider nicht mehr daran erinnert).

himitsu 29. Nov 2014 12:15

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

Zitat von Nashy (Beitrag 1281570)
aber ich hab mich leider nicht mehr daran erinnert

In der Schule muß man eh zu viel lernen, da flutscht Unwichtiges halt schnell mal raus.

Schule und ein nagelneues XE7 ... Ist schon irgendwie cool und vom Gefühl her echt selten.
Darf man mal Fragen was das für eine Schule ist (die Art) und wie ihr da das Delphi bekommen habt? (selbstgekauft oder von denen gestellt bekommen, bzw. halt nur auf'm Schulrechner)

BadenPower 29. Nov 2014 13:17

AW: Fehler: Inkompatible Typen: 'string' und 'Integer'
 
Hallo zusammen
Zitat:

Zitat von himitsu (Beitrag 1281572)
Schule und ein nagelneues XE7 ... Ist schon irgendwie cool und vom Gefühl her echt selten.
Darf man mal Fragen was das für eine Schule ist (die Art) und wie ihr da das Delphi bekommen habt? (selbstgekauft oder von denen gestellt bekommen, bzw. halt nur auf'm Schulrechner)

Embarcadero Delphi XE7 Professional WIN (Schulversion - ESD/Download-Edition) dt./en.

Kosten: 118,00€

Enterprise für 348,00€ und Architect für 465,00€

Benötigt wird eine Kopie des Schülerausweis und eine Bestätigung der Schule, dass man Schüler ist.

Und dann kann jeder die Software für sich zu Hause in diversen Online-Shops bestellen.


Früher gab es das auch mit Rentnerausweis.

Nashy 29. Nov 2014 14:20

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

Schule und ein nagelneues XE7 ... Ist schon irgendwie cool und vom Gefühl her echt selten.
Darf man mal Fragen was das für eine Schule ist (die Art) und wie ihr da das Delphi bekommen habt? (selbstgekauft oder von denen gestellt bekommen, bzw. halt nur auf'm Schulrechner)
Wir sind ein Gymnasium und auf den Schulrechnern ist Delphi XE6 installiert, über die Schule haben wir Delphi 7 gestellt bekommen, aber da das ja komplett anders als XE6 ist bin ich damit leider überhaupt nicht klar gekommen. Deswegen hab ich mir die 30 Tage Testversion runtergeladen, und wenn es mir gefällt, werde ich es mir im Anschluss kaufen (die von BadenPower angesprochene Schulversion ist ja wirklich nicht teuer)

himitsu 29. Nov 2014 17:09

AW: Fehler: Inkompatible Typen: 'string' und 'Integer'
 
Es gibt ja teilweise auch Spezialangebote.
Auch von Schulversionen gibt/gab es Verschiedene und ob die Schule jtzt wirklich eine SSL benutzt, war ja so erstmal nicht direkt klar.

Rate mal was für eine Lizenz die Schulen benutzen, die jetzt immernoch Delphi 3 bis 7 im Einsatz haben und an die Schüler abgeben. :stupid:
siehe die öfters mal auftauchenden Fragen ala http://www.delphipraxis.net/182491-d...tallation.html
Es ist also schön zu hören, daß wirklich mal ein aktuelles Delphi in Schulen verwendet wird. :thumb:


Und vorallem bei den SSL muß man auch ein klein bissl was beachten, also bezüglich der Verteilbarkeit von erstellten Quellcodes und vorallem der Benutzbarkeit der erstellten Programme.
Denn die Programme dürfen ausschließlich zum Lernen und sonst für rein garnichts benutzt werden. (weitergeben und benutzen ist auserhalb des "Unterrichts" ptraktisch absolut verboten)
Fazit: Wenn du Programme entwickeln und vorallem auch "benutzten" willst, dann ist die SSL tabu, aber man könnte z.B. die Starter-Editionen verwenden.
Oder man schreibt an den Support und bittet gaaaanz lieb um einen Schlüssel für Turbo Delphi Explorer (wobei TDE/Delphi2006 nun auch schon wieder ein paar Jährchen alt ist)
Auch den Trialzeitraum kann man durch liebes Fragen verlängern.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:13 Uhr.

Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf