Newsgroup: it.comp.lang.delphi
Titolo: Lista dei computers in rete

Ciao a tutti,
  per una questione puramente cosmetica anziche' inserire un tedit dove 
andare a digitare il nome di un computer in rete, avevo in mente l'idea di 
visualizzare
i computer in rete in una listbox.
Idea graziosa .... ma abbastanza complicata.
 
Dopo un bel girovagare in giro, ho trovato 2 procedure, una da un errore che 
non riesco a sistemare, l'altra va a singhiozzo.
A singhiozzo significa che a volte la lista viene visualizzata in modo 
completo, a volte solo parzialmente e, infine, molto spesso non viene 
visualizzata.
 
La procedura che genera un errore fastidioso e' quella pubblicata dalla 
Embarcadero a questo link
 
http://edn.embarcadero.com/article/28418
 
 
e l'errore in compilazione dice che PNetResourceA e PNetResourceW non sono 
compatibili
Incompatible types: 'PNetResourceW' and 'PNetResourceA'
sulla seguente riga di codice (e' tutto nel link)
 
WNetOpenEnum(RESOURCE_GLOBALNET, RESOURCETYPE_ANY, 0, lpNetResource, neh)
 
Onestamente non so come sistemare la procedura perche', in ogni caso, ho 
sempre un errore in compilazione.
 
La seconda, quella a singhiozzo, e' al seguente link
 
http://www.swissdelphicenter.ch/torry/showcode.php?id=2177
 
 
E anche qui non capisco perche' si comporta cosi'.
Quando restituisce la lista e' un fulmine, quando invece la restituisce in 
modo parziale o vuota ... sta li 1-2 secondi e poi esce.
Come se il server (o il gruppo) nega la lettura, ma il tutto senza dare un 
errore.
 
Come posso sistemare ??
 
Grazie
 
Ciao
 
Daniele
 
PS: Alla peggio rimetto l'edit !! :-))
 
 
 

 sempre un errore in compilazione.
 
L'articolo e' piuttosto vecchio quindi si riferisce ad una versione 
di delphi in cui  tutta l'interfaccia con windows avviene usando AnsiChar 
e non WideChar.
 
Se provi a mettere lpNetResource: PNetResourceW che errore ti da?
 
 
ciao
Giacomo

 PS: Alla peggio rimetto l'edit !! :-))
 
Ci sono vari modi per gestire questa cosa...
 
1) solo edit 
2) combobox non editabile con elenco 
3) un mix delle 2 tipo edit più un pulsante "cerca" 
 
Io sono per la 3.
ODIO aspettare che lui stia li a cercare senza poter fare nulla.
Se già conosco nome o IP perchè il sw deve scassare il cazzo e farmi aspettare??
A prescindere, io sarei per una una validazione di qualche tipo, in modo da evitare di scoprire DOPO che il nome/ip indicato non esiste.
 
Ovviamente (ma non per tutti) la validazione dipende dal MOTIVO per il quale ti serve nome/ip di un pc...
 
A.

On Thursday, 22 October 2015 17:31:11 UTC+1, Daniele  wrote:
 
[...]
 
http://stackoverflow.com/questions/18245293/how-to-get-a-list-with-all-computers-from-the-local-network
 
 
Dai, su, pero`...

 Se provi a mettere lpNetResource: PNetResourceW che errore ti da?
 
Ho provato in tutti i modi, ovvero
1) lpNetResource: PNetResource
2) lpNetResource: PNetResourceA
3) lpNetResource: PNetResourceW (che stando alla documentazione e' uguale 
alla prima)
 
Nel caso 2 ho l'errore indicato prima, mentre nei casi 1-3 l'errore dato e' 
(avendo gia' modificato il codice vado a memoria)
sulla diversita' dei parametri passati alla procedura.
 
A dire il vero c'e' qualcuno che aveva risolto il problema .... ma non dice 
come (solo un generico "fix it").
 
http://codeverge.com/embarcadero.delphi.vcl.using/detect-all-computers-in-the-same/1078628
 
 
 
Grazie per l'interesse
 
Ciao
 
Daniele 
 

 quale ti serve nome/ip di un pc...
E' solo per una questione di interrogazione database.
 
Il gestionale registra un'infinita' di informazioni per le procedure che 
ogni computer (utente) fa.
Tra le tante informazioni ci sono nome del computer (client) e nome di chi 
e' loggato.
Dal mio lato ho la necessita' di filtrare il db per 'nome del computer', ma 
a questo punto
(esco e lancio flamerobin)
.....
(rientro da flamerobin)
posso usare la tabella TERMINALI del DB (perche' quelli devo utilizzare !!!) 
e non ci penso piu'
 
In effetti potevo pensarci prima !!!
 
Prima di salutarti un altro link con una soluzione diversa
 
http://stackoverflow.com/questions/18245293/how-to-get-a-list-with-all-computers-from-the-local-network
 
 
molto molto veloce, pero' si deve sapere il nome del gruppo.
 
Grazie per l'aiuto.
 
Ciao
 
Daniele 
 

 Dai, su, pero`...
 
Trovata in mattinata e quotata ad Andrea.
 
Onestamente, nella cronologia di IE era presente ... ma ieri non ci ho fatto 
caso, vecchiaia ....
 
Grazie
 
Ciao
 
Daniele 
 

 molto molto veloce, pero' si deve sapere il nome del gruppo.
 
Questa NON E' una soluzione, o almeno non una soluzione per TE.
Ribadisco che è importante avere le idee chiare su CIO' CHE SERVE.
 
A.

 caso, vecchiaia ....
 
 
no: poca attenzione.
 
A.

 volentieri.
Hai ragione.
 
Ringrazio tutti per la cortesia e pazienza.
 
Alla prossima
 
Ciao
 
Daniele