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

quentinix 100 Messages postés dimanche 15 février 2009Date d'inscription 29 février 2016 Dernière intervention - 14 nov. 2010 à 16:29 - 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
Utilisateur anonyme - 15 nov. 2010 à 09:53
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

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 69 internautes ce mois-ci

Commenter la réponse de Utilisateur anonyme
Utilisateur anonyme - 14 nov. 2010 à 16:46
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
quentinix 100 Messages postés dimanche 15 février 2009Date d'inscription 29 février 2016 Dernière intervention - 14 nov. 2010 à 16:54
0
Merci
le planteterre1 est un label
Commenter la réponse de quentinix
quentinix 100 Messages postés dimanche 15 février 2009Date d'inscription 29 février 2016 Dernière intervention - 14 nov. 2010 à 16:56
0
Merci
ou modifier le label en édit !
Commenter la réponse de quentinix
quentinix 100 Messages postés dimanche 15 février 2009Date d'inscription 29 février 2016 Dernière intervention - 14 nov. 2010 à 17:13
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
dubois77 691 Messages postés jeudi 17 avril 2008Date d'inscription 19 juin 2018 Dernière intervention - 14 nov. 2010 à 18:03
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
quentinix 100 Messages postés dimanche 15 février 2009Date d'inscription 29 février 2016 Dernière intervention - 14 nov. 2010 à 18:41
0
Merci
désoler je continurais demain soir
Commenter la réponse de quentinix
cs_marcotte 30 Messages postés dimanche 26 janvier 2003Date d'inscription 18 janvier 2011 Dernière intervention - 14 nov. 2010 à 19:45
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
cs_marcotte 30 Messages postés dimanche 26 janvier 2003Date d'inscription 18 janvier 2011 Dernière intervention - 14 nov. 2010 à 19:46
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
quentinix 100 Messages postés dimanche 15 février 2009Date d'inscription 29 février 2016 Dernière intervention - 15 nov. 2010 à 18:29
0
Merci
c'est bon merci pour vos conseil
Commenter la réponse de quentinix
quentinix 100 Messages postés dimanche 15 février 2009Date d'inscription 29 février 2016 Dernière intervention - 15 nov. 2010 à 18:29
0
Merci
c'est bon merci pour vos conseil
Commenter la réponse de quentinix
dubois77 691 Messages postés jeudi 17 avril 2008Date d'inscription 19 juin 2018 Dernière intervention - 16 nov. 2010 à 13:43
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
Utilisateur anonyme - 16 nov. 2010 à 14:22
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.