Bien voila j'ai fais une petite boulette, dans mon code du GDI du RAD je gère le multi-langue avec une tableau. Mais plutôt que de créer un seul tableau utilisé par toutes mes procédures et fenêtre. Je crée un tableau à chaque procédure (voila la boulette)
Code : Tout sélectionner
Procedure OpenTilteTbForm()
Dim txt$(3,#NbLg)
txt$(0,#Fr)="Changement du titre de la fenêtre"
txt$(0,#En)="Changed title of window"
txt$(1,#Fr)="Titre"
txt$(1,#En)="Title"
txt$(2,#Fr)="Valider"
txt$(2,#En)="Submit"
txt$(3,#Fr)="Annuler"
txt$(3,#En)="Chancel"
Protected Flag=#PB_Window_ScreenCentered|#PB_Window_SystemMenu,
W=380,H=30,M=10,X=10,Y=10,tmp
DisableWindow(#MainForm,#True)
OpenWindow(#TilteTbForm,0,0,400,(H*3)+(M*4),txt$(0,gCuLg),Flag,WindowID(#MainForm))
tmp=TextGadget(#PB_Any,X,Y,W,H,txt$(1,gCuLg))
SetGadgetFont(tmp,FontID(#ArialM))
Y+H
StringGadget(#TilteTbLabel,X,Y,W,H,"")
SetGadgetFont(#TilteTbLabel,FontID(#ArialM))
Y+H+M+M
W=(W/2)-M
ButtonGadget(#TilteTbSubmit,X,Y,W,H,txt$(2,gCuLg))
SetGadgetFont(#TilteTbSubmit,FontID(#ArialM))
X+W+M
ButtonGadget(#TilteTbChancel,X,Y,W,H,txt$(3,gCuLg))
SetGadgetFont(#TilteTbChancel,FontID(#ArialM))
BindEvent(#PB_Event_CloseWindow,@CloseTilteTbForm(),#TilteTbForm)
BindGadgetEvent(#TilteTbChancel,@CloseTilteTbForm())
BindGadgetEvent(#TilteTbSubmit,@SaveTilteTbForm())
EndProcedure
- Isoler le code de chaque procédure (bon ça facile)
- Trouver le texte qui suit txt$(?,#Fr)
- mémoriser le texte dans le nouveau tableau
- Remplacer txt$(?,gCuLg) par le nouveau tableau
- Supprimer l'ancien tableau
Donc voila si vous connaissez bien cette matière un petit coup de pouce ne serait pas de refus.
Ps: Je serais honnête je n'ai pas vraiment cherché