Oppure

Loading
01/08/11 21:02
GrG
allora riguardo al flame che si stava generando sono contento che non sia degenerato... riguardo il fatto dell'open source magari potete discutere in "off-topic" comunque nessuno vieta che un utente ti posti tutto il codice sorgente pronto, ma oltre al fatto che a te non ti aiuta ad imparare generalmente nei forum si cerca di aiutare dando suggerimenti e non postando il codice per intero...


Adesso, ti consiglio di lasciar perdere questa cosa del file che sprechi solo tempo e c'hai un sacco di problemi...

perchè non usare il registro che è "più sicuro"?

vb6 ha due funzioni molto comode già integrate per leggere e scrivere chiavi in maniera semplice e immediata.

Le due funzioni sono savesetting e getsetting, se non capisci come funzionano basta una rapida ricerca che troverai tanti semplici esempi :k:
aaa
02/08/11 10:52
wuolfit
Ciao Grg, grazie per i tuoi consigli sulle chiavi di registro funzionano alla grande, per quanto riguarda il fatto dei suggerimenti o del codice postato, è ovvio che chiunque preferirebbe trovarsi la pappa già pronta, cioé il codice per intero che gli risolve il problema, ma io a dirla tutta, mi basta anche una dritta vedi la tua o quella di Hedo, poi cosa c'entra se qualche anima pia mi vuole risparmiare il lavoro di sforzare le mie celluline grige non posso far altro che ringraziare infinitamente....comuque la cosa che non riesco a fare è fargli fare una determinata azione solo al primo avvio, sapete darmi dei suggerimenti????
Grazie
aaa
02/08/11 15:46
gibra
@GRG
Il Registro non mi pare che, in questo caso specifico, sia la soluzione più efficiente.

Magari mi sfugge qualcosa, ma dovresti spiegarci come farà wuolfit, una volta che l'utente avrà acquistato il programma, a far aggiornare il Registro per far in modo che il programma 'capisca' che la versione non è più DEMO, o TRIAL, ma è LICENZIATA?

@wuolfit
Ho letto il tuo MP, ho tentato di rispondere, ma il server mi ha restituito errore (che ho segnalato a chi di dovere).
In ogni caso la risposta sarebbe stata No, non sono quello che pensi tu.
Ultima modifica effettuata da gibra 02/08/11 16:36
aaa
02/08/11 19:37
GrG
@wuolfit:
Anche se non è la soluzione migliore..
Potresti creare due chiavi, una per vedere se è il primo avvio o no (cioè provi a leggerne il valore, se ti da errore significa che non esiste, quindi la crei, e se invece il valore al suo interno esempio "open" viene letto correttamente significa che il programma era stato già aperto in precedenza) e poi usi l'altra chiave per la data.

@gibra:
Quando un cliente compra il programma si può o sovrascrivere la chiave già creata con una data fittizia o qualcosa tipo: "finish" insomma un qualsiasi valore prefissato che fa capire al programma che l'utente ha comprato la licenza
oppure si può eliminare la chiave in questa maniera:

Dim wsh
Set wsh = CreateObject("WScript.Shell")
wsh.regdelete "HKEY_LOCAL_MACHINE\SOFTWARE\Percorso\NomeChiave"
aaa
02/08/11 20:34
gibra
Postato originariamente da GrG:
@gibra:
Quando un cliente compra il programma si può o sovrascrivere la chiave già creata con una data fittizia o qualcosa tipo: "finish" insomma un qualsiasi valore prefissato che fa capire al programma che l'utente ha comprato la licenza
oppure si può eliminare la chiave in questa maniera:

Dim wsh
Set wsh = CreateObject("WScript.Shell")
wsh.regdelete "HKEY_LOCAL_MACHINE\SOFTWARE\Percorso\NomeChiave"


Vedo che non mi sono spiegato bene.
Quello che scrivi lo so, e lo capisco benissimo. :)

Quello che non hai spiegato è:
Come fa, il programma stesso, a capire che lui stesso non deve più considerarsi una versione DEMO, ma una versione LICENZIATA?

Per meglio dire:
Se fino ad ora il programma sa di essere una versione DEMO (e ha scritto nel Registro che scadrà il tal giorno), dopo l'acquisto quale sarà la condizione che fa cambiare comportamento al programma?

Il programma non può certo indovinare da solo che è stato acquistato, ed andare a cambiare la chiave nel Registro.
Qualcuno o qualcosa deve fargli mutare comportamento, giusto?

Spero di essermi spiegato meglio. :)


Ultima modifica effettuata da gibra 02/08/11 20:47
aaa
02/08/11 20:48
Goblin
Postato originariamente da gibra:

