Newsgroup: it.hobby.scacchi
Titolo: Help software - come realizzare un eserciziario

Tra le tante cose che faccio negli scacchi, tengo corsi nelle scuole.
Essendo corsi annuali, l'esperienza mi ha suggerito la necessità di
disporre di un vero e proprio libro di testo coerente con il programma
di insegnamento.
La mia idea è che possa essere distribuito ai ragazzi sotto forma di
CD, economicamente riproducibile.
Quindi, il libro dovrebbe essere libero da vincoli di diritto d'autore
ed in formato .pdf.
Il testo l'ho trovato, pur con tutti i suoi pregi e difetti.
Però, è il classico testo divolgativo di base, con una didattica
basata su un mix di testo ed esempi.
Il problema che si pone è quello di far lavorare i ragazzi al di fuori
dell'aula di lezione, ovvero il "compito a casa".
Sto cercando di costruirmi un eserciziario che possa essere coerente
con le lezioni del testo, in maniera tale da poter disporre finalmente
di uno strumento didattico completo. Sembra impossibile, ma un testo
simile non esiste (almeno a mia conoscenza).
Volevo costruirmelo da solo.
Il materiale l'ho trovato, partendo dai vari files di tattica Chess
Base presenti in rete e già in mia disponibilità (libro Polgar,
Enciclopedia delle Combinazioni, raccolte varie di posizioni
tattiche).
Ho bisogno di un aiuto.
Se qualcuno sa come fare, partendo da una lista di posizioni contenute
in ChessBase a tirarci fuori un libro ordinato senza dover fare troppe
operazioni manuali (inserire posizione per posizione manualmente ogni
posizione nella lista diagrammi è un lavoro immenso quando le
posizioni sono migliaia).
Grazie a tutti coloro che mi risponderanno.
Con i migliori saluti
Walter ravagnati

 posizioni sono migliaia).
Dunque se ho ben capito non vuoi creare un programma interattivo ma solo
un file pdf con i diagrammi delle posizioni.
Quindi il problema e' quello di estrarre automaticamente alcune posizioni,
trasformarle in immagini e inserirle in un documento (tu dici PDF, io sto
per adesso pensando a Word che potrei cercare di fare il tutto con una
macro)
Ho capito bene il problema? Tu vuoi una procedura che automaticamente
inserisca in un documento un insieme di posizioni presenti in ChessBase?
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 walter
Walter,
hai mai provato a creare diagrammi in formato gif o bmp con Arena? 
Se non la conosci, la puoi scaricare al sito 
www.playwitharena.com
 - tutto
aggratis!
Io mi trovo benissimo, per creare i diagrammi puoi sia inserire la stringa
FEN o EPD, oppure introdurre i pezzi a mano sulla scacchiera. Poi, una
volta creato il diagramma lo puoi importare in documenti Word e
successivamente convertirlo in pdf. Facile facile, gia' sperimentato,
garantisco io! :-)
Ciao
Claudio Ruzza 


posizioni sono migliaia).
Se ti riferisci alla stampa dei diagrammi senza dover aggiungere manualmente
il simbolo del diagramma posizione per posizione, con CB8 NON si può fare,
ma si può fare con Fritz 8!
In alternativa, puoi convertire il file in formato PGN, che è un formato di
testo, e poi con un elaboratore di testo (tipo Word) puoi aggiungere
automaticamente il "tag" del diagramma all'inizio di ogni posizione.
Il tag del diagramma è il seguente:
{Diagramma #} 
e va inserito all'inizio, PRIMA delle mosse.
Saluti
Ivo

garantisco io! :-)
Si', faccio piu' o meno cosi' anch'io con i diagrammi dell'Italia
Scacchistica per il sito (uso Chessbase al posto di Arena ma la sostanza
e' quella). Il punto e' che io devo farne 8-10 ogni numero, mentre Walter
mi e' parso di capire deve farne *migliaia*.
Le dimensioni contano ... :-)
Ciao!
Maurizio Mascheroni
===================================================
Maurizio Mascheroni           
mask...@maskeret.com
---------------------------------------------------
 
http://www.maskeret.com/mecca
 
http://www.maskeret.com/micio
 
http://www.scaccobratto.com
 
http://www.italiascacchistica.com
 
http://www.romagnolionline.com
===================================================


Appunto ....
Anch'io uno il bmp o, meglio (per ragioni di dimensione) il jpg, ma il
fare tutto a mano e, soprattutto, archiviarlo, è frustrante.
Ciao
Walter

 walter


Roberto la macro che hai tu è forse fen2ALL, O FEN2CLIP???

 Le dimensioni contano ... :-)
