Traduction de Delphi6.0 à VB

[Résolu]
Signaler
Messages postés
10
Date d'inscription
dimanche 27 février 2005
Statut
Membre
Dernière intervention
6 novembre 2009
-
Messages postés
10
Date d'inscription
dimanche 27 février 2005
Statut
Membre
Dernière intervention
6 novembre 2009
-
Bonjour à tous,
Programmant sous Delphi 6.0 de petites applications, il me faut, pour cause de licence, traduire une de mes appli.
Pour cause de simplicité, j'ai choisi de passer sous Visual Basic 2008 Express. Ce qui fait qu'il me faut réapprendre syntaxes, mots réservés, etc... Bref, je repart à zéro.(ai-je fait le bon choix?)

Donc, sur une fiche se trouve un textbox dont la propriété enabled est à false.
la fiche, lorsqu'elle est active, doit renvoyer dans le textbox le caractère tapé au clavier de la même façon que si textbox=true et textbox à le focus. (saisie clavier normal pour ce composant. mais comme ici, enabled=false, je nage, pas moyen.

en Delphi, cela donnait:
edit1.text := edit1.text+Upcase(key);
mais sous vb, je nage.
Merci pour votre coup de main.

6 réponses

Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
46
à toi d'empêcher le focus alors (enfin logiquement....)
si tu mets disabled pour malgré tout accepter la saisie, c'est un problème de conception, peu importe que tu aies bidouillé sous delphi et que çà tourne

bref pour reproduire cette même bizarrerie :

    Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        TextBox1.Enabled = False
        Me.KeyPreview = True
        TextBox1.CharacterCasing = CharacterCasing.Upper
    End Sub
    Private Sub Form2_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Me.KeyPress
        TextBox1.AppendText(e.KeyChar.ToString)
    End Sub



pas sale mais pas logique ni réfléchi

++
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
46
salut,

ok donc quelle est la question au final?
si tu veux autoriser la saisie de l'utilisateur il ne faut pas rendre la zone en DISABLED, peu importe le focus....

mais c'est la même chose dans tous les langages donc peux-tu préciser ta question stp


ps : comparativement à ton code, VB2008 gère le UCASE permanent (propriétés en mode design)

[hr]
Messages postés
10
Date d'inscription
dimanche 27 février 2005
Statut
Membre
Dernière intervention
6 novembre 2009

J'ai besoin que cette zone soit disabled car si elle a le focus, je ne peux, avec la souris effectuer d'autres opérations car le focus change et il y a deux utilisateur sur le même pc.(je sais c'est zarbi)

Sous mon appli actuelle, la zone est disabled ca fonctionne nickel depuis un an.
les caractères tapés au clavier apparaissent gris clair mais sont visibles.
Quand à ma question:
comment voir dans un textbox les caractères saisis au clavier avec textbox.enabled=false

Ca marchait impecc sous delphi.
Messages postés
10
Date d'inscription
dimanche 27 février 2005
Statut
Membre
Dernière intervention
6 novembre 2009

Merci, j'ai pas tout comris mais ça marche.

Me.KeyPreview = True
Pourquoi faut il redéclarer preview à true avec Me alors qu'il l'était déja lors de la conception?
Merci
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
46
"me" c'est la form (et non la zone de texte), et par défaut son keypreview est à false

les 3 lignes dans le LOAD sont des propriétés que tu peux modifier en mode design (donc sans code). c'est juste parfois plus pratique par code pour t'y retrouver si tu ne touches plus à ton projet quelques semaines

on dit à la form que lors d'une touche pressée (sur n'importe quel contrôle), elle relève l'évènement avant ses contrôles enfants

de là, lors de la pression, on ajoute le caractère pressé
et comme on a défini la casse en majuscule (TextBox1.CharacterCasing = CharacterCasing.Upper), pas de code à ajouter
Messages postés
10
Date d'inscription
dimanche 27 février 2005
Statut
Membre
Dernière intervention
6 novembre 2009

Je trouvais bizarre de devoir redéclarer à chaque fois des propriétés déja "écrites".

Voila qui éclaire ma lanterne.
Maerci A+