bouv
Messages postés1411Date d'inscriptionmercredi 6 août 2003StatutMembreDernière intervention 3 mars 20191 5 nov. 2007 à 17:36
"et si je nomme des labels Lbl_Infos(indéxés) et que j'en ai un autre nommé Lbl_Infos4"
Oui, j'y avais pas pensé, mais ce genre d'appelation peut preter à confusion donc j'évite.
Sinon je ne connaissais pas codyx, faut dire que je ne viens plus très souvent sur CS ces derniers temps (faute de temps).
Bon je m'en vais poster mon premier codyx ;-)
Libre à toi donc de supprimer cette page
++
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 5 nov. 2007 à 17:25
ok...
et si je nomme des labels Lbl_Infos(indéxés) et que j'en ai un autre nommé Lbl_Infos4 ?
juste pour dire que tu dois stocker sous la forme "nomenclature(index)"
j'en reviens à mon premier message donc, selon ton usage (compris) 2 lignes suffisent, et pour 2 lignes autant poster sur codyx ;)
et pour la finalité regarde dans les sources de Violent_Ken je crois
++ ;)
bouv
Messages postés1411Date d'inscriptionmercredi 6 août 2003StatutMembreDernière intervention 3 mars 20191 5 nov. 2007 à 16:45
heu, pour être plus précis
NomDuControl = "Caption Du Control"
Si le control n'est pas groupé
NomDuControl1 = "Caption Du Control"
NomDuControl2 = "Caption Du Control"
Si les controls sont groupés
bouv
Messages postés1411Date d'inscriptionmercredi 6 août 2003StatutMembreDernière intervention 3 mars 20191 5 nov. 2007 à 16:44
Hum, OK pour le résumé.
Sinon j'aurai du commencer par l'intérêt
En fait je souhaitais rendre une appli multilangue. J'ai donc mis tout les captions de l'appli dans un fichier ini sous cette forme :
[NomDeLaForm]
NomDuControl = "Caption Du Control"
NomDuControl1 = "Caption Du Control" '1 etant l'index du control
Dans chaque Form_Load j'appel une procédure qui contient à peu près ce code :
Public Sub GetCaption(ByRef oForm As Form)
Dim oCtl As Control
Dim sKey As String
For Each oCtl In oForm
'On récupère la bonne clé
If ControlInGroup(oCtl) Then
sKey = oCtl.Name & CStr(oCtl.Index)
Else
sKey = oCtl.Name
End If
oCtl.Caption = LitDansFichierIni(oForm.Name, sKey, sFile)
Next oCtl
oForm.Caption = LitDansFichierIni(oForm.Name, "Caption", sFile)
End Sub
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 5 nov. 2007 à 16:29
salut,
mais quel intérêt puisque tu es obligé de mettre l'index de ton contrôle dans le paramètre...
pour une textbox indéxée :
MsgBox ControlInGroup(Text1(0)) -> vrai
MsgBox ControlInGroup(Text1) -> faux
de plus ton code peut se résumer ainsi :
Public Function ControlInGroup(ByRef oCtl As Object) As Boolean
On Local Error Resume Next
ControlInGroup = (oCtl.Index > -1)
End Function
5 nov. 2007 à 17:36
Oui, j'y avais pas pensé, mais ce genre d'appelation peut preter à confusion donc j'évite.
Sinon je ne connaissais pas codyx, faut dire que je ne viens plus très souvent sur CS ces derniers temps (faute de temps).
Bon je m'en vais poster mon premier codyx ;-)
Libre à toi donc de supprimer cette page
++
5 nov. 2007 à 17:25
et si je nomme des labels Lbl_Infos(indéxés) et que j'en ai un autre nommé Lbl_Infos4 ?
juste pour dire que tu dois stocker sous la forme "nomenclature(index)"
j'en reviens à mon premier message donc, selon ton usage (compris) 2 lignes suffisent, et pour 2 lignes autant poster sur codyx ;)
et pour la finalité regarde dans les sources de Violent_Ken je crois
++ ;)
5 nov. 2007 à 16:45
NomDuControl = "Caption Du Control"
Si le control n'est pas groupé
NomDuControl1 = "Caption Du Control"
NomDuControl2 = "Caption Du Control"
Si les controls sont groupés
5 nov. 2007 à 16:44
Sinon j'aurai du commencer par l'intérêt
En fait je souhaitais rendre une appli multilangue. J'ai donc mis tout les captions de l'appli dans un fichier ini sous cette forme :
[NomDeLaForm]
NomDuControl = "Caption Du Control"
NomDuControl1 = "Caption Du Control" '1 etant l'index du control
Dans chaque Form_Load j'appel une procédure qui contient à peu près ce code :
Public Sub GetCaption(ByRef oForm As Form)
Dim oCtl As Control
Dim sKey As String
For Each oCtl In oForm
'On récupère la bonne clé
If ControlInGroup(oCtl) Then
sKey = oCtl.Name & CStr(oCtl.Index)
Else
sKey = oCtl.Name
End If
oCtl.Caption = LitDansFichierIni(oForm.Name, sKey, sFile)
Next oCtl
oForm.Caption = LitDansFichierIni(oForm.Name, "Caption", sFile)
End Sub
5 nov. 2007 à 16:29
mais quel intérêt puisque tu es obligé de mettre l'index de ton contrôle dans le paramètre...
pour une textbox indéxée :
MsgBox ControlInGroup(Text1(0)) -> vrai
MsgBox ControlInGroup(Text1) -> faux
de plus ton code peut se résumer ainsi :
Public Function ControlInGroup(ByRef oCtl As Object) As Boolean
On Local Error Resume Next
ControlInGroup = (oCtl.Index > -1)
End Function
codyx??