Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Polestar 3 Performance, test drive: comodità e potenza possono convivere
Polestar 3 Performance, test drive: comodità e potenza possono convivere
Abbiamo passato diversi giorni alla guida di Polestar 3, usata in tutti i contesti. Come auto di tutti i giorni è comodissima, ma se si libera tutta la potenza è stupefacente
Qualcomm Snapdragon X2 Elite: l'architettura del SoC per i notebook del 2026
Qualcomm Snapdragon X2 Elite: l'architettura del SoC per i notebook del 2026
In occasione del proprio Architecture Deep Dive 2025 Qualcomm ha mostrato in dettaglio l'architettura della propria prossima generazione di SoC destinati ai notebook Windows for ARM di prossima generazione. Snapdragon X2 Elite si candida, con sistemi in commercio nella prima metà del 2026, a portare nuove soluzioni nel mondo dei notebook sottili con grande autonomia
Recensione DJI Mini 5 Pro: il drone C0 ultra-leggero con sensore da 1 pollice
Recensione DJI Mini 5 Pro: il drone C0 ultra-leggero con sensore da 1 pollice
DJI Mini 5 Pro porta nella serie Mini il primo sensore CMOS da 1 pollice, unendo qualità d'immagine professionale alla portabilità estrema tipica di tutti i prodotti della famiglia. È un drone C0, quindi in un peso estremamente contenuto e che non richiede patentino, propone un gimbal rotabile a 225 gradi, rilevamento ostacoli anche notturno e autonomia fino a 36 minuti. Caratteristiche che rendono il nuovo drone un riferimento per creator e appassionati
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 03-09-2004, 09:48   #1
Matro
Senior Member
 
L'Avatar di Matro
 
Iscritto dal: Apr 2003
Città: Padova
Messaggi: 2929
[VB] Collegamento ad internet

Ciao a tutti! E' da qualche giorno che mi sto cimentando a fare alcuni programmi con questo linguaggio, e devo dire che qualcosa ho imparato. Ora avrei un paio di domande da farvi:

1) Vorrei mettere una piccola label in cui, se si è connessi ad internet, il programma verifica su un sito magari la presenza di una pagina, la quale significa che c'è un'aggiornamento disponibile. E' possibile ciò? Ci sono altri metodi faster?

2) Come posso fare per rendere il programma multi-language? Ho visto che molti assegnano ad ogni oggetto un codice (ad es. ~rimuovi~), e poi ci sono i file con le varie traduzioni (~rimuovi~ = remove, ecc) . Non saprei minimamente come farlo, dovrei assegnare una variabile a ciascun comando?

Grazie
Matro è offline   Rispondi citando il messaggio o parte di esso
Old 04-09-2004, 03:42   #2
matpez
Senior Member
 
L'Avatar di matpez
 
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
Guarda se ti può interessare questa cosa per il multi language: http://www.visual-basic.it/uploads/a...nici/gbMLS.htm


Per quanto riguarda la label ti mando una mia funzione che aiuta a fare cioè che ti serve, cioè il controllo della presenza di una pagina...

Codice:
Private Const IF_NO_CACHE_WRITE = &H4000000

Private Declare Function InternetOpen Lib "wininet.dll" Alias "InternetOpenA" (ByVal sAgent As String, ByVal lAccessType As Long, ByVal sProxyName As String, ByVal sProxyBypass As String, ByVal lFlags As Long) As Long
Private Declare Function InternetOpenUrl Lib "wininet.dll" Alias "InternetOpenUrlA" (ByVal hInternetSession As Long, ByVal sURL As String, ByVal sHeaders As String, ByVal lHeadersLength As Long, ByVal lFlags As Long, ByVal lContext As Long) As Long
Private Declare Function InternetCloseHandle Lib "wininet.dll" (ByVal hInet As Long) As Integer


Public Function IsURLActive(ByVal sURL As String) As Boolean
   
  Dim lInternet        As Long
  Dim lSession         As Long
  
  
  DoEvents
  
  'prendo l'handle della connessione corrente
  lSession = InternetOpen("vb wininet", 1, vbNullString, vbNullString, 0)
  
  'prendo l'handle dell'URL
  If lSession Then
    lInternet = InternetOpenUrl(lSession, sURL, vbNullString, 0, IF_NO_CACHE_WRITE, 0)
  End If
  
  If lInternet <> 0 Then
    IsURLActive = True
  End If
  
  'chiudo l'URL
  Call InternetCloseHandle(lInternet)
    
