Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione vivo X300 Pro: è ancora lui il re della fotografia mobile, peccato per la batteria
Recensione vivo X300 Pro: è ancora lui il re della fotografia mobile, peccato per la batteria
vivo X300 Pro rappresenta un'evoluzione misurata della serie fotografica del produttore cinese, con un sistema di fotocamere migliorato, chipset Dimensity 9500 di ultima generazione e l'arrivo dell'interfaccia OriginOS 6 anche sui modelli internazionali. La scelta di limitare la batteria a 5.440mAh nel mercato europeo, rispetto ai 6.510mAh disponibili altrove, fa storcere un po' il naso
Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo
Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo
Lenovo Legion Go 2 è la nuova handheld PC gaming con processore AMD Ryzen Z2 Extreme (8 core Zen 5/5c, GPU RDNA 3.5 16 CU) e schermo OLED 8,8" 1920x1200 144Hz. È dotata anche di controller rimovibili TrueStrike con joystick Hall effect e una batteria da 74Wh. Rispetto al dispositivo che l'ha preceduta, migliora ergonomia e prestazioni a basse risoluzioni, ma pesa 920g e costa 1.299€ nella configurazione con 32GB RAM/1TB SSD e Z2 Extreme
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti
A re:Invent 2025, AWS mostra un’evoluzione profonda della propria strategia: l’IA diventa una piattaforma di servizi sempre più pronta all’uso, con agenti e modelli preconfigurati che accelerano lo sviluppo, mentre il cloud resta la base imprescindibile per governare dati, complessità e lock-in in uno scenario sempre più orientato all’hybrid cloud
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


Recensione vivo X300 Pro: è ancora lui il re della fotografia mobile, peccato per la batteria Recensione vivo X300 Pro: è ancora lui il...
Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'...
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti AWS re:Invent 2025: inizia l'era dell'AI-as-a-Se...
Cos'è la bolla dell'IA e perché se ne parla Cos'è la bolla dell'IA e perché se...
BOOX Palma 2 Pro in prova: l'e-reader diventa a colori, e davvero tascabile BOOX Palma 2 Pro in prova: l'e-reader diventa a ...
Toyota usa giochi e premi per spingere i...
HarmonyOS ha raggiunto la soglia di sopr...
Le offerte Amazon più convenienti...
Un gruppo di ladri ha usato Google Maps ...
Apple non si fida di Samsung per la real...
Windows 11: un nuovo driver nativo mette...
Vi hanno regalato buoni Amazon? Intanto ...
Via acari, polvere e sporco da materassi...
Cuffie Beats in super offerta su Amazon,...
Xbox Cloud Gaming arriva su Amazon Fire ...
Un blackout a San Francisco manda in til...
Windows 11 è diventato più...
Apple cambia strategia a causa della cri...
007 First Light: uscita rimandata di due...
Samsung Galaxy A37 e A57: il comparto fo...
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: 05:01.


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