Newsgroup: it.comp.lang.visual-basic
Titolo: Ma SendKeys cosa ha contro ~ e compagnia bella ???

Ciao, ho fatto una prova con sendkeys, a leggere un file e a buttarlo
nel blocco note, ma mi pare che tutte le volete che nella riga letta
ci sia il segno ~ o qualche altro segno tipo ' (o qualcosa del genere,
non ho ben capito)... insomma, con alcuni caratteri genera un ritorno
a capo.
Ho provato a leggere il mio Autoexec e tutte le direcotri din ad
esempio PROGRA~1 si trasformano con sendkeys in
PROGRA
1
e la ~ scompare.
C'e' qualche trucco da attivare o e' fatta male la funzione ?
Ciao.
°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
 -----------Federico Emanuele Galli----------
 ----------Visual Basic's Programmer---------
 
 Sideralis Programs (Visual-Basic and Delphi)
 
http://www.geocities.com/colosseum/loge/2151
°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
                 Trust no ONE.
Per rispondermi via E-Mail togli STOPSPAMMERS.
Guarda la RFD per it.comp.prog.collaborazione !


Se vuoi puoi provare cosi' :
SendKeys SettingString("PROVOLA~PEPPO~Perillo")
Public Function SettingString(lspSource As String)
  Dim lnPos As Integer
  Dim lsSource As String
  Dim lsRes As String
  lsSource = lspSource
  lnPos = InStr(lsSource, Chr$(126))
  Do Until lnPos = 0
    lsRes = lsRes & Left$(lsSource, lnPos - 1) & "{~}"
    lsSource = Mid$(lsSource, lnPos + 1)
    lnPos = InStr(lsSource, Chr$(126))
  Loop
  lsRes = lsRes & lsSource
  SettingString = lsRes
End Function
La routine puo' essere sicuramente migliorata (l'ho scritta il piu'
velocemente possibile), se comunque puo' servire scome spunto.
Il Pestatasti scroccaccount Stefano Castiglioni.

>Se vuoi puoi provare cosi' :
Facciamo che la provo e poi vi so dire meglio, anche perche' hai usato
variabili poco esplicative.. :)
Grazie mille !
Ciao !



Federico!!!!!!!!!!!!!!
Predichiamo bene e poi razzioliamo male, eh? :-)
Se tu avessi letto quel benedetto help di VB, nella pagina di SendKeys,
avresti anche trovato che:
"Il segno (+), l'accento circonflesso (^), il segno di percentuale (%), la
tilde (~) e le parentesi ( ) hanno significati particolari per SendKeys. Per
specificare uno di questi caratteri, racchiuderlo tra parentesi graffe. Per
specificare, ad esempio, il segno più, è necessario utilizzare {+}. Le
parentesi quadre ([ ]) non hanno un significato particolare per SendKeys, ma
vanno racchiuse anch'esse tra parentesi graffe, in quanto possono essere
interpretate in maniera particolare in altre applicazioni durante operazioni
di scambio dinamico di dati (DDE). Per inviare i caratteri parentesi graffe,
indicare {{} e {}}."
ciao
--
Roal Zanazzi
z...@iol.it

>Se vuoi puoi provare cosi' :
La function che mi hai proposto funziona, anche se non ho ancora
capito bene che fa... se e lo spieghi e' meglio.... cosi' la adatto
anche ai nuovi caratteri "tabu" scoperti...
Poi ho appurato che SendKeys fa fasino anche con questi altri
ccaratteri, oltre alla ~ ci sono:
 %
 &
 (
 )
 ^
-
Possibile che nessuno se ne sia mai accorto ?
Ciao.


variabili poco esplicative.. :)
Scusami ma ho cercato di renderle piu' esplicative possibile, in base alla
convenzione di denominazione delle variabili dove :
primo carattere         l = locale,
                                   m = modulo,
                                   g = globale
secondo carattere    n = variabile integer
                                   s = string
                                   e coi' via...
e poi una descrizione generica della variabile, chesso' Pos x posizione,
Source per sorgente etc.
Non saprei come fare, in quanto sono solo un paio di giorni che bazzico sui
NGs, ma potrei dare a qualcuno il test sacro MSDN a cui mi sono rifatto.
Purtroppo, eventualmente, dovro' farlo dopo le vacanze, questo e l'ultimo
giorno di lavoro.
Se comunque posso essere utile a chiarificare meglio non ti resta che
chiedelro.
Ciao e buon lavoro (o buone vacanze).
Il pestatasti scroccaccount Stefano Castiglioni.

anche ai nuovi caratteri "tabu" scoperti...
Ok ci provo, dunque :
Public Function SettingString(lspSource As String) ' Dichiarazione della
funzione SettingString a cui passo il parametro lspSource di tipo stringa
(la p sta per parametro anche se la convenzione (mio errore) dice di usere r
per passato ByRef e v per passato ByVal
  Dim lnPos As Integer      ' Variabile integer x la posizione del carattere
~ da cercare
  Dim lsSource As String  ' Variabile stringa di appoggio per non alterare
quella passata ByRef
  Dim lsRes As String       ' Variabile stringa di appoggio da valorizzare
con il risultato dell'elaborazione (e da passare poi come risultato della
funzione)
  lsSource = lspSource                           ' imposto (e quindi salvo
l'originale) la stringa da elaborare
  lnPos = InStr(lsSource, Chr$(126))    ' cerco la posizione del primo ~
(Chr$(126))
  Do Until lnPos = 0                                ' inizio un loop solo
(ovviamente) se ne trovo almeno uno
    lsRes = lsRes & Left$(lsSource, lnPos - 1) & "{~}"   ' prendo la parte
antecedente il chr e la sbatto su lsRes, a cui aggiungo la forma corretta
{~}
    lsSource = Mid$(lsSource, lnPos + 1)    'alla stringa di origine tolgo
la parte gia elaborata (compresoil chr ~)
    lnPos = InStr(lsSource, Chr$(126))         'cerco un altro eventuale
carattere (da notare che in questo momento la stringa lsSource e come se non
avesse mai contenuto la parte gia gestita. Si ricomincia quindi da capo)
  Loop
  lsRes = lsRes & lsSource  ' accodo infine l'eventuale stringa rimanente
(questo perche' non e detto che l'ultimo chr sia proprio ~).
  SettingString = lsRes  ' E su questa riga diamo tutto in pasto alla
funione.
End Function
Spero di aver descritto bene (di solitosono abituato a leggere il codice e
non a commentarlo)
Sempre a disposizione.
Ciao dal pestatasti scroccaccount.

>Predichiamo bene e poi razzioliamo male, eh? :-)
Faccio il predicator :*) e... Comunque l'help l'ho letto subito,
ancora prima di provare il programma, e avevo capito che presentavano
problemi, ma non avevo capito in che senso... Ora che effettivamente
rileggo meglio...
Quindi mi tocca leggere byte per byte tutte le stringhe e controllare
i caratteri ? Ma che rottura......................................
Mille grazie Roal !


convenzione di denominazione delle variabili dove :
Anche per me questo e' l'ultmo giorno sul PC !
Io non uso molte convenzioni, forse e' quest... Io le variabili le
chiamo NomeDellAmcioColCaneNumero1 :-) ...
Ciao !


Ciao dal pestatasti scroccaccount.
A chi lo scocchi l'accont ?