End Function
PS: le dichiarazioni vanno messe nella Option Explicit
__________________
"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 04-09-2004, 03:46   #3
matpez
Senior Member
 
L'Avatar di matpez
 
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
C'è anche un altro modo per fare un multi language molto + carino, se mi mandi la tua mail ti mando il file, così te lo studi per benino
__________________
"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 04-09-2004, 10:27   #4
Matro
Senior Member
 
L'Avatar di Matro
 
Iscritto dal: Apr 2003
Città: Padova
Messaggi: 2929
Grazie, più tardi me li studio per benino !

Un'altra cosetta: se voglio avviare un programma di windows (il registratore di suoni), come posso fare per rendere il percorso "universale"?
Del tipo invece di mettere "c:\windows\system\ecc" , non c'è qualche codice come "%windowsroot%\system\ecc" così da accederci anche se windows è installato con il nome della cartella diverso da windows o disco diverso da "c" ?
Matro è offline   Rispondi citando il messaggio o parte di esso
Old 04-09-2004, 11:52   #5
matpez
Senior Member
 
L'Avatar di matpez
 
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
Si si, te lo passo io senza problemi, il problema è che adesso sono a lavoro e nn posso scrivere più di tanto, se nn hai fretta te lo mando stasera quando torno a casa
__________________
"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 04-09-2004, 13:02   #6
Matro
Senior Member
 
L'Avatar di Matro
 
Iscritto dal: Apr 2003
Città: Padova
Messaggi: 2929
No problem
Matro è offline   Rispondi citando il messaggio o parte di esso
Old 05-09-2004, 01:20   #7
matpez
Senior Member
 
L'Avatar di matpez
 
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
Ecco a te... se c'è qlc problema o vuoi qlc delucidazione basta chiedere!!
Allegati
File Type: rar 000.rar (2.2 KB, 7 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
Old 05-09-2004, 10:48   #8
Matro
Senior Member
 
L'Avatar di Matro
 
Iscritto dal: Apr 2003
Città: Padova
Messaggi: 2929
Quote:
Originariamente inviato da matpez
Ecco a te... se c'è qlc problema o vuoi qlc delucidazione basta chiedere!!
Per la cartella system32 funziona benone, ma se voglio cambiare la cartella che parametri devo modificare? Ho visto che nelle dichiarazioni del modulo c'è una lista delle varie cartelle, ma nella funzione non ho capito come impostarla
Matro è offline   Rispondi citando il messaggio o parte di esso
Old 05-09-2004, 12:46   #9
matpez
Senior Member
 
L'Avatar di matpez
 
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
Bhe ho messo il modulo così nn vai a sporcare il tuo programma, tutto quel blocco inerente alla funzione rimane a parte!!

Cmq è facile, basta che cambi il parametro nella funzione che c'è dentro al command button, se vuoi facilitarti cancella tutto quello che c'è nelle parentesi, cancella la parentesi facendo solo rimanere così: Label1 = GetSpecialFolder

a questo punto basta che aggiungi una parentesi aperta e magicamente heheeh ti comparirà tutto l'elenco delle cartelle che si possono scegliere!!
__________________
"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 05-09-2004, 13:15   #10
Matro
Senior Member
 
L'Avatar di Matro
 
Iscritto dal: Apr 2003
Città: Padova
Messaggi: 2929
Cavolo hai ragione, continuavo a cercare quel "CSIDL_SYSTEM" nella dichiarazione della funzione ma ovviamente dev'essere nelle istruzioni del pulsante

Quindi i moduli servono per organizzare meglio la struttura del programma? Voglio dire, se i sub() e le funzioni le metto in un modulo dichiarate con public e nel form lascio solo le istruzioni degli oggetti, la funzionalità del programma è identica ma il source è organizzato meglio, giusto?
Matro è offline   Rispondi citando il messaggio o parte di esso
Old 05-09-2004, 13:30   #11
matpez
Senior Member
 
L'Avatar di matpez
 
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
Esatto!!

I moduli hanno due funzioni principali:

1) Organizzare meglio
2) rendere visivibile le funzioni a tutto il progetto


Per quanto riguarda 1) come hai già capito se tu metti una parte di funzioni che ti servono e che magari vengono richiamate più volte dentro il modulo può fare come ti ho messo nell'esempio: quello che ti servirà veramente lo metti public così lo puoi vedere dalla form, le ccose invece che in verità ti servono solo per supporto alla funzione (come le variabili e le costanti e le dichiarazioni API) le metti private così almeno nn vengono viste dalla form e nn vai ad imporcare tutto!
Sta a te vedere quanti moduli utilizzare, di solito dovresti separare un modulu per ogni cosa importante, ma sinceramente io nn o voglia e siccome bene o male il modulo l'ho creato io e so come navigarci dentro, faccio che buttare tutto in un solo modulo!!

Per il punto 2) invece è fatto perchè se tu hai più form che utilizzano una funzione o una procedura, la metti publica e tutto il tuo progetto la vede, così facendo in tutte le form puoi richiamare la funzione senza bisogno di copiare codice da una form ad un altra, almeno anche in questo caso, nn si imporca tutto il progetto!!!!

heheheheh
__________________
"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 05-09-2004, 14:35   #12
Matro
Senior Member
 
L'Avatar di Matro
 
Iscritto dal: Apr 2003
Città: Padova
Messaggi: 2929
Bene, allora mi sa che è meglio perdere mezz'oretta e risistemare tutto il codice

Tornando velocemente al discorso delle cartelle, ho notato che in winxp il registratore di suoni è in system32, mentre in win98 è in windows. Ora la domanda sorge spontanea: come capire se il programma sta funzionando in win98 o winxp? Occorre un'altra mega-funzione come quella per le cartelle?
Matro è offline   Rispondi citando il messaggio o parte di esso
Old 05-09-2004, 14:56   #13
matpez
Senior Member
 
L'Avatar di matpez
 
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
Bhe quando passi dalla programmazione normale, a quella avanzata, le cose si complicano

ecco a te:

Codice:
Private Const VER_PLATFORM_WIN32_NT = 2

Private Declare Function GetVersionEx Lib "kernel32" Alias "GetVersionExA" (lpVersionInformation As OSVERSIONINFO) As Long

Private Type OSVERSIONINFO
  dwOSVersionInfoSize     As Long
  dwMajorVersion          As Long
  dwMinorVersion          As Long
  dwBuildNumber           As Long
  dwPlatformId            As Long
  szCSDVersion            As String * 128
End Type

Public Function IsWinNT() As Boolean

  Dim myOS As OSVERSIONINFO
  
  
  myOS.dwOSVersionInfoSize = Len(myOS)
  
  Call GetVersionEx(myOS)
  
  IsWinNT = (myOS.dwPlatformId = VER_PLATFORM_WIN32_NT)
  
End Function
__________________
"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


Polestar 3 Performance, test drive: comodità e potenza possono convivere Polestar 3 Performance, test drive: comodit&agra...
Qualcomm Snapdragon X2 Elite: l'architettura del SoC per i notebook del 2026 Qualcomm Snapdragon X2 Elite: l'architettura del...
Recensione DJI Mini 5 Pro: il drone C0 ultra-leggero con sensore da 1 pollice Recensione DJI Mini 5 Pro: il drone C0 ultra-leg...
ASUS Expertbook PM3: il notebook robusto per le aziende ASUS Expertbook PM3: il notebook robusto per le ...
Test ride con Gowow Ori: elettrico e off-road vanno incredibilmente d'accordo Test ride con Gowow Ori: elettrico e off-road va...
LG UltraFine evo 6K: il primo monitor al...
DJI cambia direzione: investe in Elegoo ...
Black Friday Narwal 2025: risparmi da ca...
Phishing evoluto contro Apple ID: caso f...
Prestazioni in discesa nei giochi? NVIDI...
Addio ai banner dei cookie? L'UE spinge ...
Le offerte Black Friday per gli smartpho...
Il controllo qualità degli iPhone...
Qualcomm Snapdragon X Elite vola con il ...
A2RL Season 2: storia, innovazione e sor...
Core Ultra Series 3: Intel conferma l'ev...
Black Friday Amazon: la GeForce RTX 5070...
EcoFlow, il Black Friday porta grande ri...
Gli sconti più pesanti del Black ...
Smart #5 BRABUS segna il nuovo record di...
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: 19:16.


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