Bonjour à toutes et à tous,
J'ai une petite question sur le type Text. Marhe-t-il comme le type string; je m'explique : est ce que les commandes insert et copy marchent encore sur ce type.
Bonjour à toutes et à tous,
J'ai une petite question sur le type Text. Marhe-t-il comme le type string; je m'explique : est ce que les commandes insert et copy marchent encore sur ce type.
Hie,
Text concerne les fichiers en texte.
Pour ta question sur insert et copy, un petit test t'aurait depuis longtemps donné la réponse.
Jai !
Ok je change ma question : est-il possible de créer des variables de type string non limitées au nombre standard de caratères (du genre : je veux du string limité à 1000 caractères au lieu des 255 graieusement donnés par le type string basique.)
merci d'avance !
Lai,
Cela n'existe pas dans Turbo Pascal, mais est disponible dans Delphi, FreePascal, et d'autres sans doute (en clair, les compilateurs pas trop vieux... ).
Mais rien ne t'empêche de le faire dans Turbo Pascal en définissant toi-même ton type et toute sa gestion.
Si tu te lances, bon courage.
Tout dépend aussi de ce que tu veux faire... sans aller jusqu'au système intelligent de Delphi (1), tu peux déjà utiliser les chaînes à zéro terminal du langage C, avec l'unité STRINGS !
(1) Delphi utilise un système très bien pensé, dans lequel le type string est un pointeur vers une structure de type record, contenant elle-même (a) le pointeur vers la "vraie chaîne" (allouée sur le tas et complétée par un zéro pour faciliter le transtypage en chaîne azt), (b) sa longueur et (c) un compteur de référence qui est incrémenté à chaque fois que la chaîne est référencée par une nouvelle variable ou un nouvelle propriété, et décrémentée quand cette référence disparaît. C'est bigrement efficace, mais nécessite une gestion intégrée au compilateur...
Lae,
Pas forcément, même si c'est plus simple ainsi.Envoyé par CapJack
Mais rien n'empêche d'implémenter ce fonctionnement sans intégration directe dans le compilateur.
Bien entendu, cela exige de toujours utiliser les fonctions / procédures qui auront été créées à cette occasion, mais ça tombe sous le sens, n'est-ce pas ?
là je ne comprends rien !
Quel compilateur ustilises-tu déjà ?
turbo pascal.
Bon, est-ce que sous turbo il n'y a pas un type sympa, un peu analogue au string permettant plus de 255 caracteres.
Au pire, j'ai une solution à la con : je fragmente le message en entrée en sous messages de 255 caractères. Très chiant mais pourquoi pas ? Si il n'y a rien d'autre
Bonjour !
Rien ne t'empêche d'utiliser un tableau de caractères :
Comme déjà précisé, l'unité Strings contient des routines dédiées à la gestion de tels tableaux.
Code : Sélectionner tout - Visualiser dans une fenêtre à part Var Chaine : Array [0..1000] of Char;
Vois à ce sujet la FAQ : http://pascal.developpez.com/faq/?pa...-zero-terminal
On est bien d'accord, mais se retrouver à écrire un truc du genre :Envoyé par droggo
(j'ai pas oublié de parenthèses, là ?)
Code : Sélectionner tout - Visualiser dans une fenêtre à part LongStrAssign(s1,LongStrConcat(LongStrConcat(s2,LongStrCreate(' - ')),s3));
au lieu de :
Euh... ben... sans moi, quoi. J'empêche personne, hein ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part s1 := s2 + ' - ' + s3;
Sia,
Je suis d'accord avec toi, bien entendu.
D'ailleurs, j'ai de la peine à comprendre pourquoi encore utiliser cet ancêtre TP plutôt que des compilateurs plus récents, qui, entre autres, permettent au moins de faire des applications 32 bits.
A l'heure où les 64 bits commencent à dominer les ventes, il est tout de même temps, non ?
Dommage qu'il n'existe pas de TP version 4 bits, ce serait fun et classe de le conseiller.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager