Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Peugeot Polygon Concept: ecco il futuro delle utilitarie
Peugeot Polygon Concept: ecco il futuro delle utilitarie
Polygon è la concept car di Peugeot che mostra il futuro delle soluzioni del segmento B: tra design compatti e innovativi affiancati da dimensioni compatte uno scherzo dalla manovrabilità incredibile per le manovre a bassa velocità
Reno16 Pro: il compatto di OPPO punta su fotocamera da 200MP e il nuovo Bubble! La recensione
Reno16 Pro: il compatto di OPPO punta su fotocamera da 200MP e il nuovo Bubble! La recensione
OPPO ha portato in Italia, dal 1° luglio 2026, Reno16 Pro: display AMOLED da 6,32 pollici a 144Hz, tripla fotocamera con sensore principale da 200 megapixel, chip Dimensity 8550 Super e batteria da 6000mAh, al prezzo di lancio di 899 euro. Lo abbiamo provato per due settimane insieme al nuovo accessorio Bubble, per capire se la formula compatta della serie regge ancora di fronte a un listino da 1099 euro
 Hisense 55U7SE: tuttofare e accessibile, il MiniLED per film, sport e gioco
Hisense 55U7SE: tuttofare e accessibile, il MiniLED per film, sport e gioco
MiniLED di fascia media con local dimming a 192 zone, 144 Hz nativi e audio firmato Devialet. La prova strumentale riscontra colori affidabili e gaming reattivo, per un prodotto molto accessibile e convincente. Ma la soundbar aggiuntiva è quasi d'obbligo
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 03-09-2004, 08: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, 02: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, 02: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, 09: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, 10: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, 12: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, 00: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, 09: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, 11: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, 12: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, 12: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, 13: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, 13: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


Peugeot Polygon Concept: ecco il futuro delle utilitarie Peugeot Polygon Concept: ecco il futuro delle ut...
Reno16 Pro: il compatto di OPPO punta su fotocamera da 200MP e il nuovo Bubble! La recensione Reno16 Pro: il compatto di OPPO punta su fotocam...
 Hisense 55U7SE: tuttofare e accessibile, il MiniLED per film, sport e gioco Hisense 55U7SE: tuttofare e accessibile, il Min...
Kindle Scribe Colorsoft: riduce le cornici e diventa a colori, ma il prezzo è alto Kindle Scribe Colorsoft: riduce le cornici e div...
L'IA cambia tutte le regole della sicurezza tra vulnerabilità e sorveglianza. Intervista al CEO di Proofpoint L'IA cambia tutte le regole della sicurezza tra ...
Scope elettriche in offerta su Amazon, d...
Trump incassa dal memecoin, ma quasi un ...
Queste batterie potrebbero durare molto ...
LG UltraGear, un monitor gaming curvo da...
Midjourney chiede ai giudici di costring...
Madrid mette al bando Palantir da appalt...
Torio, stampa 3D e niente uranio: il pia...
Una falla enorme in MSI Center metteva a...
Steam Machine è un 'ritorno ai te...
Il 2026 sarà un anno nero per i n...
Google reimmagina la Dichiarazione d'Ind...
C'è un SSD cinese in uno dei note...
Gene Wilder torna a parlare dopo 10 anni...
ChatGPT genera immagini shock con un pro...
Come il Giappone trasforma la segnaletic...
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: 09:06.


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