Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Prova GeForce NOW upgrade Blackwell: il cloud gaming cambia per sempre
Prova GeForce NOW upgrade Blackwell: il cloud gaming cambia per sempre
L'abbonamento Ultimate di GeForce NOW ora comprende la nuova architettura Blackwell RTX con GPU RTX 5080 che garantisce prestazioni tre volte superiori alla precedente generazione. Non si tratta solo di velocità, ma di un'esperienza di gioco migliorata con nuove tecnologie di streaming e un catalogo giochi raddoppiato grazie alla funzione Install-to-Play
Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco
Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco
Deebot X11 Omnicyclone implementa tutte le ultime tecnologie Ecovacs per l'aspirazione dei pavimenti di casa e il loro lavaggio, con una novità: nella base di ricarica non c'è più il sacchetto di raccolta dello sporco, sostituito da un aspirapolvere ciclonico che accumula tutto in un contenitore rigido
Narwal Flow: con il mocio orizzontale lava i pavimenti al meglio
Narwal Flow: con il mocio orizzontale lava i pavimenti al meglio
Grazie ad un mocio rotante che viene costantemente bagnato e pulito, Narwal Flow assicura un completo e capillare lavaggio dei pavimenti di casa. La logica di intellignza artificiale integrata guida nella pulizia tra i diversi locali, sfruttando un motore di aspirazione molto potente e un sistema basculante per la spazzola molto efficace sui tappeti di casa
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 02-02-2005, 08:00   #1
leadergl
Senior Member
 
Iscritto dal: May 2003
Messaggi: 1113
[VB] COMM Control

Ciao ragazzi,
sto cercando di realizzare un applicazione che sfrutti la porta COM per dialogare tramite comandi AT col cellullare e sia in grado di Leggere e Scrivere la rubrica del cellulare...

Sono a buon punto...nel senso che ho:

1) Realizzato Interfaccia Grafica
2) Realizzato Gestione della Lettura dal Cellulare della Rubrica
3) Realizzata Memorizzazione su File della Rubrica Letta
4) Realizzata Lettura da File della Rubrica precedentemente Salvata

Ora quello che mi manda è la scrittua sul cellulare della rubrica...qui ho problemi non tanto per scrivere nel cellulare ma per gestire le pause tra una scrittura ed un altra...poichè se scrivo un solo elemento tutto funziona...se creo un ciclo FOR che mi scriva TUTTI i contatti in rubrica non va più nulla e questo perchè o:

1) Devo far passare un po di tempo tra una scrittura ed un altra (send delay)

OPPURE

2) Devo andare a scrivere un nuovo elemento solo quando ho avuto la risposta di OK dal cellulare...

