Page 1 sur 1

[Résolu] Fichier modifié automatiquement à l'ouverture de l'IDE?

Publié : mer. 08/févr./2023 13:16
par jph
Bonjour,
Je poste dans débutant car c'est un problème de configuration, mais je ne vois pas lequel.

J'ai un petit problème avec le fonctionnement de l'interface de l'IDE. Ça n'est pas grand-chose mais ça me prends la tête.
J'ai ce formulaire Rot13Gui.pbf:

Code : Tout sélectionner

;
; This code is automatically generated by the FormDesigner.
; Manual modification is possible to adjust existing commands, but anything else will be dropped when the code is compiled.
; Event procedures needs to be put in another source file.
;

Enumeration FormWindow
  #Window_0
EndEnumeration

Enumeration FormGadget
  #Editor_0
  #Editor_1
  #Combo_0
  #Button_0
  #Button_1
EndEnumeration


Procedure OpenWindow_0(x = 0, y = 0, width = 910, height = 600)
  OpenWindow(#Window_0, x, y, width, height, "", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  EditorGadget(#Editor_0, 10, 10, 890, 250)
  EditorGadget(#Editor_1, 10, 320, 890, 270)
  ComboBoxGadget(#Combo_0, 330, 270, 150, 40)
  For a = 1 To 25
    AddGadgetItem(#Combo_0, -1, "Rot " + Str(a))
  Next
  ButtonGadget(#Button_0, 510, 270, 140, 40, "Code")
  ButtonGadget(#Button_1, 160, 270, 140, 40, "Decode")
EndProcedure
Quand je ferme l'IDE, le fichier est inchangé sur le disque. Par contre, quand je relance l'IDE, j'ai ce message à l'ouverture:

Les fichiers suivants ont été modifiés lors de la fermeture du projet:
/home/jp/Bureau/Rot13/Rot13.pbp

et le fichier devient:

Code : Tout sélectionner

; This code is automatically generated by the FormDesigner.
; Manual modification is possible to adjust existing commands, but anything else will be dropped when the code is compiled.
; Event procedures needs to be put in another source file.
;

Enumeration FormWindow
  #Window_0
EndEnumeration

Enumeration FormGadget
  #Editor_0
  #Editor_1
  #Combo_0
  #Button_0
  #Button_1
EndEnumeration


Procedure OpenWindow_0(x = 0, y = 0, width = 910, height = 600)
  OpenWindow(#Window_0, x, y, width, height, "", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  EditorGadget(#Editor_0, 10, 10, 890, 250)
  EditorGadget(#Editor_1, 10, 320, 890, 270)
  ComboBoxGadget(#Combo_0, 330, 270, 150, 40)
  AddGadgetItem(#Combo_0, -1, "Rot " + Str(a")
  ButtonGadget(#Button_0, 510, 270, 140, 40, "Code")
  ButtonGadget(#Button_1, 160, 270, 140, 40, "Decode")
EndProcedure
Je pense que ça doit être une option du Form Designer, mais laquelle? Si quelqu'un pouvait m'aider à résoudre ce mystère, ce serait sympa. Je vous remercie d'avance.

Re: Fichier modifié automatiquement à l'ouverture de l'IDE?

Publié : mer. 08/févr./2023 13:55
par SPH
Moi, je n'ai pas d'erreur ni de modif.
Je suis sur PB 6.0 64b

Re: Fichier modifié automatiquement à l'ouverture de l'IDE?

Publié : mer. 08/févr./2023 15:31
par Marc56
Bonjour,

Tu as édité le fichier généré par le Form Designer pour lui ajouter des lignes

Code : Tout sélectionner

  For a = 1 To 25
    AddGadgetItem(#Combo_0, -1, "Rot " + Str(a))
  Next
Ces lignes ont donc été rejetées au moment de quitter ou à l'exécution, ce qui est normal.
; This code is automatically generated by the FormDesigner.
; Manual modification is possible to adjust existing commands, but anything else will be dropped when the code is compiled.
; Event procedures needs to be put in another source file.

Les seules choses qu'on peut modifier dans un .pbf sont les valeurs numérique ou le contenu de chaines de caractères.
À noter que tu peux utiliser à la fois le FD et ajouter ensuite des gadgets dans le reste du code.
ici, il suffit donc de charger le gadget au début du code principal (après la ligne XIncludeFile("""))
:wink:

Re: Fichier modifié automatiquement à l'ouverture de l'IDE?

Publié : mer. 08/févr./2023 17:42
par jph
SPH a écrit : mer. 08/févr./2023 13:55 Moi, je n'ai pas d'erreur ni de modif.
Je suis sur PB 6.0 64b
Merci pour le retour. Mais ça ne me dit pas pourquoi chez moi ça ne marche pas, alors qu'avec un autre programme fait juste avant celui-là ça marchait bien... Je vais continuer à chercher.

Re: Fichier modifié automatiquement à l'ouverture de l'IDE?

Publié : mer. 08/févr./2023 17:51
par jph
Marc56 a écrit : mer. 08/févr./2023 15:31 Bonjour,

Tu as édité le fichier généré par le Form Designer pour lui ajouter des lignes

Code : Tout sélectionner

  For a = 1 To 25
    AddGadgetItem(#Combo_0, -1, "Rot " + Str(a))
  Next
Ces lignes ont donc été rejetées au moment de quitter ou à l'exécution, ce qui est normal.

Les seules choses qu'on peut modifier dans un .pbf sont les valeurs numérique ou le contenu de chaines de caractères.
À noter que tu peux utiliser à la fois le FD et ajouter ensuite des gadgets dans le reste du code.
ici, il suffit donc de charger le gadget au début du code principal (après la ligne XIncludeFile("""))
:wink:
Pourtant, dans une application que j'ai fait juste avant ça fonctionnait parfaitement. En fait, ça compile bien et ça s'exécute sans soucis. Lorsque je quitte, le fichier sur le disque est correct. C'est lorsque je relance PB que le fichier est modifié. En fait, pour être plus précis, ça marche une fois que PB à été relancé, mais le code est modifié lorsque je switche de la vue du formulaire vers la vue du code. Ça doit venir d'un réglage mais je ne sais pas lequel...

Re: Fichier modifié automatiquement à l'ouverture de l'IDE?

Publié : mer. 08/févr./2023 18:05
par Marc56
C'est le fonctionnement normal du FD (form Designer).
Le mode design ne peut pas faire le tri entre ce qui est entré manuellement et ce qu'il a écrit.
Si tu modifie après, cela sera pris, mais ensuite à chaque bascule Code/Design, le code est effacé et les informations du Design sont toutes réécrites dans le code.
(Je pense qu'il serait bon de mettre le codes des .pbf en lecture seule par défaut, car personne ne lit les 3 premières lignes)
:wink:

Re: Fichier modifié automatiquement à l'ouverture de l'IDE?

Publié : mer. 08/févr./2023 19:38
par jph
Marc56 a écrit : mer. 08/févr./2023 18:05 C'est le fonctionnement normal du FD (form Designer).
Le mode design ne peut pas faire le tri entre ce qui est entré manuellement et ce qu'il a écrit.
Si tu modifie après, cela sera pris, mais ensuite à chaque bascule Code/Design, le code est effacé et les informations du Design sont toutes réécrites dans le code.
(Je pense qu'il serait bon de mettre le codes des .pbf en lecture seule par défaut, car personne ne lit les 3 premières lignes)
:wink:
Ok. Je vais trouver une autre façon de faire. Mais si on met les pbf en lecture seule, on ne pourra plus ajouter des tabs à un panel par exemple. Là on peut quand-même faire certaines modifications manuelles persistantes. Merci de ta réponse.

Re: Fichier modifié automatiquement à l'ouverture de l'IDE?

Publié : mer. 08/févr./2023 21:17
par Marc56
Pour ajouter des éléments à un objet créé dans le FD, il suffit de cliquer dessus avec le bouton droit une fois créé.

Il y a alors une /des option(s): Éditer les Éléments (lignes ou panels) et Éditer les Colonnes
:wink: