Oppure

Loading
04/07/07 12:33
mmmmmm
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
aaa
04/07/07 17:06
SuperTiz
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", "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
aaa
04/07/07 17:31
mmmmmm
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
aaa
04/07/07 18:19
SuperTiz
il sorgente è semplicemente questo:


Sub CaricaPag(Url)
Dim HTML As Object
Dim testoPag As String
Set HTML = CreateObject("microsoft.xmlhttp";)
HTML.Open "GET", "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:k:
aaa
04/07/07 19:49
mmmmmm
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.:k::d
aaa
05/07/07 8:39
c.ronaldo
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.:k::d


. Uppala semplicemente in uno spazio web

. form2.Show;)
aaa
05/07/07 8:51
mmmmmm
hem...ancora qui:

. cosa deve contnere la pagina a.html?

.dove cè scritto: HTML.Open "GET", "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 05/07/07 9:00
aaa
05/07/07 9:09
c.ronaldo
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", "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;)
aaa