Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione vivo X500 Pro Max: la fotografia mobile ha un nuovo protagonista
Recensione vivo X500 Pro Max: la fotografia mobile ha un nuovo protagonista
Il nuovo top di gamma vivo punta su un comparto fotografico particolarmente articolato, con un teleobiettivo da 200 megapixel e teleconvertitori esterni capaci di arrivare a 400 mm equivalenti. Lo abbiamo provato a Tenerife, mettendo alla prova fotocamere, prestazioni, autonomia e accessori. Ecco come si è comportato.
WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà
WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà
Un mondo affollato e vivo, personaggi destinati a sparire a fine test e nessuno a inseguire l'oggetto giusto. Beta e stress test di World of Warcraft: Forever hanno fatto emergere un roleplay spontaneo, tra danze a Goldshire e code ordinate ai PNG
Oracle AI World 2026: in Europa prima la sovranità, poi la sicurezza e solo dopo l'IA
Oracle AI World 2026: in Europa prima la sovranità, poi la sicurezza e solo dopo l'IA
In tre giorni a Las Vegas Oracle ha presentato agenti che eseguono il lavoro, l'alleanza con OpenAI e un cloud aperto agli acceleratori di tutti. Ma i clienti europei chiedono garanzie prima ancora delle funzionalità
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 02-02-2005, 09: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, 11: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, 11: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, 11: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, 11: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, 11: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, 15: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, 20: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, 10: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, 15: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, 21: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, 03: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


Recensione vivo X500 Pro Max: la fotografia mobile ha un nuovo protagonista Recensione vivo X500 Pro Max: la fotografia mobi...
WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà WoW Forever: la beta è stato uno dei mome...
Oracle AI World 2026: in Europa prima la sovranità, poi la sicurezza e solo dopo l'IA Oracle AI World 2026: in Europa prima la sovrani...
DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort DS N°7 E-Tense: il SUV premium made in Melfi...
Recensione Samsung Galaxy Tab S12 Ultra: non chiamatelo tablet... è molto di più Recensione Samsung Galaxy Tab S12 Ultra: non chi...
Google Pixel 11, prezzi in picchiata su ...
Nove porte e ricarica MagSafe con un sol...
Datacenter AI, in Cina debutta l'aliment...
Full frame? Può aspettare: OM System seg...
Neodimio, ferro e boro dai dischi rigidi...
GPT-6 Astra puó leggere e correggere i p...
Lyncast X5PRO MAX, un bel videoproiettor...
Robot aspirapolvere, prezzi folli su Ama...
Anthropic: l'IA può far avanzare ...
JBL Quantum TWS, prezzo bassissimo su Am...
SteamOS su Mac Apple Silicon: giochi fun...
Erano finiti, Amazon ha fatto scorta e i...
Scope elettriche Tineco e DREAME, prezzi...
Apple chiude il trimestre fiscale con 11...
Qualcomm HBC supera la validazione in la...
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: 10:32.


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