[turbo pascal] type mismatch

type mismatch [turbo pascal] - Programmation

Marsh Posté le 22-02-2001 à 12:38:50    

je saisi une chaine de caractère x
le regarde la longueur de la chaine avec lenght(x)
 
mais quand je fais  
z:=lenght(x)/2;  
j'ai l'erreur 'type mismatch'
 
comment se fait-ce?

Reply

Marsh Posté le 22-02-2001 à 12:38:50   

Reply

Marsh Posté le 22-02-2001 à 12:45:19    

Pas fait de pascal depuis un bail, c'est pas un flottant, le resultat de ta division? d'ou le pb pour assigner ca a un entier (pas de conversion automatique en Pascal? ouh la, c'est loin tout ca).
Pour diviser par 2 il y a peut etre un operateur div, a resultat entier (loin tout ca) ou alors, fait un decalage de bits d'un cran.
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 22-02-2001 à 13:16:19    

non, je verifie d'abord la parité de ma chaine, et si elle est impaire, je lui ajoute 1 pour qu'elle le devienne.

Reply

Marsh Posté le 22-02-2001 à 13:31:41    

Oui mais ça Pascal s'en fout qu'elle soit paire. Pour lui une division "/" de 2 entiers donne un flottant.
Faut faire une division entière, avec "div"(enfin si je me souviens bien)

Reply

Marsh Posté le 22-02-2001 à 13:32:55    

donc si je mets z en real et non en integer ca devrait marcher!

Reply

Marsh Posté le 22-02-2001 à 13:34:57    

Ca dépend aussi de ce que tu fais avec z après.
Tu peux aussi faire:
z:=length(x) div 2;

Reply

Marsh Posté le 22-02-2001 à 14:23:27    

oui, je peux aussi :)
 
bah Z devient la longueur de mon prochain tableau!

Reply

Marsh Posté le 22-02-2001 à 14:24:00    

j'ai oublié de dire merci  :jap:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed