Newsgroup: it.comp.lang.delphi
Titolo: Passare un dato a sito web

Salve,
ho implementato una procedura di aggiornamento automatico online ad un mio 
software.
Tramite un menù "aggiorna" del programma, il software scarica dal mio sito 
una nuova versione del programma stesso, sempre se esiste.
Fin qui tutto bene, controllo se aggiornare o meno, scarico ed installo la 
nuova versione.
Ora quello che vorrei fare è memorizzare una variabile del programma stesso 
quando si esegue tale procedura. Per memorizzarla sul mio sito credo dovrei 
fare un upload ftp, o sbaglio?
C'è qualche altro sistema più rapido? Devo solo ottenere in qualche modo 
questa variabile di tipo stringa quando si fà l'aggiornamento.
Grazie,
Andrea 

> Per memorizzarla sul mio sito credo dovrei
Io personalmente ho risolto gestendolo con php.
In pratica mando in esecuzione tramite il TidHTTP di indy qualcosa del
genere:
www.miosito.it/filephp.php?password=aaa&istruzione=bbb
dal filephp.php, se la password corrisponde, mandi in esecuzione quel
qualcosa che memorizza la variabile dove vuoi tu (io memorizzo su
mysql, ma non credo sia difficile aggiornare un file).
Io lo ho anche protetto con password, ma è ovviamente un mio livello
di sicurezza.
Ciao,
Matteo

Io personalmente ho risolto gestendolo con php.
In pratica mando in esecuzione tramite il TidHTTP di indy qualcosa del
genere:
www.miosito.it/filephp.php?password=aaa&istruzione=bbb
dal filephp.php, se la password corrisponde, mandi in esecuzione quel
qualcosa che memorizza la variabile dove vuoi tu (io memorizzo su
mysql, ma non credo sia difficile aggiornare un file).
Io lo ho anche protetto con password, ma è ovviamente un mio livello
di sicurezza.
Grazie x l'indirizzamento.
Non sono pratico di Indy, sto studiando ora i componenti in questione.
Se volessi passare una parametro come querystring (in pratica come hai 
mostrato tu nell'esempio), che metodo dovrei usare? Post oppure Get? Tieni 
conto che non voglio che l'utente debba far nulla o che si visualizzi nulla 
a schermo. In più le mie pagine web sono asp, ma questo non credo sia un 
problema.
Ciao, Andrea 

> che metodo dovrei usare? Post oppure Get?
Ti posto la porzione di codice che ho usato io:
  MyStream := TMemoryStream.Create;
  /// Sostituisce gli spazi con '%20'
  while Pos(' ', URL) > 0 do
  begin
    System.Insert('%20', URL, Pos(' ', URL));
    System.Delete(URL, Pos(' ', URL), 1);
  end;
  IdHTTP1 := TIdHTTP.Create(nil);
  IdHTTP1.Request.UserAgent := 'Mozilla/5.0 (Windows; U; Windows NT
5.1; it; rv:1.9b5)';
  IdHTTP1.Get(URL, MyStream); // Preleva la pagina e la mette
all'interno dello stream
  DecodeStream(MyStream);
  FreeAndNil(IdHTTP1);
  FreeAndNil(MyStream);
Alcune note:
- DecodeStream è la mia procedura che decodifica quello che la pagina
php ha visualizzato. Questo perchè php pur andando in esecuzione
correttamente per indy, potrebbe non riuscire ad eseguire
correttamente quello che deve fare.
- La modifica dello UserAgent nel mio caso è necessaria perchè alcuni
provider bloccano lo useragent di default di indy col quale vengono
fatti robot o spammer o schifezze varie...
Spero di essere stato utile.
Ciao,
Matteo

Grazie per l'aiuto.
La procedura che hai postato va più che bene.
Per il mio utilizzo ho usato Head piuttosto che Get.
Ciao
Andrea