solo che non riesco a gestire questa cosa....vi posto il mio codice..aiutatemi...:
Codice:
Private Sub cmdSalvaCell_Click()
Dim iRiga As Integer
Dim stemp   As String
Dim iPausa  As Long
Dim iTemp   As Long

    AttivaLettura = False
    
    If MSComm1.PortOpen = True Then
    
        For iRiga = 1 To Griglia.Rows - 2
            iTemp = 0
            stemp = "AT+MPBW=" & iRiga & ",""" _
            & Griglia.TextMatrix(iRiga, 1) & ""","_
            & Griglia.TextMatrix(iRiga, 2) & ",""" _
            & Griglia.TextMatrix(iRiga, 3) & """," _
            & Griglia.TextMatrix(iRiga, 4)
            MSComm1.Output = stemp + Chr(13)
        Next iRiga
        
        MsgBox "Memorizzazione Rubrica Completata", vbInformation, "Memorizzazione"
    End If
End Sub
Codice:
Private Sub MSComm1_OnComm()
'Dichiara la Variabile dove convervare i pacchetti dati
Static sIncoming As String
    
    'Quando Sto ricevendo dei dati faccio questo:
    If MSComm1.CommEvent = comEvReceive Then
        'Aggiungo il carattere letto alla stringa sIncoming
        sIncoming = sIncoming & MSComm1.Input
        'Dipende dal carattere con cui termina la nostra stringa
        If Right(sIncoming, 2) = vbCrLf Then
            'Esclude il carattere CrLf dalla stringa
            sIncoming = Left(sIncoming, Len(sIncoming) - 2)

            'Carico la procedura per elaborare i dati Letti
            Call Elabora(sIncoming)

            'Pulisce la variabile
            sIncoming = ""
        End If
    End If
End Sub
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC
leadergl è offline   Rispondi citando il messaggio o parte di esso
Old 02-02-2005, 10:03   #2
leadergl
Senior Member
 
Iscritto dal: May 2003
Messaggi: 1113
ho provato anche ad inserire un Timer che mi fa da temporizzatore in questo modo:

1) Nella procedura per scrivere la rubrica dopo aver inviato il comando al MsCOMM Controll ho posto a FALSE una variabile booleana

2) Riattivo la variabile booleana all'interno del Timer

Ho ovviamente aggiunto del codice alla procedura per scrivere in modo che invii il comando SOLO se la variabile booleana è TRUE...ho quindi impostato il Timer ad un intervallo di 300ms...

Solo che non funziona...va in loop continuo poichè durante il ciclo FOR il Timer "non si attiva"...nonstante precedentemente fosse attivo e funzionante...e quindi la booleana non cambia il suo stato e tutto si blocca....

Come posso fare? Help?
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC
leadergl è offline   Rispondi citando il messaggio o parte di esso
Old 02-02-2005, 10:04   #3
matpez
Senior Member
 
L'Avatar di matpez
 
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
Dipende dal tuo cellulare, nn so se ti risponde OK tutte le volte che scrivi, se lo fa allora devi aspettare l'OK, altrimenti puoi mettere un delay da codice vb che ti rappenti di qlc millisecondo il tuo trasferimento

Codice:
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Sleep 200 '0.2 secondi
E già che ci sei metti un DoEvents appena sotto il tuo For , prima della riga iTemp = 0
__________________
"Analizzando e valutando ogni giorno tutte le idee, ho capito che spesso tutti sono convinti che una cosa sia impossibile, finchè arriva uno sprovveduto che non lo sa e la realizza!"
A. Einstein
matpez è offline   Rispondi citando il messaggio o parte di esso
Old 02-02-2005, 10:08   #4
leadergl
Senior Member
 
Iscritto dal: May 2003
Messaggi: 1113
Ah...speravo fossi tu a rispondermi, in fin dei conti sei tu che mi hai insegnato quello che so del VB, cmq..

1) Si il cellulare ogni volta che scrivo mi restituisce l'OK o l'ERROR
2) Ho provato ad inserire lo Sleep solo che non so xkè l'applicazione funziona male...e cmq non mi scrive bene...

Mentre non ho provato ad inserire anche il "Do Events" che mi permette di fare se associato allo Sleep?


P.S. in rete ho trovato un programma "ATScan" che fa funzionare bene la cosa...ed in pratica aspetta la risposta di OK dal cellulare...come posso fare?
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC
leadergl è offline   Rispondi citando il messaggio o parte di esso
Old 02-02-2005, 10:23   #5
matpez
Senior Member
 
L'Avatar di matpez
 
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
Bhe allora devi tenere sotto controllo il buffer della com, così quando tu incomincia a scrivere lanci il timer (per esempio settato a 100) e monitori il buffer! Quando ti torna OK dal cell allora tu vai a vanti a scrivere nel cell!

cmq io la funzione spleep la metterei ugualmente e fare un ciclo for di questo tipo, poi dopo vedi tu se lo devi modificare!

Codice:
For ...
DoEvents
.
.
.
.
Sleep 200
Next
__________________
"Analizzando e valutando ogni giorno tutte le idee, ho capito che spesso tutti sono convinti che una cosa sia impossibile, finchè arriva uno sprovveduto che non lo sa e la realizza!"
A. Einstein
matpez è offline   Rispondi citando il messaggio o parte di esso
Old 02-02-2005, 10:59   #6
leadergl
Senior Member
 
Iscritto dal: May 2003
Messaggi: 1113
Quote:
Originariamente inviato da matpez
Bhe allora devi tenere sotto controllo il buffer della com, così quando tu incomincia a scrivere lanci il timer (per esempio settato a 100) e monitori il buffer! Quando ti torna OK dal cell allora tu vai a vanti a scrivere nel cell!
...[/code]

Ma la risposta di OK non mi arriva fin nella procedura di cancellazione poichè il tutto avviene nell'evento del MsCOMM...oltre ad aggiungere lo:

DoEvents
...
Sleep(x)

che mi consigli di fare?
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC
leadergl è offline   Rispondi citando il messaggio o parte di esso
Old 02-02-2005, 14:18   #7
leadergl
Senior Member
 
Iscritto dal: May 2003
Messaggi: 1113
Ok, allora o provato a rimanere sulla stessa strada di prima, ovvero col Timer ed ho però inserito il DoEvents subito dopo il FOR ed in questo modo il timer si attiva....ho provato con vari tempi di intervalli del Timer da 200, 250, 300, 400, 500 ma anche a 500ms, seppur avendo notevoli miglioramenti, non tutto viene scritto....su 129 voci della rubrica circa 10 non vengono scritte ed sempre una decina non vengono cancellate quando facciola cancellazione totale....

Non ci sto capendo più molto...help
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC
leadergl è offline   Rispondi citando il messaggio o parte di esso
Old 02-02-2005, 19:58   #8
leadergl
Senior Member
 
Iscritto dal: May 2003
Messaggi: 1113
...aiuto...

se volete vi allego i sorgenti del programmino...se può essere di aiuto a risolvere il problema...
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC
leadergl è offline   Rispondi citando il messaggio o parte di esso
Old 03-02-2005, 09:45   #9
leadergl
Senior Member
 
Iscritto dal: May 2003
Messaggi: 1113
Ok,
ho risolto il problema facendogli attendere l'OK del controllo MSCOMM, ovviamente ho aggiunto che nel caso la risposta sia "ERROR" faccio mostrare una MsgBox che indica la mancata scrittura di quell'elemento
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC
leadergl è offline   Rispondi citando il messaggio o parte di esso
Old 03-02-2005, 14:07   #10
leadergl
Senior Member
 
Iscritto dal: May 2003
Messaggi: 1113
...mi servirebbe una info...

come faccio a far rilevare automaticamente le porte com disponibili?

tipo in HyperTerminal di WinXP, lui automaticamente rileva se la porta com 13 è disponibile e la visualizza nell'elenco...mentre se stacco l'apparecchio lui la toglie dalla lista....

come si fa?
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC
leadergl è offline   Rispondi citando il messaggio o parte di esso
Old 05-02-2005, 20:09   #11
leadergl
Senior Member
 
Iscritto dal: May 2003
Messaggi: 1113
nessuno sa aiutarmi?
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC
leadergl è offline   Rispondi citando il messaggio o parte di esso
Old 06-02-2005, 02:56   #12
matpez
Senior Member
 
L'Avatar di matpez
 
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
Allegati
File Type: zip portaddress.zip (2.3 KB, 3 visite)
__________________
"Analizzando e valutando ogni giorno tutte le idee, ho capito che spesso tutti sono convinti che una cosa sia impossibile, finchè arriva uno sprovveduto che non lo sa e la realizza!"
A. Einstein
matpez è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Prova GeForce NOW upgrade Blackwell: il cloud gaming cambia per sempre Prova GeForce NOW upgrade Blackwell: il cloud ga...
Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco Ecovacs Deebot X11 Omnicyclone: niente più...
Narwal Flow: con il mocio orizzontale lava i pavimenti al meglio Narwal Flow: con il mocio orizzontale lava i pav...
Panasonic 55Z95BEG cala gli assi: pannello Tandem e audio senza compromessi Panasonic 55Z95BEG cala gli assi: pannello Tande...
HONOR Magic V5: il pieghevole ultra sottile e completo! La recensione HONOR Magic V5: il pieghevole ultra sottile e co...
NVIDIA chiede più velocità...
Windows 11 in soli 2,8 GB: con questo sc...
Panico in casa HYTE: ritirato dal mercat...
OPPO Reno14, debutto tra rooftoop esclus...
3DAIQ, il progetto di Concept Reply e TE...
Il parlamento francese contro TikTok: '&...
Apple Watch SE 2ª gen. Cellular a soli 2...
MotoE sospesa dopo il 2025: fine tempora...
GhostRedirector: nuova campagna di attac...
AirPods Pro 3, la nuova traduzione vocal...
Dead Island 3 potrebbe essere già...
Nuova Lancia Ypsilon Rally2 HF Integrale...
Meta e TikTok vincono la sfida legale co...
Silent Hill f: svelato il peso in GB e p...
iPhone 17, Air, 17 Pro e Pro Max: TUTTI ...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 15:51.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v