"Incompatible types :''Cardinal' and 'String' "

Don0Choa Messages postés 104 Date d'inscription dimanche 29 octobre 2000 Statut Membre Dernière intervention 12 décembre 2005 - 29 août 2002 à 20:53
Don0Choa Messages postés 104 Date d'inscription dimanche 29 octobre 2000 Statut Membre Dernière intervention 12 décembre 2005 - 30 août 2002 à 12:40
Bonjour, je fais un petit prog permettant de fair des boite de dialogue en séléctionnant les bouttons, icones etc...

Mais voila j'ai une erreur comem di le titre :
Incompatible types :''Cardinal' and 'String'

Je ne vois pas d'ou vient le problème, et dès que je change une chose, jai dotre message...voila ma source :

unit Unit1;

interface

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

type
TForm1 = class(TForm)
GroupBox1: TGroupBox;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
RadioButton3: TRadioButton;
RadioButton4: TRadioButton;
RadioButton5: TRadioButton;
RadioButton6: TRadioButton;
RadioButton7: TRadioButton;
RadioButton8: TRadioButton;
RadioButton9: TRadioButton;
RadioButton10: TRadioButton;
RadioButton11: TRadioButton;
bouton: TEdit;
GroupBox2: TGroupBox;
Edit1: TEdit;
Edit2: TEdit;
GroupBox3: TGroupBox;
Image1: TImage;
Image2: TImage;
Image3: TImage;
Image4: TImage;
RadioButton12: TRadioButton;
RadioButton13: TRadioButton;
RadioButton14: TRadioButton;
RadioButton15: TRadioButton;
dessin: TEdit;
Button1: TButton;
ComboBox1: TComboBox;
ComboBox2: TComboBox;
procedure RadioButton1Click(Sender: TObject);
procedure RadioButton2Click(Sender: TObject);
procedure RadioButton3Click(Sender: TObject);
procedure RadioButton4Click(Sender: TObject);
procedure RadioButton5Click(Sender: TObject);
procedure RadioButton6Click(Sender: TObject);
procedure RadioButton7Click(Sender: TObject);
procedure RadioButton8Click(Sender: TObject);
procedure RadioButton9Click(Sender: TObject);
procedure RadioButton10Click(Sender: TObject);
procedure RadioButton11Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure GroupBox3Click(Sender: TObject);
procedure RadioButton12Click(Sender: TObject);
procedure Im2Click(Sender: TObject);
procedure RadioButton13Click(Sender: TObject);
procedure RadioButton15Click(Sender: TObject);
procedure RadioButton14Click(Sender: TObject);
procedure boutonChange(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure ComboBox1Change(Sender: TObject);
procedure ComboBox2Change(Sender: TObject);
private
{ Private declarations }

public
{ Public declarations }
end;

var
Form1: TForm1;
Icone : String;
Boutton : String;
Titre : String;
Texte : String;


implementation

{$R *.dfm}

procedure TForm1.RadioButton1Click(Sender: TObject);
begin
ComboBox1.ItemIndex:=0
end;

procedure TForm1.RadioButton2Click(Sender: TObject);
begin
ComboBox1.ItemIndex:=1
end;

procedure TForm1.RadioButton3Click(Sender: TObject);
begin
ComboBox1.ItemIndex:=2
end;

procedure TForm1.RadioButton4Click(Sender: TObject);
begin
ComboBox1.ItemIndex:=3
end;

procedure TForm1.RadioButton5Click(Sender: TObject);
begin
ComboBox1.ItemIndex:=4
end;

procedure TForm1.RadioButton6Click(Sender: TObject);
begin
ComboBox1.ItemIndex:=5
end;

procedure TForm1.RadioButton7Click(Sender: TObject);
begin
ComboBox1.ItemIndex:=6
end;

procedure TForm1.RadioButton8Click(Sender: TObject);
begin
ComboBox1.ItemIndex:=8
end;

procedure TForm1.RadioButton9Click(Sender: TObject);
begin
ComboBox1.ItemIndex:=10
end;

procedure TForm1.RadioButton10Click(Sender: TObject);
begin
ComboBox1.ItemIndex:=12
end;

procedure TForm1.RadioButton11Click(Sender: TObject);
begin
ComboBox1.ItemIndex:=14
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
Messagebox(form1.handle,'Votre Message','Votre Titre',64 )
end;

procedure TForm1.GroupBox3Click(Sender: TObject);
begin
Bouton.Clear;
dessin.text:='0';
end;

procedure TForm1.RadioButton12Click(Sender: TObject);
begin
ComboBox2.ItemIndex:=16
end;

procedure TForm1.Im2Click(Sender: TObject);
begin
dessin.Clear;
dessin.text:='32';
end;

procedure TForm1.RadioButton13Click(Sender: TObject);
begin
dessin.Clear;
dessin.text:='32';
end;

procedure TForm1.RadioButton15Click(Sender: TObject);
begin
dessin.Clear;
dessin.text:='32'
end;

procedure TForm1.RadioButton14Click(Sender: TObject);
begin
dessin.Clear;
dessin.text:='32'
end;

procedure TForm1.boutonChange(Sender: TObject);
begin
case ComboBox1.ItemIndex of
0 : Boutton := '0';
1 : Boutton:='1';
2 : Boutton:='2' ;
3 : Boutton:='3' ;
4 : Boutton:='4' ;
5 : Boutton:='5' ;
6 : Boutton:='6' ;

8 : Boutton:='8' ;

10 : Boutton:='10' ;

12 : Boutton:='12' ;

14 : Boutton:='14';

end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
MessageBox(form1.handle,'texte','Titre', Icone+Boutton);
end;

procedure TForm1.ComboBox1Change(Sender: TObject);
begin
case ComboBox1.ItemIndex of
0 : Boutton := '0';
1 : Boutton:='1';
2 : Boutton:='2' ;
3 : Boutton:='3' ;
4 : Boutton:='4' ;
5 : Boutton:='5' ;
6 : Boutton:='6' ;

8 : Boutton:='8' ;

10 : Boutton:='10' ;

12 : Boutton:='12' ;

14 : Boutton:='14';

end;
end;

procedure TForm1.ComboBox2Change(Sender: TObject);
begin
case ComboBox2.ItemIndex of
0 : Icone := '16';
1 : Icone:='32';
2 : Icone:='48' ;
3 : Icone:='64' ;

end;
end;

end.

Il est pas tres propre mais bon....
Donc voila J'espère que qq1 pourra maider.

Merci

++

++

7 réponses

cs_Nono40 Messages postés 962 Date d'inscription mercredi 3 avril 2002 Statut Membre Dernière intervention 12 septembre 2006 2
30 août 2002 à 00:00
Il aurait été sympas de nous dire si l'erreur était à la compilation ou à l'exécution. Et sur quelle ligne Delphi te donnait l'erreur. Mais bon, pour moi la ligne MessageBox(form1.handle,'texte','Titre', Icone+Boutton); est fausse car Icone et Boutton sont de type string alors que MessageBox demande un paramètre de type Cardinal. Je pense qu'en fait tu voulais faire ceci :
MessageBox(form1.handle,'texte','Titre', StrToIntDef(Icone,0)+StrToIntDef(Boutton,0));

--- :sleepy) Nono du Moulin :sleepy) ---
0
Don0Choa Messages postés 104 Date d'inscription dimanche 29 octobre 2000 Statut Membre Dernière intervention 12 décembre 2005
30 août 2002 à 09:07
Ouais c'est bon , merci beaucoup

++
0
Don0Choa Messages postés 104 Date d'inscription dimanche 29 octobre 2000 Statut Membre Dernière intervention 12 décembre 2005
30 août 2002 à 09:50
J'ai encore une ptite question :
Comment jedois faire pour remplacer :

MessageBox(form1.handle,'Texte','Titre', StrToIntDef(Icone,0)+StrToIntDef(Boutton,0));

donc le texte et le titre par un Edit.Text ?

++
0
cs_Nono40 Messages postés 962 Date d'inscription mercredi 3 avril 2002 Statut Membre Dernière intervention 12 septembre 2006 2
30 août 2002 à 10:45
Pour répondre à la deuxième question :

procedure TForm1.Button1Click(Sender: TObject);
Var Texte,Titre:Array[0..255]Of Char;
begin
MessageBox(form1.handle,StrPCopy(Texte,Edit1.Text),StrPCopy(Titre,Edit2.Text), StrToIntDef(Icone,0)+StrToIntDef(Boutton,0))
end;

--- :sleepy) Nono du Moulin :sleepy) ---
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Don0Choa Messages postés 104 Date d'inscription dimanche 29 octobre 2000 Statut Membre Dernière intervention 12 décembre 2005
30 août 2002 à 11:33
ca mdi

"Variable 'Texte' is declared but never used in 'TForm1.boutonChange' "

:/

++
0
cs_Nono40 Messages postés 962 Date d'inscription mercredi 3 avril 2002 Statut Membre Dernière intervention 12 septembre 2006 2
30 août 2002 à 12:28
Peux-tu nous donner le source de TForm1.boutonChange ?

--- :sleepy) Nono du Moulin :sleepy) ---
0
Don0Choa Messages postés 104 Date d'inscription dimanche 29 octobre 2000 Statut Membre Dernière intervention 12 décembre 2005
30 août 2002 à 12:40
Ca marche :) j'avais oublié le VAR...

merci beaucoup
++
0
Rejoignez-nous