forse posso suggerire un rimedio... ;-)
L'operazione di creazione di un diagramma da un file chessbase, con
successiva importazione in word, si potrebbe "scriptare" sotto
windows, usando un freeware apposito: autoit.
Questa utility permette di scriptare praticamente tutto, da un click
di mouse alla pressione di tasti.
Il link e' questo:
http://www.hiddensoft.com/AutoIt/downloads.asp
Se nel caso specifico si puo' fare una cosa tipo la seguente, allora
e' fatta! :-)
0) creare una copia del file originale, chiamiamola "copia.dat"
1) convertire la prima partita da copia.dat
2) cancellare la prima partita da copia.dat e salvare
3) tornare al punto (1) finche' copia.dat e' non vuoto
Spero sia utile...
Ciao,
M. L.

 e va inserito all'inizio, PRIMA delle mosse.
io ho un file pgn come faccio a fare cio che hai scritto???
grazie



Apri il file con Word (o un altro elaboratore di testi) e poi
usa il comando "Sostituisci":
"1." (inizio di una partita)
con:
"{Diagramma #}1."
In questo modo ti troverai i diagrammi posizionati all'inizio di
ogni partita.
Credo che dovrai anche selezionare "Parola intera", in modo che
Word non ti trovi anche "11.", "111." e cose del genere.
Saluti
Ivo

 Roberto la macro che hai tu è forse fen2ALL, O FEN2CLIP???
Non credo: me la sono l'ho fatta da me e non l'ho mai pubblicata (presenta
ancora qualche difettuccio che non ho mai voluto correggere)


il comando sostituisci lo so utilizare ma scusa il diagramma come lo
costruisco???
nel file pgn non c'è traccia della posizione.
o meglio in alcuni file c'è il (fen).



Non devi fare nient'altro che inserire il famoso tag:
{Diagramma #} 
dopodiche, quando aprirai il file con CB8, sarà il programma
che automaticamente inserirà il diagramma quando farai la stampa :-)
Saluti
Ivo

capito... grazie,  provero.

