Incompatible types: 'Integer' and 'String'

skrypterz Messages postés 19 Date d'inscription dimanche 12 décembre 2004 Statut Membre Dernière intervention 2 février 2006 - 31 déc. 2005 à 06:17
f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 - 31 déc. 2005 à 21:30
Salut a tous, Je commence je suis tous nouveau je scriptais le VB6 avant alors sa m'aide un peu je me fait un floodeur pour serveur ircX et il y a un bugg je ne sais pas comment faire voici mon code :

procedure TForm1.Button1Click(Sender: TObject);
var
Ip : String;
Port : String;
begin
if sock.Connected then
begin
Ip := TxtServ.Text;
Port := TxtPort.Text;
sock.Host := Ip;
sock.Port := Port;
sock.Connect;
end;
end;

Bon quand j'essaye d'ouvrire avec delphi sa marque en bas :
[Error] Unit1.pas(44): Incompatible types: 'Integer' and 'String'
[Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas'

J'ai essayer de mettre ma variable Integer mais sa fuck a une autre place quelqu'un aurais une idéée ?

SkrypterZ

5 réponses

jlen100 Messages postés 1606 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 25 juillet 2014 13
31 déc. 2005 à 08:14
salut,

port étant un numéro il suffit simplement de le déclaré en integer:

procedure TForm1.Button1Click(Sender: TObject);
var
Ip : String;
Port : Integer;
begin
if sock.Connected then
begin
Ip := TxtServ.Text;
Port := TxtPort.Text;
sock.Host := Ip;
sock.Port := Port;
sock.Connect;
end;
end;

bonne prog

@+

jlen
0
neodelphi Messages postés 442 Date d'inscription jeudi 4 avril 2002 Statut Membre Dernière intervention 11 août 2008
31 déc. 2005 à 10:39
et aussi Port := StrToInt(TxtPort.Text)

neodelphi
0
jlen100 Messages postés 1606 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 25 juillet 2014 13
31 déc. 2005 à 10:44
oui j'avais oublié la conversion!!

le compilateur ne devrait pas trop apprécier l'affectation:

Port := TxtPort.Text;(type incompatible integer et string)

@+

jlen
0
benalioua1975 Messages postés 93 Date d'inscription samedi 31 décembre 2005 Statut Membre Dernière intervention 26 juin 2013
31 déc. 2005 à 11:46
si vous trouver ce probleme dans une ligne

i:=t
ou i est integer et t un string vous pouver faire une conversion
par strtoint ou inttostr, dans la rubrique d'aide tapez strtoint puis voir aussi
exemple
i:=strtoint(t)
t:=inttostr(i)
bonne chance
0

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

Posez votre question
f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 35
31 déc. 2005 à 21:30
on essaye de ne pas utiliser de variables locale quand ce n'est pas necessaire...

const
PortParDefaut : integer = 7001;

procedure TForm1.Button1Click(Sender: TObject);
begin
with Sock do begin
if Connected then begin
Host := TxtServ.Text;
Port := StrToIntDef(TxtPort.Text,PortParDefaut);
Connect;
end;
end;
end;

<hr size="2" width="100%">La theorie c'est quand on sait tout, mais que rien ne fonctionne.
La pratique c'est quand tout fonctionne, mais que personne ne sait pourquoi.
<hr>
0
Rejoignez-nous