GFavaz

stock

Dec 5th, 2016
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 35.18 KB | None | 0 0
  1. import tkinter
  2. import fileinput
  3. import os
  4. import time
  5.  
  6. root = tkinter.Tk()
  7. root.state('zoomed')
  8.  
  9. defbutbg = tkinter.StringVar()
  10. defbutfg = tkinter.StringVar()
  11. deflabbg = tkinter.StringVar()
  12. deflabfg = tkinter.StringVar()
  13. deffontcolor = tkinter.StringVar()
  14. colorbuttonname = tkinter.StringVar()
  15.  
  16. global conf2
  17. conf2 = '.\\configfile'
  18. name = tkinter.StringVar() # 1
  19. ganzomileba = tkinter.StringVar() # 2
  20. raodenoba = tkinter.StringVar() # 3
  21. fasi = tkinter.StringVar() # 4
  22. girebuleba = tkinter.StringVar() # 5
  23. organizacia = tkinter.StringVar() # 6
  24. zednadebi = tkinter.StringVar() # 7
  25. tarigiday = tkinter.StringVar() # 8-1
  26. tarigimonth = tkinter.StringVar() # 8-2
  27. tarigiyear = tkinter.StringVar() # 8-3
  28. sulraodenoba = tkinter.StringVar() # 9
  29. statusi = tkinter.StringVar() # 10
  30. sulgirebuleba = tkinter.StringVar() # 11
  31.  
  32.  
  33. def configprogram():
  34. try:
  35. global itemfile
  36. global itemfolder
  37. global confile
  38. file = open(conf2, 'r', encoding='utf-8')
  39. line = [line.strip() for line in file]
  40. itemfile = line[0]
  41. itemfolder = line[1]
  42. confile = line[2]
  43.  
  44. # allitems = allitems.replace('C:', '')
  45.  
  46. except NameError:
  47.  
  48. print("Can't find config file")
  49.  
  50. except FileNotFoundError:
  51. print("Error, can't find file")
  52.  
  53.  
  54. def colorscheme():
  55.  
  56. file = open('programcolors', 'r+')
  57. line = [line.strip() for line in file]
  58. file.close()
  59. char = eval(line[-1])
  60. defbutbg.set(char['defbutbg'])
  61. defbutfg.set(char['defbutfg'])
  62. deflabbg.set(char['deflabbg'])
  63. deflabfg.set(char['deflabfg'])
  64. deffontcolor.set(char['deffontcolor'])
  65.  
  66.  
  67. def istime(event):
  68. a = (time.strftime('%d.%m.%y'))
  69. tarigiday.set(a[0:2])
  70. tarigimonth.set(a[3:5])
  71. tarigiyear.set(a[6:])
  72.  
  73.  
  74. def formoutcome(event):
  75.  
  76. def clearcanvas():
  77. if formmaincanvas1:
  78. formmaincanvas1.destroy()
  79. if formincomecanvas:
  80. formincomecanvas.destroy()
  81. if formparamcanvas1:
  82. formparamcanvas1.destroy()
  83.  
  84. formoutcanvas = tkinter.Canvas(l4, bg=deflabbg.get())
  85. formoutcanvas.place(x=0, y=0, relwidth=1, relheight=1)
  86.  
  87.  
  88. def formincome(event):
  89.  
  90. # print('Formincome, newitem:', name.get())
  91.  
  92. def fasiandraod(event):
  93. print('ფუნქცია - fasiandraodenoba: გაეშვა')
  94. formincomegirebuleba.config(state=tkinter.NORMAL)
  95. try:
  96. currentraodenoba = round(float(raodenoba.get()), 2)
  97. print('მიმდინარე რაოდენობა მიღებულია')
  98. except ValueError:
  99. currentraodenoba = 0
  100. print('მიმდინარე რაოდენობა არ მოიძებნა')
  101. try:
  102. currentfasi = round(float(fasi.get()), 2)
  103. print('მიმდინარე ფასი მიღებულია')
  104. except ValueError:
  105. currentfasi = 0
  106. print('მიმდინარე ფასი არ მოიძებნა')
  107. try:
  108. girebuleba.set(round(float(currentraodenoba)*float(currentfasi), 2))
  109. print('ღირებულება მიღებულია')
  110. formincomegirebuleba.config(state=tkinter.DISABLED)
  111. except ValueError:
  112. print('ღირებულება ვერ განისაზღვრა')
  113. girebuleba.set(0)
  114. formincomegirebuleba.config(state=tkinter.DISABLED)
  115.  
  116. def checkvalue(event):
  117. print('ფუნქცია - checkvalue() is running ')
  118. file = open(itemfile, 'r', encoding='utf-8')
  119. line = [line.strip() for line in file]
  120. b = 0
  121. for a in line:
  122. if a == name.get():
  123. print('პროდუქტი მოიძებნა სიაში:', name.get())
  124. # print(a)
  125. b = 1
  126. file.close()
  127. if b == 1 and name.get() != '':
  128. try:
  129.  
  130. # print('პროდუქტის სახელის მინიჭება:', name.get())
  131. incomeitemvalues()
  132. # except FileNotFoundError:
  133. except ValueError:
  134. print('ფუნქცია checkvalue:')
  135. print('პროდუქტი - ', itemfolder + name.get(), 'დასახელებით არ მოიძებნა!!!')
  136. formmain(event)
  137. else:
  138. formmain(event)
  139. print('checkvalue(): დაასრულა მუშაობა')
  140.  
  141. def incomeitemvalues():
  142. print('ფუნქცია - incomeitemvalues: გაეშვა')
  143. # print(name.get())
  144. file = open(itemfolder+name.get(), 'r+', encoding='utf-8')
  145. line = [line.strip() for line in file]
  146. file.close()
  147.  
  148. try:
  149. print('ცვლადებზე მნიშვნელობების მინიჭება')
  150. try:
  151. print('ლექსიკონის ამოღება ფაილიდან')
  152. itemchar = eval(line[-1])
  153. print(type(line))
  154. for a in line:
  155. print(a)
  156. print(type(itemchar), itemchar)
  157. print('ლექსიკონი ამოღებულია წარმატებით')
  158. except ValueError:
  159. print('ლექსიკონის ამოღება შეუძლებელია')
  160. except IndexError:
  161. print('პროდუქტის ლექსიკონში ინდექსის შეცდომაა, სავარაუდოდ ფაილი ცარიელია ან გაფუჭებული')
  162. try:
  163. print('ლექსიკონიდან განზომილების ამოღება')
  164. ganzomileba.set('')
  165. raodenoba.set(0)
  166. fasi.set(0)
  167. girebuleba.set(0)
  168. sulraodenoba.set(0)
  169. statusi.set('მიღება')
  170. sulgirebuleba.set(0)
  171. sulraodenoba.set(0)
  172. istime(event)
  173. ganzomileba.set(itemchar['განზომილება'])
  174. raodenoba.set(0)
  175. fasi.set(0)
  176. girebuleba.set(0)
  177. istime(event)
  178. sulraodenoba.set(itemchar['სულრაოდენობა'])
  179. statusi.set('მიღება')
  180. sulgirebuleba.set(itemchar['სულღირებულება'])
  181. sulraodenoba.set(itemchar['სულრაოდენობა'])
  182. print('ცვლადებზე მნიშვნელობების მინიჭება წარმატებით დასრულდა')
  183. except KeyError:
  184. print('პროდუქტის ფაილში რომელიღაც გასაღები არ იძებნება')
  185. except NameError:
  186. print('pass')
  187.  
  188. formincomeganz.focus()
  189. try:
  190. ganzomileba.set(itemchar['განზომილება'])
  191. except UnboundLocalError:
  192. ganzomileba.set('')
  193. print('განზომილებას ვერ მიენიჭა მნიშვნელობა')
  194. print('incomeitemvalues: დაასრულა მუშაობა')
  195.  
  196. def acceptitem(event):
  197. print('ფუნქცია - acceptitem(): გაეშვა')
  198. print('პროდუქტის დასახელების შემოწმება და შემდეგ მისი ფაილის გახსნა')
  199. file = open(itemfile, 'r', encoding='utf-8')
  200. line = [line.strip() for line in file]
  201. file.close()
  202. b = 0
  203. for a in line:
  204. if a == name.get():
  205. b = 1
  206. if b == 1:
  207. print('პროდუქტი რეგისტრირებულია')
  208. # file = open(itemfolder+name.get(), 'r+', encoding='utf-8')
  209. fullname = {}
  210. fullname['დასახელება'] = name.get()
  211. # print('დასახელება:', name.get())
  212. fullname['განზომილება'] = ganzomileba.get()
  213. # print('განზომილება:', ganzomileba.get())
  214. fullname['რაოდენობა'] = str(raodenoba.get())
  215. # print('რაოდენობა:', raodenoba.get())
  216. fullname['ფასი'] = str(fasi.get())
  217. # print('ფასი:', fasi.get())
  218. fullname['ღირებულება'] = str(girebuleba.get())
  219. # print('ღირებულება:', girebuleba.get())
  220. fullname['ორგანიზაცია'] = organizacia.get()
  221. # print('ორგანიზაცია:', organizacia.get())
  222. fullname['ზედნადები'] = zednadebi.get()
  223. # print('ზედნადები:', zednadebi.get())
  224. fullname['დღე'] = tarigiday.get()
  225. # print('დღე:', tarigiday.get())
  226. fullname['თვე'] = tarigimonth.get()
  227. # print('თვე:', tarigimonth.get())
  228. fullname['წელი'] = tarigiyear.get()
  229. # print('წელი:', tarigiyear.get())
  230. fullname['სულრაოდენობა'] = str(float(sulraodenoba.get())+float(raodenoba.get()))
  231. # print('სულ რაოდენობა:', sulraodenoba.get())
  232. statusi.set('მიღება')
  233. fullname['სტატუსი'] = statusi.get()
  234. # print('სტატუსი', statusi.get())
  235. fullname['სულღირებულება'] = str(float(girebuleba.get())+float(sulgirebuleba.get()))
  236. # print('სულღირებულება:', sulgirebuleba.get())
  237. # print('მნიშვნელობების მინიჭება დასრულდა')
  238. # print(fullname)
  239. # print('სრული ლექსიკონის ჩამოყალიბება დასრულებულია')
  240. filename = itemfolder+name.get()
  241. # print(filename)
  242. file = open(filename, 'a+', encoding='utf-8')
  243. file.writelines(str(fullname)+'\n')
  244. file.close()
  245.  
  246. # ფუნქციის დასრულების შემდეგ მონაცემების გასუფთავება
  247.  
  248. name.set('')
  249. ganzomileba.set('')
  250. raodenoba.set(0)
  251. fasi.set(0)
  252. girebuleba.set(0)
  253. organizacia.set('')
  254. zednadebi.set('')
  255. tarigiday.set('')
  256. tarigimonth.set('')
  257. tarigiyear.set('')
  258. sulraodenoba.set(0)
  259. statusi.set('')
  260. sulgirebuleba.set(0)
  261. sulraodenoba.set(0)
  262. sulgirebuleba.set(0)
  263. formmain(event)
  264. else:
  265. # print('პროდუქტი არაა რეგისტრირებული')
  266. name.set('')
  267. ganzomileba.set('')
  268. raodenoba.set(0)
  269. fasi.set(0)
  270. girebuleba.set(0)
  271. organizacia.set('')
  272. zednadebi.set('')
  273. tarigiday.set('')
  274. tarigimonth.set('')
  275. tarigiyear.set('')
  276. sulraodenoba.set(0)
  277. statusi.set('')
  278. sulgirebuleba.set(0)
  279. sulraodenoba.set(0)
  280. sulgirebuleba.set(0)
  281. formmain(event)
  282.  
  283. def incometranscript(event):
  284. widget = {formincomename: 1, formincomeganz: 2, formincomemomwodebeli: 6, formincomezednadebi: 7, \
  285. fincomeorganisation: 6}
  286.  
  287. for a in widget:
  288. # print(widget[a])
  289. if a == event.widget:
  290. num = widget[a]
  291. transcript(num)
  292.  
  293.  
  294. def filtername(event):
  295. incometranscript(event)
  296. organizacia.set(event.widget.get())
  297. file = open('organizacion', 'r+', encoding='utf-8')
  298. line = [line.strip() for line in file]
  299. file.close()
  300. line.sort(reverse=True)
  301. line1 = []
  302. if organizacia.get() != '':
  303. # print('Form Main, Function filtername, print entered text:',text, '\n')
  304. for i in line:
  305. if organizacia.get() in i:
  306. line1.append(i)
  307. # print('Form Main, Function filtername, print line1:', line1, '\n')
  308. else:
  309. line1 = line
  310. fincomeorganisation.delete(0, tkinter.END)
  311. for a in line1:
  312. fincomeorganisation.insert(0, a)
  313.  
  314.  
  315. def activeorganisation(event):
  316. name = event.widget.get(tkinter.ACTIVE)
  317. organizacia.set(name)
  318.  
  319.  
  320. if formmaincanvas1:
  321. formmaincanvas1.destroy()
  322. if formoutcanvas:
  323. formoutcanvas.destroy()
  324. if formparamcanvas1:
  325. formparamcanvas1.destroy()
  326.  
  327. formincomecanvas = tkinter.Canvas(l4, bg=deflabbg.get())
  328. formincomelabname = tkinter.Label(formincomecanvas, height=2, bg=deflabbg.get(), text='დასახელება', \
  329. fg=deflabfg.get())
  330. formincomelabganz = tkinter.Label(formincomecanvas, height=2, bg=deflabbg.get(), text='განზომი\nლება',\
  331. fg=deflabfg.get())
  332. formincomelabraod = tkinter.Label(formincomecanvas, height=2, bg=deflabbg.get(), text='რაოდე\nნობა',
  333. fg=deflabfg.get())
  334. formincomelabfasi = tkinter.Label(formincomecanvas, height=2, bg=deflabbg.get(), text='ფასი', fg=deflabfg.get())
  335. formincomelabgirebuleba = tkinter.Label(formincomecanvas, height=2, bg=deflabbg.get(), text='ღირებუ\nლება',
  336. fg=deflabfg.get())
  337. formincomelabmomwodebeli = tkinter.Label(formincomecanvas, height=2, bg=deflabbg.get(), text='მომწოდებელი',
  338. fg=deflabfg.get(), textvariable=organizacia)
  339. formincomelabzednadebi = tkinter.Label(formincomecanvas, height=2, bg=deflabbg.get(), text='ზედნადების N',
  340. fg=deflabfg.get())
  341. formincomelabday = tkinter.Label(formincomecanvas, height=2, bg=deflabbg.get(), text='დღე', fg=deflabfg.get())
  342. formincomelabmonth = tkinter.Label(formincomecanvas, height=2, bg=deflabbg.get(), text='თვე', fg=deflabfg.get())
  343. formincomelabyear = tkinter.Label(formincomecanvas, height=2, bg=deflabbg.get(), text='წელი', fg=deflabfg.get())
  344.  
  345. formincomecanvas.place(x=0, y=0, relwidth=1, relheight=1)
  346. formincomelabname.place(x=60, y=50)
  347. formincomelabganz.place(x=420, y=50)
  348. formincomelabraod.place(x=514, y=50)
  349. formincomelabfasi.place(x=608, y=50)
  350. formincomelabgirebuleba.place(x=702, y=50)
  351. formincomelabmomwodebeli.place(x=60, y=150)
  352. formincomelabzednadebi.place(x=420, y=150)
  353. formincomelabday.place(x=600, y=150)
  354. formincomelabmonth.place(x=650, y=150)
  355. formincomelabyear.place(x=700, y=150)
  356.  
  357. formincomename = tkinter.Entry(formincomecanvas, width=50, textvariable=name)
  358. formincomeganz = tkinter.Entry(formincomecanvas, width=8, textvariable=ganzomileba)
  359. formincomeraod = tkinter.Entry(formincomecanvas, width=8, textvariable=raodenoba)
  360. formincomefasi = tkinter.Entry(formincomecanvas, width=8, textvariable=fasi)
  361. formincomegirebuleba = tkinter.Entry(formincomecanvas, width=8, textvariable=girebuleba)
  362. formincomemomwodebeli = tkinter.Entry(formincomecanvas, width=50, textvariable=organizacia)
  363. formincomezednadebi = tkinter.Entry(formincomecanvas, width=20, textvariable=zednadebi)
  364. formincomeday = tkinter.Entry(formincomecanvas, width=2, textvariable=tarigiday)
  365. formincomemonth = tkinter.Entry(formincomecanvas, width=2, textvariable=tarigimonth)
  366. formincomeyear = tkinter.Entry(formincomecanvas, width=2, textvariable=tarigiyear)
  367.  
  368. formincomename.bind('<KeyRelease>', incometranscript)
  369. formincomeganz.bind('<KeyRelease>', incometranscript)
  370. formincomeraod.bind('<KeyRelease>', fasiandraod)
  371. formincomefasi.bind('<KeyRelease>', fasiandraod)
  372. formincomemomwodebeli.bind('<KeyRelease>', filtername)
  373. formincomezednadebi.bind('<KeyRelease>', incometranscript)
  374.  
  375. formincomename.place(x=60, y=100)
  376. formincomeganz.place(x=420, y=100)
  377. formincomeraod.place(x=514, y=100)
  378. formincomefasi.place(x=608, y=100)
  379. formincomegirebuleba.place(x=702, y=100)
  380. formincomemomwodebeli.place(x=60, y=200)
  381. formincomezednadebi.place(x=420, y=200)
  382. formincomeday.place(x=600, y=200)
  383. formincomemonth.place(x=650, y=200)
  384. formincomeyear.place(x=700, y=200)
  385.  
  386. fincomeorganisation = tkinter.Listbox(formincomecanvas, height=20, width=50)
  387. fincomeorganisation.place(x=60, y=250)
  388. fincomeorganisation.bind('<Double-1>', activeorganisation)
  389.  
  390.  
  391.  
  392. formincomeraod.focus()
  393.  
  394. formincomebut1 = tkinter.Button(formincomecanvas, bg=defbutbg.get(), fg=defbutfg.get(), text='შეყვანა')
  395.  
  396. formincomebut1.bind('<1>', acceptitem)
  397.  
  398. formincomebut1.place(x=800, y=100)
  399.  
  400. checkvalue(event)
  401.  
  402.  
  403. def formmain(event):
  404. if formincomecanvas:
  405. formincomecanvas.destroy()
  406. if formoutcanvas:
  407. formoutcanvas.destroy()
  408. if formparamcanvas1:
  409. formparamcanvas1.destroy()
  410. name.set('')
  411.  
  412. def filtername(event):
  413. transcript(1)
  414. text = name.get()
  415. file = open(itemfile, 'r+', encoding='utf-8')
  416. line = [line.strip() for line in file]
  417. file.close()
  418. line.sort(reverse=True)
  419. line1 = []
  420. if text != '':
  421. # print('Form Main, Function filtername, print entered text:',text, '\n')
  422. for i in line:
  423. if text in i:
  424. line1.append(i)
  425. # print('Form Main, Function filtername, print line1:', line1, '\n')
  426. else:
  427. line1 = line
  428. formmainlistname.delete(0, tkinter.END)
  429. for a in line1:
  430. formmainlistname.insert(0, a)
  431.  
  432. def listactiveitem(event):
  433. listactivename = event.widget.get(tkinter.ACTIVE)
  434. # print('Form Main, Function listactiveitem:', listactivename, '\n')
  435. name.set(listactivename)
  436. filtername(event)
  437.  
  438. def mainitemregistration(event):
  439. itemregistration(event)
  440. filtername(event)
  441.  
  442.  
  443. def clearwidget(event):
  444. # print('func clearwidget')
  445. name.set('')
  446. filtername(event)
  447.  
  448. formmaincanvas1 = tkinter.Canvas(l4, bg=deflabbg.get())
  449. labname = tkinter.Label(formmaincanvas1, height=2, bg=deflabbg.get(), text='დასახელება', fg=deflabfg.get())
  450. labganz = tkinter.Label(formmaincanvas1, height=2, bg=deflabbg.get(), text='განზო\nმილება', fg=deflabfg.get())
  451. labraod = tkinter.Label(formmaincanvas1, height=2, bg=deflabbg.get(), text='რაო\nდენობა', fg=deflabfg.get())
  452. labfasi = tkinter.Label(formmaincanvas1, height=2, bg=deflabbg.get(), text='ფასი', fg=deflabfg.get())
  453. labgirebuleba = tkinter.Label(formmaincanvas1, height=2, bg=deflabbg.get(), text='ღირე\nბულება', \
  454. fg=deflabfg.get())
  455.  
  456. formmaincanvas1.place(x=0, y=0, relwidth=1, relheight=1)
  457. labname.place(x=60, y=100)
  458. # labganz.place(x=420, y=100)
  459. # labraod.place(x=514, y=100)
  460. # labfasi.place(x=608, y=100)
  461. # labgirebuleba.place(x=702, y=100)
  462.  
  463. entryname = tkinter.Entry(formmaincanvas1, width=50, textvariable=name)
  464. entryname.focus()
  465. entryname.bind('<KeyRelease>', filtername)
  466. entryname.bind('<Double-1>', clearwidget)
  467. entryname.place(x=60, y=60)
  468.  
  469. formmainlistname = tkinter.Listbox(formmaincanvas1, height=20, width=50, selectmode='SINGLE')
  470. formmainlistganz = tkinter.Listbox(formmaincanvas1, height=20, width=8, selectmode='SINGLE')
  471. formmainlistraod = tkinter.Listbox(formmaincanvas1, height=20, width=8, selectmode='SINGLE')
  472. formmainlisnfasi = tkinter.Listbox(formmaincanvas1, height=20, width=8, selectmode='SINGLE')
  473. formmainlistgirebuleba = tkinter.Listbox(formmaincanvas1, height=20, width=8, selectmode='SINGLE')
  474.  
  475. formmainlistname.bind('<Double-1>', listactiveitem)
  476.  
  477. formmainlistname.place(x=60, y=150)
  478. # formmainlistganz.place(x=420, y=150)
  479. # formmainlistraod.place(x=514, y=150)
  480. # formmainlisnfasi.place(x=608, y=150)
  481. # formmainlistgirebuleba.place(x=702, y=150)
  482.  
  483. formmainbut1 = tkinter.Button(formmaincanvas1, bg=defbutbg.get(), fg=defbutfg.get(), text='ახალი პროდუქტი')
  484. formmainbut1.bind('<1>', mainitemregistration)
  485. formmainbut1.place(x=400, y=60)
  486.  
  487. filtername(event)
  488.  
  489.  
  490. def formparam(event):
  491.  
  492. def configurfile(event):
  493. text = []
  494. text.append('.\\items\\item')
  495. text.append('.\\items\\itemfolder\\')
  496. text.append('.\\items\\configfile')
  497. f = open('.\\configfile', "a+")
  498. for a in text:
  499.  
  500. f.writelines(a + '\n')
  501. f.close()
  502. configprogram()
  503.  
  504. if formincomecanvas:
  505. formincomecanvas.destroy()
  506. if formoutcanvas:
  507. formoutcanvas.destroy()
  508. if formmaincanvas1:
  509. formmaincanvas1.destroy()
  510. formparamcanvas1 = tkinter.Canvas(l4, bg=deflabbg.get())
  511.  
  512. def changewhat(event):
  513.  
  514. def changeorganisation(event):
  515.  
  516. name.set('')
  517. organizacia.set('')
  518. formchangeorganisation = tkinter.Canvas(formparamcanvas1, bg=deflabbg.get())
  519. formchangeorganisation.place(x=0, y=300, relwidth=1, relheight=1)
  520.  
  521. def empthyentry(event): # ენთრი2 ველის გასუფთავება
  522. entry2.config(state=tkinter.NORMAL)
  523. entry2.delete(0, tkinter.END)
  524. entry2.config(state=tkinter.DISABLED)
  525.  
  526. def addorganisationtoentry2(event): # ორგანიზაციის აღება სიიდან და ენთრი2 ველში გამოტანა
  527.  
  528. active = event.widget.get(tkinter.ACTIVE) # სიიდან აქტიური სახელის აღება
  529. entry2.config(state=tkinter.NORMAL) # ენთრი2 ველის გააქტიურება
  530. entry2.delete(0, tkinter.END)
  531. organizacia.set(active) # ენთრი2 ველში აქტიური სახელის გამოტანა
  532. entry2.config(state=tkinter.DISABLED) # ენთრი2 ველის ბლოკირება
  533. name.set(active)
  534.  
  535. def changeorganisationname(event): # ორგანიზაციის სახელის რედაქტირება
  536. organisationname = entry2.get() # ორგანიზაციის ძველი სახელი
  537.  
  538. def butyesclick(event): # დასტურის ღილაკზე დაჭერისას ქმედება
  539. neworganisationname = entry2.get() # ახალი ორგანიზაციის სახელი
  540. file = open('organizacion', 'r+', encoding='utf-8') # ორგანიზაციის ფაილის გახსნა
  541. line = [line.strip() for line in file] # ფაილის წაკითხვა
  542. file.close()
  543. b = 0
  544. for a in line: # სიის იტერაცია, სანამ არ იპოვის ძველი ორგანიზაციასთან თანხვედრას
  545. if a == organisationname:
  546. b = 1
  547. print(b)
  548. break
  549. if b == 1:
  550. print(b)
  551. line.remove(organisationname)
  552. line.append(neworganisationname)
  553. file = open('organizacion', 'w', encoding='utf-8') # ორგანიზაციის ფაილის გახსნა
  554. for a in line:
  555. file.writelines(a+'\n')
  556. file.close()
  557. entry2.delete(0, tkinter.END)
  558. entry2.config(state=tkinter.DISABLED)
  559. changeorganisation(event)
  560. else:
  561. print(b)
  562. line.append(neworganisationname)
  563. file = open('organizacion', 'w', encoding='utf-8') # ორგანიზაციის ფაილის გახსნა
  564. for a in line:
  565. file.writelines(a + '\n')
  566. file.close()
  567. entry2.delete(0, tkinter.END)
  568. entry2.config(state=tkinter.DISABLED)
  569. changeorganisation(event)
  570.  
  571. def abortoperation(event):
  572. changeorganisation(event)
  573.  
  574. entry2.config(state=tkinter.NORMAL)
  575.  
  576. dialogcanvas = tkinter.Canvas(formchangeorganisation, bg=deflabbg.get(), width=72, \
  577. height=22)
  578. dialogcanvas.place(x=600, y=100)
  579.  
  580. butyes = tkinter.Button(dialogcanvas, text='YES')
  581. butno = tkinter.Button(dialogcanvas, text='No')
  582.  
  583. butyes.place(x=0, y=0)
  584. butno.place(x=50, y=0)
  585.  
  586. butyes.bind('<1>', butyesclick)
  587. butno.bind('<1>', abortoperation)
  588.  
  589. def deleteorganisation(event):
  590. organisationname = entry2.get() # ორგანიზაციის ძველი სახელი
  591. file = open('organizacion', 'r+', encoding='utf-8') # ორგანიზაციის ფაილის გახსნა
  592. line = [line.strip() for line in file] # ფაილის წაკითხვა
  593. file.close()
  594. for a in line: # სიის იტერაცია, სანამ არ იპოვის ძველი ორგანიზაციასთან თანხვედრას
  595. if a == organisationname:
  596. print(a)
  597. line.remove(organisationname)
  598. file = open('organizacion', 'w', encoding='utf-8') # ორგანიზაციის ფაილის გახსნა
  599. for a in line:
  600. file.writelines(a + '\n')
  601. file.close()
  602. entry2.config(state=tkinter.NORMAL)
  603. entry2.delete(0, tkinter.END)
  604. entry2.config(state=tkinter.DISABLED)
  605. changeorganisation(event)
  606.  
  607. def transcorg(event):
  608. transcript(1)
  609.  
  610. def filter(event):
  611. transcript(6)
  612. file = open('organizacion', 'r', encoding='utf-8')
  613. line = [line.strip() for line in file]
  614. file.close()
  615. line = sorted(line)
  616. list.delete(0, tkinter.END)
  617. for i in line:
  618. if entry.get() in i:
  619. list.insert(tkinter.END, i)
  620.  
  621. entry = tkinter.Entry(formchangeorganisation, width=60, textvariable=organizacia)
  622. entry.delete(0, tkinter.END)
  623. entry.focus()
  624. entry2 = tkinter.Entry(formchangeorganisation, width=68, textvariable=name, state=tkinter.DISABLED)
  625.  
  626. entry.place(x=60, y=60)
  627. entry2.place(x=600, y=60)
  628.  
  629. entry.bind('<KeyRelease>', filter)
  630. entry2.bind('<KeyRelease>', transcorg)
  631.  
  632. list = tkinter.Listbox(formchangeorganisation, width=60, height=15)
  633. list.place(x=60, y=100)
  634.  
  635. list.bind('<Double-1>', addorganisationtoentry2)
  636.  
  637. changebut = tkinter.Button(formchangeorganisation, text='ცვლილება', width=15)
  638. empthybut = tkinter.Button(formchangeorganisation, text='გასუფთავება', width=15)
  639. deletebut = tkinter.Button(formchangeorganisation, text='წაშლა', width=15)
  640.  
  641. changebut.place(x=450, y=100)
  642. empthybut.place(x=450, y=150)
  643. deletebut.place(x=450, y=200)
  644.  
  645.  
  646. empthybut.bind('<1>', empthyentry)
  647. changebut.bind('<1>', changeorganisationname)
  648. deletebut.bind('<1>', deleteorganisation)
  649.  
  650. formchangeorganisationbut.config(bg='white', fg='black')
  651. formchangeitembut.config(bg=defbutbg.get(), fg=defbutfg.get())
  652. filter(event)
  653.  
  654. def changeitem(event):
  655.  
  656. name.set('')
  657. organizacia.set('')
  658. formchangeitem = tkinter.Canvas(formparamcanvas1, bg=deflabbg.get())
  659. formchangeitem.place(x=0, y=300, relwidth=1, relheight=1)
  660.  
  661. def filter(event):
  662. transcript(1)
  663.  
  664. file = open('.\\items\\item', 'r', encoding='utf-8')
  665. line = [line.strip() for line in file]
  666. file.close()
  667. line = sorted(line)
  668. list.delete(0, tkinter.END)
  669. for i in line:
  670. if entry.get() in i:
  671. list.insert(tkinter.END, i)
  672.  
  673. def addactiveitem(event):
  674. name.set(event.widget.get(tkinter.ACTIVE))
  675. organizacia.set(event.widget.get(tkinter.ACTIVE))
  676.  
  677. def changeitem(event):
  678.  
  679. entry2.config(state=tkinter.NORMAL)
  680. print(name.get())
  681.  
  682. def yesbut(event):
  683. file = open(itemfile, 'r', encoding='utf-8')
  684. line = [line.strip() for line in file]
  685. print(line)
  686. file.close()
  687. for a in line:
  688. if a == name.get():
  689. print(a, name.get(), 'არის დამთხვევა.')
  690. line.remove(a)
  691. line.append(organizacia.get())
  692. line.sort()
  693. file = open(itemfile, 'w', encoding='utf-8')
  694. for i in line:
  695. file.writelines(i+'\n')
  696. file.close()
  697.  
  698. organizacia.set('')
  699. name.set('')
  700. entry2.config(state=tkinter.DISABLED)
  701. filter(event)
  702.  
  703. butyes = tkinter.Button(formchangeitem, text='შეცვლა', bg=defbutbg.get(), \
  704. fg=defbutfg.get())
  705. butno = tkinter.Button(formchangeitem, text='გაუზმება', bg=defbutbg.get(), \
  706. fg=defbutfg.get())
  707.  
  708. butyes.place(x=550, y=100)
  709. butno.place(x=650, y=100)
  710.  
  711. butyes.bind('<1>', yesbut)
  712. butno.bind('<1>', None)
  713.  
  714. def transitem(event):
  715. transcript(6)
  716.  
  717. entry = tkinter.Entry(formchangeitem, width=60, textvariable=name)
  718. entry.delete(0, tkinter.END)
  719. entry2 = tkinter.Entry(formchangeitem, width=68, textvariable=organizacia, state=tkinter.DISABLED)
  720.  
  721. entry.place(x=60, y=60)
  722. entry2.place(x=600, y=60)
  723.  
  724. entry.focus()
  725. entry.bind('<KeyRelease>', filter)
  726. entry2.bind('<KeyRelease>', transitem)
  727.  
  728. list = tkinter.Listbox(formchangeitem, width=60, height=15)
  729. list.place(x=60, y=100)
  730. list.bind('<Double-1>', addactiveitem)
  731.  
  732. changebut = tkinter.Button(formchangeitem, text='ცვლილება', width=15)
  733. empthybut = tkinter.Button(formchangeitem, text='გასუფთავება', width=15)
  734. deletebut = tkinter.Button(formchangeitem, text='წაშლა', width=15)
  735.  
  736. changebut.place(x=450, y=100)
  737. empthybut.place(x=450, y=150)
  738. deletebut.place(x=450, y=200)
  739.  
  740. changebut.bind('<1>', changeitem)
  741. empthybut.bind('<1>', None)
  742. deletebut.bind('<1>', None)
  743.  
  744. formchangeorganisationbut.config(bg=defbutbg.get(), fg=defbutfg.get())
  745. formchangeitembut.config(bg='white', fg='black')
  746. filter(event)
  747.  
  748. formchangewhat = tkinter.Canvas(formparamcanvas1, bg=deflabbg.get())
  749. formchangewhat.place(x=500, y=50)
  750.  
  751. formchangeorganisationbut = tkinter.Button(formchangewhat, bg=defbutbg.get(), fg=defbutfg.get(), \
  752. text='ორგანიზაცია')
  753. formchangeitembut = tkinter.Button(formchangewhat, bg=defbutbg.get(), fg=defbutfg.get(), text='პროდუქცია')
  754.  
  755. formchangeorganisationbut.place(x=60, y=120)
  756. formchangeitembut.place(x=240, y=120)
  757.  
  758. formchangeorganisationbut.bind('<1>', changeorganisation)
  759. formchangeitembut.bind('<1>', changeitem)
  760.  
  761. formparamcanvas1.place(x=0, y=0, relwidth=1, relheight=1)
  762.  
  763. formparambut1 = tkinter.Button(formparamcanvas1, bg=defbutbg.get(), fg=defbutfg.get(), text='სამუშაო დირექტორია')
  764. formparambut2 = tkinter.Button(formparamcanvas1, bg=defbutbg.get(), fg=defbutfg.get(), \
  765. text='ორგანიზაციის რეგისტრაცია')
  766. formparambut3 = tkinter.Button(formparamcanvas1, bg=defbutbg.get(), fg=defbutfg.get(), text='ინტერფეისი')
  767. formparambut4 = tkinter.Button(formparamcanvas1, bg=defbutbg.get(), fg=defbutfg.get(), text='რედაქტირება')
  768.  
  769. formparambut1.place(x=60, y=50)
  770. formparambut2.place(x=60, y=100)
  771. formparambut3.place(x=60, y=150)
  772. formparambut4.place(x=60, y=200)
  773.  
  774. formparambut1.bind('<1>', configurfile)
  775. formparambut2.bind('<1>', None)
  776. formparambut3.bind('<1>', colorform)
  777. formparambut4.bind('<1>', changewhat)
  778.  
  779.  
  780. def transcript(num):
  781. eng = {'a': 'ა', 'b': 'ბ', 'g': 'გ', 'd': 'დ', 'e': 'ე', 'v': 'ვ', 'z': 'ზ', 'T': 'თ', 'i': 'ი', 'k': 'კ', 'l': 'ლ',
  782. 'm': 'მ', 'n': 'ნ', 'o': 'ო', 'p': 'პ', 'J': 'ჟ', 'r': 'რ', 's': 'ს', 't': 'ტ', 'u': 'უ', 'f': 'ფ', 'q': 'ქ',
  783. 'R': 'ღ', 'y': 'ყ', 'S': 'შ', 'C': 'ჩ', 'c': 'ც', 'Z': 'ძ', 'w': 'წ', 'W': 'ჭ', 'x': 'ხ', 'j': 'ჯ', 'h': 'ჰ',
  784. ' ': ' '}
  785.  
  786. if c1.get() == 1:
  787. vari = {1: name, 2: ganzomileba, 6: organizacia, 7: zednadebi}
  788. transtext = vari[num].get()
  789. # print(transtext)
  790. if transtext != '':
  791. symb = transtext[-1]
  792. for a in eng:
  793. if symb == a:
  794. transtext = transtext.replace(transtext[-1], eng[a])
  795. vari[num].set(transtext)
  796.  
  797.  
  798. def itemregistration(event):
  799. newitem = name.get()
  800. # print('New item:', newitem)
  801.  
  802. file = open(itemfile, 'r+', encoding='utf-8')
  803. line = [line.strip() for line in file]
  804.  
  805. c = 0
  806. for a in line:
  807. if newitem == a:
  808. c = 1
  809. if c == 1:
  810. # print('This Item Is Registered. Please, Enter Unregistered Item !!!')
  811. file.close()
  812. else:
  813. line.append(newitem)
  814. sorted(line)
  815.  
  816. file.close()
  817. file = open( itemfile, 'w', encoding='utf-8')
  818. for i in line:
  819. file.writelines(i+'\n')
  820. file.close()
  821. file = open(itemfolder+newitem, 'w', encoding='utf-8')
  822. file.close()
  823. # print('New Item Registered !!!')
  824.  
  825.  
  826. def colorform(event):
  827.  
  828. colorformcanvas1 = tkinter.Canvas(l4, height=600, width=800, bg = deflabbg.get())
  829.  
  830. def widgetname(event):
  831. global coloredwidgetname
  832. coloredwidgetname = event.widget._name
  833.  
  834. def coloraccept(event):
  835. file = open('programcolors', 'r+')
  836. line = [line.strip() for line in file]
  837. file.close()
  838. char = eval(line[-1])
  839.  
  840. char[coloredwidgetname] = event.widget.cget('bg')
  841.  
  842. char1 = str(char)
  843.  
  844. file = open('programcolors', 'w')
  845. file.writelines(char1+'\n')
  846. file.close()
  847. colorscheme()
  848. colorform(event)
  849.  
  850. colorcanvas = tkinter.Canvas(colorformcanvas1, bg=deflabbg.get(), height=400, width=100)
  851.  
  852. if colorcanvas:
  853. colorcanvas.destroy()
  854. colorcanvas = tkinter.Canvas(colorformcanvas1, bg=deflabbg.get(), height=400, width=100)
  855. colorcanvas.place(x=400, y=100)
  856.  
  857. def selectwidget():
  858.  
  859. colorcanvas = tkinter.Canvas(colorformcanvas1, height=800, width=800, bg=deflabbg.get())
  860. colorcanvas.place(x=300, y=0)
  861.  
  862. num1 = tkinter.Button(colorformcanvas1, bg=defbutbg.get(), text='სამუშაო მაგიდის ფერი', width=30,
  863. fg=defbutfg.get(), name='deflabbg')
  864. num2 = tkinter.Button(colorformcanvas1, bg=defbutbg.get(), text='მაგიდის ფონტის ფერი', width=30,
  865. fg = defbutfg.get(), name='deflabfg')
  866. num3 = tkinter.Button(colorformcanvas1, bg=defbutbg.get(), text='ღილაკების ფონის ფერი', width=30,
  867. fg=defbutfg.get(), name='defbutbg')
  868. num4 = tkinter.Button(colorformcanvas1, bg=defbutbg.get(), text='ღილაკების ფონტის ფერი', width=30,
  869. fg=defbutfg.get(), name='defbutfg')
  870.  
  871. num1.place(x=60, y=50)
  872. num2.place(x=60, y=100)
  873. num3.place(x=60, y=150)
  874. num4.place(x=60, y=200)
  875.  
  876. num1.bind('<1>', widgetname)
  877. num2.bind('<1>', widgetname)
  878. num3.bind('<1>', widgetname)
  879. num4.bind('<1>', widgetname)
  880.  
  881. def colors():
  882. file = open('colors', 'r')
  883. line = [line.strip() for line in file]
  884. file.close()
  885.  
  886. a = 0
  887. b = 0
  888. c = 0
  889. d = 0
  890. e = 0
  891. while a < 10:
  892. while b < 20:
  893. if e == len(line):
  894. e -= 1
  895. button = tkinter.Button(colorcanvas, text=line[e], width=10, bg=line[e])
  896. button.bind('<1>', coloraccept)
  897. button.place(x=c, y=d)
  898. d += 30
  899. b += 1
  900. e += 1
  901. c += 75
  902. a += 1
  903. b = 0
  904. d = 0
  905.  
  906. colors()
  907.  
  908. selectwidget()
  909.  
  910. colorformcanvas1.place(x=0, y=0, relwidth=1, relheight=1)
  911.  
  912. """ AND """
  913.  
  914. colorscheme()
  915.  
  916. l1 = tkinter.Label(root, height=2, width=40, bg=deflabbg.get(), fg=deflabfg.get(), anchor='n',
  917. font='30', text='საწყობის აღრიცხვის პროგრამა')
  918. l2 = tkinter.Label(root, height=1, width=40, bg=deflabbg.get(), fg=deflabfg.get(), anchor='e',
  919. text='შექმნილია GFavaz-ის მიერ')
  920. l3 = tkinter.Label(root, height=2, width=40, bg=deflabbg.get(), fg=deflabfg.get(), anchor='n')
  921. l4 = tkinter.Label(root, height=1, width=40, bg=deflabbg.get())
  922.  
  923. l1.place(x=0, y=0, relwidth=1)
  924. l2.place(x=0, y=36, relwidth=1)
  925. l3.place(x=0, y=54, relwidth=1)
  926. l4.place(x=0, y=90, relwidth=1, relheight=1)
  927.  
  928. c1 = tkinter.IntVar()
  929. c1.set(1)
  930. checkbtn = tkinter.Checkbutton(l1, text='ქართ', bg='white', fg='black', variable=c1, onvalue=1, offvalue=0)
  931. checkbtn.place(x=0, y=0)
  932.  
  933. b1 = tkinter.Button(l3, text='ძიება', width=20, bg=defbutbg.get(), fg=defbutfg.get())
  934. b2 = tkinter.Button(l3, text='მიღება', width=20, bg=defbutbg.get(), fg=defbutfg.get())
  935. b3 = tkinter.Button(l3, text='გაცემა', width=20, bg=defbutbg.get(), fg=defbutfg.get())
  936. b4 = tkinter.Button(l3, text='პარამეტრები', width=20, bg=defbutbg.get(), fg=defbutfg.get())
  937.  
  938. b1.bind('<1>', formmain)
  939. b2.bind('<1>', formincome)
  940. b3.bind('<1>', formoutcome)
  941. b4.bind('<1>', formparam)
  942.  
  943. b1.place(x=0, y=0)
  944. b2.place(x=150, y=0)
  945. b3.place(x=300, y=0)
  946. b4.place(x=450, y=0)
  947.  
  948. formmaincanvas1 = tkinter.Canvas(l4, bg=deflabbg.get())
  949. formincomecanvas = tkinter.Canvas(l4, bg=deflabbg.get())
  950. formoutcanvas = tkinter.Canvas(l4, bg=deflabbg.get())
  951. formparamcanvas1 = tkinter.Canvas(l4, bg=deflabbg.get())
  952.  
  953. configprogram()
  954.  
  955. root.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment