FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Logiciel de planétarium.
[RÉSOLU] ITEM_READ arbitraire sur MEMO : un bug ? Emptypar Pedro Sam 23 Nov 2024 - 15:50

» Un autre pense-bête...
[RÉSOLU] ITEM_READ arbitraire sur MEMO : un bug ? Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
[RÉSOLU] ITEM_READ arbitraire sur MEMO : un bug ? Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
[RÉSOLU] ITEM_READ arbitraire sur MEMO : un bug ? Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
[RÉSOLU] ITEM_READ arbitraire sur MEMO : un bug ? Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
[RÉSOLU] ITEM_READ arbitraire sur MEMO : un bug ? Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
[RÉSOLU] ITEM_READ arbitraire sur MEMO : un bug ? Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
[RÉSOLU] ITEM_READ arbitraire sur MEMO : un bug ? Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
[RÉSOLU] ITEM_READ arbitraire sur MEMO : un bug ? Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
[RÉSOLU] ITEM_READ arbitraire sur MEMO : un bug ? Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
[RÉSOLU] ITEM_READ arbitraire sur MEMO : un bug ? Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
[RÉSOLU] ITEM_READ arbitraire sur MEMO : un bug ? Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
[RÉSOLU] ITEM_READ arbitraire sur MEMO : un bug ? Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
[RÉSOLU] ITEM_READ arbitraire sur MEMO : un bug ? Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
[RÉSOLU] ITEM_READ arbitraire sur MEMO : un bug ? Emptypar leclode Ven 20 Sep 2024 - 19:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier
Le Deal du moment :
Boutique Nike : -25% dès 50€ sur TOUT le ...
Voir le deal

 

 [RÉSOLU] ITEM_READ arbitraire sur MEMO : un bug ?

Aller en bas 
5 participants
AuteurMessage
Fredisland




Nombre de messages : 261
Date d'inscription : 30/03/2018

[RÉSOLU] ITEM_READ arbitraire sur MEMO : un bug ? Empty
MessageSujet: [RÉSOLU] ITEM_READ arbitraire sur MEMO : un bug ?   [RÉSOLU] ITEM_READ arbitraire sur MEMO : un bug ? EmptyDim 29 Avr 2018 - 21:30

J'ai du très lourd à vous soumettre !

Depuis 2 jours j'ai des bugs aléatoires dans mon code. Je dis bien ALÉATOIRES !!! Codeurs, ne rigolez pas, vous allez vite comprendre pourquoi et ça devrait aussi vous ouvrir bien des horizons sur des problèmes que vous n'avez peut-être jamais réussi à résoudre.

Je ne vous raconte pas la démarche pour en arriver là pour vous épargner la prise de tête. J'ai ainsi découvert que pour un MEMO, la fonction ITEM_READ$, qui permet de lire une ligne de ce mémo, est totalement dépendante de la largeur de ce mémo. Si par exemple vous faites un ITEM_ADD sur la ligne 1 du mémo, eh bien la chaîne lue ne sera pas celle correspondant au contenu de la ligne 1 (ce qui semblerait logique), mais à une chaîne arbitrairement tronquée en fonction de la largeur physique du mémo. Un truc de fou. Démonstration :

Code:
' Ci-dessous c'est juste pour centrer l'écran
 left 0,(screen_x/2)-(width(0)/2) : top 0,(screen_y/2)-(height(0)/2)

' Début de la démo du bug fou
memo 1 : top 1, 50
dim texte$

width 1,400
item_add 1,"1 - ceci est une très grande phrase pour réaliser cette démonstration"
item_add 1,"2 - ceci est une autres grande phrase pour réaliser cette démonstration"
item_add 1,"3 - allez une dernière très grande phrase pour réaliser cette démonstration"

texte$ = item_read$(1,1)
print texte$

message "Je viens d'imprimer la Ligne 1 du mémo." + chr$(13) + "Maintenant, je vais réduire la largeur du MEMO et de nouveau imprimer la ligne 1"
width 1,100
texte$ = item_read$(1,1)
print texte$

message "Vous avez vu le résultat ? La chaine est tronquée."
message "En gros, le numéro de ligne est dépendant de la largeur du MEMO." + chr$(13) + "Et la ligne 2 pour vous c'est laquelle : 'grande phrase...' ou '2 - ceci...' ?"
texte$ = item_read$(1,2)
print texte$

