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

Turbo Pascal Discussion :

Longueur maximale d'une chaîne de caractères [TPW]


Sujet :

Turbo Pascal

  1. #1
    Membre du Club

    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2014
    Messages : 21
    Points : 45
    Points
    45
    Par défaut Longueur maximale d'une chaîne de caractères
    Salut.
    Normalement, en théorie, le type String en Pascal a une taille maximale de 255 caractères.
    Mais à l'étape de l'exécution, Pascal n accepte que 126 caractères.
    Qui a une méthode pour que je puisse lire 255 caractères ?

  2. #2
    Membre éprouvé
    Avatar de EpiTouille
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2009
    Messages
    372
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2009
    Messages : 372
    Points : 917
    Points
    917
    Par défaut
    Bonjour,

    Dans la doc et accessoirement chez moi et accessoirement avec un compilateur en ligne, je n'ai aucun problème pour lire 255 caractères : http://ideone.com/kl8rPk

    Peut-on voir le code en question ?

    On peut essayer d'ajouter des crochets après le type s : String[255];Es-tu sûr que les caractères que tu lis font bien la taille d'un octet ?

  3. #3
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 430
    Points
    28 430
    Par défaut
    Citation Envoyé par metouia7 Voir le message
    salut.
    Normalement en théorique le type String en pascal à un maximum taille 255 caractères
    mais à l étape de l exécution pascal n accepte que 126 caractères
    qui à une méthode pour que je puisse lire 255 caractères
    quel Pascal ?

    sous Delphi le type string est passé à 2Go depuis un moment déjà
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  4. #4
    Membre du Club

    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2014
    Messages : 21
    Points : 45
    Points
    45
    Par défaut
    bon je travail avec turbo pascal 7
    même si avec string[255] au moment de l exécution il n 'accepte que 126 caractères.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    program test;
    uses wincrt;
    var chaine:string[255];
    begin
    readln(chaine);
    writeln(length(chaine));
    end.

  5. #5
    Modérateur
    Avatar de l_autodidacte
    Homme Profil pro
    Retraité : Directeur de lycée/Professeur de sciences physiques
    Inscrit en
    Juillet 2009
    Messages
    2 415
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Retraité : Directeur de lycée/Professeur de sciences physiques
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 2 415
    Points : 5 806
    Points
    5 806
    Par défaut
    Dans la fenêtre d'exécution, c'est vrai que la longueur maximale ne peut pas dépasser les 126 caractères bien que dans l'aide de l'EDI on parle de 255 caractères possibles pour une chaine.
    Mais pour la lecture d'une chaine à partir d'un fichier, c'est autre chose : la longueur maximale est bien 255 caractères même si la longueur réelle dépasse cette valeur.
    Voici un exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    program test;
    uses wincrt;
    var chaine:string[255];
    begin
    chaine:='oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo';
    chaine:=chaine +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo';
    chaine:=chaine+'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo';
    writeln(length(chaine));     {longueur réelle : 332 caractères}
    end.
    Déjà dans la fenêtre d'édition, on ne peut pas dépasser les 126 caractères(même chose que pour la fenêtre d'exécution).
    Ne pas oublier le tag si satisfait.
    Voter pour toute réponse satisfaisante avec pour encourager les intervenants.
    Balises CODE indispensables. Regardez ICI
    Toujours utiliser la clause Option Explicit(VBx, VBS ou VBA) et Ne jamais typer variables et/ou fonctions en VBS.
    Vous pouvez consulter mes contributions
    Ne pas oublier de consulter les différentes FAQs et les Cours/Tutoriels VB6/VBScript
    Ne pas oublier L'Aide VBScript et MSDN VB6 Fr

  6. #6
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 430
    Points
    28 430
    Par défaut
    WinCrt ? c'est du Turbo Pascal pour Windows ?
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  7. #7
    Modérateur
    Avatar de l_autodidacte
    Homme Profil pro
    Retraité : Directeur de lycée/Professeur de sciences physiques
    Inscrit en
    Juillet 2009
    Messages
    2 415
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Retraité : Directeur de lycée/Professeur de sciences physiques
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 2 415
    Points : 5 806
    Points
    5 806
    Par défaut
    WinCrt ? c'est du Turbo Pascal pour Windows ?
    Tout à fait, mais je n'ai fait que reprendre le code qu'il a soumis en le modifiant pour arriver à afficher la valeur 255.
    Ne pas oublier le tag si satisfait.
    Voter pour toute réponse satisfaisante avec pour encourager les intervenants.
    Balises CODE indispensables. Regardez ICI
    Toujours utiliser la clause Option Explicit(VBx, VBS ou VBA) et Ne jamais typer variables et/ou fonctions en VBS.
    Vous pouvez consulter mes contributions
    Ne pas oublier de consulter les différentes FAQs et les Cours/Tutoriels VB6/VBScript
    Ne pas oublier L'Aide VBScript et MSDN VB6 Fr

  8. #8
    Membre expert
    Avatar de e-ric
    Homme Profil pro
    Apprenti chat, bienfaiteur de tritons et autres bestioles
    Inscrit en
    Mars 2002
    Messages
    1 552
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Apprenti chat, bienfaiteur de tritons et autres bestioles

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 552
    Points : 3 918
    Points
    3 918
    Par défaut
    Salut à tous

    Il me semble que dans TP, par défaut la taille du buffer pour les E/S est de 127 octets. Pour les fichiers, il est possible de la modifier avec Reset, pour ce qui est de l'entrée standard, je sèche un peu.

    Si tu as besoin de travailler avec des taille de tampon plus importante, il y a les TFileStream mais il faut passer à FP.

    Cdlt

    M E N S . A G I T A T . M O L E M
    Debian 64bit, Lazarus + FPC -> n'oubliez pas de consulter les FAQ Delphi et Pascal ainsi que les cours et tutoriels Delphi et Pascal

    "La théorie, c'est quand on sait tout, mais que rien ne marche. La pratique, c'est quand tout marche, mais qu'on ne sait pas pourquoi. En informatique, la théorie et la pratique sont réunies: rien ne marche et on ne sait pas pourquoi!".
    Mais Emmanuel Kant disait aussi : "La théorie sans la pratique est inutile, la pratique sans la théorie est aveugle."

  9. #9
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut




    Bonjour,

    en TP il y a aussi la lecture / écriture par bloc (voir BLOCKREAD et BLOCKWRITE) en utilisant une variable ARRAY OF CHAR
    (déjà testé avec des blocs de 8192 caractères) …


    _____________________________________________________________________________________________________
    Je suis Charlie, Bardo, Sousse
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

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

Discussions similaires

  1. Vérifier la longueur d'une chaîne de caractère
    Par Santcho dans le forum Langage
    Réponses: 4
    Dernier message: 14/06/2010, 17h29
  2. Réponses: 1
    Dernier message: 30/04/2007, 15h33
  3. Limiter la longueur d'une chaîne de caractères
    Par stars333 dans le forum Langage
    Réponses: 5
    Dernier message: 28/03/2007, 23h34
  4. Réponses: 2
    Dernier message: 11/07/2006, 14h52

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