init
[rwork.git] / 25.5.rb
blob73266e8a4ce94c059b570fd8232c096a8fb2483a
1 def analyzujriadokhlavicky(riadok)\r
2 \r
3 #puts "sme v arh"\r
4 \r
5 pos = 0\r
6 dlzkar = riadok.length\r
7 \r
8 puts "analyzujeme -> {" + riadok + "} "\r
9 puts "dlzkar -> {" + dlzkar.to_s + "} "\r
11 result = "ok"\r
13 #puts "riadok[0] -> {" + riadok[0].to_s + "} "\r
14 #puts "riadok[dlzkar-1] -> {" + riadok[dlzkar-1].to_s + "} "\r
16 if (riadok[0].chr.to_s != "[") or (riadok[dlzkar-1].chr.to_s != "]")\r
17   puts "CHYBA1!"\r
18   return "err"\r
19 end\r
21 pos = 1\r
22 while ((riadok[pos].chr.to_s ==" ") or (riadok[pos].chr.to_s == "\t"))\r
23   pos = pos + 1\r
24    if (pos > dlzkar-2)\r
25      puts "CHYBA2!"\r
26      return "ERR"\r
27    end\r
28 end\r
30 puts "pos -> {" + pos.to_s + "} "\r
32 tagname = ""\r
33 while ((riadok[pos].chr.to_s !=" ") and (riadok[pos].chr.to_s != "\t"))\r
35   puts "riadok[pos] -> " + riadok[pos].to_s + "(" + riadok[pos].chr + ")"\r
36   puts "pos -> {" + pos.to_s + "}, tagname -> {" + tagname + "}"\r
37   \r
38   tagname = tagname + riadok[pos].chr.to_s\r
39   pos = pos + 1\r
40    if (pos > dlzkar-2)\r
41      puts "CHYBA3!"\r
42      return "ERR"\r
43    end\r
44 end\r
46 puts "tagname -> {" + tagname + "} "\r
48 return "ok"\r
49 end\r
51 def analyzujhlavicku(hlavicka)\r
52   \r
53   result = "ok"\r
54   hlavicka.each_line do |riadok|\r
55     result = analyzujriadokhlavicky(riadok.chomp)\r
56       if (result == "ERR")\r
57         return result\r
58       end\r
59   end\r
60   \r
61   return result\r
62   end\r
64 def analyzujtahy(tahy)\r
66   return "ok"\r
67   \r
68 end\r
70 def analyzuj(pgnsubor)\r
72   result = "ok"\r
74   hlavicka = ""\r
75   tahy = ""\r
77   citamehlavicku = 0\r
78   citametahy = 0\r
80   pgnsubor.each_line do |riadok|\r
82     if (riadok.strip.length !=0)\r
84       if (citamehlavicku == 0)\r
85           citamehlavicku = 1\r
86           hlavicka = hlavicka + riadok\r
87       \r
88       elsif (citamehlavicku == 1)\r
89       \r
90          hlavicka = hlavicka + riadok\r
91       \r
92       elsif ((citamehlavicku==2) and (citametahy==0))\r
93       \r
94         citametahy=1\r
95         tahy = tahy + riadok\r
96       \r
97       elsif ((citamehlavicku==2) and (citametahy==1))\r
98       \r
99         tahy = tahy + riadok\r
100       \r
101       end\r
102     \r
103     else\r
104     \r
105       if (citamehlavicku==1)   \r
106         citamehlavicku=2    \r
107       elsif (citametahy==1)    \r
108         citametahy=2\r
109       end\r
110     \r
111     end\r
112   \r
113   end  \r
114   \r
115   #puts "HLAVICKA:"\r
116   #puts hlavicka\r
117  \r
118   #puts "TAHY:"\r
119   #puts tahy\r
120   \r
121   result = analyzujhlavicku(hlavicka)\r
122   if (result !="ok")\r
123       return "err"\r
124   end\r
125   \r
126   if (result == "ok")\r
127     result = analyzujtahy(tahy)\r
128   end\r
130   \r
131   \r
132   \r
133   \r
134   return result\r
135   \r
136 end\r
138 puts "zadaj meno suboru: PGN.TXT"\r
139 filename = "pgn.txt"\r
140 myfile = File.open(filename,"r")\r
141 pgnsubor = myfile.read\r
142 myfile.close\r
143 #puts pgnsubor\r
144 vysledok = "ERR"\r
145 vysledok=analyzuj(pgnsubor)\r
146 puts vysledok