Quand j'ai enfin découvert ça, j'ai cru pleurer ! Et faut pas me dire que c'est un comportement voulu...


Dernière édition par Fredisland le Lun 30 Avr 2018 - 12:29, édité 2 fois
Revenir en haut Aller en bas
JL35




Nombre de messages : 7112
Localisation : 77
Date d'inscription : 29/11/2007

[RÉSOLU] ITEM_READ arbitraire sur MEMO : un bug ? Empty
MessageSujet: Re: [RÉSOLU] ITEM_READ arbitraire sur MEMO : un bug ?   [RÉSOLU] ITEM_READ arbitraire sur MEMO : un bug ? EmptyDim 29 Avr 2018 - 21:36

C'est bien connu que le contenu du Memo s'adapte à la largeur physique de ce Memo.
C'est à dire que si une une ligne est plus longue que le contenant, le surplus sera débordé constituera sur l'item suivant, et autres éventuellement.
Ça dépend de la longueur des lignes, de la t aille des caractères, etc., tout ce qui déborde va dans la ligne suivante et constitue un item à part.

Et donc, si on veut éviter ce phénomène, il faut dimensionner la largeur du Memo en conséquence, c'est vrai que c'est un peu aléatoire, mais c'est comme ça. Contrairement au List ou Dlist.

C'est vrai que ce n'est pas bien précisé dans la doc, mais comme tu vois (!) on s'en aperçoit très vite.


Dernière édition par JL35 le Dim 29 Avr 2018 - 21:40, édité 1 fois
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

[RÉSOLU] ITEM_READ arbitraire sur MEMO : un bug ? Empty
MessageSujet: Re: [RÉSOLU] ITEM_READ arbitraire sur MEMO : un bug ?   [RÉSOLU] ITEM_READ arbitraire sur MEMO : un bug ? EmptyDim 29 Avr 2018 - 21:39

Regarde cette version uniquement modifiée en ligne 5. Ca fonctionne normalement:
Code:
' Ci-dessous c'est juste pour centrer l'écran
 left 0,(screen_x/2)-(width(0)/2) : top 0,(screen_y/2)-(height(0)/2)

' Début de la démo du bug fou
memo 1 : top 1, 50 : bar_both 1
dim texte$

width 1,400
item_add 1,"1 - ceci est une très grande phrase pour réaliser cette démonstration"
item_add 1,"2 - ceci est une autres grande phrase pour réaliser cette démonstration"
item_add 1,"3 - allez une dernière très grande phrase pour réaliser cette démonstration"

texte$ = item_read$(1,1)
print texte$

message "Je viens d'imprimer la Ligne 1 du mémo." + chr$(13) + "Maintenant, je vais réduire la largeur du MEMO et de nouveau imprimer la ligne 1"
width 1,100
texte$ = item_read$(1,1)
print texte$

message "Vous avez vu le résultat ? La chaine est tronquée."
message "En gros, le numéro de ligne est dépendant de la largeur du MEMO." + chr$(13) + "Et la ligne 2 pour vous c'est laquelle : 'grande phrase...' ou '2 - ceci...' ?"
texte$ = item_read$(1,2)
print texte$

En fait, c'est normal. Le mémo, par défaut, fait un "word wrap", générant ainsi plusieurs lignes à l'a place d'une seule lorsque la ligne dépasse la largeur du mémo. Et ce sont de vraies nouvelles lignes, comme tu as pu le constater.

Mais, en ajoutant les scrollbars horizontales et verticales, ce comportement disparaît et tout rentre dans l'ordre. Donc, pas de panique - la solution est simple !
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
JL35




Nombre de messages : 7112
Localisation : 77
Date d'inscription : 29/11/2007

[RÉSOLU] ITEM_READ arbitraire sur MEMO : un bug ? Empty
MessageSujet: Re: [RÉSOLU] ITEM_READ arbitraire sur MEMO : un bug ?   [RÉSOLU] ITEM_READ arbitraire sur MEMO : un bug ? EmptyDim 29 Avr 2018 - 21:41

Klaus, c'est toi le meilleur, il fallait y penser !
En plus, les BAR_xxx sont réservées aux MEMOs !
Revenir en haut Aller en bas
Fredisland




