3 #pri hladani vypise dvakrat to iste FIXED
5 @@path_zoznam_lst = `echo $HOME`.chomp+"/zoznam_real.lst"
6 @@farbaNula = "\x1B[0m"
7 @@farbaModra = "\033[94m"
8 @@farbaCervena= "\033[91m"
9 @@farbaZelena = "\033[92m"
10 @@podmienka_na_ukoncenie = false
12 def moznostiSkopirovat?
13 puts "\t-"+"="*51+"-\n"+"\t"+"#{@@farbaZelena}0#{@@farbaNula}"+". Spat" + " "*21 +"Skopirovat prikaz c. "+"#{@@farbaZelena}[1-#{@@i-1}]#{@@farbaNula}"
14 print "\t"+"Volba c. #{@@farbaZelena}0\b"
19 system("echo '#{@@zoznam[cislo.to_i-1][1]}' | xsel --clipboard")
21 puts @@farbaCervena + "Zadal si nespravnu hodnotu!" + @@farbaNula
28 if File.exist?(@@path_zoznam_lst)
29 subor = File.open(@@path_zoznam_lst,"r") #vypis zoznamu
33 riadok = riadok.split(".:.")
34 print @@farbaZelena + @@i.to_s + @@farbaNula + ".\t" + @@farbaModra + riadok[0] + @@farbaNula + "\n\t" + riadok[1].to_s
36 @@zoznam[@@i-1][1] = @@zoznam[@@i-1][1][0...-1]
42 puts @@farbaCervena + "Nie je vytvoreny zoznam!" + @@farbaNula
45 podmienka_na_ukoncenie?
50 if File.exist?(@@path_zoznam_lst) then
51 print "Naozaj chces vymazat zoznam a vytvorit novy? [Y/n] "
53 if odpoved == "Y" or odpoved == "y" or odpoved == ""
54 File.delete(@@path_zoznam_lst)
55 puts "Zoznam je vymazany!"
58 puts @@farbaCervena + "Nie je vytvoreny zoznam!" + @@farbaNula
61 podmienka_na_ukoncenie?
67 if File.exist?(@@path_zoznam_lst) then
68 subor = File.open(@@path_zoznam_lst,"r") #najprv nacitat zoznam zo suboru
72 zoznam.push(riadok.split(".:. "))
73 zoznam[i][1] = zoznam[i][1][0..-1]
78 print "Cisla prikazov na vymazanie oddelene ciarkou: "
83 cislo = cislo.split(",")
85 for i in 0...cislo.length #integer hodnoty v cislo2
86 cislo[i]=cislo[i].to_i
92 puts @@farbaCervena + "Zadal si nespravne hodnoty:\nPrikaz c. " + f.to_s + " nemohol byt vymazany!\n" + @@farbaNula
97 puts "Prikaz c. " + f.to_s + " bol vymazany!"
99 puts @@farbaCervena + "Zadal si nespravne hodnoty:\nPrikaz c. " + f.to_s + " nemohol byt vymazany!\n" + @@farbaNula
109 subor = File.open(@@path_zoznam_lst,"w") #zapisanie do zoznamu
110 while i < zoznam.length
111 subor.write(zoznam[i][0]+".:. "+zoznam[i][1][0..-2]+"\n")
116 puts @@farbaCervena + "Nie je vytvoreny zoznam!" + @@farbaNula
124 if File.exists?(@@path_zoznam_lst)
125 subor = File.open(@@path_zoznam_lst,"r") #najprv nacitat zoznam zo suboru
129 zoznam.push(riadok.split(".:. "))
130 zoznam[i][1] = zoznam[i][1][0...-1]
135 puts @@farbaCervena + "Nie je vytvoreny zoznam!" + @@farbaNula
136 podmienka_na_ukoncenie?
141 i = 0 #nazvy v zozname hodim do malych pismen#
143 zoznam_pri_vypise = zoznam.clone #pri vysledkoch hladania vypisem originalnou velkostou
144 while i < zoznam.length
145 prve_slovo = zoznam[i][0].downcase
146 druhe_slovo = zoznam[i][1].downcase
147 zoznam_dalsi.push([prve_slovo,druhe_slovo])
150 zoznam = zoznam_dalsi # :)
153 hladaj = @@hladaj.downcase #ak sme zadali hladaj cez parameter pred tym
155 print "Co chces hladat: "
160 hladaj = hladaj.downcase
166 for slovo1,slovo2 in zoznam
167 if /#{hladaj}/ =~ slovo1[0..-1] or /#{hladaj}/ =~ slovo2[0..-1]
168 #if not zoznam_pri_vypise[a][0] == vypis[-1]
169 vypis.push(zoznam_pri_vypise[a])
170 zoznam_poradie.push(a+1)
176 puts "Cislo | V zozname | Nazov / Prikaz"
177 puts "-------------------------------------------------------------"
179 for dve_slova in vypis
180 puts @@farbaZelena + @@i.to_s + "#{@@farbaNula}.\t #{zoznam_poradie[0]}" + @@farbaNula + "." + @@farbaModra + "\t " + dve_slova[0].to_s + @@farbaNula+"\n\t\t " + dve_slova[1].to_s
182 zoznam_poradie.delete_at(0)
184 @@zoznam = vypis.clone
186 podmienka_na_ukoncenie?
191 if File.exist?(@@path_zoznam_lst)
192 subor = File.open(@@path_zoznam_lst,"r")
193 puts @@farbaModra + "Pre ukoncenie pridavania stlac \"Enter\" v poli nazov" + @@farbaNula
199 zoznam.push(riadok.split(".:. "))
200 zoznam[i][1] = zoznam[i][1][0..-1]
206 print "Zadaj nazov: "
210 print "Napis prikaz: "
213 if prvok[1] == prikaz
214 puts @@farbaCervena + "Taky prikaz uz v zozname existuje a preto nebude duplikovany." + @@farbaNula
218 for prvok in zoznam_original
219 if prvok[1] == prikaz
220 puts @@farbaCervena + "Taky prikaz uz v zozname existuje a preto nebude duplikovany." + @@farbaNula
226 zoznam_original.push([meno,prikaz])
234 zoznam_konecny = zoznam + zoznam_original
238 subor = File.open(@@path_zoznam_lst,"w") #dopisanie zoznamu
239 while i < zoznam_konecny.length
240 subor.write(zoznam_konecny[i][0]+".:. "+zoznam_konecny[i][1][0..-2]+"\n")
244 podmienka_na_ukoncenie?
247 puts @@farbaCervena + "Nie je vytvoreny zoznam!" + @@farbaNula
248 podmienka_na_ukoncenie?
255 print "Naozaj chces vymazat zoznam a vytvorit novy? [Y/n] "
257 if odpoved == "Y" or odpoved == "y" or odpoved == ""
258 subor = File.open(@@path_zoznam_lst,"w")
262 podmienka_na_ukoncenie?
268 puts "\t\|autor: cinan verzia: 1.4.7 Ruby \|"
269 puts "\t\|" + " "*53 + "\|"
270 puts "\t\| Naco sluzi tento program? \|"
271 puts "\t\|Autor vytvoril tento program na zaznamenavanie \|"
272 puts "\t\|prikazov v GNU/Linuxe, ktore malo pouziva. \|"
273 puts "\t\|Neskor bolo pridanych niekolko zbytocnych funkcii \|"
274 puts "\t\|pre srandu kralikov. \|"
275 podmienka_na_ukoncenie?
281 puts "\t-"+"="*53+"-"
282 puts "\t\|"+"\t\t#{@@farbaZelena}1#{@@farbaNula}"+". Zobrazit zoznam \|"
283 puts "\t\|"+"\t\t#{@@farbaZelena}2#{@@farbaNula}"+". Hladat v zozname \|"
284 puts "\t\|"+"\t\t#{@@farbaZelena}3#{@@farbaNula}"+". Pridat udaje \|"
285 puts "\t\|"+"\t\t#{@@farbaZelena}4#{@@farbaNula}"+". Vymazat udaje \|"
286 puts "\t\|"+" "*53+"\|"
287 puts "\t\|"+"\t\t#{@@farbaZelena}5#{@@farbaNula}"+". Prepisat do noveho zoznamu \|"
288 puts "\t\| " + "#{@@farbaZelena}q#{@@farbaNula}" + ". Ukoncit" + " "*27 + "#{@@farbaZelena}6#{@@farbaNula}"+". O programe \|"
289 puts "\t-"+"="*53+"-"
292 moznost = gets.chomp.to_s
310 puts @@farbaCervena + "Zadana moznost neexistuje!" + @@farbaNula
316 puts "\t-" + "="*53 + "-"
317 puts "\t\|#{@@farbaModra} _ _ #{@@farbaNula}\|"
318 puts "\t\|#{@@farbaModra} ___ ___ __ _ _ __ ___ | |__ _ __ | |__ #{@@farbaNula}\|"
319 puts "\t\|#{@@farbaModra} \/ __| / _ \\ \/ _` || '__|\/ __|| '_ \\ | '__|| '_ \\ #{@@farbaNula}\|"
320 puts "\t\|#{@@farbaModra} \\__ \\| __\/| (_| || | | (__ | | | | _ | | | |_) |#{@@farbaNula}\|"
321 puts "\t\|#{@@farbaModra} |___\/ \\___| \\__,_||_| \\___||_| |_|(_)|_| |_.__\/ #{@@farbaNula}\|"
324 def podmienka_na_ukoncenie?
325 if @@podmienka_na_ukoncenie == true
332 @@podmienka_na_ukoncenie = true
336 --help, -h \t\t\t Tato pomoc
337 --show-list, -l \t\t Zobrazit zoznam
338 --search=SEARCH, -s=SEARCH \t Hladat
339 --search, -s \t\t Hladat
340 --add, -a \t\t\t Pridat
341 --create, -c \t\t Vytvorit novy zoznam
342 --about \t\t\t O programe"
344 when "--show-list", "-l"
347 when /^--search=([^ ]+)/, /^-s=([^ ]+)/
351 when "-s", "--search"
360 when "--create", "-c"
364 @@hladaj = ARGV.join(" ")