Aide au problème de type 'tlabel' et 'string' [Résolu]

Messages postés
100
Date d'inscription
dimanche 15 février 2009
Dernière intervention
29 février 2016
- - Dernière réponse :  Utilisateur anonyme - 16 nov. 2010 à 14:22
bonjour,
donc j'ai un problème de type il me marque : <<types incompatibles: 'tlabel' et 'string'>>.
voici une capture .
voici mon code en entier:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;

type
  TForm1 = class(TForm)
    boxargent: TGroupBox;
    boxrecommencer: TGroupBox;
    boxboutique: TGroupBox;
    boxchamp: TGroupBox;
    boxnotification: TGroupBox;
    euro: TLabel;
    logoeuro: TLabel;
    recommencer: TButton;
    textverification: TEdit;
    boutiqueterre1: TButton;
    boutiqueterre2: TButton;
    boutiqueterre3: TButton;
    boutiqueterre4: TButton;
    plante1: TButton;
    plante2: TButton;
    plante3: TButton;
    plante4: TButton;
    plante6: TButton;
    boutiqueterre5: TButton;
    notification: TLabel;
    plante5: TButton;
    notification2: TLabel;
    Timer1: TTimer;
    planteterre1: TLabel;
    planteterre2: TLabel;
    planteterre3: TLabel;
    planteterre4: TLabel;
    planteterre5: TLabel;
    planteterre6: TLabel;
    procedure textverificationChange(Sender: TObject);
    procedure recommencerClick(Sender: TObject);
    procedure boutiqueterre1Click(Sender: TObject);
    procedure boutiqueterre2Click(Sender: TObject);
    procedure boutiqueterre3Click(Sender: TObject);
    procedure boutiqueterre4Click(Sender: TObject);
    procedure boutiqueterre5Click(Sender: TObject);
    procedure plante1Click(Sender: TObject);
    procedure plante2Click(Sender: TObject);
    procedure plante3Click(Sender: TObject);
    procedure plante4Click(Sender: TObject);
    procedure plante5Click(Sender: TObject);
    procedure plante6Click(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
  private
    { Déclarations privées }
  public
    { Déclarations publiques }
  end;

var
  Form1: TForm1;
  bat, pta, ptb, ptc, ptd, pte, ptf: integer;
implementation

{$R *.dfm}


procedure TForm1.textverificationChange(Sender: TObject);
begin
if(textverification.Text = 'recommencer' )
then
begin
recommencer.Enabled:=true;
end
else
recommencer.Enabled:=false;
end;

procedure TForm1.recommencerClick(Sender: TObject);
begin
bat:=euro.HelpContext;
euro.Caption:=IntToStr(bat);
boutiqueterre1.Enabled:=true;
boutiqueterre2.Enabled:=true;
boutiqueterre3.Enabled:=true;
boutiqueterre4.Enabled:=true;
boutiqueterre5.Enabled:=true;
plante2.Enabled:=false;
plante3.Enabled:=false;
plante4.Enabled:=false;
plante5.Enabled:=false;
plante6.Enabled:=false;
textverification.Text:='';
notification2.Caption:=notification.Caption;
notification.Caption:='jeu recommencer';
end;

procedure TForm1.boutiqueterre1Click(Sender: TObject);
begin
if(euro.Caption >= '1')
then
begin
plante2.Enabled:=true;
bat:=bat-1;
euro.Caption:=IntToStr(bat);
boutiqueterre1.Enabled:=false;
notification2.Caption:=notification.Caption;
notification.Caption:='terre 2 débloquer';
end
else
notification2.Caption:=notification.Caption;
notification.Caption:='argent manquant';
end;

procedure TForm1.boutiqueterre2Click(Sender: TObject);
begin
if(euro.Caption >= '2')
then
begin
plante2.Enabled:=true;
bat:=bat-2;
euro.Caption:=IntToStr(bat);
boutiqueterre1.Enabled:=false;
notification2.Caption:=notification.Caption;
notification.Caption:='terre 3 débloquer';
end
else
notification2.Caption:=notification.Caption;
notification.Caption:='argent manquant';
end;

procedure TForm1.boutiqueterre3Click(Sender: TObject);
begin
if(euro.Caption >= '3')
then
begin
plante2.Enabled:=true;
bat:=bat-3;
euro.Caption:=IntToStr(bat);
boutiqueterre1.Enabled:=false;
notification2.Caption:=notification.Caption;
notification.Caption:='terre 4 débloquer';
end
else
notification2.Caption:=notification.Caption;
notification.Caption:='argent manquant';
end;

procedure TForm1.boutiqueterre4Click(Sender: TObject);
begin
if(euro.Caption >= '4')
then
begin
plante2.Enabled:=true;
bat:=bat-4;
euro.Caption:=IntToStr(bat);
boutiqueterre1.Enabled:=false;
notification2.Caption:=notification.Caption;
notification.Caption:='terre 5 débloquer';
end
else
notification2.Caption:=notification.Caption;
notification.Caption:='argent manquant';
end;

procedure TForm1.boutiqueterre5Click(Sender: TObject);
begin
if(euro.Caption >= '5')
then
begin
plante2.Enabled:=true;
bat:=bat-5;
euro.Caption:=IntToStr(bat);
boutiqueterre1.Enabled:=false;
notification2.Caption:=notification.Caption;
notification.Caption:='terre 6 débloquer';
end
else
notification2.Caption:=notification.Caption;
notification.Caption:='argent manquant';
end;

procedure TForm1.plante1Click(Sender: TObject);
begin
planteterre1.Caption:='8';
pta:=pta+8;
plante1.Enabled:=false;
end;

procedure TForm1.plante2Click(Sender: TObject);
begin
planteterre2.Caption:='8';
ptb:=ptb+8;
plante2.Enabled:=false;
end;

procedure TForm1.plante3Click(Sender: TObject);
begin
planteterre3.Caption:='8';
ptc:=ptc+8;
plante3.Enabled:=false;
end;

procedure TForm1.plante4Click(Sender: TObject);
begin
planteterre4.Caption:='8';
ptd:=ptd+8;
plante4.Enabled:=false;
end;

procedure TForm1.plante5Click(Sender: TObject);
begin
planteterre5.Caption:='8';
pte:=pte+8;
plante5.Enabled:=false;
end;

procedure TForm1.plante6Click(Sender: TObject);
begin
planteterre6.Caption:='8';
ptf:=ptf+8;
plante6.Enabled:=false;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
if(planteterre1.Caption <> 'rien')
then
begin
pta:=pta-1;
planteterre1:=IntToStr(pta);
end;

if(planteterre2.Caption <> 'rien')
then
begin
ptb:=ptb-1;
planteterre2:=IntToStr(ptb);
end;

if(planteterre3.Caption <> 'rien')
then
begin
ptc:=ptc-1;
planteterre3:=IntToStr(ptc);
end;

if(planteterre4.Caption <> 'rien')
then
begin
ptd:=ptd-1;
planteterre4:=IntToStr(ptd);
end;

if(planteterre5.Caption <> 'rien')
then
begin
pte:=pte-1;
planteterre5:=IntToStr(pte);
end;

if(planteterre6.Caption <> 'rien')
then
begin
ptf:=ptf-1;
planteterre6:=IntToStr(ptf);
end;

end;
end.


merci pour toutes réponse.
Afficher la suite 

Votre réponse

13 réponses

Meilleure réponse
3
Merci
le planteterre1 est un label
Ouep j'ai confondu avec un TEdit (Ca m'apprendra à pas ouvrir l'IDE).

Par contre deux remarques :

*Quand on te donne une réponse : décortique là .

La réponse t'a été donné içi :

Le compilateur te dit qu'un TLabel n'est pas une string. Un TLabel est un objet admettant différentes propriétés alors qu'une string est un tableau de caractère.


Un TLabel est un objet qui admet les propriétés suivantes :

Action
Align
Alignment
Anchors
AutoSize
BiDiMode
BoundsRect
Canvas
Caption
ClientHeight
ClientOrigin
ClientRect
ClientWidth
Color
ComObject
ComponentCount
ComponentIndex
Components
ComponentState
ComponentStyle
Constraints
ControlState
ControlStyle
Cursor
DesignInfo
DockOrientation
DragCursor
DragKind
DragMode
Enabled
Floating
FloatingDockSiteClass
FocusControl
Font
Height
HelpContext
HelpKeyword
HelpType
Hint
HostDockSite
Layout
Left
LRDockWidth
Name
Owner
Parent
ParentBiDiMode
ParentColor
ParentFont
ParentShowHint
PopupMenu
ShowAccelChar
ShowHint
Tag
TBDockHeight
Top
Transparent
UndockHeight
UndockWidth
VCLComObject
Visible
Width
WindowProc
WordWrap

Comment veux tu qu'un objet qui admet toutes ces propriétés puissent correspondre à un texte (String=Chaine de caractères) ?

*Merci de cliquer sur Réponse Acceptée pour valider la réponse qui a répondu à ta question

Merci Utilisateur anonyme 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 103 internautes ce mois-ci

Commenter la réponse de Utilisateur anonyme
0
Merci
Salut

Ca me semble évident : le compilateur te dit qu'un TLabel n'est pas une string. Un TLabel est un objet admettant différentes propriétés alors qu'une string est un tableau de caractère.

planteterre1.Text:=IntToStr(pta)
Commenter la réponse de Utilisateur anonyme
Messages postés
100
Date d'inscription
dimanche 15 février 2009
Dernière intervention
29 février 2016
0
Merci
le planteterre1 est un label
Commenter la réponse de quentinix
Messages postés
100
Date d'inscription
dimanche 15 février 2009
Dernière intervention
29 février 2016
0
Merci
ou modifier le label en édit !
Commenter la réponse de quentinix
Messages postés
100
Date d'inscription
dimanche 15 février 2009
Dernière intervention
29 février 2016
0
Merci
non si je change en édit il y aura l'érreur "types incompatibles: 'tédit' et 'string'".
Commenter la réponse de quentinix
Messages postés
692
Date d'inscription
jeudi 17 avril 2008
Dernière intervention
14 septembre 2018
0
Merci
Bonjour

dans les codes identiques à celui la :
if(planteterre6.Caption <> 'rien')
then
begin
ptf:=ptf-1;
planteterre6:=IntToStr(ptf);
end;


il faut de toute façon ecrire : planteterre6.caption:=IntToStr(ptf);
pour que ça marche
après on verra !

Dubois77
Commenter la réponse de dubois77
Messages postés
100
Date d'inscription
dimanche 15 février 2009
Dernière intervention
29 février 2016
0
Merci
désoler je continurais demain soir
Commenter la réponse de quentinix
Messages postés
30
Date d'inscription
dimanche 26 janvier 2003
Dernière intervention
18 janvier 2011
0
Merci
Quand on a un probleme de ce type-là, c'est souvent parce qu'on essaie d'affecter un Tstring au contenu d'un label ou vice-versa, donc vérifie que tu fais bien :
procedure TForm1.Timer1Timer(Sender: TObject);
begin
if(planteterre1.Caption <> 'rien')then
begin
pta:=pta-1;
planteterre1.caption:=IntToStr(pta);
end;

Et enlève la majuscule à planteterre.Caption !

marcotte
Amateur passionné de programmation jeux vidéos 2D et texte (0D ? lol)
Commenter la réponse de cs_marcotte
Messages postés
30
Date d'inscription
dimanche 26 janvier 2003
Dernière intervention
18 janvier 2011
0
Merci
Ah mince j'avais pas vu que Dubois avait répondu ;)


marcotte
Amateur passionné de programmation jeux vidéos 2D et texte (0D ? lol)
Commenter la réponse de cs_marcotte
Messages postés
100
Date d'inscription
dimanche 15 février 2009
Dernière intervention
29 février 2016
0
Merci
c'est bon merci pour vos conseil
Commenter la réponse de quentinix
Messages postés
100
Date d'inscription
dimanche 15 février 2009
Dernière intervention
29 février 2016
0
Merci
c'est bon merci pour vos conseil
Commenter la réponse de quentinix
Messages postés
692
Date d'inscription
jeudi 17 avril 2008
Dernière intervention
14 septembre 2018
0
Merci
Salut
j'en remet une petite couche !
Eric tu t'en sort bien sur ce coup là ! bigre c'est ta réponse qui à gagné le cocotier !
cordialement
Dubois77
Commenter la réponse de dubois77
0
Merci
Ah ben j'ai rien demandé : A sa place j'aurais validé ta réponse (La propriété text n'existe pas pour le TLabel).
Commenter la réponse de Utilisateur anonyme

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.