madmax Inserito: 18 agosto 2004 Segnala Inserito: 18 agosto 2004 Ciao a tutti,Sono nuovo di visual basic e vorrei riuscire a spedire una richiesta su una linea seriale.Vorrei costruire un form con una finestra scorrevole piena di indirizzi numerici, selezionarne uno e poi spedirlo sulla seriale del PC premendo un pulsante. Forse chiedo troppo ma se poteste scrivermi qualche riga di codice, sono veramente alle prime armi.....grazie...
Dario Valeri Inserita: 18 agosto 2004 Segnala Inserita: 18 agosto 2004 ciaono, questo e' un forum per discutere ed imparare !!!fai il sacrificio di leggere , di scaricare qualche tutorial , di chiedere come si fa'ma non chiedere agli altri che ti scrivano il software!!!!!!!!!!!!cio' che chiedi e' di una semplicita' lampante lo "sforzo"che dovresti fare e' minimo!dario :ph34r:
Gianmario Pedrani Inserita: 18 agosto 2004 Segnala Inserita: 18 agosto 2004 Concordo con Dario se vuoi che ti scrivano il software, ti conviene prenderti un programmatore e pagarlo, il questo forum la gente si aiuta e si scambiano idee ed opinioni nessuno fai il lavoro per gli altri, a questo indirizzo puoi trovare un po di info ciaoooooooooooooooo http://www.visual-basic.it/http://programmazione.html.it/base/
madmax Inserita: 23 agosto 2004 Autore Segnala Inserita: 23 agosto 2004 In effetti non è bello chiedere che qualcuno ti faccia il lavoro......Mi sono documentato sull'argomento e ho capito che devo usare il controllo ms-comm di VB.Ho costruito il modulo con il menù pieno di indirizzi e il pulsante per spedire l'indirizzo sulla seriale.imposto i parametri di trasmissione:MSComm1.CommPort = 1 ' Seleziono la COM1MSComm1.Settings = "9600,n,8,1" ' Le impostazioni della serialeMSComm1.PortOpen = True ' Apre la porta.
TRUNC Inserita: 23 agosto 2004 Segnala Inserita: 23 agosto 2004 (modificato) Facendo doppio click sul pulsante, si apre la finestra del codice alla subroutine relativa all'evento "Click" del pulsante stesso.All'interno della subroutine, scrivi questa riga di codice:Call InviaIndirizzo... dovrebbe bastare. Ah, scusa, non avevo capito bene il tuo problema.Dunque, per sapere quale indirizzo va passato alla Sub InviaIndirizzo, supponendo che l'elemento che contiene gli indirizzi sia una ComboBox e che si chiami Combo1, dovresti interrogare, se ricordo bene, la proprietà Text dell'elemento, sicché il codice diventa:Call InviaIndirizzo Combo1.TextSpero sia d'aiuto. Modificato: 23 agosto 2004 da TRUNC
madmax Inserita: 24 agosto 2004 Autore Segnala Inserita: 24 agosto 2004 Ciao, ho provato a fare così:Private Sub Command1_Click()Call InviaIndirizzo Menù.TextEnd Sub
Hellis Inserita: 24 agosto 2004 Segnala Inserita: 24 agosto 2004 (modificato) Per passare un argomento devi utilizzare le parentesiDa autodidatta e principiante farei così:Public Indirizzo as String__________________________________________________________________________Private Sub Command1_Click()On Error GoTo Err_Command1_Click Indirizzo = me.menù.text [usa me se fai riferimento ad un controllo sulla finestra attiva] Call InviaIndirizzo(Indirizzo)exit_Command1_Click: Exit SubErr_Command1_Click: MsgBox Err.Number & " " & Err.Description Resume exit_Command1_ClickEnd Sub___________________________________________________________________________ Modificato: 24 agosto 2004 da Hellis
TRUNC Inserita: 24 agosto 2004 Segnala Inserita: 24 agosto 2004 exit_Err_Command1_Click:Exit SubErr_Err_Command1_Click:
Hellis Inserita: 24 agosto 2004 Segnala Inserita: 24 agosto 2004 ops hai ragione Trunc ho copincollato male, adesso sistemo l'uscita.Io di solito metto quelle righe per una corretta interettazione degli errori.Per la faccenda delle parentesi tieni conto che io sono autodidatta, e non sapevo che potessero essere ommesse.Continuerò ad usarle, perchè mi danno un pò di senso d'ordine Ciao, Luca
TRUNC Inserita: 24 agosto 2004 Segnala Inserita: 24 agosto 2004 Ricordati anche di chiudere il canale di comunicazione, perchè non so se lo fa automaticamente quando scarica l'oggetto mscomm dalla memoria.MSComm1.PortOpen = FalsePotresti metterlo nell'evento Unload del Form.
nll Inserita: 25 agosto 2004 Segnala Inserita: 25 agosto 2004 (modificato) I parametri vanno passati tra parentesi (obbligatorie) quando richiami una funzione (deve restituire un valore al chiamante) e senza quando richiami una procedura (non deve restituire un valore).Lo vedi anche quando utilizzi, per esempio, "MsgBox", nei due modi:COME FUNZIONEvariabile = MsgBox("Devo uscire dal programma?", vbYesNo, "CHIUSURA PROGRAMMA")COME PROCEDURAMsgBox "Uscita dal programma" Modificato: 25 agosto 2004 da nll
Hellis Inserita: 25 agosto 2004 Segnala Inserita: 25 agosto 2004 Quindi per cui quando è possibile ommetterle rende più leggibile il listato, perchè se sono ommesse ovviamente so che chiamo una fuzione o una subroutine non per avere un valore di ritorno.Ok capito, in effetti il msgbox lo uso come scrivi nll, ma alle chiamate con call o dirette con e senza parentesi non ci avevo pensato.Per il listato di invio del pacchetto sulla porta com, così come è scritto e se la sub inviaindirizzo non viene utilizzata da nessun altro, si può conglobare tutto sotto al click di command button 1.
madmax Inserita: 4 settembre 2004 Autore Segnala Inserita: 4 settembre 2004 Finalmente il sito è tornato funzionante...Grazie mille, mi siete stati d'aiuto... Non posso collaudare il tutto perchè mi manca il dispositivo a microcontrollore che dovrà ricevere le richieste... intanto volevo familiarizzare con i comandi per la seriale... grazie ancora ciaoooooo!!!!max
Messaggi consigliati
Crea un account o accedi per commentare
Devi essere un utente per poter lasciare un commento
Crea un account
Registrati per un nuovo account nella nostra comunità. è facile!
Registra un nuovo accountAccedi
Hai già un account? Accedi qui.
Accedi ora