Форум сайта python.su
0
Здравствуйте.
Вопрос такого плана. При сортировке по месяцам нужно что бы, искало название месяца. Не знаю как это реализовать.
И еще одно, при сохранении как зделать так что бы, сохнаняло автоматически в .doc? Сейчас приходится вручную прописывать.
Помогите пожалуйста.
Да ) код говно.
Конечно сбрасываю много кода, так как в сортировке все “связано.”
# -*- coding: UTF-8 -*- #import sys, string, calendar #import time from tkinter import * import tkinter.filedialog as fdialog from tkinter import messagebox from tkinter.messagebox import * import os import datetime root = Tk() root.geometry('800x550') root.title('Окно оформления') root.resizable(width = False, height = False) ##### #----------------------С О Р Т У В А Н Н Я-----------------------------# #Каталог из которого будем брать файлы (напиши свой) directory = ("C:/Python33") files = os.listdir(directory) global search_ def open_winS(): global search_ global rb10, rb20, rb30,rb40, rb50, rb60, rb70, rb80, rb90, rb100, rb110, rb120 global labMO, value1 winS = Toplevel(root) winS.title("Сортування") winS.geometry("500x420") labMO = Label (winS, text = u"Месяц:" ) varMO = IntVar() rb10 = Radiobutton(winS, text = u'Январь', variable=varMO, value=10) rb20 = Radiobutton(winS, text = u'Лютий', variable=varMO, value=20) rb30 = Radiobutton(winS, text = u'Березень', variable=varMO, value=30) rb40 = Radiobutton(winS, text = u'Квiтень', variable=varMO, value=40) rb50 = Radiobutton(winS, text = u'Травень', variable=varMO, value=50) rb60 = Radiobutton(winS, text = u'Червень', variable=varMO, value=60) rb70 = Radiobutton(winS, text = u'Липень', variable=varMO, value=70) rb80 = Radiobutton(winS, text = u'Серпень', variable=varMO, value=80) rb90 = Radiobutton(winS, text = u'Вересень', variable=varMO, value=90) rb100 = Radiobutton(winS, text = u'Жовтень', variable=varMO, value=100) rb110 = Radiobutton(winS, text = u'Листопад', variable=varMO, value=110) rb120 = Radiobutton(winS, text = u'Грудень', variable=varMO, value=120) def lb1_change(evt): global rb1, rb2, rb3, rb4, rb10, rb20, rb30, rb40, rb50, rb60, rb70, rb80, rb90, rb100, rb110, rb120 global value1 value1 = lb1.get(lb1.curselection()) if value1 == u'по месяцу': labMO.place(x = 150, y = 20) # rb10.place(x = 150, y = 50) # rb20.place(x = 150, y = 80) # rb30.place(x = 150, y = 110) # rb40.place(x = 150, y = 140) # rb50.place(x = 220, y = 50) # rb60.place(x = 220, y = 80) # rb70.place(x = 220, y = 110) # rb80.place(x = 220, y = 140) # rb90.place(x = 290, y = 50) # rb100.place(x = 290, y = 80) # rb110.place(x = 290, y = 110) # rb120.place(x = 290, y = 140) # def search_(): # ПОШУК global directory, files, value1 # u'Тут какая-то муть с кодировкой.' # u'интерпритатор не понимает укр. i ' # u'так что я заменил её везде на англ. i :/' # dictmonths[str(month1.get())] if labMO.winfo_viewable(): # if (varMO.get() == 10): # MO = str(rb10['text']) # elif (varMO.get() == 20): # MO = str(rb20['text']) # elif (varMO.get() == 30): # MO = str(rb30['text']) # elif (varMO.get() == 40): # MO = str(rb40['text']) # elif (varMO.get() == 50): # MO = str(rb50['text']) # elif (varMO.get() == 60): # MO = str(rb60['text']) # elif (varMO.get() == 70): # MO = str(rb70['text']) # elif (varMO.get() == 80): # MO = str(rb80['text']) # elif (varMO.get() == 90): # MO = str(rb90['text']) # elif (varMO.get() == 100): # MO = str(rb100['text']) # elif (varMO.get() == 110): # MO = str(rb110['text']) # elif (varMO.get() == 120): # MO = str(rb120['text']) # # poisk = MO # print (poisk) for i in files: if i.endswith(".doc"): print (i) f = open(i, 'r') text = f.read() if poisk in text: t1.insert(END,i) t1.insert(END, '(!)'+str(value1)+" "+str(poisk)+' было найдено в ' + i+'\n\n') f.close() #else: #t1.insert(END, poisk +'\nне было найдено в ' + str(directory) +'/'+ str(i)+'\n\n') def hello(event): os.startfile("C:/Python33/Test/"+t1.get(t1.curselection())) #t1.insert(END, i) #os.startfile("C:\Python33\Тести") # Так открывает только папку в которой файл храниться. # os.startfile('C:\Python33\Тести\'+t1.get(t1.curselection())) # пытался так но не выходит. t1 = Listbox(winS, width = 59, height = 10) t1.place(x = 10, y = 200) t1.bind("<Double-Button-1>", hello) list1=[u'по подрядчику',u'по виду работ', u'по номеру',u'по объекту работ', u'по месяцу'] # lab1 = Label(winS, text = u'Выбрать сортировку: ') lab1.place(x = 5, y = 20) lb1 = Listbox(winS, height = 6) lb1.place(x = 5, y = 50) lb1.bind('<<ListboxSelect>>', lb1_change) #~ scr = Scrollbar(winS) С=К=Р=О=Л #~ scr["command"] = t1.yview #~ t1["yscrollcommand"] = scr.set #~ t1.pack(side="left", pady=5) #~ scr.pack(side="right", pady=5, fill="y") for item in list1: lb1.insert(END, item) but1 = Button(winS, text = 'Пошук', command = search_) but1.place(x = 330, y = 380) def dell(): t1.delete(0,END) # очистка clean = Button(winS, text = 'Очистити', command = dell ) clean.place(x = 400, y = 380) #---------------------menu_bar_winS--------------------------# menu = Menu(winS) winS.config(menu=menu) def close_this(): root.destroy() def clear_list(): t1.delete(0,END) filemenu = Menu(menu) menu.add_cascade(label="File", menu=filemenu) #filemenu.add_command(label="Open...") #filemenu.add_command(label = "Save as", command = save_as) #filemenu.add_separator() filemenu.add_command(label = "Clear", command = clear_list) filemenu.add_separator() filemenu.add_command(label="Exit", command = close_this) winS.mainloop() bSort = Button(root, text = 'Сортування', command = open_winS) bSort.place(x = 400, y = 400) #----------------------------------------------------------------------# #----------------------------------------------------------------------# label_5 = Label(root, text = u'Дата: ') label_5.place(x = 160, y = 50) #entry_3 = Entry(root,bd = 5, width = 10) #entry_3.place(x = 160, y = 70) ########### #----------------------------Д А Т А-----------------------------------# dictmonths = {'1':'Январь','2':'Лютий','3':'Березень', '4':'Квiтень','5':'Травень','6':'Червень', '7':'Липень','8':'Серпень','9':'Вересень', '10':'Жовтень','11':'Листопад','12':'Грудень'} def day_control(): """Фокус в day. Ограничение значение полей day в зависимости от установленного в month.""" year = int(year1.get()) if month1.get() == '2': if (year % 400 == 0) or ((year % 100 != 0) and (year % 4 == 0)): day1.config(from_=1,to=29) else: day1.config(from_=1,to=28) else: if month1.get() in ['4','6','9','11']: day1.config(from_=1,to=30) else: day1.config(from_=1,to=31) def month_control(): """Фокус в month. Автоматическое изменение полей day при изменении month.""" year = int(year1.get()) if day1.get()=='31' and (month1.get() in ['4','6','9','11']): day1.config(from_=1,to=30) elif month1.get() == '2' and (day1.get() in ['30','31','29']): if (year % 400 == 0) or ((year % 100 != 0) and (year % 4 == 0)): day1.config(from_=1,to=29) else: day1.config(from_=1,to=28) def year_control(): """Фокус в year. Ограничение значение полей day в зависимости от года, если установлен в month находится 2.""" year = int(year1.get()) if month1.get() == '2': if (year % 400 == 0) or ((year % 100 != 0) and (year % 4 == 0)): day1.config(from_=1,to=29) else: day1.config(from_=1,to=28) ################################################################ def radio_change(): if radio_var.get() == 0: l_days.grid_remove() days.grid_remove() # l_date2.grid(row=5,column=0) #year2.grid(row=5,column=1) #month2.grid(row=5,column=2) #day2.grid(row=5,column=3) elif radio_var.get() == 1: # l_date2.grid_remove() # year2.grid_remove() # month2.grid_remove() # day2.grid_remove() l_days.grid(row=5,column=0,padx=15,sticky=E) days.grid(row=5,column=1,columnspan=3,sticky=W) ############################################################### ################################################################## lf2 = LabelFrame() lf2.place(x = 140, y = 70) #l_date1 = Label(lf2,text='Дата 1:') year1_var = StringVar() year1 = Spinbox(lf2,from_=1,to=3000,width=4,textvariable=year1_var,command=year_control) month1_var = StringVar() month1 = Spinbox(lf2,from_=1,to=12,width=2,textvariable=month1_var,command=month_control) day1_var = StringVar() day1 = Spinbox(lf2,from_=1,to=31,width=2,textvariable=day1_var,command=day_control) #l_date1.grid(row=4,column=0,padx=15) day1.grid(row=4,column=1) month1.grid(row=4,column=2) year1.grid(row=4,column=3) #but = Button(lf2,text="Найти") #ent = Label(lf2,width=12,justify=CENTER,bg="yellow",relief=GROOVE) #but.grid(row=6,column=0,pady=5) #ent.grid(row=6,column=1,columnspan=3,sticky=W+E) ######################################################################## date = datetime.date.today() date = str(date) date = date.split('-') year1_var.set(date[0]) month1_var.set(date[1]) day1_var.set(date[2]) #----------------------------------------------------------------------# #----------------------------------------------------------------------# #------------------------------------------SAVE_AS_START------------------------------------------------------------------------ def save_as(): if askyesno("Save As?", "Зберегти введенне?"): #Объявление переменных data = ' Дата: ' + str(day1.get())+ "/" + dictmonths[str(month1.get())]+ "/" + str(year1.get()) ############## SAVE ####################### # year = int(year1.get()) ############### print ('\n', data,'\n', '-------------------------------------------------------------') list_1 = ['\n', data,'\n'] sa = fdialog.asksaveasfilename(filetypes = [('all files', '.*'), ('xls files', '.xls'),('doc files', '.doc')]) # собственно, само сохранение f = open(sa, 'a') for i in list_1: f.write(i) f.close() #----------------------------------------------------SAVE_AS_END-------------------------------------------------------------------------------------------- frame_1 = Frame(root, bg = 'red', bd = 2) button_0 = Button(frame_1, text = u'Зберегти', command = save_as) button_0.pack() frame_1.place(x = 400, y = 360 ) root.mainloop()
Отредактировано Yura_Lemeshko (Дек. 3, 2014 15:28:01)
Офлайн
58
В doc не знаю. Раньше было можно только через pyRTF, но проджект помер. Лучше ориентируйтесь на xlsx - (модуль xlsxWriter) или xls - (модуль xlwt). Еще есть вариант получить odt или odp или ods (odfpy) - текстовый, табличный и презентационный формат. Читается ли он MS я не знаю, но попробовать можно.
Офлайн
0
А как добавить сторонний модуль? По какому пути его закидывать?
Что скажете по-поводу сортировки?
Отредактировано Yura_Lemeshko (Дек. 4, 2014 15:33:17)
Офлайн
58
Yura_Lemeshko
А как добавить сторонний модуль? По какому пути его закидывать?