Allora, ci siamo.
Dato un file.pgn che contiene tutti i diagrammi che vuoi inserire in un 
documento, questa banalissima macro di word dovrebbe risolvere il tuo 
problema.
Poi la possiamo migliorare in modo che sotto (o sopra) ogni diagramma, 
scriva una intestazione o altre cose (che devono comunque essere 
presenti nel file.pgn)
Prima macro, di piu' basso livello:
riceve come parametro una stringa FEN
inserisce nel documento un diagramma della posizione utilizzando il font 
true type "Chess Condal" (e' gratuito e si trova in giro)
Sub FEN2DIAG(FEN)
     'Elenco delle sigle dei pezzi in formato FEN
     FenPiece$ = "KkQqRrBbNnPp"
     'Elenco del carattere corrispondente al pezzo FEN su casa nera e su 
casa bianca nel font
     FontChar$ = " kKlLqQwWrRtTbBvVnNmMpPoO"
     With Selection
         'Salva il font corrente
         oldfn = .Font.Name
         oldfs = .Font.Size
         'Va a capo
         .EndKey
         .TypeParagraph
         'Imposta il font del diagramma
         .Font.Name = "Chess Condal"
         .Font.Size = 26
         tr = 8  'Traversa iniziale
         co = 1  'Colonna iniziale
         .TypeText ("!""""""""""""""""#")    'Cornice superiore
         .TypeParagraph
         .TypeText ("$")                     'Apre nuova cornice
         For i = 1 To Len(FEN)
             c = Mid$(FEN, i, 1)
             Select Case c
                 Case "/"            'Fine traversa
                     .TypeText ("%")         'Chiude cornice
                     .TypeParagraph
                     .TypeText ("$")         'Apre nuova cornice
                     tr = tr - 1
                     co = 1
                 Case "1" To "8"     'Case vuote     " " : "+"
                     For n = 1 To Val(c)
                         'Se la casa e' bianca usa il primo carattere 
altrimenti il secondo
                         .TypeText (IIf((tr + co) Mod 2 = 1, " ", "+"))
                         co = co + 1
                     Next
                 Case "K", "k", "Q", "q", "R", "r", "B", "b", "N", "n", 
"P", "p"
                     'Trova l'indice del pezzo e calcola l'indice del 
carattere del font
                     n = InStr(FenPiece$, c) * 2
                     'Se la casa e' bianca usa il primo carattere 
altrimenti il secondo
                     .TypeText (IIf((tr + co) Mod 2 = 1, Mid$(FontChar$, 
n, 1), Mid$(FontChar$, n + 1, 1)))
                     co = co + 1
                 Case Else
                     Exit For
             End Select
         Next
         .TypeText ("%")                     'Chiude cornice
         .TypeParagraph
         .TypeText ("/(((((((()")
         .TypeParagraph
         'Ripristina il font corrente
         .Font.Name = oldfn
         .Font.Size = oldfs
     End With
End Sub
Questo invece e' il ciclo piu' esterno:
La macro che apre il file.pgn, si smazza tutte le righe.
Quando trova una riga con il FEN, estrae la sottostringa FEN e la passa 
alla macro qui sopra, la quale inserisce il diagramma....
L'ho provata con un mio pgn e sembra funzionare...
Naturalmente per adesso esce il diagramma nudo e crudo:
va migliorata, la cosa...
Sub Macro1()
     Open "C:\Chess\CBLIGHT\prova.pgn" For Input As #1
     s$ = ""
     While Not EOF(1)
         'Purtroppo il Line Input# non funziona
         'se le righe non sono terminata da un CR+LF
         'Il mio file ha come terminatore il solo LF e
         'allora ho ripiegato nel modo seguente
         c$ = Input$(1, #1) 'Leggo un carattere dal file
         Select Case c$
             Case Chr$(13) 'ignora il carattere CR
                 'Skip
             Case Chr$(10) 'Se LF la riga e' terminata
                 'Se la riga contiene il token FEN
                 If InStr(s$, "[FEN ") Then
                     'Estraggo la sottostringa
                     FEN$ = Mid$(s$, 7)
                     'Genero il diagramma
                     FEN2DIAG (FEN$)
                 End If
                 s$ = ""   'Azzero la stringa
             Case Else
                 s$ = s$ + c$ 'Accodo il carattere alla stringa
         End Select
     Wend
     Close #1
End Sub

ed in formato .pdf.
Caro Walter,
purtroppo anche un CD di simili nobili intenti, cade nelle grinfie
della SIAE.
A proposito del CD promozionale, che ho in mente da qualche anno e che
ho riproposto con la Comm. Sviluppo e Promozione, che doveva essere
distribuito gratis e con materiale 'donato', fui informato che
comunque doveva esserci il bollino SIAE!!
Fortuna che Le Due Torri mi vennero incontro, addossandone la
'composizione pratica', sia tecnica che economica. Spero che la
proposta sia ancora valida...
Ciao
Gigi
---------------------------------
Federazione Scacchistica Italiana
www.federscacchi.it
tel. 
3392695756

 proposta sia ancora valida...
Purtroppo hai ragione Gigi.
Ma io mi chiedo se davvero la mole di dati prodotta da Walter e' cosi' 
enorme da richiedere un CD.
Visto che comunque il CD necessita di un computer, e oggigiorno ogni 
computer e' collegabile a internet, perche' non mettere i files in rete 
invece che nel CD e consentire agli interessati di scaricarselo alla 
faccia della SIAE ?

Caro Roberto,
ho provato al macro am haime picche.  non funziona
mi puoi spiegare perche???
se eseguo la prima mi appare un cella dove isnerendo i caratteri vedo la
composiz del diagramma, se eseguo la seconda invece non fa proprio nulla,
eppure nella directory specificata ho un esempio di file pgn.

m_39 ha scritto:

Dunque...
Vediamo di indagare.
Il font Chess Condal lo hai installato?
Prova a creare una semplice
Sub Macro2()
  FEN2DIAG("8/8/8/8/8/8/8/8")
end sub
ed eseguirla...
Dovrebbe inserire un diagramma di una scacchiera vuota...
Ci siamo fin qui...
Se ci siamo allora la macro funziona... altrimenti forniscimi altri
elementi...
Altra cosa... il tuo file.pgn che hai usato, contiene solo partite o anche
posizioni che iniziano da una certa posizione...
perche' nel primo caso non ci sono dei FEN nel pgn e quindi giustamente
non hai cavato un ragno dal buco...


chiedo venia,
la macro funziona avevo dimenticato il parametro (fen).
sei grande.


Vorrei distribuirlo nel prossimo anno scolastico.
Ciao
Walter



Avrò sbagliato, ma mi pare di aver fatto tutto così e non mi ha
funzionato.
- Ho fatto il file pgn
- ho inserito il tag {Diagramma #}  in tutte le partite prima del
testo
- sono andato nell'elenco ed ho selezionato qualche partita
- ho attivato "stampa selezione"
Il risultato è stato un bel testo "Diagramma #" prima di 1.
Dove ho sbagliato?
Ciao e grazie
Walter Ravagnati