Titolo: Messenger, AIM o ICQ fra client 4D con poco codice
Categoria: Codice |
|
Ultimo Aggiornamento: 29/05/06 |
In modalità client/server è possibile realizzare un sistema di messaggistica istantanea (tipo Messenger, AIM, ICQ) utilizzando pochissime righe di codice. Vediamo come.
Il seguente metodo,
Registration, permette di registrare il client in modo da renderlo pronto a ricevere messaggi da altri 4D Client.
`--------------------
UNREGISTER CLIENT
Repeat vPseudoName:=Request("Enter your name:";"User";"OK";"Cancel")
Until ((OK=0) | (vPseudoName # ""))
If (OK=0)
...` Non fa niente
Else REGISTER CLIENT(vPseudoName)
End if`--------------------
L'istruzione che segue mette in moto il processo che consente di ottenere la lista aggiornata dei client collegati. Una buona idea potrebbe essere quella di inserirla nel On Startup Database Method:
PrClientList:=New process("4D Client List";64000;"Lista dei registered clients")
Il metodo
4D Client List permette di ottenere la lista dei client registrati:
`--------------------
If (Application type=4D Client)
` il codice che segue è valido solo in modalità client/server
$Ref:=Open window(100;100;300;400;-(Palette window+Has window title);"Lista dei client registrati")
Repeat GET REGISTERED CLIENTS($ClientList;$ListeCharge)
`Lista dei client in $ClientList
ERASE WINDOW($Ref)
GOTO XY(0;0)
For ($p;1;Size of array($ClientList))
MESSAGE($ClientList{$p}+Char(Carriage return))
End for `lo mostra qualche secondo
DELAY PROCESS(Current process;60)
Until (False) ` loop infinito
End if`--------------------
Il seguente metodo manda un messaggio a un altro 4D Client usando il metodo
Display_Message`--------------------
$Addressee:=Request("Destinatario del messaggio:";"")
` Inserire uno dei nomi visualizzati dalla finestra aperta in
` On Startup database method
If (OK # 0)
$Message:=Request("Messaggio:") ` il messaggio
If (OK # 0)
EXECUTE ON CLIENT($Addressee;"Display_Message";$Message) ` manda il messaggio
End ifEnd if`--------------------
Ecco il metodo
Display_Message`--------------------
C_TEXT($1)
ALERT($1)
`--------------------
Infine, il metodo che permetta ad un client di non essere più visibile fra i client collegati in modo da non poter ricevere messaggi dovrà contenere la sola istruzione:
UNREGISTER CLIENT
Inviato da: PierPaolo Sichera |
|
Visite: 12884 |
Se accedi con utente e password, puoi aggiungere dei commenti.