Yura_LemeshkoНе смог осилить. Код очень специфичен. Извините, но у меня сейчас туго со временем. Ну не могу я сейчас потратить час-два чтобы Ваш код разобрать. Может кто-нибудь найдется посвободнее…
Что скажете по-поводу сортировки?
Отредактировано 4kpt_II (Дек. 4, 2014 17:28:35)
Офлайн
0
4kpt_IIЗдравствуйте, Виталий. Помогите с сортировкой пожалуйста. Да, вы писали что загружены. Но может быть все же посмотрите. Что смогу прокомментирую.
[code python]# -*- coding: UTF-8 -*-
#import sys, string, calendar
#import time
from tkinter import *
import tkinter.filedialog as fdialog
from tkinter import messagebox
from tkinter.messagebox import *
import os
import datetime
root = Tk()
root.geometry('800x550')
root.title('Окно оформления')
#root.resizable(width = False, height = False)
#####
#----------------------С О Р Т У В А Н Н Я-----------------------------#
#Каталог из которого будем брать файлы (напиши свой)
directory = ("C:/Python33")
files = os.listdir(directory)
global search_
def open_winS():
global search_
global labPodr, rbutton_1, rbutton_2, rbutton_3#, labData, editData
global rb1, rb2, rb3, rb4, labNom, editNom
global labRab, editRab, labVR,labMO, editMO, value1
winS = Toplevel(root)
winS.title("Сортування")
winS.geometry("500x420")
labNom = Label(winS, text = u'введите номер:')
editNom = Entry(winS)
labPodr = Label(winS, text = u'выберите подрядчика:')
var = IntVar()
rbutton_1=Radiobutton(winS,text='ТОВ СРБУ "Полтавалiфт"',variable=var,value=1)
rbutton_2=Radiobutton(winS,text='ДП "Полтавалiфт"', variable=var,value=2)
rbutton_3=Radiobutton(winS,text='ПП "Полтавалiфт"', variable=var,value=3)
labVR = Label(winS, text = u'выберите вид работ:')
varVR = IntVar()
rb1 = Radiobutton(winS, text = u'КВР', variable=varVR, value=1)
rb2 = Radiobutton(winS, text = u'Монтаж, п/н', variable=varVR, value=2)
rb3 = Radiobutton(winS, text = u'Проектнi роботи', variable=varVR, value=3)
rb4 = Radiobutton(winS, text = u'Огляди, ЕО, атестацiя', variable=varVR, value=4)
labRab = Label(winS, text = u" Об'єкт робiт (адреса):")
editRab = Entry(winS,bd = 5, width = 35)
labMO = Label (winS, text = u"Месяц:" )
editMO = Entry(winS, bd=5, width = 35)
#rb10 = Radiobutton(winS, text = u'Январь', variable=varMO, value=10)
#rb20 = Radiobutton(winS, text = u'Лютий', variable=varMO, value=20)
#rb30 = Radiobutton(winS, text = u'Березень', variable=varMO, value=30)
#rb40 = Radiobutton(winS, text = u'Квiтень', variable=varMO, value=40)
#rb50 = Radiobutton(winS, text = u'Травень', variable=varMO, value=50)
#rb60 = Radiobutton(winS, text = u'Червень', variable=varMO, value=60)
#rb70 = Radiobutton(winS, text = u'Липень', variable=varMO, value=70)
#rb80 = Radiobutton(winS, text = u'Серпень', variable=varMO, value=80)
#rb90 = Radiobutton(winS, text = u'Вересень', variable=varMO, value=90)
#rb100 = Radiobutton(winS, text = u'Жовтень', variable=varMO, value=100)
#rb110 = Radiobutton(winS, text = u'Листопад', variable=varMO, value=110)
#rb120 = Radiobutton(winS, text = u'Грудень', variable=varMO, value=120)
def lb1_change(evt):
global labPodr, rbutton_1, rbutton_2, rbutton_3#, labData, editData
global rb1, rb2, rb3, labNom, editNom
global labRab, editRab, labVR, labMO, editMO, value1
value1 = lb1.get(lb1.curselection())
if value1 == u'по подрядчику':
rb1.place_forget()
rb2.place_forget()
rb3.place_forget()
rb4.place_forget()
#rb10.place_forget() #
#rb20.place_forget() #
#rb30.place_forget() #
#rb40.place_forget() #
#rb50.place_forget() #
#rb60.place_forget() #
#rb70.place_forget() #
#rb80.place_forget() #
#rb90.place_forget() #
#rb100.place_forget() #
#rb110.place_forget() #
#rb120.place_forget() #
labRab.place_forget()
editRab.place_forget()
labVR.place_forget()
labMO.place_forget() #
editMO.place_forget() #
labPodr.place(x = 150, y = 20)
rbutton_1.place(x = 150, y = 50)
rbutton_2.place(x = 150, y = 80)
rbutton_3.place(x = 150, y = 110)
elif value1 == u'по виду работ':
labPodr.place_forget()
labNom.place_forget()
editNom.place_forget()
rbutton_1.place_forget()
rbutton_2.place_forget()
rbutton_3.place_forget()
labRab.place_forget()
editRab. place_forget()
labMO.place_forget() #
editMO.place_forget()
#rb10.place_forget() #
#rb20.place_forget() #
#rb30.place_forget() #
#rb40.place_forget() #
#rb50.place_forget() #
#rb60.place_forget() #
#rb70.place_forget() #
#rb80.place_forget() #
#rb90.place_forget() #
#rb100.place_forget() #
#rb110.place_forget() #
#rb120.place_forget() #
labVR.place(x = 150, y = 20)
rb1.place(x = 150, y = 50 )
rb2.place(x = 150, y = 80 )
rb3.place(x = 150, y = 110 )
rb4.place(x = 150, y = 140 )
elif value1 == u'по месяцу':
labPodr.place_forget()
labNom.place_forget()
editNom.place_forget()
rbutton_1.place_forget()
rbutton_2.place_forget()
rbutton_3.place_forget()
labRab.place_forget()
editRab. place_forget()
labVR.place_forget()
rb1.place_forget()
rb2.place_forget()
rb3.place_forget()
rb4.place_forget()
#labMO.place(x = 150, y = 20) #
#rb10.place(x = 150, y = 50) #
#rb20.place(x = 150, y = 80) #
#rb30.place(x = 150, y = 110) #
#rb40.place(x = 150, y = 140) #
#rb50.place(x = 220, y = 50) #
#rb60.place(x = 220, y = 80) #
#rb70.place(x = 220, y = 110) #
#rb80.place(x = 220, y = 140) #
#rb90.place(x = 290, y = 50) #
#rb100.place(x = 290, y = 80) #
#rb110.place(x = 290, y = 110) #
#rb120.place(x = 290, y = 140) #
labMO.place(x = 150, y = 20 )
editMO.place(x = 150, y = 50)
elif value1 == u'по номеру':
rbutton_2.place_forget()
rbutton_3.place_forget()
labPodr.place_forget()
rb1.place_forget()
rb2.place_forget()
rb3.place_forget()
rb4.place_forget()
#rb10.place_forget() #
#rb20.place_forget() #
#rb30.place_forget() #
#rb40.place_forget() #
#rb50.place_forget() #
#rb60.place_forget() #
#rb70.place_forget() #
#rb80.place_forget() #
#rb90.place_forget() #
#rb100.place_forget() #
#rb110.place_forget() #
#rb120.place_forget() #
labRab.place_forget()
editRab.place_forget()
labVR.place_forget()
labMO.place_forget() #
editMO.place_forget()
labNom.place(
x = 150, y = 20)
editNom.place(x = 150, y = 50, width = 70)
elif value1 == u'по объекту работ':
rbutton_1.place_forget()
rbutton_2.place_forget()
rbutton_3.place_forget()
labPodr.place_forget()
rb1.place_forget()
rb2.place_forget()
rb3.place_forget()
rb4.place_forget()
#rb10.place_forget() #
#rb20.place_forget() #
#rb30.place_forget() #
#rb40.place_forget() #
#rb50.place_forget() #
#rb60.place_forget() #
#rb70.place_forget() #
#rb80.place_forget() #
#rb90.place_forget() #
#rb100.place_forget() #
#rb110.place_forget() #
#rb120.place_forget() #
labNom.place_forget()
editNom.place_forget()
labVR.place_forget()
labMO.place_forget() #
editMO.place_forget() #
labRab.place(x = 150, y = 20 )
editRab.place(x = 150, y = 50)
def search_(): # ПОШУК
global directory, files, value1
if labPodr.winfo_viewable():
if (var.get() == 1): # u'Тут какая-то муть с кодировкой.'
podr = str(rbutton_1['text']) # u'интерпритатор не понимает укр. i '
elif (var.get() == 2): # u'так что я заменил её везде на англ. i :/'
podr = str(rbutton_2['text'])
elif (var.get() == 3):
podr = str(rbutton_3['text'])
poisk = podr
elif labVR.winfo_viewable():
if (varVR.get() == 1):
VR = str(rb1['text'])
elif (varVR.get() == 2):
VR = str(rb2['text'])
elif (varVR.get() == 3):
VR = str(rb3['text'])
elif (varVR.get() == 4):
VR = str(rb4['text'])
poisk = VR
# dictmonths[str(month1.get())]
if labMO.winfo_viewable():
poisk = editMO.get()
# elif labMO.winfo_viewable(): #
#if (varMO.get() == 10): #
#MO = str(rb10['text']) #
#elif (varMO.get() == 20): #
#MO = str(rb20['text']) #
#elif (varMO.get() == 30): #
#MO = str(rb30['text']) #
#elif (varMO.get() == 40): #
#MO = str(rb40['text']) #
#elif (varMO.get() == 50): #
#MO = str(rb50['text']) #
#elif (varMO.get() == 60): #
#MO = str(rb60['text']) #
#elif (varMO.get() == 70): #
#MO = str(rb70['text']) #
#elif (varMO.get() == 80): #
#MO = str(rb80['text']) #
#elif (varMO.get() == 90): #
#MO = str(rb90['text']) #
#elif (varMO.get() == 100): #
#MO = str(rb100['text']) #
#elif (varMO.get() == 110): #
#MO = str(rb110['text']) #
#elif (varMO.get() == 120): #
#MO = str(rb120['text']) #
#
# poisk = MO #
if labNom.winfo_viewable():
poisk = editNom.get()
if labRab.winfo_viewable():
poisk = editRab.get()
print (poisk)
for i in files:
if i.endswith(".doc"):
print (i)
f = open(i, 'r')
text = f.read()
if poisk in text:
t1.insert(END,i)
t1.insert(END, '(!)'+str(value1)+" "+str(poisk)+' было найдено в ' + i+'\n\n')
f.close()
#else:
#t1.insert(END, poisk +'\nне было найдено в ' + str(directory) +'/'+ str(i)+'\n\n')
def hello(event):
os.startfile("C:/Python33/Test/"+t1.get(t1.curselection()))
#t1.insert(END, i)
#os.startfile("C:\Python33\Тести") # Так открывает только папку в которой файл храниться.
# os.startfile('C:\Python33\Тести\'+t1.get(t1.curselection())) # пытался так но не выходит.
t1 = Listbox(winS, width = 59, height = 10)
t1.place(x = 10, y = 200)
t1.bind("<Double-Button-1>", hello)
list1=[u'по подрядчику',u'по виду работ',
u'по номеру',u'по объекту работ', u'по месяцу'] #
lab1 = Label(winS, text = u'Выбрать сортировку: ')
lab1.place(x = 5, y = 20)
lb1 = Listbox(winS, height = 6)
lb1.place(x = 5, y = 50)
lb1.bind('<<ListboxSelect>>', lb1_change)
#~ scr = Scrollbar(winS) С=К=Р=О=Л
#~ scr["command"] = t1.yview
#~ t1["yscrollcommand"] = scr.set
#~ t1.pack(side="left", pady=5)
#~ scr.pack(side="right", pady=5, fill="y")
for item in list1:
lb1.insert(END, item)
but1 = Button(winS, text = 'Пошук', command = search_)
but1.place(x = 330, y = 380)
def dell():
t1.delete(0,END) # очистка
clean = Button(winS, text = 'Очистити', command = dell )
clean.place(x = 400, y = 380)
#---------------------menu_bar_winS--------------------------#
menu = Menu(winS)
winS.config(menu=menu)
def close_this():
root.destroy()
def clear_list():
t1.delete(0,END)
filemenu = Menu(menu)
menu.add_cascade(label="File", menu=filemenu)
#filemenu.add_command(label="Open...")
#filemenu.add_command(label = "Save as", command = save_as)
#filemenu.add_separator()
filemenu.add_command(label = "Clear", command = clear_list)
filemenu.add_separator()
filemenu.add_command(label="Exit", command = close_this)
winS.mainloop()
bSort = Button(root, text = 'Сортування', command = open_winS)
bSort.place(x = 400, y = 400)
#----------------------------------------------------------------------#
#----------------------------------------------------------------------#
label_1 = Label(root, text = u'№ :')
label_1.place(x = 50, y = 50 )
entry_1 = Entry(root,bd = 5, width = 10)
entry_1.place(x = 50, y = 70)
#####
label_5 = Label(root, text = u'Дата: ')
label_5.place(x = 160, y = 50)
#entry_3 = Entry(root,bd = 5, width = 10)
#entry_3.place(x = 160, y = 70)
root.mainloop()
[/code]
Отредактировано Yura_Lemeshko (Дек. 8, 2014 14:09:10)
Офлайн
253
Yura_LemeshkoЮра если уж Виталик не разобрался то трудно будет найти более упорного человека.
так как в сортировке все “связано.”
Yura_LemeshkoВот тут непонятно что сортируется.
При сортировке по месяцам нужно что бы, искало название месяца.
Отредактировано doza_and (Дек. 8, 2014 23:02:15)
Офлайн
0
doza_and
Отредактировано Yura_Lemeshko (Дек. 9, 2014 14:28:53)
Офлайн