IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Pascal Discussion :

Chaînes de longueur supérieure à 255


Sujet :

Langage Pascal

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 18
    Points : 12
    Points
    12
    Par défaut Chaînes de longueur supérieure à 255
    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.

  2. #2
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 950
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 950
    Points : 5 667
    Points
    5 667
    Par défaut
    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.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 18
    Points : 12
    Points
    12
    Par défaut Ok OK OK
    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 !

  4. #4
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 950
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 950
    Points : 5 667
    Points
    5 667
    Par défaut
    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.

  5. #5
    Membre éprouvé
    Avatar de CapJack
    Homme Profil pro
    Prof, développeur amateur vaguement éclairé...
    Inscrit en
    Mars 2004
    Messages
    624
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Prof, développeur amateur vaguement éclairé...
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 624
    Points : 988
    Points
    988
    Par défaut
    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...

  6. #6
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 950
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 950
    Points : 5 667
    Points
    5 667
    Par défaut
    Lae,
    Citation Envoyé par CapJack
    C'est bigrement efficace, mais nécessite une gestion intégrée au compilateur...[/SIZE]
    Pas forcément, même si c'est plus simple ainsi.

    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 ?

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 18
    Points : 12
    Points
    12
    Par défaut désolé mais moi...
    là je ne comprends rien !

  8. #8
    Rédacteur/Modérateur
    Avatar de M.Dlb
    Inscrit en
    Avril 2002
    Messages
    2 465
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 465
    Points : 4 312
    Points
    4 312
    Par défaut
    Quel compilateur ustilises-tu déjà ?

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 18
    Points : 12
    Points
    12
    Par défaut j'utilise
    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.

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 18
    Points : 12
    Points
    12
    Par défaut Au pire...
    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

  11. #11
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    7 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 7 964
    Points : 59 678
    Points
    59 678
    Billets dans le blog
    2
    Par défaut
    Bonjour !

    Rien ne t'empêche d'utiliser un tableau de caractères :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Var Chaine : Array [0..1000] of Char;
    Comme déjà précisé, l'unité Strings contient des routines dédiées à la gestion de tels tableaux.

    Vois à ce sujet la FAQ : http://pascal.developpez.com/faq/?pa...-zero-terminal


  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 18
    Points : 12
    Points
    12
    Par défaut OK OK Ok
    Merci à toutes et tous !

  13. #13
    Membre éprouvé
    Avatar de CapJack
    Homme Profil pro
    Prof, développeur amateur vaguement éclairé...
    Inscrit en
    Mars 2004
    Messages
    624
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Prof, développeur amateur vaguement éclairé...
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 624
    Points : 988
    Points
    988
    Par défaut
    Citation Envoyé par droggo
    Lae,

    Pas forcément, même si c'est plus simple ainsi.

    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 ?
    On est bien d'accord, mais se retrouver à écrire un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    LongStrAssign(s1,LongStrConcat(LongStrConcat(s2,LongStrCreate(' - ')),s3));
    (j'ai pas oublié de parenthèses, là ?)

    au lieu de :

    Euh... ben... sans moi, quoi. J'empêche personne, hein ?

  14. #14
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 950
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 950
    Points : 5 667
    Points
    5 667
    Par défaut
    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.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [DATA] Longueur variable alpha-numérique supérieure à 255
    Par delph_le dans le forum SAS Base
    Réponses: 2
    Dernier message: 10/12/2012, 08h21
  2. Problème : varchar supérieur à 255
    Par seblo_scoqi dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 13/02/2007, 19h27
  3. [FLASH 8] Conversion de chaîne et longueur en pixel
    Par nounetmasque dans le forum Dynamique
    Réponses: 2
    Dernier message: 12/01/2007, 23h57
  4. Longueur champs supérieur à 255 car.
    Par floadd dans le forum Access
    Réponses: 3
    Dernier message: 31/08/2006, 08h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo