Ecrir dans un TextBox invisible

hsiko309 Messages postés 20 Date d'inscription mercredi 31 août 2005 Statut Membre Dernière intervention 5 janvier 2007 - 3 janv. 2007 à 11:59
hsiko309 Messages postés 20 Date d'inscription mercredi 31 août 2005 Statut Membre Dernière intervention 5 janvier 2007 - 5 janv. 2007 à 16:52
Bonjour tous le monde, et bonne année
j'aimerais bien savoir est ce que je peux sélectionner et écrire dans un textbox même si sa propriété Visible = False

17 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
3 janv. 2007 à 12:07
Bien sûr, mais par code uniquement du coup.
0
hsiko309 Messages postés 20 Date d'inscription mercredi 31 août 2005 Statut Membre Dernière intervention 5 janvier 2007
3 janv. 2007 à 12:31
oui c'est ce que je cherche, quand je met par exemple Text1.SetFocus le programme me donne un msg d'erreur, car le textBox est en Visible =False.
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
3 janv. 2007 à 12:39
1) Tu n'as absolument pas besoin de donner le focus (d'ailleurs ce n'est pas possible avec un contrôle invisible) à une textbox pour en modifier la propriété text.

2) je ne comprends pas que tu n'aies pas encore essayé le plus élémentaire venant très naturellement à l'esprit :

du genre, dut une textbox text1 invisible :

Private Sub Command1_Click()
  Text1.Text = "bonjour"
  MsgBox Text1.Text
End Sub

Je te serais personnellement reconnaissant de bien vouloir faire travailler tes méninges et réflexes avant de poser une question.
Si tu l'avais fait, tu aurais d'abord tenté ce qui figure ci-dessus, et tu n'aurais pas eu besoin de poser ta question !!!!!
0
hsiko309 Messages postés 20 Date d'inscription mercredi 31 août 2005 Statut Membre Dernière intervention 5 janvier 2007
3 janv. 2007 à 12:50
peut etre j'ai pas bien expliquer la question, je vais esseyer d'etre plus detaillé:
mon programme va demandé au utilisateur de renseigner des informations (des textes), l'inteface entre le programme et l'utilisateur c'est des Label, par exemple le programme demande " entrer la Réference" , et puis l'utilisateur doit faire entre la réference avec un lecteur code a barre, sans avoir la main de taper avec un clavier normal (c'est pour ça que j'ai mis les textesbox invisibles) , alors quand TxtRéference est remplie (le programme va compter 10 chiffres) et  il doit  selectionner le textbox suivant, et de nouveau une label qui demande " Entrer la quantité", et ainsi de suite ....
donc pour basculer au textbox suivant, je doit  le donner le focus.

j'espere que vous avez bien compris mon besoin
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
3 janv. 2007 à 12:56
Recommence, s'il te plait, et FAIS-LE EN LANGAGE COMPREHENSIBLE !!!!!

Je ne comprends plus rien et n'ai pas envie d'avoir mal au crâne en essayant de "décortiquer" ce que tu veux faire (quoi, d'ailleurs ?, exactement ?).

Si c'est clair dans ton esprit, tu dois pouvoir l'expr(imer clairement (TRES CLAIREMENT) sans forcer le lecteur à faire des efforts pout comprendre ce que TOI, tu as des difficultés à exposer.

Une chose est sûre, vois-tu : Le développement ne laisse quant à lui auucune place à des approximations, ni à des jeux de devinette .... Il exige la plus grande précision...

RECOMMENCE DONC !
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
3 janv. 2007 à 13:06
hsiko tu as probablement tout faux.

La plupart des lecteurs de code barre, surtout ceux de type douchette, se comportent comme un clavier.

Donc là ou tu ne peut pas utiliser un clavier, tu ne peux pas utiliser le lecteur.

Pour utiliser le lecteur sur ton textbox, il faut que ton textbox soit visible, validé et qu'il ait le focus.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
3 janv. 2007 à 13:06
tu ne peux pas donner le focus à un textbox invisible !

Il te faut modifier la propriété Text "à la main" comme je te l'ai dit et comme l'a dit notre ami jean.
0
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 24
3 janv. 2007 à 13:16
Au risque de répéter des choses déjà clairement énoncées : Pas besoin de donner le focus à une TextBox pour écrire dedans.

Text1.Text = "La valeur en sortie du lecteur de codes barres (éventuellement après quelques calculs)"
' Passage à la suivante
Text2.Text = "Une autre valeur"
' Passage à la suivante
Text3.Text = "Encore autre chose"
' [...]

Manu
--------------------------------------------------------------------------------------------
Avant de poster un message, n'oubliez pas de consulter le reglement.
0
hsiko309 Messages postés 20 Date d'inscription mercredi 31 août 2005 Statut Membre Dernière intervention 5 janvier 2007
3 janv. 2007 à 13:39
Pour casy: oui je sais bien, c'est pour ça que le poste où je doit mettre l'application je vais enlevé le clavier, pour juste  lire les info à partire  du lecteur code à barre.

Pour DARKSIDIOUS : je vais recommencer ,

je vais expliquer juste une partie , et les autre c'est la meme chose.
sur cette partie, j'ai 2 textbox ( TxtRéf et TxtQté) et deux label ( LabelRéf et LabelQté)
details: LabelRéf.Caption = "Lire la réference"
           LabelQté .Caption =  "Lire la Quantité"

dans un premier temps, le programme me demande " Lire la réference" et puis je doit lire par un lecteur code à barre, sachant que ce dernier met automatiquement un "$" à la fin,
quand le "$" est détécter sur le TxtRéf ,  le programme doit me positionner sur le deuxieme textbox, qui est TxtQté , et le programme me demande de faire entrer la quantité (labelQté.visible =True), et à la fin le programme doit m'imprimer ces données sur un etiquette

Mon probleme c'est que l'utilisateur de l'application ne doit pas voir les textbox, l'interface entre lui et le programme c'est que des Lebel.

Private Sub TxtRéf_KeyPress(KeyAscii As Integer)
If KeyAscii = AscW("$") Then
KeyAscii = 0
LabelRéf.Visible = False
TxtQté.SetFocus
LabelQté.Visible = True
End If
End Sub

Private Sub TxtQté_KeyPress(KeyAscii As Integer)

If KeyAscii = AscW("$") Then

KeyAscii = 0

Printer.CurrentX = 5
Printer.CurrentY = 5
L = Printer.CurrentX
H = Printer.CurrentY
Printer.ScaleMode = vbMillimeters
Printer.Print
Printer.Font = "Times New Roman"

Printer.FontBold = True
Printer.CurrentX = L + 10
Printer.CurrentY = H + 1
Printer.FontSize = 10
Printer.Print TxtRéf.Texte
Printer.Print TxtQté.Texte
End If
End Sub
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
3 janv. 2007 à 14:13
Doucement !
Je deviens vieux, c'est vrai, mais pour moi (à moins que les choses n'aient considérablement changé) un code barre n'est jamais qu'une chaîne de caractères écrite avec une police particulière... et rien d'autre.

Si c'est toujours celà (et je pense que oui) : ta douchette "lit" une chaîne de caractères.... et voilà !
une fois cette chaîne lue, tu peux alors l'envoyer où tu veux, dans la textbox que tu choisis, qu'elle soit visible ou non !


Il te suffit alors, chaque fois que tu rencontres ton caractère "$", de passer à la textbox suivante... où est donc la difficulté ?

si tu es sous VB (pas possible avec VBA...), tu peux de surcroît  perfectionner la chose avec un groupe de textboxes indexées et  incrémenter de 1 l'index pour arriver à la textbox suivante ... !
0
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 24
3 janv. 2007 à 14:14
L'évenement Keypress ne sera généré que sur appui d'une touche dans le contrôle txtRéf. Tu ne dois pas procéder comme celà.
Utilise plutôt l'evénement Change()

Essayes
cet exemple dans un nouveau projet, avec juste un bouton (Command1), et
deux textboxes (Text1 et Text2). L'ajout de nouvelles valeurs est simulé en appuyant sur le bouton à plusieurs reprises.
Est ce que c'est celà que tu recherches ?






Public textbox_de_reference As String
Public donnees As String
Public compteur As Long

Private Sub Command1_Click()
Dim ctl As Control

    For Each ctl In Me.Controls
        If ctl.Name = textbox_de_reference Then
            ctl.Text = ctl.Text & Mid$(donnees, compteur, 1)
            compteur = compteur + 1
            Exit Sub
        End If
    Next ctl
   
End Sub

Private Sub Text1_Change()
If Right$(Text1.Text, 1) = "$" Then
    textbox_de_reference = "Text2"
End If
End Sub

Private Sub Form_Load()
    textbox_de_reference = "Text1"
    donnees = "azerty$uiop"
    compteur = 1
End Sub







Manu


--------------------------------------------------------------------------------------------
Avant de poster un message, n'oubliez pas de consulter le reglement.
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
3 janv. 2007 à 14:33
Je crois bien que là, je vais devenir complètement cinglé (je le suis déjà à moitié... enfin... un peu plus...)

Si tes 2 textboxes sont et doivent rester invisibles, tu n'as même pas besoin de textboxes !
2 variables (ou un tableau) suffisent !
Pourquoi envoyer vers des textboxes, hein ?

Et ton impression se fera en lisant ces varaiables, picétou !
Ceci étant dit, si tu tiens à écrire dans des textboxes invisibles, tu peux le faire ! Ces textboxes agiront alors exactement de la même façon que des variables (rétention de l'information), comme, d'ailleurs, tu pourrais utiliser la propriété tag de tes 2 labels ... le résultat serait toujours le même ... et pour cause, car il ne s'agirait jamais que d'endroits où "garder" temporairement tes informations en vue d'une utilisation ultérieure de ton application en cours
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
3 janv. 2007 à 15:11
Il me semble, tout bien pensé, que tu n'as finalement besoint que d'une douchette, d'un tableau dynamique, et de l'apparition d'une inputbox (prédéfinie à une unité et modifiable si plus... autrement ok laisse à un...)...
ou encore (plus simple) : ta douchette pour lire et l'utiliation du keypress de ta form pour entrer la quantité (définie à 1 par défaut) et la touche ENTER pour valider !
0
hsiko309 Messages postés 20 Date d'inscription mercredi 31 août 2005 Statut Membre Dernière intervention 5 janvier 2007
3 janv. 2007 à 15:18
je suis tout a fair d'accord avec vous deux,
pour la deuxieme solution d'utilisation des variables, comment faire ça, c a d, comment atribuer une chaine de caractere lue par un lecteur code à barre à une variable, sachant que le lecteur code à barre ce comporte comme un clavier (il fait entrer la chaine caractère par caractère).
0
hsiko309 Messages postés 20 Date d'inscription mercredi 31 août 2005 Statut Membre Dernière intervention 5 janvier 2007
3 janv. 2007 à 15:21
dsl j'ai pas vu ton deuxieme msg, mais moi j'evite d'utiliser les inputbox ou les text box, je veux eviter de voir ce qui est lu par le lecteur code à barre,
0
bricoyeye Messages postés 326 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 29 avril 2008 2
4 janv. 2007 à 09:32
Le plus simple c'est de mettre tes text Box et les caractères de ceux ci de la même couleur que ta form!
Les données seront dedans, mais tu ne verras rien
0
hsiko309 Messages postés 20 Date d'inscription mercredi 31 août 2005 Statut Membre Dernière intervention 5 janvier 2007
5 janv. 2007 à 16:52
ce n'est pas pratique , mais ça va servire, je te remerci tres bien
0
Rejoignez-nous