Quello che non hai spiegato è:
Come fa, il programma stesso, a capire[/] che lui stesso non deve più considerarsi una versione DEMO, ma una versione LICENZIATA?

Per meglio dire:
Se fino ad ora il programma [b]sa
di essere una versione DEMO (e ha scritto nel Registro che scadrà il tal giorno), dopo l'acquisto quale sarà la condizione che fa cambiare comportamento al programma?

Il programma non può certo indovinare da solo che è stato acquistato, ed andare a cambiare la chiave nel Registro.
Qualcuno o qualcosa deve fargli mutare comportamento, giusto?

Spero di essermi spiegato meglio. :)




Lasciando perdere tutte le varie implicazioni del caso....
Io, personalmete, prevederei una finestra per inserire un numero di registrazione, in base al numero di registrazione riesco a capire se è una versione demo oppure licenziata, per fare ciò ci sono molte librerie/ocx che fanno generare numeri di serie, giusto per avere un idea codeproject.com/KB/install/…
poi ...
a voi la scelta :)
G.
Ultima modifica effettuata da Goblin 02/08/11 20:49
Ibis redibis non morieris in bello
03/08/11 10:15
wuolfit
@Gibra
per ovviare al problema che hai esposto avevo pensato ad una soluzione che unisce il suggerimento di GrG e quello di Goblin cioè io tramite un programma a parte che tengo io creo un codice alfanumerico che darò a chiunque mi paghi la licenza quello che bisognerebbe fare per far capire al programma di non essere più demo è questo :
Al primo avvio del programma creo 2 chiavi di registro che chiamo 1) DataScadenzaUso (che imposto di tipo data); 2) Licenza (che imposto come boolean con valore di default 0). Poi faccio un controllo di veridicità, cioè vedo se 1) Se l'utente ha inserito il codice(qui basta creare un bottone che mi manda all'apposita form di inserimento) controllo che il codice che mi è stato dato potrebbe essere corretto, se è giusto imposto Licenza a 1; 2) Se l'utente non inserisce il codice licenza o tale codice è sbagliato, lascio la variabile così com'è e mando un messaggio d'errore all'utente(se ha inserito un codice sbagliato) e a questo punto uso gli if , cioé diro al programma

'Se Licenza è 0 la versione è DEMO
If Licenza = 0 And DataSistema > DataScadenzaUso Then
		MsgBox "Il periodo di prova di utilizzo del programma è scaduto. Il programma non è più operativo contattare l'autore del sistema Mario Rossi"
		txtMessaggi.Caption = "PERIODO DI PROVA SCADUTO!"
		Unload Me
Else
	MsgBox "Grazie Per Aver Acquistato Il Nostro Prodotto"
End If


Ora ovviamente questo codice l'ho scritto al volo e non l'ho ricontrollato quindi può contenere errori.
Ultima modifica effettuata da wuolfit 03/08/11 10:24
aaa
03/08/11 12:17
GrG
Postato originariamente da gibra:

Postato originariamente da GrG:
@gibra:
Quando un cliente compra il programma si può o sovrascrivere la chiave già creata con una data fittizia o qualcosa tipo: "finish" insomma un qualsiasi valore prefissato che fa capire al programma che l'utente ha comprato la licenza
oppure si può eliminare la chiave in questa maniera:

Dim wsh
Set wsh = CreateObject("WScript.Shell")
wsh.regdelete "HKEY_LOCAL_MACHINE\SOFTWARE\Percorso\NomeChiave"


Vedo che non mi sono spiegato bene.
Quello che scrivi lo so, e lo capisco benissimo. :)

Quello che non hai spiegato è:
Come fa, il programma stesso, a capire che lui stesso non deve più considerarsi una versione DEMO, ma una versione LICENZIATA?

Per meglio dire:
Se fino ad ora il programma sa di essere una versione DEMO (e ha scritto nel Registro che scadrà il tal giorno), dopo l'acquisto quale sarà la condizione che fa cambiare comportamento al programma?

Il programma non può certo indovinare da solo che è stato acquistato, ed andare a cambiare la chiave nel Registro.
Qualcuno o qualcosa deve fargli mutare comportamento, giusto?

Spero di essermi spiegato meglio. :)




ah ok, ora ho capito, comunque riguardo questo problema davo per scontato che wuolfit sapesse come fare visto che il problema per cui ha aperto questo topic era riguardo al "confronto di date" non al come far passare un programma da versione demo a versione completa, io ho semplicemente risposto a ciò che ha chiesto.

Comunque come hanno già detto si può usare la richiesta di un serial
aaa