Torna indietro   Hardware Upgrade Forum > Software > Programmazione

LG UltraGear evo GM9: 27 pollici, 5K, Mini LED e Dual Mode
LG UltraGear evo GM9: 27 pollici, 5K, Mini LED e Dual Mode
Hyper Mini LED con 2.304 zone, DisplayPort 2.1 e Dual Mode: 5K a 165 Hz oppure QHD a 330 Hz: LG propone un monitor da gioco ma dalla buona versatilità creativa, con prestazioni interessanti e un listino di 1.220 euro. Peccato l'alimentatore ingombrante
Motorola edge 70 Fusion FIFA World Cup 26 Edition: un ottimo smartphone per i fan del calcio
Motorola edge 70 Fusion FIFA World Cup 26 Edition: un ottimo smartphone per i fan del calcio
Motorola edge 70 Fusion FIFA World Cup 26 Edition porta la maglia iridata su uno smartphone accessibile: display Extreme AMOLED da 6,78 pollici a 144Hz, fotocamera Sony LYTIA 710 con moto ai, Snapdragon 7s Gen 3 abbinato a 8GB di RAM, batteria da 5200 mAh con ricarica TurboPower a 68W e certificazione IP68/IP69, il tutto in una veste PANTONE Silhouette con logo dorato a 24 carati, moto buds bass incluse in confezione e contenuti software dedicati ai Mondiali 2026
Renault 5 elettrica al giudizio definitivo: solo stupore iniziale o premi meritati?
Renault 5 elettrica al giudizio definitivo: solo stupore iniziale o premi meritati?
Dopo più di un anno dal primo test drive ci siamo rimessi al volante della Renault 5 E-Tech Electric, questa volta utilizzandola come prima auto per circa due settimane. Scoprite con noi se il progetto convince ancora
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 16-02-2003, 11:26   #21
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Questa:
Codice:
Private Sub SendMsg(num As Long, buf() As Byte) 
    Dim tmp(4) As Byte, I As Long 
    Dim v As Variant 
    tmp(1) = (num And &HFF000000) / &H1000000 
    tmp(2) = (num And &HFF0000) / &H10000 
    tmp(3) = (num And &HFF00) / &H100 
    tmp(4) = num And &HFF 
    v = tmp 
    mscomm1.Output = v 
    'Non so se buf vada ridimensionato comunque lo faccio uguale 
    ReDim Preserve buf(num) 
    v = buf 
    mscomm1.Output = v 
End Sub
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 16-02-2003, 13:46   #22
leon84
Senior Member
 
L'Avatar di leon84
 
Iscritto dal: Jul 2002
Città: Napoli
Messaggi: 1964
Non capisco il perché di queste divisioni
leon84 è offline   Rispondi citando il messaggio o parte di esso
Old 17-02-2003, 12:29   #23
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originally posted by "leon84"

Non capisco il perché di queste divisioni
Perchè un intero è fatto da 4 byte...e io devo assegnare ognuno di questi byte ad una posizione del vettore...
Sai cosa significa fare un AND bit a bit e uno shift (ho utilizzato la divisione al posto dello shift perchè in VB non sapevo come fare) ?
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 17-02-2003, 13:10   #24
leon84
Senior Member
 
L'Avatar di leon84
 
Iscritto dal: Jul 2002
Città: Napoli
Messaggi: 1964
Se non sbaglio AND bit a bit significa che restituisce 1 se entrambi i bit sono 1 e 0 altrimenti giusto ? Lo shift è uno scambio ..... uno spostamento di elementi all'interno del vettore o di una lista dinamica ecc .... se ricordo bene . Ma cmq ancora non riesco a capire perché scomporre i 4 byte . Abbiamo detto che l'invio avviene su di un certo numero di byte , allora perché scomporli . Forse sarò tosto ma proprio non riesco a capirlo
leon84 è offline   Rispondi citando il messaggio o parte di esso
Old 17-02-2003, 13:15   #25
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Perchè ho letto che vengono inviati o stringhe o array di byte...ma non un intero e visto che non è convertibile direttamente in un vettore di byte allora lo converto io in un vettore di byte...
Prova a vedere se invia anche l'intero senza metterlo in un vettore di byte...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 17-02-2003, 13:18   #26
leon84
Senior Member
 
