Oppure

Loading
08/01/10 19:33
fa1212
salve a tutti, ho un piccolo probelema
ho una textbox che contiene 10 numeri scelti dall'utente e quindi sempre variabili.
Come faccio a leggere carattere per carattere e in base a quale numero corrisponde al primo carattere eseguire una certa azione, leggere il secondo carattere, vedere a quale numero corrisponde e eseguire un operazione!

Si possono utilizare gli array?

Se sì, come?

Grazie mille aniticipate per le risposte!
aaa
08/01/10 19:45
GrG
usa la funzione mid()
aaa
08/01/10 19:56
fa1212
come esattamente?
perchè per ipotesi io ho la stringa 0123456789
devo leggere il primo carattere e vedere a quale numero coincide ed eseguire un' operazione in base al numero che è!

Mid(string, N°carattere da cui iniziare il prelievo, N°caratteri da prelevare) <<è giusto?

se è così ho risolto tutto!!

Grazie mille GrG
aaa
08/01/10 20:06
Alfonso
Si, è così se i numeri sono tutti uno di seguito all'altro, ma non puoi avere numeri maggiori di 9. Se dopo il nove avessi il 10 la funzione di restituirebbe 1 e 0
aaa
08/01/10 21:10
fa1212
si, grazie mille

mi riuscite ancora a dare una mano con questo codice ceh ho buttato giù per fare ciò che dicevo prima?

'Dichiarazioni per l'esecuzione di suoni'
Private Declare Function SndPlaySound Lib "WINMM.DLL" Alias "sndPlaySoundA" (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long
'Dichiarazione per sleep'
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
'Dichiarazione variabile'
Dim str As String

'Funzione chiama'
Public Function Dialnum(num As String)
Select Case num
Case 0
SndPlaySound App.Path & "\Tonesi, grazie mille


mi riuscite ancora a dare una mano con questo codice ceh ho buttato giù per fare ciò che dicevo prima?

'Dichiarazioni per l'esecuzione di suoni'
Private Declare Function SndPlaySound Lib "WINMM.DLL" Alias "sndPlaySoundA" (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long
'Dichiarazione per sleep'
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
'Dichiarazione variabile'
Dim str As String

'Funzione chiama'
Public Function Dialnum(num As String)
Select Case num
Case 0
SndPlaySound App.Path & "\Tone{parsed_message}.wav"
Sleep 500
Case 1
SndPlaySound App.Path & "\Tone.wav"
Sleep 500
Case 2
SndPlaySound App.Path & "\Tone.wav"
Sleep 500
Case 3
SndPlaySound App.Path & "\Tone.wav"
Sleep 500
Case 4
SndPlaySound App.Path & "\Tone.wav"
Sleep 500
Case 5
SndPlaySound App.Path & "\Tone.wav"
Sleep 500
Case 6
SndPlaySound App.Path & "\Tone.wav"
Sleep 500
Case 7
SndPlaySound App.Path & "\Tone.wav"
Sleep 500
Case 8
SndPlaySound App.Path & "\Tone.wav"
Sleep 500
Case 9
SndPlaySound App.Path & "\Tone.wav"
Sleep 500
End Select
End Function

'Mid(string, N°carattere da cui iniziare il prelievo, N°caratteri da prelevare)'
Private Sub Dial_Click()
str = inputnum.Text
num = Mid(str, 1, 1)
Call Dialnum
num = Mid(str, 2, 1)
Call Dialnum
num = Mid(str, 3, 1)
Call Dialnum
num = Mid(str, 4, 1)
Call Dialnum
num = Mid(str, 5, 1)
Call Dialnum
num = Mid(str, 6, 1)
Call Dialnum
num = Mid(str, 7, 1)
Call Dialnum
num = Mid(str, 8, 1)
Call Dialnum
num = Mid(str, 9, 1)
Call Dialnum
num = Mid(str, 10, 1)
Call Dialnum
End Function

Private Sub inputnum_Change()
'mano a mano che si inserisce il numero di telefono esso viene scritto sotto'
lnum.Caption = inputnum.Text
End Sub


se vi serve una mano a capire ciò che volevo fare perchè non sono stato abbastanza chiaro domandate pure!.wav" Sleep 500 Case 1 SndPlaySound App.Path & "\Tone.wav" Sleep 500 Case 2 SndPlaySound App.Path & "\Tone.wav" Sleep 500 Case 3 SndPlaySound App.Path & "\Tone.wav" Sleep 500 Case 4 SndPlaySound App.Path & "\Tone.wav" Sleep 500 Case 5 SndPlaySound App.Path & "\Tone.wav" Sleep 500 Case 6 SndPlaySound App.Path & "\Tone.wav" Sleep 500 Case 7 SndPlaySound App.Path & "\Tone.wav" Sleep 500 Case 8 SndPlaySound App.Path & "\Tone.wav" Sleep 500 Case 9 SndPlaySound App.Path & "\Tone.wav" Sleep 500 End Select End Function 'Mid(string, N°carattere da cui iniziare il prelievo, N°caratteri da prelevare)' Private Sub Dial_Click() str = inputnum.Text num = Mid(str, 1, 1) Call Dialnum num = Mid(str, 2, 1) Call Dialnum num = Mid(str, 3, 1) Call Dialnum num = Mid(str, 4, 1) Call Dialnum num = Mid(str, 5, 1) Call Dialnum num = Mid(str, 6, 1) Call Dialnum num = Mid(str, 7, 1) Call Dialnum num = Mid(str, 8, 1) Call Dialnum num = Mid(str, 9, 1) Call Dialnum num = Mid(str, 10, 1) Call Dialnum End Function Private Sub inputnum_Change() 'mano a mano che si inserisce il numero di telefono esso viene scritto sotto' lnum.Caption = inputnum.Text End Sub


se vi serve una mano a capire ciò che volevo fare perchè non sono stato abbastanza chiaro domandate pure!
aaa
08/01/10 21:59
Alfonso
Non serve una mano per capire cosa hai fatto.
Però così non puoi telefonare all'estero!
aaa
09/01/10 11:53
fa1212
bhe, semplicemente io ho chiesto come mai ho un errore (quando richiamo la funzione Dialnum >> errore di compilazione, argomento non facoltativo), ora che ci penso non l'avevo scritto ieri... XD

Comunque non è un mistero, voglio solo fare un programma che dato l'inserimento di un numero telefonico esso ne riproduce i toni dalle casse del pc, così che quando io avvicino la cornetta del telefono esso ne componga il numero. Tutto ciò perchè possiedo una rubrica sul pc e non ho voglia ogni volta di riscrivere il nuemro sul telefono fisso!


Se mi riuscite a spiegare l'errore ve ne sarei grato!
Ultima modifica effettuata da fa1212 09/01/10 11:54
aaa
09/01/10 13:27
Alfonso
Ma tu scrivi

Public Function Dialnum(num As String)

ma poi

num = Mid(str, 1, 1)
Call Dialnum

è chiaro che alla funzione devi passare il parametro

Call Dialnum (Num)
aaa