Nombre de messages : 261
Date d'inscription : 30/03/2018

[RÉSOLU] ITEM_READ arbitraire sur MEMO : un bug ? Empty
MessageSujet: Re: [RÉSOLU] ITEM_READ arbitraire sur MEMO : un bug ?   [RÉSOLU] ITEM_READ arbitraire sur MEMO : un bug ? EmptyDim 29 Avr 2018 - 21:45

Klaus a écrit:
Mais, en ajoutant les scrollbars horizontales et verticales, ce comportement disparaît et tout rentre dans l'ordre. Donc, pas de panique - la solution est simple !

Tu viens de me sauver la vie. Je commençais à me faire un width MEMO, 10000  cyclops  !!!!
Et à propos de word wrap, à quand un ww sur synédit Wink
Revenir en haut Aller en bas
JL35




Nombre de messages : 7112
Localisation : 77
Date d'inscription : 29/11/2007

[RÉSOLU] ITEM_READ arbitraire sur MEMO : un bug ? Empty
MessageSujet: Re: [RÉSOLU] ITEM_READ arbitraire sur MEMO : un bug ?   [RÉSOLU] ITEM_READ arbitraire sur MEMO : un bug ? EmptyDim 29 Avr 2018 - 21:49

Et le BAR_HORIZONTAL marche même sur un MEMO caché (Hidden), là je découvre, moi qui prévoyais toujours de grandes largeurs, comme Fredisland...
Revenir en haut Aller en bas
Jean Claude

Jean Claude


Nombre de messages : 5950
Age : 70
Localisation : 83 Var
Date d'inscription : 07/05/2009

[RÉSOLU] ITEM_READ arbitraire sur MEMO : un bug ? Empty
MessageSujet: Re: [RÉSOLU] ITEM_READ arbitraire sur MEMO : un bug ?   [RÉSOLU] ITEM_READ arbitraire sur MEMO : un bug ? EmptyDim 29 Avr 2018 - 22:15

Je viens de découvrir le problème que j'avais avec les mémos en terme de programmation.

Merci à vous trois, je mets ce sujet dans ma réserve des sujets importants (pour moi) du forum.

A+
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

[RÉSOLU] ITEM_READ arbitraire sur MEMO : un bug ? Empty
MessageSujet: Re: [RÉSOLU] ITEM_READ arbitraire sur MEMO : un bug ?   [RÉSOLU] ITEM_READ arbitraire sur MEMO : un bug ? EmptyDim 29 Avr 2018 - 23:19

Euh... content si ça vous a servi à quelque chose... mais ça fait longtemps que ça fait partie des codes de mes programmes de démo, en particulier pour toutes les fonctions qui retournent des infos dans un mémo:
Code:
memo 17 : hide 17 : bar_both 17
res% = dll_callx("...fonction...",handle(17),...)
et le mémo 17 contient les infos choisies, une info par ligne, quelque soit sa longueur.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
silverman

silverman


Nombre de messages : 970
Age : 52
Localisation : Picardie
Date d'inscription : 18/03/2015

[RÉSOLU] ITEM_READ arbitraire sur MEMO : un bug ? Empty
MessageSujet: Re: [RÉSOLU] ITEM_READ arbitraire sur MEMO : un bug ?   [RÉSOLU] ITEM_READ arbitraire sur MEMO : un bug ? EmptyLun 30 Avr 2018 - 0:07

Ah oui, c'est une belle astuce, je me contentais de poser un 'width x,power(2,20)'
Revenir en haut Aller en bas
Contenu sponsorisé





[RÉSOLU] ITEM_READ arbitraire sur MEMO : un bug ? Empty
MessageSujet: Re: [RÉSOLU] ITEM_READ arbitraire sur MEMO : un bug ?   [RÉSOLU] ITEM_READ arbitraire sur MEMO : un bug ? Empty

Revenir en haut Aller en bas
 
[RÉSOLU] ITEM_READ arbitraire sur MEMO : un bug ?
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» un peu d'aide sur MEMO avec BAR_VERTICAL [RESOLU]
» Pour une coche "résolu" RESOLU
» MEMO ?
» [memo]
» Objet Memo.

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: A l'aide!-
Sauter vers: