Oppure

Loading
04/10/11 21:14
Il codice è solo quello che hai mostrato?

Non c'e' altro codice?

Quello dell'evento change lo hai eliminato?
04/10/11 21:31
karl93
Il codice è solo quello...e poi si l'evento change l'ho eliminato. Ho sbagliato?
aaa
04/10/11 21:50
Hai fatto bene ... ma se il codice è solo quello, funziona. E deve funzionare anche a te.


P.S. Ma nel file che ho scaricato c'è una cartella MACOSX ... cosa c'entra?
Ultima modifica effettuata da 04/10/11 21:51
04/10/11 21:59
karl93
Il progetto l'ho inviato da un Mac...e quello è un file che crea il Mac quando si comprime qualcosa...non è niente di eccezionale.
Comunque è strano...a me il caret si sposta prima dopo aver inserito la prima lettera. Domani provo a creare nuovamente il progetto e controllo. A domani.

Per il momento ancora grazie mille...gentilissimo :)
Ultima modifica effettuata da karl93 04/10/11 22:00
aaa
05/10/11 15:39
karl93
Ciao nessuno,
ho riprovato, ma ho sempre il solito problema. Gentilmente visto che a te funziona,mandami nuovamente il progetto, così lo testo pure io.

Grazie :D
aaa
05/10/11 16:40
Postato originariamente da karl93:

...
Grazie :D


Eccolo ...
06/10/11 0:53
TermYnator
Dunque, potresti provare questo codice, che ho scritto per la funzione che descrivi. Consente di cancellare, e nel caso di inserimento di uno spazio, ottenere la maiuscola anche per la seconda parola.
Il codice va inserito in un modulo di classe, devi quindi dichiarare una variabile nel form, e poi associargli la casella di testo.
Esempio:
'in un modulo di classe (ad esempio "Uppercase.cls")

Option Explicit
Public WithEvents TextTxt As TextBox
Private Sub TextTxt_KeyPress(KeyAscii As Integer)
Dim Testo As String, Start As Long, Tx As String
On Error GoTo errore:
Testo = TextTxt.Text
Start = TextTxt.SelStart
If KeyAscii = 8 Then Exit Sub
Select Case Start
        Case 0
           If (KeyAscii > 96 And KeyAscii < 123) Or (KeyAscii > 191 And KeyAscii < 224) Then
              KeyAscii = KeyAscii - 32 'E una minuscola, quindi la trasforma in una  maiuscola
           ElseIf (KeyAscii > 64 And KeyAscii < 91) Or (KeyAscii > 191 And KeyAscii < 224) Then
           Else
              KeyAscii = 0  'Accetta solo lettere minuscole e maiuscole
           End If
        Case Else
           If (KeyAscii < 47 And (KeyAscii <> 32 And KeyAscii <> 40 And KeyAscii <> 41)) Or _
        (KeyAscii > 57 And KeyAscii < 65) Or (KeyAscii > 122 And KeyAscii < 192) Then
              KeyAscii = 0 'Sono consentiti: (,),_,(space),[,],
              Exit Sub
           End If
           Tx = Mid$(Testo, Start, 1)  'Fissa il carattere a Sx del cursore  .
           If (Tx = " ") Then          ' Se a sx del cursore ci sono " "    .
              If ((KeyAscii > 96) And (KeyAscii < 123)) Then 'Il carattere è una lettera m
                 KeyAscii = KeyAscii - 32 'Quindi la trasforma in una lettera maiuscola 
             End If
        End If
End Select
Exit Sub
errore:
End Sub

'Nel form dell'applicazione:
Private Testo1 as Uppercase
private sub Form_Load()
set Testo1=new Uppercase 'Sempreche, si sia chiamata la classe Uppercase.cls
Set Testo1.TextTxt=text1 'dove text1 è il nome del controllo da associare
end sub

Ultima modifica effettuata da TermYnator 06/10/11 0:59
aaa
07/10/11 6:53
karl93
Ora funziona tutto...ringrazio sia nessuno per la pazienza, sia TermYnator per l'esempio con commenti molto dettagliati.


Grazie mille :asd:
aaa