Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 3, 2014 13:44:10

Yura_Lemeshko
Зарегистрирован: 2014-09-09
Сообщения: 50
Репутация: +  0  -
Профиль   Отправить e-mail  

Сортировка

Здравствуйте.
Вопрос такого плана. При сортировке по месяцам нужно что бы, искало название месяца. Не знаю как это реализовать.
И еще одно, при сохранении как зделать так что бы, сохнаняло автоматически в .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)

Офлайн

#2 Дек. 3, 2014 17:34:11

4kpt_II
От: Харьков
Зарегистрирован: 2013-10-24
Сообщения: 999
Репутация: +  58  -
Профиль   Отправить e-mail  

Сортировка

В doc не знаю. Раньше было можно только через pyRTF, но проджект помер. Лучше ориентируйтесь на xlsx - (модуль xlsxWriter) или xls - (модуль xlwt). Еще есть вариант получить odt или odp или ods (odfpy) - текстовый, табличный и презентационный формат. Читается ли он MS я не знаю, но попробовать можно.

Офлайн

#3 Дек. 4, 2014 15:15:57

Yura_Lemeshko
Зарегистрирован: 2014-09-09
Сообщения: 50
Репутация: +  0  -
Профиль   Отправить e-mail  

Сортировка

А как добавить сторонний модуль? По какому пути его закидывать?
Что скажете по-поводу сортировки?

Отредактировано Yura_Lemeshko (Дек. 4, 2014 15:33:17)

Офлайн

#4 Дек. 4, 2014 17:27:13

4kpt_II
От: Харьков
Зарегистрирован: 2013-10-24
Сообщения: 999
Репутация: +  58  -
Профиль   Отправить e-mail  

Сортировка

Yura_Lemeshko
А как добавить сторонний модуль? По какому пути его закидывать?

Ни по какому. Когда Вы его установите с помощью pip или setuptools он станет в нужное место. Чаще всего это site-packages. Вам нужно просто будет либо его импортировать, либо импортировать что-то из него

Yura_Lemeshko
Что скажете по-поводу сортировки?
Не смог осилить. Код очень специфичен. Извините, но у меня сейчас туго со временем. Ну не могу я сейчас потратить час-два чтобы Ваш код разобрать. Может кто-нибудь найдется посвободнее…

Отредактировано 4kpt_II (Дек. 4, 2014 17:28:35)

Офлайн

#5 Дек. 8, 2014 14:07:42

Yura_Lemeshko
Зарегистрирован: 2014-09-09
Сообщения: 50
Репутация: +  0  -
Профиль   Отправить e-mail  

Сортировка

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)

Офлайн

#6 Дек. 8, 2014 22:58:51

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Сортировка

Yura_Lemeshko
так как в сортировке все “связано.”
Юра если уж Виталик не разобрался то трудно будет найти более упорного человека.

Попробуйте сделать так.
1 сформулировать набор задачек которые перед вами стоят. Из того что есть непонятно что вы вообще хотите сделать.
2 разбейте ваш код на куски, модули и т.п. Отлаживайте эти куски, по ним и задвайте вопросы.

Yura_Lemeshko
При сортировке по месяцам нужно что бы, искало название месяца.
Вот тут непонятно что сортируется.
Запятая меня смущает, но….
месяцам нужно что бы, искало название месяца. Нужно чтобы искало или нужно чтобы нашло?

Встроенная функция sort может провести сортировку если вы правильно укажете ключ по которому проводится сортировка.

p.s.
Если у вас все равно “все будет связано” то я бы советовал вам вообще не морочить себе голову программированием, есть куча других интересных занятий.



Отредактировано doza_and (Дек. 8, 2014 23:02:15)

Офлайн

#7 Дек. 8, 2014 23:53:54

Yura_Lemeshko
Зарегистрирован: 2014-09-09
Сообщения: 50
Репутация: +  0  -
Профиль   Отправить e-mail  

Сортировка

doza_and

Смысл того что наваял таков. Допустим надо что бы, найти документ по каким-то определенным критерия, выбираем пункты из возможных нажимаем поиск в назначенное окно выводит все документы с удовлетворяющими критериями, щелчком названию документа открывается документ.

1. Нужно что бы, нашло все документы с заданными параметрами в том числе и с месяцем. Поиск едет но не выводит в окно - по месяцу Декабрь было найдено там-то.
2. Еще что нашел при тестировании, допустим при выборе номера документа 100 находит все-все данные которые хоть как-то напоминают 100. Так может сообщить что что найдено в документе n, а на самом деле там сумма равна 100. Выходит ошибка с фиксированием чисел.


Ура, решил как найти месяц.

Отредактировано Yura_Lemeshko (Дек. 9, 2014 14:28:53)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version