Evolution de codes source obsolètes
Evolution de codes source obsolètes
Bonjour,
Je découvre PureBasic en devant modifier du code (datant de 2004 et que je n'ai pas écrit) et me heurte à un problème de compatibilité ascendante après chargement de la version 4.20.
Il s'agit de certaines variables purebasic ( comme #PB_EventGadget, ou #PB_EventCloseWindow ) et de fonctions ( comme EventGadgetID() )
Je me trouve donc un peu perdu et aimerais trouver de l'aide auprès de développeurs ayant connu ces fonctions et variables obsolètes.
Merci à qui me sortira de cet embarras.
Cordialement,
Danydoc
Je découvre PureBasic en devant modifier du code (datant de 2004 et que je n'ai pas écrit) et me heurte à un problème de compatibilité ascendante après chargement de la version 4.20.
Il s'agit de certaines variables purebasic ( comme #PB_EventGadget, ou #PB_EventCloseWindow ) et de fonctions ( comme EventGadgetID() )
Je me trouve donc un peu perdu et aimerais trouver de l'aide auprès de développeurs ayant connu ces fonctions et variables obsolètes.
Merci à qui me sortira de cet embarras.
Cordialement,
Danydoc
tu peux utiliser un prg qui s'appelleriot
PBSourceConverter
il va pouvoir te convertir la plupart des codes en code version 4.00
vas voir ici :
http://www.purearea.net/pb/showcase/show.php?id=334
PBSourceConverter
il va pouvoir te convertir la plupart des codes en code version 4.00

vas voir ici :
http://www.purearea.net/pb/showcase/show.php?id=334
Bonne suggestion Dobro , je n'y pensais plus à celui là.
Sinon tu peux aussi ouvrir ton fichier aide , et dans la page historique, tu vas à cette date 8 Mai 2006 : Version 4.00
Tu trouveras cette phrase
Sinon tu peux aussi ouvrir ton fichier aide , et dans la page historique, tu vas à cette date 8 Mai 2006 : Version 4.00
Tu trouveras cette phrase
Tu n'auras plus qu'à cliquer sur le mot ici pour avoir le détail des changements entre la version 3.94 et les versions 4.xComme PureBasic 4 est une mise à jour très conséquente aussi bien en terme de nouveautés que de changements, un document résumant toutes les modifications effectuées sur les bibliothèques depuis la dernière version stable est disponible ici.
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Evolution de codes source obsolètes
Merci Dobro pour ce conseil de conversion : ça marche !
Merci à Comtois pour cet accès aux modifs du 8 mai06 ; mais je n'y ai pas trouvé ce que je cherchais sur le traitement des chaines de caractères.
Merci à Octavius pour cette proposition d'aide par envoi du code pour correction. C'est un peu ce qui me tente maintenant que je tourne en rond dans ma recherche.
Merci enfin à Stefou pour son conseil, immédiatement appliqué, d'install de JapBe.
Voici la section de code dont le comportement a changé :
NoLigne.l = 0 : Ligne.s = ""
Repeat
NoLigne = NoLigne +1
Ligne = Ligne + ReadString(0) +Chr(13) + Chr(10)
MessageRequester("Lecture Message : ", "ligne :" + Str(NoLigne) + " " + Ligne, #PB_MessageRequester_Ok) ; mode debug
Until NoLigne = 10
SetGadgetText(#Texte_10x32, Ligne)
CloseFile(0)
Le fichier texte lu est toujours composé de 10 lignes de 32 caractères.
La version précédente les affiche correctement dans la fenêtre nommée "#Texte_10x32"
La version actuelle n'affiche plus que la première ligne.
Pourtant MessageRequester montre bien une concaténation des lignes lues.
Tout se passe comme si qqe chose était changée dans la définition d'une chaine...
Bonne fin de journée à ts 4
Bien cordialement,
Danydoc
Merci à Comtois pour cet accès aux modifs du 8 mai06 ; mais je n'y ai pas trouvé ce que je cherchais sur le traitement des chaines de caractères.
Merci à Octavius pour cette proposition d'aide par envoi du code pour correction. C'est un peu ce qui me tente maintenant que je tourne en rond dans ma recherche.
Merci enfin à Stefou pour son conseil, immédiatement appliqué, d'install de JapBe.
Voici la section de code dont le comportement a changé :
NoLigne.l = 0 : Ligne.s = ""
Repeat
NoLigne = NoLigne +1
Ligne = Ligne + ReadString(0) +Chr(13) + Chr(10)
MessageRequester("Lecture Message : ", "ligne :" + Str(NoLigne) + " " + Ligne, #PB_MessageRequester_Ok) ; mode debug
Until NoLigne = 10
SetGadgetText(#Texte_10x32, Ligne)
CloseFile(0)
Le fichier texte lu est toujours composé de 10 lignes de 32 caractères.
La version précédente les affiche correctement dans la fenêtre nommée "#Texte_10x32"
La version actuelle n'affiche plus que la première ligne.
Pourtant MessageRequester montre bien une concaténation des lignes lues.
Tout se passe comme si qqe chose était changée dans la définition d'une chaine...
Bonne fin de journée à ts 4
Bien cordialement,
Danydoc
C'est un StringGadget ton #Texte_10x32 ?
Si c'est le cas , remplace le par un editorGadget()
Si c'est le cas , remplace le par un editorGadget()
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
#Texte_10x32 est effectivement un StringGadget !comtois a écrit : C'est un StringGadget ton #Texte_10x32 ?
Si c'est le cas , remplace le par un editorGadget()
Listé dans une section "Enumération", ses paramètres sont définis au sein d'une Procédure. Son remplacement par EditorGadget (dans lequel j'ai mis l'option de lecture seule) supprime le problème et l'exécutable retrouve le comportement connu de l'ancien code.
C'est une chance qu'aucune option de StringGadget n'ait été utilisée par #Texte_10x32, car ce remplacement n'aurait pas été envisageable.
Merci bien, Comtois, pour cette solution.
Votre compétence me permet d'espérer une explication, car d'autres applis ont été développées par la même personne et j'aurai sans nul doute le même problème ailleurs.
Bonne soirée et merci encore.
Cordialement,
Danydoc.
L'explication se trouve là où je te l'avais indiqué précédemment 
Dans la page historique tu verras ce changement entre la version 3.94 et les versions supérieures :

Dans la page historique tu verras ce changement entre la version 3.94 et les versions supérieures :
En clair, à chaque fois que tu verras un StringGadget() utilisant cette possibilité ,tu pourras le remplacer par un EditorGadget()- Supprimé: #PB_String_MultiLine
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Evolution de codes source obsolètes
Bonsoir Comtois,
Je n'ai pas trouvé en première lecture "#PB_String_MultiLine" dans les suppressions entrainées par le passage à la version 4.20
J'ai donc fait un copier-coller de tout l'historique dans Word pour y faire une recherche exhaustive... qui n'a rien donné comme résultat.
D'où peut venir cette contradiction?
Cordialement,
Danydoc.
Je n'ai pas trouvé en première lecture "#PB_String_MultiLine" dans les suppressions entrainées par le passage à la version 4.20
J'ai donc fait un copier-coller de tout l'historique dans Word pour y faire une recherche exhaustive... qui n'a rien donné comme résultat.
D'où peut venir cette contradiction?
Cordialement,
Danydoc.
toujours au même endroit !
Cherche ce passage dans l'historique, et tu cliques sur le mot 'ici'
Cherche ce passage dans l'historique, et tu cliques sur le mot 'ici'
8 Mai 2006 : Version 4.00
Comme PureBasic 4 est une mise à jour très conséquente aussi bien en terme de nouveautés que de changements, un document résumant toutes les modifications effectuées sur les bibliothèques depuis la dernière version stable est disponible ici.
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Evolution de codes source obsolètes
[quote="comtois"]toujours au même endroit !
Cherche ce passage dans l'historique, et tu cliques sur le mot 'ici'
[quote]8 Mai 2006 : Version 4.00
Bonjour Comtois,
Merci, j'ai bien trouvé dans la liste des modifications la suppression de #PB_String_MultiLine. C'est sans doute le type pris par ma variable #PB_Texte_10x32 avec les ascii 13 et 10 qui l'affectent.
Je pense que dans les autres codes où figure StringGadget(), je n'aurai pas nécessairement besoin de faire son remplacement par EditorGadget().
Merci à vous tous pour votre aide, plus encore pour votre côté "pédagogie" que votre côté "assistance".
Bien cordialement,
Danydoc
Cherche ce passage dans l'historique, et tu cliques sur le mot 'ici'
[quote]8 Mai 2006 : Version 4.00
Bonjour Comtois,
Merci, j'ai bien trouvé dans la liste des modifications la suppression de #PB_String_MultiLine. C'est sans doute le type pris par ma variable #PB_Texte_10x32 avec les ascii 13 et 10 qui l'affectent.
Je pense que dans les autres codes où figure StringGadget(), je n'aurai pas nécessairement besoin de faire son remplacement par EditorGadget().
Merci à vous tous pour votre aide, plus encore pour votre côté "pédagogie" que votre côté "assistance".
Bien cordialement,
Danydoc