mmmmmm (Normal User)
Rookie
Messaggi: 32
Iscritto: 02/07/2007
|
ciao io volevo fare una cosa.
in pratica io ho un piccolo programmino .exe
volevo fare che all apertura controllasse uncodice preso da una pagina web o un file di testo ecc...
se era uguale allora seguiva con il form sucessivo altrimenti diceva versione non valida o scarica nuova versione ecc.
in pratica io cambio da qualche parte il codice, cosi ilprogrammino "scade" e uno deve riscaricarlo o chiedere ilpermesso.
è fattibile?
è molto difficile?
perche non sono molto esperto
|
|
SuperTiz (Ex-Member)
Pro
Messaggi: 97
Iscritto: 25/05/2007
|
ciao, allora la cosa mi ha incuriosito molto, cosi ho provato in un modo anche piuttosto semplice, e devo dire che è molto efficace
allora, innanzitutto devi aggiungere ai componenti default la voce "Microsoft Rich TextBox Control 6.0" o una cosa simile. dopodichè nel form ne aggiungi due, rispettivamente chiamate
RichTextBox1 e RichTextBox2
nella prima RichTextBox inserirai un codice che caratterizza una delle versioni del programma, esempio "super_pippo"
la seconda richtextbox non dovrà fare altro che leggere il contenuto di un file html (adesso ti spiego tutto)
allora se tu vuoi che il programma controlli la validità su una pagina web, basta che in un tuo spazio uppi "pippo.html" e che dentro pippo.html ci sia scritto "super_pippo"
ora definisci la seguente sub
Sub CaricaPag(Url)
Dim HTML As Object
Dim testoPag As String
Set HTML = CreateObject("microsoft.xmlhttp")
HTML.Open "GET", "http://it.msn.com", False 'pagina da dove prendere il sorgente
HTML.send
testoPag = HTML.responseText
Set HTML = Nothing
Close #1: Open "H:\a.html" For Output As #1
Print #1, testoPag: Close #1
End Sub
nel mio caso dico al programma di salvare su disco con nome "a.html" il codice sorgente dell'home page di msn.
ora nel form_load metti
CaricaPag (Url)
RichTextBox2.LoadFile "H:\a.html"
If RichTextBox2.Text <> RichTextBox1.Text Then
MsgBox "La tua versione è scaduta. Per favore contatta il provider oppure richiedi un aggiornamento", vbCritical
End
End If
End Sub
appena il programma viene lanciato, fa riferimento alla sub CaricaPag e subito dopo legge il contenuto del file a.html, che abbiamo precedentemente salvato. il contenuto viene memorizzato all'interno della richtextbox2
ed infine un semplice ciclo if che controlla che i due codici combacino
ovviamente il file lo salvi in una parte bella imboscata, tipo C:\Windows\system32\a.html
e ogni volta che vuoi aggiornare la versione basta che sul tuo sito uppi un nuovo file (magari cn lo stesso nome cosi non devi cambiare pure il source del programma) che contenga una stringa anche minimamente diversa ed il gioco è fatto
in breve:
-in un form ci sono due rich
-la prima contiene già in partenza un codice che sceglierai tu
-la seconda è momentaneamente vuota, ma in un attimo andrà a reperire il codice del file salvato; quest'ultimo contiene il sorgente della pagina web
-con un semplice ciclo if viene controllato che le due richtextbox abbiano lo stesso contenuto
-in caso negativo il programma lancia il mesasggio d'errore e si chiude
-in caso affermativo il programma continua l'esecuzione
l'ho spiegato un po' di fretta, quindi se nn hai capito qualcosa chiedi pure!
ciao ciao
|
|
mmmmmm (Normal User)
Rookie
Messaggi: 32
Iscritto: 02/07/2007
|
non è che puoi postare un sorgente cosi lo studio meglio
perche leggendo non ho capito molto bene il procedimento da fare...
anche se cmq è cio che cercavo di fare io
|
|
SuperTiz (Ex-Member)
Pro
Messaggi: 97
Iscritto: 25/05/2007
|
il sorgente è semplicemente questo:
Sub CaricaPag(Url)
Dim HTML As Object
Dim testoPag As String
Set HTML = CreateObject("microsoft.xmlhttp")
HTML.Open "GET", "http://it.msn.com", False 'pagina da dove prendere il sorgente
HTML.send
testoPag = HTML.responseText
Set HTML = Nothing
Close #1: Open "H:\a.html" For Output As #1
Print #1, testoPag: Close #1
End Sub
Private Sub Form_Load()
CaricaPag (Url)
RichTextBox2.LoadFile "H:\a.html"
If RichTextBox2.Text <> RichTextBox1.Text Then
MsgBox "La tua versione è scaduta. Per favore contatta il provider oppure richiedi un aggiornamento", vbCritical
End
End If
End Sub
se vuoi ti rispiego meglio e con calma il procedimento, basta chiedere
|
|
mmmmmm (Normal User)
Rookie
Messaggi: 32
Iscritto: 02/07/2007
|
ok richiedo una spiegazione.
ho provato il tuo codice...
ma mi dice errore run-time error accesso negato
cosa chiedo
.la pagina come la creo e cosa deve contenere?
.come faccio a metterla nel pc di chi usa il programmino .exe
. dopo che ho effettutato il controllo che codice devo aggiungere per passare ad un altro form dove ci sara' il programma che mi interessa?
scusate ma sono all inizio.
|
|
c.ronaldo (Ex-Member)
Pro
Messaggi: 121
Iscritto: 05/07/2007
|
Postato originariamente da mmmmmm:
.come faccio a metterla nel pc di chi usa il programmino .exe
. dopo che ho effettutato il controllo che codice devo aggiungere per passare ad un altro form dove ci sara' il programma che mi interessa?
scusate ma sono all inizio. |
. Uppala semplicemente in uno spazio web
. form2.Show |
|
mmmmmm (Normal User)
Rookie
Messaggi: 32
Iscritto: 02/07/2007
|
hem...ancora qui:
. cosa deve contnere la pagina a.html?
.dove cè scritto: HTML.Open "GET", "http://it.msn.com", False 'pagina da dove prendere il sorgente
..che indirizzo metto? ovvero che sorgente devo prendere?
. "H:\a.html" cosa devo fare o impostare? o meglio come fa a trovarla se non esiste sul pc di chi lo lancia il .exe?
. mi posteresti anche il codice del show form2 se va a buon fine la prima parte del form?
graziee chiedo venia
Ultima modifica effettuata da mmmmmm il 05/07/2007 alle 11:00 |
|
c.ronaldo (Ex-Member)
Pro
Messaggi: 121
Iscritto: 05/07/2007
|
Per ordine :
Postato originariamente da mmmmmm:
hem...ancora qui:
. cosa deve contnere la pagina a.html?
|
La frase che deve distinguere il programma come tu vuoi che sia!
.dove cè scritto: HTML.Open "GET", "http://it.msn.com", False 'pagina da dove prendere il sorgente
..che indirizzo metto? ovvero che sorgente devo prendere?
|
Devi mettere l'indirizzo ella pagina in cui hai inserito il file html,con la frase che distingue!
. "H:\a.html" cosa devo fare o impostare? o meglio come fa a trovarla se non esiste sul pc di chi lo lancia il .exe?
|
Ma infatti la pagina è su intenet non sul pc!
. mi posteresti anche il codice del show form2 se va a buon fine la prima parte del form?
|
Il codice del show form2 ??? form2.show ??? o cosa... Non ho capito
graziee chiedo venia
|
Di niente |
|
mmmmmm (Normal User)
Rookie
Messaggi: 32
Iscritto: 02/07/2007
|
mi spiace ho provato ma non va nulla
la mia pagina a.html è qui: www.veronamania . it/a.html
contiene il testo: massimo
senza tag ne altro
ma non mi va nulla.
per favore non riesci a mandarmi un esempio di sorgente via mail?
|
|