L'Avatar di leon84
 
Iscritto dal: Jul 2002
Città: Napoli
Messaggi: 1964
Quote:
Originally posted by "cionci"

Perchè ho letto che vengono inviati o stringhe o array di byte...ma non un intero e visto che non è convertibile direttamente in un vettore di byte allora lo converto io in un vettore di byte...
Prova a vedere se invia anche l'intero senza metterlo in un vettore di byte...
Scusa ma ancora non ti seguo . Perché inviare l'intero ? Io apro il file ; leggo tot byte ed invio questi tot byte . Cos'altro devo fare ?
leon84 è offline   Rispondi citando il messaggio o parte di esso
Old 17-02-2003, 13:34   #27
leon84
Senior Member
 
L'Avatar di leon84
 
Iscritto dal: Jul 2002
Città: Napoli
Messaggi: 1964
Un'altra cosa . Perché inviare prima la dimensione del pacchetto ? A cosa mi serve ?
leon84 è offline   Rispondi citando il messaggio o parte di esso
Old 17-02-2003, 13:48   #28
leon84
Senior Member
 
L'Avatar di leon84
 
Iscritto dal: Jul 2002
Città: Napoli
Messaggi: 1964
Quote:
Per creare un file in cui scrivere :
CreateFile(nomefile, GENERIC_WRITE, FILE_SHARE_READ, ByVal 0&, CREATE_ALWAYS, 0, 0)
Attento che sovrascrive i file già esistenti...
Scusa ma se io il file lo devo aprire per leggerlo come faccio se la create file me lo sovrascrive ? Siccome la ReadFile ha bisogno dell'handle del file c'è qualche altro modo per ottenerlo ?
leon84 è offline   Rispondi citando il messaggio o parte di esso
Old 17-02-2003, 13:53   #29
leon84
Senior Member
 
L'Avatar di leon84
 
Iscritto dal: Jul 2002
Città: Napoli
Messaggi: 1964
Su un'altra cosa non mi trovo :

Codice:
        Do
            ReadFile f, buffer(1), BYTE_PER_MSG, read, ByVal 0&
            'Ora richiamo la Sub che invia i dati
        Loop While read > 0
La variabile read che hai utilizzato conta il numero di byte letti giusto ? A meno che il file non sia vuoto queste istruzioni creano un ciclo infinito perché e il file che aprò non è vuoto read risulterà sempre maggiore di 0 . Ed infatti avviandolo con VB il programma si alluppa . Ti trovi ? E come dico io o ho interpretato male ?
leon84 è offline   Rispondi citando il messaggio o parte di esso
Old 17-02-2003, 13:54   #30
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originally posted by "leon84"

Scusa ma se io il file lo devo aprire per leggerlo come faccio se la create file me lo sovrascrive ? Siccome la ReadFile ha bisogno dell'handle del file c'è qualche altro modo per ottenerlo ?
Questo era per la creazione del file in cui mettere i dati che ricevi Nell'esempio il file che apro lo apro normalmente (guarda la differenza fra i due metodi)...
Quote:
Originally posted by "leon84"

Un'altra cosa . Perché inviare prima la dimensione del pacchetto ? A cosa mi serve ?
A sapere quanti byte leggere dopo !!! Altrimenti come fai a saperlo ?!?!?!?
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 17-02-2003, 14:01   #31
leon84
Senior Member
 
L'Avatar di leon84
 
Iscritto dal: Jul 2002
Città: Napoli
Messaggi: 1964
Ah scusa ho capito queste istruzioni commettevo io l'errore . Ma non sarebbe meglio fare così la condizione di uscita ? Così risparmierei un cilco ti trovi ? Quanto alla CreateFile si ho capito , scusami . Poi un'altra cosa , come stanno le cose e siccome l'integer è di 4 byte non posso inviare un file superiore a 32 K ?

Codice:
        Do 
            ReadFile f, buffer(1), BYTE_PER_MSG, read, ByVal 0& 
            'Ora richiamo la Sub che invia i dati 
        Loop While read <BYTE_PER_MSG
leon84 è offline   Rispondi citando il messaggio o parte di esso
Old 17-02-2003, 14:02   #32
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originally posted by "leon84"

Su un'altra cosa non mi trovo :

Codice:
        Do
            ReadFile f, buffer(1), BYTE_PER_MSG, read, ByVal 0&
            'Ora richiamo la Sub che invia i dati
        Loop While read > 0
La variabile read che hai utilizzato conta il numero di byte letti giusto ? A meno che il file non sia vuoto queste istruzioni creano un ciclo infinito perché e il file che aprò non è vuoto read risulterà sempre maggiore di 0 . Ed infatti avviandolo con VB il programma si alluppa . Ti trovi ? E come dico io o ho interpretato male ?
Strano che ti vada in loop...a meno lo fa...
La ReadFile cerca di leggere BYTE_PER_MSG byte dal file... Il numero di byte letti finisce in read... La posizione da cui si andrà a leggere dopo è quella successiva all'ultimo byte letto...quindi se il file ha una qualsiasi dimensione prima o poi read varrà zero (cioè nel ciclo successivo dopo che hai letto gli utlimi byte presenti nel file)...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 17-02-2003, 14:06   #33
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originally posted by "leon84"

Ah scusa ho capito queste istruzioni commettevo io l'errore . Ma non sarebbe meglio fare così la condizione di uscita ? Così risparmierei un cilco ti trovi ? Quanto alla CreateFile si ho capito , scusami . Poi un'altra cosa , come stanno le cose e siccome l'integer è di 4 byte non posso inviare un file superiore a 32 K ?

Codice:
        Do 
            ReadFile f, buffer(1), BYTE_PER_MSG, read, ByVal 0& 
            'Ora richiamo la Sub che invia i dati 
        Loop While read <BYTE_PER_MSG
No perchè anche quando read è < di BYTE_PER_MSG quei byte letti li devi comunque inviare...
Inoltre è utile inviare anche un messaggio di lunghezza zero epr far capire al programma che sta dall'altra parte che il file è finito
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 17-02-2003, 14:09   #34
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originally posted by "leon84"

Codice:
        Do 
            ReadFile f, buffer(1), BYTE_PER_MSG, read, ByVal 0& 
            'Ora richiamo la Sub che invia i dati 
        Loop While read <BYTE_PER_MSG
Così poi non va bene...se il file è di dimensione superiore a BYTE_PER_MSG byte ti uscirebbe al primo ciclo
Se lo vuoi fare così lo devi scrivere in questo modo :
Codice:
        Do 
            ReadFile f, buffer(1), BYTE_PER_MSG, read, ByVal 0& 
            'Ora richiamo la Sub che invia i dati 
        Loop Until read <BYTE_PER_MSG
In ogni caso valgono le considerazioni fatte sopra...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 17-02-2003, 14:15   #35
leon84
Senior Member
 
L'Avatar di leon84
 
Iscritto dal: Jul 2002
Città: Napoli
Messaggi: 1964
Si scusa ho dimenticato la funzione SendMsg read,buffer . Così andrebbe bene ?
Codice:
        Do
            ReadFile f, buffer(1), BYTE_PER_MSG, read, ByVal 0&
            'Ora richiamo la Sub che invia i dati
            SendMsg read, buffer
        Loop While read < BYTE_PER_MSG
leon84 è offline   Rispondi citando il messaggio o parte di esso
Old 17-02-2003, 14:16   #36
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
No serve Until al posto di While... Inoltre come ho già detto dovresti inviare anche un messaggio di lunghezza zero per far capire al programma che riceve il file che il file è terminato...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 17-02-2003, 14:19   #37
leon84
Senior Member
 
L'Avatar di leon84
 
Iscritto dal: Jul 2002
Città: Napoli
Messaggi: 1964
Quote:
Originally posted by "cionci"

No serve Until al posto di While... Inoltre come ho già detto dovresti inviare anche un messaggio di lunghezza zero per far capire al programma che riceve il file che il file è terminato...
Ah si scusa che stupido , ci vuole Until . Un'altra cosa : ma l'istruzione int(data) a cosa serve ? A convertire da binario a decimale ?
leon84 è offline   Rispondi citando il messaggio o parte di esso
Old 17-02-2003, 14:23   #38
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originally posted by "leon84"

