Novembre 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | Calendrier |
|
|
| Taille des chaines | |
| | Auteur | Message |
---|
Mumu
Nombre de messages : 176 Localisation : 45 Date d'inscription : 20/12/2012
| Sujet: Taille des chaines Mer 25 Juin 2014 - 15:43 | |
| Bonjour à toutes et à tous. Au détour d'un passage par Panoramic, Je me suis posé une question existentielle... Quelle est la taille maxi d'une chaine de caractères ? Apparemment, pour l’interpréteur, y'en a pas (ou du moins très élevée, j'ai pas eu la patience). Pour le compil j'arrive à 1439 car. Mais peut-être ma méthode n'est elle pas valide... J'ai cherché l'info dans la doc, mais je n'ai pas pu (ou pas su) la dénicher Voilà le code utilisé - Code:
-
dim a$ dim i
for i = 1 to 100000 : ' A partir de 1440 ça ne marche plus avec le compil a$ = a$ + "Z" print_locate 0,0 print i next i
print_locate 100,100 print mid$(a$,i-1,1) print len( a$)
end | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Taille des chaines Mer 25 Juin 2014 - 16:53 | |
| Salut Mumu J'ai fait quelques tests : Pour l'interpréteur, il semble qu'il n'y a pas de limites, tandis que pour le compilateur, je suis limité à 1350 caractères. code pour l'interpréteur - Code:
-
dim a$ a$ =string$(10000000,"a") : ' dix millions de caractères : c'est plus que trop mais ça marche! message len(a$)
| |
| | | Mumu
Nombre de messages : 176 Localisation : 45 Date d'inscription : 20/12/2012
| Sujet: Re: Taille des chaines Mer 25 Juin 2014 - 17:23 | |
| Hello Papydall Je constate qu'encore une fois j'ai cherché à faire simple...! Ton code est simplement meilleur que le mien.. Et Oh combien plus court... Et plus rapide... Pour l'interpréteur, j'arrive tout à fait à la même conclusion : Pas de limite. Pour le compil j'ai été obligé de le modifier car celui ci ne veut pas du message !!! j'obtiens invariablement le valeur 1422 pour len(a$) dès que j'utilise une valeur > 1423 car à 1423 on a bien un len à 1423 !!! - Code:
-
dim a$ a$ =string$(10000,"a") : ' dix millions de caractères : c'est plus que trop mais ça marche! print len(a$)
J'utilise la version 0.1 alpha 3 du 06 mai 2014 | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Taille des chaines Mer 25 Juin 2014 - 17:55 | |
| - Mumu a écrit:
- Pour le compil j'ai été obligé de le modifier car celui ci ne veut pas du message !!!
Pour le compilateur , change message len(a$) par message str$(len(a$)) et ça marchera ! | |
| | | Invité Invité
| Sujet: Re: Taille des chaines Mer 25 Juin 2014 - 20:18 | |
| J'ai fait l'essai, car pour pagiciel, j'avais voulu connaitre le nombre de caractère que l'on pouvait mettre dans un edit, et puis pour savoir ce qui l'en était pour la sauvegarde d'une ligne d'un memo. Pour le nombre de caractères, la seule limite à mon avis, est la limite mémoire. Par contre la sauvegarde d'un memo, une ligne ne peut avoir que 65535 caractères si je me souviens bien. J'ai fait l'essai comme vous avec le compilateur, et dans un edit, je n'arrive à mettre que 1364 caractères. Mais peut-être faut-il en ajouter un par un, car une grande chaine, c'est peut-être de trop. - Code:
-
dim a$ , b% , c$ width 0,screen_x edit 1:width 1,screen_x-50 c$ = string$(10000,"a") for b% = 1 to 10 text 1,text$(1)+ c$ next b% message str$(len(text$(1))) Mais alors là, c'est le comble: - Code:
-
dim a$ , b% width 0,screen_x edit 1:width 1,screen_x-50 for b% = 1 to 100000 text 1,text$(1)+ "a" next b% message str$(len(text$(1))) Il y a encore du travail! |
| | | Invité Invité
| Sujet: Re: Taille des chaines Jeu 26 Juin 2014 - 0:27 | |
| Je ne pensais pas revenir sur ce sujet, mais il y a un problème avec l'éditeur. J'ai un memo 10 qui est chargé d'un grand fichier html, ainsi qu'un edit 15. La partie programme concernée: - Code:
-
aa$ = "" if count(10) > 0 for a% = 1 to count(10) aa$ = aa$ + item_read$(10,a%) next a% text 15,aa$ :color 15,255,0,0 message str$(len(text$(15))) + chr$(13) + left$(text$(15),100) end_if Et bien je reçoit 109648 pour le nb d'octet de l'edit, et je vois le début de la chaine, mais l'EDIT est VIDE ???? Je ne comprend pas. Pour mon programme que je voie ou non le contenu de l'edit est sans importance, c'était un simple contrôle, mais je suis surpris du résultat. Je ne pense pourtant pas que dans du code html, il y ait un code visible qui puisse bloquer l'affichage. Il faudrait peut-être un chr$(0), mais c'est peu probable. |
| | | Contenu sponsorisé
| Sujet: Re: Taille des chaines | |
| |
| | | | Taille des chaines | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |