Newsgroup: it.hobby.scacchi
Titolo: winboard

ho bisogno di far comunicare due programmi come avviene tra winboard e i
vari GNUChess, ecc.
ho scaricato i sorgenti di winboard e ho visto, nel file backend.c, il
richiamo alla funzione SendToProgram(), pero' non trovo la definizione
della funzione.
Nessuno sa dove sta il sorgente di questa funzione?
grazie
-- 
Massimiliano Cialdi
cia...@control.dsi.unifi.it
cia...@firenze.net

 Nessuno sa dove sta il sorgente di questa funzione?
Non saprei esattamente, ma posso dirti questo: se hai gia' implementato la
funzione StartChildProcess(), che avvia il processo figlio (il motore) e
ridirige gli standard Input/Output dello stesso, allora tutto quello che ti
serve per la comunicazione e' una normale lettura/scrittura su STDIN/STDOUT,
in particolare:
Dal lato "interfaccia":
il lettura - ReadFile usando come handle il valore salvato in cp->hFrom
in scrittura - WriteFile usando come handle il valore salvato in cp->hTo
Dal lato "motore" e' ancora piu' semplice in quanto non ti serve nessun
codice tipo StartChildProcess() ma soltanto:
il lettura - ReadFile usando come handle STD_INPUT_HANDLE
in scrittura - WriteFile usando come handle STD_OUTPUT_HANDLE
Ciao
--
Luca Dormio - 
luca....@tin.it
________________________________
FICS ID: LarsenB, LarsenVB(C)
http://digilander.iol.it/larsenvb

 della funzione.
Nel secondo caso, che mi pare piu' probabile, avendo affrontato
recentemente un problema simile, ti consiglio la lettura del documento di
Tim Mann sul protocollo xboard per la comunicazione tra interfaccia e
motore:
http://www.tim-mann.org/xboard/engine-intf.html
Io ci ho imparato un sacco di cose e se anche il caso fosse il primo
potrebbe esserti utile per qualche chicca sulle comunicazioni
interprocessi (se non sei gia' esperto, come non lo ero io).
Ciao,
Paolo Violini

 Nessuno sa dove sta il sorgente di questa funzione?
come ti ho risposto su forum del g6 la definizione di SendtoProgram e'
sempre sul backend.c ...dacci un'occhiata .. ci sono anche alcune note piccole
sulla compatibilta' e la segnalazione di un post sul wb forum che ti puo'
interessare
glm
ciao
-- 
Posted from  [217.222.89.136] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Ragazzi, io di programmazione non ne capisco molto, ma volevo chiedervi
questo:
secondo voi e' possibile fare una interfaccia che comunichi con l'engine di
Fritz ? O e' impossibile, perche' il protocollo e' segreto ?
Ciao,
Francesco

 ha scritto nel
messaggio news:RGfz7.36823$1H1.3...@news.infostrada.it...

Tecnicamente si, i motori ChessBase (i file .eng per capirci) sono delle
normali DLL e come tali esportano una serie di funzioni accessibili
dall'esterno; in pratica pero' e' come dici tu: senza un'adeguata
documentazione sul formato, i parametri e il significato di tali funzioni
(che l'altro hanno i nomi molto evocativi 'Eng1', 'Eng2', 'Eng3'...) e'
molto difficile ricavarne qualcosa.
Ho notato che alcuni motori scaricabili, tipo Faile e LGoliath, hanno anche
un file con estensione .dll insieme al .eng, in questi file le funzioni sono
esportate con dei nomi "da cristiani" tipo
LittleGoliathAnalyse
LittleGoliathClearHashtable
LittleGoliathEnterMove
LittleGoliathGetAuthor
LittleGoliathGetElo
ecc. ma anche qui, senza documentazione, non si va molto lontano.