Ah si scusa che stupido , ci vuole Until . Un'altra cosa : ma l'istruzione int(data) a cosa serve ? A convertire da binario a decimale ?
Dire "convertire da binario a decimale" non è esatto...perchè binario e decimale sono due rappresentazioni diverse dello stesso numero...ed in ogni caso qualsiasi numero nel PC è rappresentato solamente in binario...
Serve per covertire dal tipo Byte al tipo Integer....
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 17-02-2003, 14:31   #39
leon84
Senior Member
 
L'Avatar di leon84
 
Iscritto dal: Jul 2002
Città: Napoli
Messaggi: 1964
Si ma implicitamente avviene quella conversione giusto ? Cmq guarda il codice che ho modificato della SendMSg

Codice:
Private Sub SendMsg(num As Long, buf() As Byte)
Dim tmp(4) As Byte, I As Long
    Dim v As Variant
    tmp(1) = (num And &HFF000000) / &H1000000
    tmp(2) = (num And &HFF0000) / &H10000
    tmp(3) = (num And &HFF00) / &H100
    tmp(4) = num And &HFF
    v = tmp
    MSComm1.CommPort = 1
    MSComm1.PortOpen = True
    MSComm1.Output = v
    'Non so se buf vada ridimensionato comunque lo faccio uguale
    v = buf
    MSComm1.Output = v
    MSComm1.PortOpen = False
End Sub
Il ridimensionamento del buffer l'ho eliminato perché mi ha dato problemi . A proposito il ridimensionamento che io sapevo si faceva impostando la proprietà outbuffersize o inbuffersize dell'oggetto Mscomm . Quella istruzione che hai postato è valida lo stesso ? Cmq adesso mi è tutto chiaro . Leggo 16 byte alla volta che posso anche aumentare , ed invio sulla seriale i primi 4 byte che convertiti in integer mi danno 16 e successivamente i 16 byte del file . Fccio questo fino a quando read risulta minore del numero buffer . Ora mi chiedo : nell'evento Oncomm() dell'oggetto MSCOMM una proprietà cambierà a seconda se sono presenti elementi o meno sul buffer . Quando dovrò leggere dal buffer quali operazioni dovrò compiere ? In teoria dovrei leggere il numero 16 in questo caso e leggere i 16 byte e così via , ma in pratica nel buffer questi pacchetti come saranno disposti ?
leon84 è offline   Rispondi citando il messaggio o parte di esso
Old 17-02-2003, 14:33   #40
leon84
Senior Member
 
L'Avatar di leon84
 
Iscritto dal: Jul 2002
Città: Napoli
Messaggi: 1964
Ah cionci , mi spieghi nel dettaglio l'operazioni si scomposizione dell'intero in 4 byte differenti ? Ci tengo particolarmente .
leon84 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


LG UltraGear evo GM9: 27 pollici, 5K, Mini LED e Dual Mode LG UltraGear evo GM9: 27 pollici, 5K, Mini LED e...
Motorola edge 70 Fusion FIFA World Cup 26 Edition: un ottimo smartphone per i fan del calcio Motorola edge 70 Fusion FIFA World Cup 26 Editio...
Renault 5 elettrica al giudizio definitivo: solo stupore iniziale o premi meritati? Renault 5 elettrica al giudizio definitivo: solo...
HONOR CHOICE Projector Air Pro: piccolo, portatile e con Netflix HONOR CHOICE Projector Air Pro: piccolo, portati...
ASUS ProArt GoPro Edition è il notebook compatto per chi crea ASUS ProArt GoPro Edition è il notebook c...
Oltre 1.500 miliardi di dollari: il merc...
'Sorry, typo': l'IA cancella tutto il pr...
The Legend of Zelda sarà l'ultima...
NVIDIA CMP 170 HX: il mining l'aveva abb...
Philips Shaver S9000 a 181,99€: il rasoi...
Samsung Galaxy S26 FE si mostra nei prim...
Il nuovo sensore da 200MP di Samsung è m...
Clamoroso ritorno in Ubisoft: ecco chi d...
1600W, tecnologia GaN, display LCD e fin...
Addio Google Translate? Questo traduttor...
Honor al lavoro sul nuovo MagicPad: in a...
Blue Origin rende note le cause dell'esp...
Le prime AirPods con fotocamere e IA pot...
I dati della sonda spaziale NASA New Hor...
Si sposta su quattro zampe e impugna una...
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: 03:09.


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