Citire randuri cu date din fisier text
Scris: Sâm Aug 27, 2016
Salut,
Am un fisier PGN (utilizat in sah) de urmatoarea forma (se poate deschide si in Notepad, deci este text):
aici sint notate 2 partide, dar poate fi cu doar o singura partida sau mai multe. Marea majoritate a fisierelor PGN sint facute dupa acest standard, dar numarul de paranteze patrate poate fi diferit (ex. poate lipsi informatia privitoare la Elo, in acest caz cimpul Elo din tabela va ramine gol, deci trebuie sa fac si variabile $WhiteElo si $BlackElo sa vad ce valori au, primul cuvint de dupa paranteza va fi numele variabilei).
Cum parcurg acest fisier si cum salvez in baza de date (sa fac 2 inregistrari), adica tot ce este intre paranteze patrate sa fie fiecare paranteza patrata in cimp separat (dar sa nu contina si simbolul parantezelor), iar mutarile toate (de la 1 la N) de asemenea intr-un singur cimp separat (text)? Am deja structura tabelei, contine 18 cimpuri (id+ cele din fisier). Nu-mi trebuie script, doar un mic exemplu cum parcurg fisierul, cum iau continutul parantezelor si cum trec la urmatoarea partida. Multumesc.
Am un fisier PGN (utilizat in sah) de urmatoarea forma (se poate deschide si in Notepad, deci este text):
Cod: Selectaţi tot
[Event "Open Teplice 2006"]
[Site "Teplice"]
[Date "2006.06.17"]
[Round "1"]
[White "Kalina Jiri, SK Chem. Litvinov"]
[Black "GM Vokac Marek, SK Mahrla Praha"]
[Result "0-1"]
[ECO "B23"]
[WhiteElo "2052"]
[BlackElo "2455"]
[Annotator "Team Teplice Open"]
[PlyCount "58"]
[EventDate "2006.06.17"]
[EventType "swiss"]
[EventRounds "9"]
[EventCountry "CZE"]
1. e4 c5 2. Nc3 Nc6 3. Bc4 e6 4. Nf3 a6 5. a4 Nge7 6. d4 cxd4 7. Nxd4 Nxd4 8.
Qxd4 Nc6 9. Qd1 Qc7 10. O-O b6 11. f4 Bb7 12. Be3 Be7 13. Qe1 O-O 14. Bd3 Nb4
15. Qf2 Bc5 16. Rac1 d5 17. exd5 exd5 18. Bxc5 bxc5 19. Qh4 f5 20. Qh3 Nxd3 21.
cxd3 Rae8 22. d4 cxd4 23. Ne4 Qb6 24. a5 Qxa5 25. Nd6 Re3 26. Nxb7 Qb6 27. Rf3
Qxb2 28. Rc7 Qb1+ 29. Rf1 Qb6 {Diagram #} 0-1
[Event "Open Teplice 2006"]
[Site "Teplice"]
[Date "2006.06.17"]
[Round "1"]
[White "IM Hausner Ivan, SK Holdia Praha"]
[Black "Stanek Stanislav, SK Bydo Zakrany"]
[Result "1-0"]
[ECO "A10"]
[WhiteElo "2416"]
[BlackElo "2007"]
[Annotator "Team Teplice Open"]
[PlyCount "41"]
[EventDate "2006.06.17"]
[EventType "swiss"]
[EventRounds "9"]
[EventCountry "CZE"]
1. c4 d6 2. Nc3 c6 3. g3 Nf6 4. Bg2 e5 5. Rb1 Be7 6. b4 Be6 7. d3 Nbd7 8. Nf3
Nf8 9. b5 Bd7 10. O-O h6 11. d4 Ng6 12. bxc6 bxc6 13. c5 exd4 14. cxd6 dxc3 15.
dxe7 Qxe7 16. Qb3 Qe6 17. Qa3 Nd5 18. e4 Qe7 {Diagram #} 19. exd5 Qxa3 20. Bxa3
cxd5 21. Nd4 1-0
Cum parcurg acest fisier si cum salvez in baza de date (sa fac 2 inregistrari), adica tot ce este intre paranteze patrate sa fie fiecare paranteza patrata in cimp separat (dar sa nu contina si simbolul parantezelor), iar mutarile toate (de la 1 la N) de asemenea intr-un singur cimp separat (text)? Am deja structura tabelei, contine 18 cimpuri (id+ cele din fisier). Nu-mi trebuie script, doar un mic exemplu cum parcurg fisierul, cum iau continutul parantezelor si cum trec la urmatoarea partida. Multumesc.