Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

Разработка базы данных на языке программирования Python

Работа добавлена на сайт samzan.net: 2016-06-20

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 20.5.2024

                       

КУРСОВАЯ РАБОТА

По курсу информатики

Кафедра «Автомобиле- и тракторостроения»

Разработка базы данных на языке программирования Python.


РЕФЕРАТ

Объект разработки – база данных для хранения дипломных проектов.

Цель работы – разработка базы данных на языке программирования Python.

Во время выполнения работы была разработана структура базы данных, были созданы окна включая технологию переходов, разработан внешний вид окон и в итоге была создана база данных в среде объектно-ориентированного программирования phyton.

        База данных была экспериментально опробована, в результате чего было установлено, что существенных ошибок в коде программы  не выявлено. Программа может быть успешно применена в работе стат. отделов ВУЗов.

Содержание:

Вступление

Структура б/д

Окна ввода-вывода информации

Технология переходов

Листинг с пояснениями

Специальное задание

Направления улучшения

Вывод

Список использованной литературы

Вступление

Актуальность хранения информации в электронном виде заключается в том, что бумажная документация имеет срок годности и портиться со временем. Для долгосрочного хранения информации гораздо удобнее использовать электронные базы данных.

К настоящему времени человечеством накоплено поистине гигантское количество информации об объектах и явлениях. Но эта информация не лежит мертвым грузом, она хранится в электронном виде и используется в базах данных. Базы данных – это часть информационных систем – программно-аппаратных комплексов, осуществляющих хранение и обработку огромных информационных массивов.

База данных представляет собой определенным образом структурированную совокупность данных, совместно хранящихся и обрабатывающихся в соответствии с некоторыми правилами. Как правило, база данных моделирует некоторую предметную область или ее фрагмент. Очень часто в качестве постоянного хранилища информации баз данных выступают файлы.

Программа, производящая манипуляции с информацией в базе данных, называется СУБД (система управления базами данных). Она может осуществлять выборки по различным критериям и выводить запрашиваемую информацию в том виде, который удобен пользователю. Основными составляющими информационных систем, построенных на основе баз данных, являются файлы БД, СУБД и программное обеспечение (клиентские приложения), позволяющие пользователю манипулировать информацией и совершать необходимые для решения его задач действия.

Информация, которая хранится в базе данных, может постоянно пополняться. От того, как часто это делается, зависит ее актуальность. Информацию об объектах также можно изменять и дополнять.

В нашем случае создана база данных для хранения дипломных проектов студентов всех факультетов, групп и специальностей. Для поиска дипломов разработана удобная технология переходов  между окнами.


Структура базы данных

 Исходя из задания была разработана база данных:

Рисунок 1 – Структура базы данных Base_stud.bso

Окна ввода/вывода информации 

Окно «А»:

Окно «А» выполняет функции входа

Окно «В»:

В этом окне можно добавить диплом или открыть уже готовый. Так же можно настроить параметры шрифта и прочесть о готовой б/д.

Окно «С»: 

Окно «С»  служит  для ввода всей информации о студенте, также здесь  указуються пути к документу с текстом и папке с изображениями.

Окно «D»:

В окне  «D»  выполняется поиск  записей по заданным параметрам  

Окно «P»:

Окно «P» служит для вывода полной информации по студенту

Технология переходов

 

Листинг с пояснениями

osnovnoe okno.py

# -*- coding: utf-8 -*-

import Tkinter

import string

import tkMessageBox

import sys

import os

import New_Data

import Font

import Find_Data

import Copy_Rez

import O_Prog

import tkFont

class system:

   def __init__(self, root, all_font):

       self(root, all_font)

   def __call__(self, root, all_font):

       def font(event = None):

           Font.font(root)

       def VHOD (event = None):

           if self.tip_dostupa == u"Студент":

               B()

           else:

               pass

       def B (even = None):

           #if even == u"Студент":

           def close_all_prevision(event = None):

               try:

                   del (self.C.FRC)

                   print u"Окно С закрыто"

               except: pass

               try:

                   del(self.D.FRD)

                   print u"Окно D закрыто"

               except:

                   pass

               try:

                   del(self.E.FRE)

                   print u"Окно E закрыто"

               except:

                   pass

               try:

                   del(self.K)

                   print u"Окно K закрыто"

               except:

                   pass

               try:

                   del(self.O.FRO)

                   print u"Окно O закрыто"

               except:

                   pass

           #Создание окна "Новая запись"

           def Window_C(event = None):

               close_all_prevision()

               self.C= New_Data.new_data(root,all_font)

           #Создание окна "Найти запись"

           def Window_D(event = None):

               close_all_prevision()

               self.D = Find_Data.find_data(root,all_font)

           #Создание окна "Резервное копирование"

           def Window_E (event = None):

               close_all_prevision()

               self.E = Copy_Rez.copy_rez(root,all_font)

           #Создание окна "Шрифты"

           def Window_K(event = None):

               close_all_prevision()

               self.K = Font.font(root,all_font)

           def Window_O(event = None):

               close_all_prevision()

               self.O = O_Prog.o_prog(root,all_font)

           FR.destroy()

           root.geometry("1024x768+0+0")

           root.update()

           root.title(u"База данных дипломных робот студентов ТМ факультета")

           Bar = Tkinter.Menu(root)

           Bar ["font"] = all_font

           Bar["tearoff"] = 0

           Menu1 = Tkinter.Menu(Bar, tearoff = 0 , font = all_font)

           Menu1.add_command(label = u"Новая запись", command = Window_C)

           Menu1.add_command(label = u"Найти запись", command = Window_D)

           Menu1.add_command(label = u"Резервное копирование", command = Window_E)

           Menu1.add_command(label = u"Общая информация")

           Menu1.add_separator()

           Menu1.add_command(label = u"Выход", command=die)

           Vid = Tkinter.Menu(Bar, tearoff = 0 , font = all_font)

           Vid.add_command(label = u"Размер")

           Vid.add_command(label = u"Шрифты",command = Window_K)

           Prog = Tkinter.Menu(Bar, tearoff = 0 , font = all_font)

           Prog.add_command(label = u"Помощь")

           Prog.add_command(label = u"О программе", command = Window_O)

           Bar.add_cascade(label = u"Управление базой", menu = Menu1)

           Bar.add_cascade(label = u"Настройка вида", menu = Vid)

           Bar.add_cascade(label = u"О программе", menu = Prog)

           root.config(menu=Bar)

           root.mainloop()

           #else:

               #pass

#Изминение состояния полей ввода и кнопок

       def var123 (even = None):

           if even == u"Студент":

               Ent1["state"] = "disabled"

               Ent2["state"] = "disabled"

               But2["state"] = "normal"

           else:

               Ent1["state"] = "normal"

               Ent2["state"] = "normal"

               But2["state"] = "normal"

#Закрытие программы

       def die(even = None):

           response = tkMessageBox.askyesno(u"Важно!!!",u"Закрыть базу данных дипломных работ студентов ТМ-факультета?")

           r = response

           if r == 1:

               sys.exit(0)

           else:

               responce.destroy()

       FR = Tkinter.Frame(root)

       FR["width"] = 250

       FR["height"] = 300

       FR.place(relx = 0.5, rely = 0.5, anchor = "center" )

       FR["bg"] = "white"

       FR ["bd"] = "4m"

       FR["relief"] = "groove"

#Меню "Тип доступа"

       def big(event = None):

           MB_NEW["text"] = (NEW_text[event])

           var123(NEW_text[event])

           self.tip_dostupa = NEW_text[event]

       MB_NEW = Tkinter.Menubutton(FR, relief = "raised", justify = "center")

       MB_NEW.place(relx = 0.5, rely = 0.2, anchor = "center")

       MB_NEW.menu = Tkinter.Menu(MB_NEW, tearoff = 0)

       MB_NEW ["menu"] = MB_NEW.menu

       MB_NEW ["bg"] = "grey"

       MB_NEW ["activebackground"] = "white"

       MB_NEW ["width"] = 20

       NEW_text = [u"Администратор", u"Преподаватель", u"Студент"]

       MB_NEW["text"] = (u"Тип доступа")

       NEW = []

       for i in NEW_text:

           NEW.append(i+" "*(20-len(i)))

       MB_NEW.menu.add("cascade", label = NEW[0], command = lambda m=0 :big(m))

       MB_NEW.menu.add("cascade", label = NEW[1], command = lambda m=1 :big(m))

       MB_NEW.menu.add("cascade", label = NEW[2], command = lambda m=2 :big(m))

#Поле ввода "Имя пользователя"

       LaFR1 = Tkinter.LabelFrame(FR)

       LaFR1["text"] = u"Имя пользователя"

       LaFR1.place(relx = 0.5, rely = 0.4, anchor = "center")

       Ent1 = Tkinter.Entry(LaFR1)

       Ent1["width"] = 25

       Ent1["state"] = "disabled"

       Ent1.pack()

       name = Ent1

#Поле ввода "Пароль"

       LaFR2 = Tkinter.LabelFrame(FR)

       LaFR2["text"] = u"Пароль"

       LaFR2.place(relx = 0.5, rely = 0.55, anchor = "center")

       Ent2 = Tkinter.Entry(LaFR2)

       Ent2["width"] = 25

       Ent2["state"] = "disabled"

       Ent2 ["show"] = "*"

       Ent2.pack()

       parol = Ent2

#Кнопка "Вход"

       But2 = Tkinter.Button(FR)

       But2["bg"] = "white"

       But2["bd"] = "1m"

       But2["relief"] = "raised"

       But2["text"] = u"Вход"

       But2["state"] = "disabled"

       But2.place(relx = 0.4, rely = 0.8, anchor = "center")

       But2.bind("<Button-1>",VHOD)

       But2.bind("<Return>", VHOD)

#Кнопка "Выход"

       But1 = Tkinter.Button(FR)

       But1["bg"] = "white"

       But1["bd"] = "1m"

       But1["relief"] = "raised"

       But1.place(relx = 0.2, rely = 0.8, anchor = "center")

       But1["text"] = u"Выход"

       But1.bind("<Button-1>", die)

#Кнопка "Регистрация"

       But3 = Tkinter.Button(FR)

       But3["bg"] = "white"

       But3["bd"] = "1m"

       But3["relief"] = "raised"

       But3.place(relx = 0.7, rely = 0.8, anchor = "center")

       But3["text"] = u"Регистрация"

       But3.bind("<Button-1>")

       root.mainloop()

if __name__ == "__main__":

   root = Tkinter.Tk()

   vysota_vhod = root.winfo_screenheight()

   shyrina_vhod = root.winfo_screenwidth()

   x_vhod = (shyrina_vhod / 2) - 125

   y_vhod =  (vysota_vhod / 2) - 150

   razm_x_y = "250x300+%s+%s"%(x_vhod,y_vhod)

   root.geometry(razm_x_y)

   root.title(u"Вход в базу данных дипломных проэктов

   all_font = tkFont.Font()

   all_font ["family"] = "Helvetica"

   all_font ["size"] = 15

   all_font ["weight"] = "normal"

   system(root,all_font)

New_Data.py

# -*- coding: cp1251 -*-

import Tkinter

import ScrolledText

import tkFont

import os

import string

import pickle

import tkFileDialog

import Image

import ImageTk

#окно "С" - создание новой записи

class new_data:

   def __init__(self, root,all_font):

       self(root,all_font)

   def __call__(self, root,all_font):

       def New_dictonary(event = None):

           Base = {}

           ss = 0

           for i in range(0,13):

               self.Param_2[self.dosm[i]] = self.informatino[ss]

               ss = ss + 1

               print type(self.informatino[ss])

           self.Param_2["Theme"] = self.ST.get(index1 = 0.0,index2 = "end")

           self.Param_2["Stepen"] = self.stepen

           self.Param_2["tabl"] = Ent15.get()

           #print self.ST.get(index1 = 0.0,index2 = "end")

#*******************************************************************************

           #ПРОВЕРКА ПУТЕЙ:

           if os.path.exists("C:\\TM_Base") == 1:

               os.chdir("C:\\TM_Base")

           else:

               os.makedirs("C:\\TM_Base")

               os.chdir("C:\\TM_Base")

           Sohranenie()

       def Sohranenie (event= None):

           def Sohranenie_pict(event = None): #сохранение картинок

               os.chdir(self.path_pict)

               print os.listdir(self.path_pict)

               t =  os.listdir(self.path_pict)

               u = ["C:\\TM_Base\\Spec\\" + self.key_key + "\\",'C:\\TM_Base\\Bakalavr\\' + self.key_key + '\\','C:\\TM_Base\\Magistr\\' + self.key_key + '\\']

               d = u[event]

               for i in t:

                   os.chdir(self.path_pict)

                   open_pict = open(i,"rb")

                   p = open_pict.read()

                   open_pict.close()

                   os.chdir(u[event])

                   stud_pict = open(i ,"wb")

                   stud_pict.write(p)

                   stud_pict.close()

           def Sohranenie_text (event = None):

               u = ["C:\\TM_Base\\Spec\\" + self.key_key + "\\",'C:\\TM_Base\\Bakalavr\\' + self.key_key + '\\','C:\\TM_Base\\Magistr\\' + self.key_key + '\\']

               z = string.split(self.path_pdf,"/")

               try:

                   for i in z:

                       if i.find(".docx") != -1:

                           self.pdf = i

                           print self.pdf

                       elif i.find(".pdf") != -1:

                           self.pdf = i

                           print self.pdf

                       elif i.find(".txt") != -1:

                           self.pdf = i

                           print self.pdf

                       elif i.find(".doc") != -1:

                           self.pdf = i

                           print self.pdf

                       else:

                            pass

                   h = len (self.path_pdf)

                   j = len (self.pdf)

                   l = h - j

                   N = self.path_pdf[0:l]

                   print N

                   os.chdir(N)

                   open_pdf = open(self.pdf,"rb")

                   f = open_pdf.read()

                   open_pdf.close()

                   os.chdir(u[event])

                   stud_pdf = open(self.pdf,"wb")

                   stud_pdf.write(f)

                   stud_pdf.close()

               except:

                   krasavchik_font = tkFont.Font()

                   krasavchik_font ["family"] = "Helvetica"

                   krasavchik_font ["size"] = 30

                   krasavchik_font ["weight"] = "bold"

                   krasavchik_font ["slant"] = "italic"

                   krasavchik = Tkinter.Label(self.FRC)

                   krasavchik["text"] = u"Не верный тип данных!\n Текстовый файл не сохранен!!!"

                   krasavchik["font"] = krasavchik_font

                   krasavchik["bg"] = "red"

                   krasavchik.place(relx = 0.5,rely = 0.6 , anchor = "center")

           def create_folders (event = None):

               #ПРОВЕРКА ПУТЕЙ К ПАПКЕ СПЕЦИАЛИСТ:

               u = ["C:\\TM_Base\\Spec\\",'C:\\TM_Base\\Bakalavr\\','C:\\TM_Base\\Magistr\\']

               if os.path.exists(u[event]) == 1:

                   os.chdir(u[event])

               else:

                   os.makedirs(u[event])

                   os.chdir(u[event])

               key_1 = self.Param_2.get("Name_S")

               key_2 = self.Param_2.get("SName_S")

               key_3 = self.Param_2.get("LName_S")

               self.key_key = key_2 +"_" + key_1 +"_" + key_3

               if os.path.exists(u[event] + self.key_key + "\\") == 1:

                   os.chdir(u[event] + self.key_key + "\\")

                   self.stud_file = open ("Base_stud.bso", "rb") #ОТКРЫВАЕМ ФАЙЛ С ИНФ О СТУДЕНТЕ

               else:

                   os.makedirs(u[event] + self.key_key)

                   os.chdir(u[event] + self.key_key)

                   self.stud_file = open ("Base_stud.bso", "wb") #ОТКРЫВАЕМ ФАЙЛ С ИНФ О СТУДЕНТЕ

               try:

                   pickle.dump(self.Param_2,self.stud_file)

               except:

                   self.stud_file.close()

                   self.stud_file = open ("Base_stud.bso", "wb")

                   pickle.dump(self.Param_2,self.stud_file)

               self.stud_file.close()

               Sohranenie_text(event)

               Sohranenie_pict(event)

           if self.stepen == u"Специалист":

               create_folders(0)

           elif self.stepen == u"Бакалавр":

               create_folders(1)

           else:

               create_folders(2)

#***********************************************************************************************************************

       def otmena(event = None):

           self.FRC.destroy()

       root.title(u"Cоздание новой записи")

       #root.geometry("1024x768+0+0")

       def Seve_inform(event = None):

           entry_get=[]

           for i in Inform:

               if i.get() == '':

                   i["bg"] = "red"

               else:

                   i["bg"] = "white"

                   entry_get.append(i.get())

                   self.informatino = entry_get

                   if len(entry_get) == 14:

                       New_dictonary()

                       krasavchik_font = tkFont.Font()

                       krasavchik_font ["family"] = "Helvetica"

                       krasavchik_font ["size"] = 30

                       krasavchik_font ["weight"] = "bold"

                       krasavchik_font ["slant"] = "italic"

                       krasavchik = Tkinter.Label(self.FRC)

                       krasavchik["text"] = u"Новая запись успешно добавлена"

                       krasavchik["font"] = krasavchik_font

                       krasavchik["bg"] = "yellow"

                       krasavchik.place(relx = 0.5,rely = 0.5 , anchor = "center")

                   else:

                       pass

#Новая рамка для окна "С"

       self.FRC = Tkinter.Frame(root)

       self.FRC["width"] = 1024

       self.FRC["height"] = 768

       self.FRC.place(relx = 0, rely = 0, anchor = "nw" )

       Inform = []

       self.dosm = ["Spec","Grup","Mark","God_1","Name_S","SName_S","LName_S","Name_P","SName_P","LName_P","page","plac","pict","tabl"]

       #Parametry = ["Специальность","Группа","Оценка","Год защити","Имя","Фамилия","Отчество","Имя2","Фамилия2","Отчество2","Тема дипломного проэкта","Количество страниц","Количество плакатов","Количество рисунков","Количество таблиц"]

       self.Param_2 = {"Spec":u"","Grup":u"","Mark":"","God_1":"","Name_S":"","SName_S":"","LName_S":"","Name_P":"","SName_P":"","LName_P":"","page":"","plac":"","pict":"","tabl":u"попал ты чувак"}

#Создание полей ввода, первая строка

       LaFR1 = Tkinter.LabelFrame(self.FRC)

       LaFR1["text"] = u"Специальность"

       LaFR1["font"] = all_font

       LaFR1.place(relx = 0.02, rely = 0.03, anchor = "w")

       Ent1 = Tkinter.Entry(LaFR1)

       Ent1["width"] = 40

       Inform.append(Ent1)

       Ent1.pack()

       LaFR2 = Tkinter.LabelFrame(self.FRC)

       LaFR2["text"] = u"Группа"

       LaFR2["font"] = all_font

       LaFR2.place(relx = 0.34, rely = 0.03, anchor = "w")

       Ent2 = Tkinter.Entry(LaFR2)

       Ent2["width"] = 10

       Inform.append(Ent2)

       Ent2.pack()

       LaFR3= Tkinter.LabelFrame(self.FRC)

       LaFR3["text"] = u"Оценка"

       LaFR3["font"] = all_font

       LaFR3.place(relx = 0.42, rely = 0.03, anchor = "w")

       Ent3 = Tkinter.Entry(LaFR3)

       Ent3["width"] = 10

       Inform.append(Ent3)

       Ent3.pack()

       LaFR4 = Tkinter.LabelFrame(self.FRC)

       LaFR4["text"] = u"Год защити"

       LaFR4["font"] = all_font

       LaFR4.place(relx = 0.5, rely = 0.03, anchor = "w")

       Ent4 = Tkinter.Entry(LaFR4)

       Ent4["width"] = 10

       Inform.append(Ent4)

       Ent4.pack()

       LaFR5= Tkinter.LabelFrame(self.FRC)

       LaFR5["text"] = u"Степень"

       LaFR5["font"] = all_font

       LaFR5.place(relx = 0.66, rely = 0.03, anchor = "w")

       def big(event = None):

           MB_NEW["text"] = (NEW_text[event])

           self.stepen = MB_NEW["text"]

           #self.Inform.append(MB_NEW["text"])

       MB_NEW = Tkinter.Menubutton(LaFR5, relief = "raised", justify = "center")

       MB_NEW.menu = Tkinter.Menu(MB_NEW, tearoff = 0)

       MB_NEW ["menu"] = MB_NEW.menu

       MB_NEW ["bg"] = "grey"

       MB_NEW ["activebackground"] = "white"

       MB_NEW ["width"] = 15

       NEW_text = [u"Специалист", u"Бакалавр", u"Магистр", u"  Выбрать  " ]

       MB_NEW["text"] = (NEW_text[3])

       NEW = []

       for i in NEW_text:

           NEW.append(i)

       MB_NEW.menu.add("cascade", label = NEW[0], command = lambda m=0 :big(m))

       MB_NEW.menu.add("cascade", label = NEW[1], command = lambda m=1 :big(m))

       MB_NEW.menu.add("cascade", label = NEW[2], command = lambda m=2 :big(m))

       MB_NEW.pack()

#Создание полей ввода, вторая строка (Данные о студенте)

       LaFR_Date_1 = Tkinter.LabelFrame(self.FRC)

       LaFR_Date_1["text"] = u"Данные о студенте"

       LaFR_Date_1["font"] = all_font

       LaFR_Date_1.place(relx = 0.01, rely = 0.12, anchor = "w")

       LaFR_Date_1["width"] = 924

       LaFR_Date_1["height"] = 85

       LaFR6 = Tkinter.LabelFrame(LaFR_Date_1)

       LaFR6["text"] = u"Имя"

       LaFR6["font"] = all_font

       LaFR6.place(relx = 0.01, rely = 0.5 , anchor = "w")

       Ent6 = Tkinter.Entry(LaFR6)

       Ent6["width"] = 40

       Inform.append(Ent6)

       Ent6.pack()

       LaFR7 = Tkinter.LabelFrame(LaFR_Date_1)

       LaFR7["text"] = u"Фамилия"

       LaFR7["font"] = all_font

       LaFR7.place(relx = 0.5, rely = 0.5 , anchor = "center")

       Ent7 = Tkinter.Entry(LaFR7)

       Ent7["width"] = 40

       Inform.append(Ent7)

       Ent7.pack()

       LaFR8 = Tkinter.LabelFrame(LaFR_Date_1)

       LaFR8["text"] = u"Отчество"

       LaFR8["font"] = all_font

       LaFR8.place(relx = 0.99, rely = 0.5 , anchor = "e")

       Ent8 = Tkinter.Entry(LaFR8)

       Ent8["width"] = 40

       Inform.append(Ent8)

       Ent8.pack()

#Создание полей ввода, третья строка (Данные о научном руководителе)

       LaFR_Date_2 = Tkinter.LabelFrame(self.FRC)

       LaFR_Date_2["text"] = u"Данные о научном руководителе"

       LaFR_Date_2["font"] = all_font

       LaFR_Date_2.place(relx = 0.01, rely = 0.25, anchor = "w")

       LaFR_Date_2["width"] = 924

       LaFR_Date_2["height"] = 85

       LaFR9 = Tkinter.LabelFrame(LaFR_Date_2)

       LaFR9["text"] = u"Имя"

       LaFR9["font"] = all_font

       LaFR9.place(relx = 0.01, rely = 0.5 , anchor = "w")

       Ent9 = Tkinter.Entry(LaFR9)

       Ent9["width"] = 40

       Inform.append(Ent9)

       Ent9.pack()

       LaFR10 = Tkinter.LabelFrame(LaFR_Date_2)

       LaFR10["text"] = u"Фамилия"

       LaFR10["font"] = all_font

       LaFR10.place(relx = 0.5, rely = 0.5 , anchor = "center")

       Ent10 = Tkinter.Entry(LaFR10)

       Ent10["width"] = 40

       Inform.append(Ent10)

       Ent10.pack()

       LaFR11 = Tkinter.LabelFrame(LaFR_Date_2)

       LaFR11["text"] = u"Отчество"

       LaFR11["font"] = all_font

       LaFR11.place(relx = 0.99, rely = 0.5 , anchor = "e")

       Ent11 = Tkinter.Entry(LaFR11)

       Ent11["width"] = 40

       Inform.append(Ent11)

       Ent11.pack()

#Поле ввода текста "Тема дипломного проэкта"

       LaFR_Date_3 = Tkinter.LabelFrame(self.FRC)

       LaFR_Date_3["text"] = u"Тема дипломного проэкта"

       LaFR_Date_3["font"] = all_font

       LaFR_Date_3.place(relx = 0.01, rely = 0.32, anchor = "nw")

       self.ST =ScrolledText.ScrolledText(LaFR_Date_3,background="white")

       self.ST["width"] = 150

       self.ST["height"] =7

       #self.self.ND  = ST.get()

       #Inform.append(ST)

       #mm = ST.get()

       #print self.ND

       self.ST.pack()

#Создание полей ввода, третья строка (Данные о дипломном проэкте)

       LaFR_Date_4 = Tkinter.LabelFrame(self.FRC)

       LaFR_Date_4["text"] = u"Данные о дипломном проэкте"

       LaFR_Date_4["font"] = all_font

       LaFR_Date_4.place(relx = 0.01, rely = 0.55, anchor = "w")

       LaFR_Date_4["width"] = 924

       LaFR_Date_4["height"] = 90

       LaFR12 = Tkinter.LabelFrame(LaFR_Date_4)

       LaFR12["text"] = u"Количество страниц"

       LaFR12["font"] = all_font

       LaFR12.place(relx = 0.01, rely = 0.5 , anchor = "w")

       Ent12 = Tkinter.Entry(LaFR12)

       Ent12["width"] = 32

       #Ent12 ["bd"] = 6

       Inform.append(Ent12)

       Ent12.pack()

       LaFR13 = Tkinter.LabelFrame(LaFR_Date_4)

       LaFR13["text"] = u"Количество плакатов"

       LaFR13["font"] = all_font

       LaFR13.place(relx = 0.38, rely = 0.5 , anchor = "center")

       Ent13 = Tkinter.Entry(LaFR13)

       Ent13["width"] = 32

       Inform.append(Ent13)

       Ent13.pack()

       LaFR14 = Tkinter.LabelFrame(LaFR_Date_4)

       LaFR14["text"] = u"Количество рисунков"

       LaFR14["font"] = all_font

       LaFR14.place(relx = 0.52, rely = 0.5 , anchor = "w")

       Ent14 = Tkinter.Entry(LaFR14)

       Ent14["width"] = 32

       Inform.append(Ent14)

       Ent14.pack()

       LaFR15 = Tkinter.LabelFrame(LaFR_Date_4)

       LaFR15["text"] = u"Количество таблиц"

       LaFR15["font"] = all_font

       LaFR15.place(relx = 0.99, rely = 0.5 , anchor = "e")

       Ent15 = Tkinter.Entry(LaFR15)

       Ent15["width"] = 32

       Inform.append(Ent15)

       Ent15.pack()

#Создание полей ввода пути к файлам

       LaFR_Date_5 = Tkinter.LabelFrame(self.FRC)

       LaFR_Date_5["text"] = u"Опредиление путей к файлам"

       LaFR_Date_5["font"] = all_font

       LaFR_Date_5.place(relx = 0.01, rely = 0.63, anchor = "nw")

       LaFR_Date_5["width"] = 924

       LaFR_Date_5["height"] = 120

       def path_pict(event = None):

           M = u"Выберете папку с изображениями и нажмите ОК"

           path1 = tkFileDialog.askdirectory(title=M)

           path_label1 = Tkinter.Label(LaFR_Date_5)

           path_label1.place(relx = 0.65, rely = 0.7, anchor = "center")

           path_label1['borderwidth'] = 5

           path_label1["font"] = all_font

           path_label1["height"] = 2

           path_label1["width"] = 40

           path_label1['text'] = path1

           self.path_pict = path1

       def path_pdf():

           P = u"Выберете файл с текстом"

           path = tkFileDialog.askopenfilename(title=P)

           path_label = Tkinter.Label(LaFR_Date_5)

           path_label.place(relx = 0.65, rely = 0.25, anchor = "center")

           #path_label["bg"] = "red"

           path_label['borderwidth'] = 5

           path_label["font"] = all_font

           path_label["height"] = 2

           path_label["width"] = 40

           path_label['text'] = path

           self.path_pdf = path

#Создание кнопок

       But3 = Tkinter.Button(LaFR_Date_5)

       But3["bg"] = "white"

       But3["bd"] = "1m"

       But3["width"] = 30

       But3 ["font"] = all_font

       But3["relief"] = "raised"

       But3.place(relx = 0.2, rely = 0.25, anchor = "center")

       But3["text"] = u"Путь к документу с текстом"

       But3["command"] = path_pdf

       But4 = Tkinter.Button(LaFR_Date_5)

       But4["width"] = 30

       But4["bg"] = "white"

       But4["bd"] = "1m"

       But4 ["font"] = all_font

       But4["relief"] = "raised"

       But4.place(relx = 0.2, rely = 0.7, anchor = "center")

       But4["text"] = u"Путь к изображениям"

       But4["command"] = path_pict

       But1 = Tkinter.Button(self.FRC)

       But1["bg"] = "white"

       But1["bd"] = "1m"

       But1 ["font"] = all_font

       But1["relief"] = "raised"

       But1.place(relx = 0.25, rely = 0.85, anchor = "center")

       But1["text"] = u"Отмена"

       But1.bind("<Button-1>",otmena)

       But2 = Tkinter.Button(self.FRC)

       But2["bg"] = "white"

       But2 ["font"] = all_font

       But2["bd"] = "1m"

       But2["relief"] = "raised"

       But2.place(relx = 0.75, rely = 0.85, anchor = "center")

       But2["text"] = u"Сохранить"

       But2.bind("<Button-1>", Seve_inform)

   def __delattr__ (self, a):

       self.FRC.destroy()

       #print u"ok))))))))))))))))))"

if __name__ == "__main__":

   root = Tkinter.Tk()

   root.geometry("1024x768+0+0")

   all_font = tkFont.Font()

   all_font ["family"] = "Helvetica"

   all_font ["size"] = 14

   all_font ["weight"] = "normal"

   new_data(root,all_font)

   root.mainloop()

Find_Data.py

# -*- coding: cp1251 -*-

import Tkinter

import ScrolledText

import tkFont

import os

import string

import pickle

import tkFileDialog

import Image

import ImageTk

import preview_find

#окно "D" - поиск данных

class find_data:

   def __init__(self, root, all_font):

       self(root, all_font)

   def __call__(self, root, all_font):

       self.FRD = Tkinter.Frame(root)

       self.FRD["width"] = 1024

       self.FRD["height"] = 768

       self.FRD.place(relx = 0, rely = 0, anchor = "nw" )

       self.FRD.pack()

#************************************************************************************

       def find_data (event = None):

           self.baza_vsia_sort = []

           self.baza_vsia = []

           self.u = ['C:\\TM_Base\\Bakalavr\\',"C:\\TM_Base\\Spec\\",'C:\\TM_Base\\Magistr\\']

           for m in self.u:

               os.chdir(m)

               self.p = m

               #print self.baza_vsia_sort

               #print self.dictonary_find.keys()

               for w in self.dictonary_find.keys():

                   #print self.dictonary_find.get(w)

                   self.folders = []

                   self.baza_vsia_sort

                   if w == "1":

                       folders = os.listdir(m)

                       for i in folders:

                               if i[-4] != '.':

                                   self.folders.append(i)

                       for i in self.folders:

                           self.path_2 = self.p + i

                           os.chdir(self.path_2)

                           base = open ("Base_stud.bso" , "rb")

                           self.k = pickle.load(base)

                           base.close()

                           poisk = self.dictonary_find.get(w)[0]

                           data = self.dictonary_find.get(w)[1]

                           data_sr = self.k.get(poisk)

                           #if data.decode("cp1251") == data_sr:

                           if data == data_sr:

                               self.baza_vsia.append(self.k)

                           #print self.baza_vsia

                   else:

                       #print len(self.baza_vsia)

                       #print "baza vsja"

                       #print self.baza_vsia

                       for i in range(0, len(self.baza_vsia)):

                           b = self.baza_vsia[i]

                           #print b

                           poisk = self.dictonary_find.get(w)[0]

                           data = self.dictonary_find.get(w)[1]

                           data_sr = b.get(poisk)

                           if data == data_sr:

                               self.baza_vsia_sort.append(b)

                           #print "2"

                           #print self.baza_vsia_sort

                       self.baza_vsia = []

           #print self.baza_vsia

           #print self.baza_vsia_sort

       def find_data_tabl(event = None):

           self.dictonary_find.keys()

           self.Frame_Listbox.destroy()

           sroot_widget_create()

           self.kol = 0

           self.vibor = self.kol

           self.Label_02 ["text"] = u"ФИО"

           self.Label_03 ["text"] = u"Год защиты"

           for i in self.baza_vsia:

               self.base_for_prosmotr = []

               print "2"

               self.kol = self.kol + 1

               m = i

               key_1 = m.get("SName_S")

               key_2 = m.get("Name_S")

               key_3 = m.get("LName_S")

               text_list_02 = key_1 + " " + key_2 + " " + key_3

               text_list_03 = m.get("God_1")

               self.Listbox_01.insert("end", self.kol)

               self.Listbox_02.insert("end", text_list_02)

               self.Listbox_03.insert("end", text_list_03)

               self.base_for_prosmotr = self.baza_vsia

           if len(self.baza_vsia_sort[0]) > 0:

               self.base_for_prosmotr = self.baza_vsia_sort

               for i in self.baza_vsia_sort:

                   print u"второй отбор"

                   self.kol = self.kol + 1

                   m = i

                   key_1 = m.get("SName_S")

                   key_2 = m.get("Name_S")

                   key_3 = m.get("LName_S")

                   text_list_02 = key_1 + " " + key_2 + " " + key_3

                   text_list_03 = m.get("God_1")

                   self.Listbox_01.insert("end", self.kol)

                   self.Listbox_02.insert("end", text_list_02)

                   self.Listbox_03.insert("end", text_list_03)

           else:

               print u"параметр поиска только один"

       def die (event = None):

           print self.baza_vsia_sort

           print self.baza_vsia

           self.FRD.destroy()

       self.kol = 0

       self.dictonary_find = {}

       param_for_poisk = []

       def DOBAVIT (event = None):

           self.kol = self.kol + 1

           self.vibor = self.kol

           try:

               text_list_03 = self.Znachenie_data.get()

           except:

               text_list_03 = self.Znachenie_data

           self.Listbox_01.insert("end", self.kol)

           self.Listbox_02.insert("end", self.vibor_data)

           self.Listbox_03.insert("end", text_list_03)

           param_for_poisk = []

           param_for_poisk.append(self.parametp_poiska)

           param_for_poisk.append(text_list_03)

           #print param_for_poisk

           if self.kol == 1:

               ch = "1"

           elif self.kol == 2:

               ch = "2"

           elif self.kol == 3:

               ch = "3"

           elif self.kol == 4:

               ch = "4"

           elif self.kol == 5:

               ch = "5"

           elif self.kol == 6:

               ch = "6"

           self.dictonary_find[ch] = param_for_poisk

           self.l_spis = self.kol

           #print self.dictonary_find

       def preview_inf (event = None):

           print self.base_for_prosmotr

           preview_find.preview_find(root,all_font,self.base_for_prosmotr,event)

       def Clear(event =None):

           self.Frame_Listbox.destroy()

           #print "listbox.destroy"

           self.kol = 0

           self.dictonary_find = {}

           sroot_widget_create()

       def destroy_pole(event = None):## убивает открытие поля

           try:

               self.MB_Spec.destroy()

           except:

               pass

           try:

               self.EntD1.destroy()

           except:

               pass

           try:

               self.MB_Stepen.destroy()

           except:

               pass

           try:

               self.MB_Mark.destroy()

           except:

               pass

           try:

               self.Ent_Name.destroy()

           except:

               pass

           try:

               self.Ent_SName.destroy()

           except:

               pass

           try:

               self.Ent_LName.destroy()

           except:

               pass

           try:

               self.Ent_Kol_page.destroy()

           except:

               pass

           try:

               self.Ent_Kol_pict.destroy()

           except:

               pass

           try:

               self.Ent_Kol_plac.destroy()

           except:

               pass

           try:

               self.Ent_Kol_tabl.destroy()

           except:

               pass

           try:

               self.Ent_Theme.destroy()

           except:

               pass

           try:

               self.God.destroy()

           except:

               pass

       def Spec(event = None):## выбор специальности

           self.EntD1 = Tkinter.Entry(self.FRD)

           self.EntD1.place(relx = 0.5, rely = 0.1, anchor = "w")

           self.EntD1['font'] = all_font

           self.EntD1["width"] = 20

           self.Znachenie_data = self.EntD1

       def Grup(event = None):## поле ввода "Группа"

           self.EntD1 = Tkinter.Entry(self.FRD)

           self.EntD1.place(relx = 0.5, rely = 0.1, anchor = "w")

           self.EntD1['font'] = all_font

           self.EntD1["width"] = 20

           self.Znachenie_data = self.EntD1

       def Mark (event = None): ## поле ввода "Оценка"

           def m (event = None):

               self.MB_Mark["text"] = event

               self.Znachenie_data = event

           self.MB_Mark = Tkinter.Menubutton(self.FRD, relief = "raised", justify = "center")

           self.MB_Mark.place(relx = 0.5, rely = 0.1, anchor = "w")

           self.MB_Mark.menu = Tkinter.Menu(self.MB_Mark, tearoff = 0)

           self.MB_Mark ["menu"] = self.MB_Mark.menu

           self.MB_Mark ["bg"] = "white"

           self.MB_Mark ["font"] = all_font

           self.MB_Mark ["width"] = 20

           self.MB_Mark["text"] = (u"Вибрать оценку")

           #self.MB_Mark.menu.add("cascade", label = u"1", command = lambda s=u"1" :m(s))

           #self.MB_Mark.menu.add("cascade", label = u"2", command = lambda s=u"2" :m(s))

           self.MB_Mark.menu.add("cascade", label = u"3", command = lambda s=u"3" :m(s))

           self.MB_Mark.menu.add("cascade", label = u"4", command = lambda s=u"4" :m(s))

           self.MB_Mark.menu.add("cascade", label = u"5", command = lambda s=u"5" :m(s))

       def Stepen (event = None): ## поле ввода "степень"

           def st (event = None):

               self.MB_Stepen["text"] = event

               self.Znachenie_data = event

           self.MB_Stepen = Tkinter.Menubutton(self.FRD, relief = "raised", justify = "center")

           self.MB_Stepen.place(relx = 0.5, rely = 0.1, anchor = "w")

           self.MB_Stepen.menu = Tkinter.Menu(self.MB_Stepen, tearoff = 0)

           self.MB_Stepen ["menu"] = self.MB_Stepen.menu

           self.MB_Stepen ["bg"] = "white"

           self.MB_Stepen ["font"] = all_font

           self.MB_Stepen ["width"] = 20

           self.MB_Stepen["text"] = (u"Вибрать степень")

           self.MB_Stepen.menu.add("cascade", label = u"Бакалавр", command = lambda s=u"Бакалавр" :st(s))

           self.MB_Stepen.menu.add("cascade", label = u"Специалист", command = lambda s=u"Специалист" :st(s))

           self.MB_Stepen.menu.add("cascade", label = u"Магистр", command = lambda s=u"Магистр" :st(s))

       def Name(event = None):## поле ввода "Имя"

           self.Ent_Name = Tkinter.Entry(self.FRD)

           self.Ent_Name.place(relx = 0.5, rely = 0.1, anchor = "w")

           self.Ent_Name ['font'] = all_font

           self.Ent_Name["width"] = 30

           self.Znachenie_data = self.Ent_Name

       def SName(event = None):## поле ввода "ФАМИЛИЯ"

           self.Ent_SName = Tkinter.Entry(self.FRD)

           self.Ent_SName.place(relx = 0.5, rely = 0.1, anchor = "w")

           self.Ent_SName ['font'] = all_font

           self.Ent_SName["width"] = 30

           self.Znachenie_data = self.Ent_SName

       def LName(event = None):## поле ввода "ОТЧЕСТВО"

           self.Ent_LName = Tkinter.Entry(self.FRD)

           self.Ent_LName.place(relx = 0.5, rely = 0.1, anchor = "w")

           self.Ent_LName ['font'] = all_font

           self.Ent_LName["width"] = 30

           self.Znachenie_data = self.Ent_LName

       def Kol_page(event = None): ## поле ввода "КОЛИЧЕСТВО СТРАНИЦ"

           self.Ent_Kol_page = Tkinter.Entry(self.FRD)

           self.Ent_Kol_page.place(relx = 0.5, rely = 0.1, anchor = "w")

           self.Ent_Kol_page ['font'] = all_font

           self.Ent_Kol_page["width"] = 30

           self.Znachenie_data = self.Ent_Kol_page

       def Kol_plac(event = None): ## поле ввода "КОЛИЧЕСТВО ПЛАКАТОВ"

           self.Ent_Kol_plac = Tkinter.Entry(self.FRD)

           self.Ent_Kol_plac.place(relx = 0.5, rely = 0.1, anchor = "w")

           self.Ent_Kol_plac ['font'] = all_font

           self.Ent_Kol_plac["width"] = 30

           self.Znachenie_data = self.Ent_Kol_plac

       def Kol_pict(event = None):## поле ввода "КОЛИЧЕСТВО РИСУНКОВ"

           self.Ent_Kol_pict = Tkinter.Entry(self.FRD)

           self.Ent_Kol_pict.place(relx = 0.5, rely = 0.1, anchor = "w")

           self.Ent_Kol_pict ['font'] = all_font

           self.Ent_Kol_pict["width"] = 30

           self.Znachenie_data = self.Ent_Kol_pict

       def Kol_tabl(event = None): ## поле ввода "КОЛИЧЕСТВО ТАБЛИЦ

           self.Ent_Kol_tabl = Tkinter.Entry(self.FRD)

           self.Ent_Kol_tabl.place(relx = 0.5, rely = 0.1, anchor = "w")

           self.Ent_Kol_tabl ['font'] = all_font

           self.Ent_Kol_tabl["width"] = 30

           self.Znachenie_data = self.Ent_Kol_tabl

       def God (event = None):## поле ввода "КОЛИЧЕСТВО РИСУНКОВ"

           self.God = Tkinter.Entry(self.FRD)

           self.God.place(relx = 0.5, rely = 0.1, anchor = "w")

           self.God ['font'] = all_font

           self.God ["width"] = 30

           self.Znachenie_data = self.God

       def Param(event = None):##при выборе параметра открывается новое поле ввода\выбора

           MB_PARAM["text"] = event

           if event == u"Специальность":

               destroy_pole()

               Spec()

               self.parametp_poiska = "Spec"

           elif event == u"Группа":

               destroy_pole()

               Grup()

               self.parametp_poiska = "Grup"

           elif event == u"Оценка":

               destroy_pole()

               Mark()

               self.parametp_poiska = "Mark"

           elif event == u"Степень":

               destroy_pole()

               Stepen()

               self.parametp_poiska = "Stepen"

           elif event == u"Имя":

               destroy_pole()

               Name()

               self.parametp_poiska = "Name_S"

           elif event == u"Фамилия":

               destroy_pole()

               SName()

               self.parametp_poiska = 'SName_S'

           elif event == u"Отчество":

               destroy_pole()

               LName()

               self.parametp_poiska = "LName_S"

           elif event == u"Количество страниц":

               destroy_pole()

               Kol_page()

               self.parametp_poiska = "page"

           elif event == u"Количество плакатов":

               destroy_pole()

               Kol_plac()

               self.parametp_poiska = "plac"

           elif event == u"Количество рисунков":

               destroy_pole()

               Kol_pict()

               self.parametp_poiska = "pict"

           elif event == u"Количество таблиц":

               destroy_pole()

               Kol_tabl()

               self.parametp_poiska = "tabl"

           elif event == u"Год":

               destroy_pole()

               God()

               self.parametp_poiska = "God_1"

           self.vibor_data = event

       root.title(u"Найти запись")

       #root.geometry("1024x768+0+0")

       But_OK = Tkinter.Button(self.FRD)

       But_OK ["text"] = u"Добавить"

       But_OK.place(relx = 0.5, rely = 0.25, anchor = "center")

       But_OK["height"] = 1

       But_OK ["width"] = 20

       But_OK ["font"] = all_font

       But_OK.bind("<Button-1>",DOBAVIT)

       But_Clear = Tkinter.Button(self.FRD)

       But_Clear ["text"] = u"Очистить список"

       But_Clear.place(relx = 0.5, rely = 0.75, anchor = "center")

       But_Clear["height"] = 1

       But_Clear ["width"] = 20

       But_Clear ["font"] = all_font

       But_Clear.bind("<Button-1>", Clear)

       But_Otmena = Tkinter.Button(self.FRD)

       But_Otmena ["text"] = u"Отмена"

       But_Otmena.place(relx = 0.2, rely = 0.85, anchor = "center")

       But_Otmena["height"] = 1

       But_Otmena ["width"] = 25

       But_Otmena ["font"] = all_font

       But_Otmena.bind("<Button-1>", die)

       But_Find = Tkinter.Button(self.FRD)

       But_Find ["text"] = u"Искать"

       But_Find.place(relx = 0.8, rely = 0.85, anchor = "center")

       But_Find["height"] = 1

       But_Find ["width"] = 25

       But_Find ["font"] = all_font

       But_Find.bind("<Button-1>",find_data)

       But_Find.bind("<ButtonRelease>",find_data_tabl)

       # основное меню параметров поиска

       MB_PARAM = Tkinter.Menubutton(self.FRD, relief = "raised", justify = "center")

       MB_PARAM.place(relx = 0.2, rely = 0.1, anchor = "center")

       MB_PARAM.menu = Tkinter.Menu(MB_PARAM, tearoff = 0)

       MB_PARAM ["menu"] = MB_PARAM.menu

       MB_PARAM ["bg"] = "white"

       MB_PARAM ["font"] = all_font

       MB_PARAM ["width"] = 25

       MB_PARAM["text"] = (u"Параметр поиска")

       MB_PARAM.menu.add("cascade", label = u"Специальность", command = lambda p=u"Специальность" :Param(p))

       MB_PARAM.menu.add("cascade", label = u"Группа", command = lambda p=u"Группа" :Param(p))

       MB_PARAM.menu.add("cascade", label = u"Оценка", command = lambda p=u"Оценка" :Param(p))

       MB_PARAM.menu.add("cascade", label = u"Степень", command = lambda p=u"Степень" :Param(p))

       MB_PARAM.menu.add("cascade", label = u"Имя", command = lambda p=u"Имя" :Param(p))

       MB_PARAM.menu.add("cascade", label = u"Фамилия", command = lambda p=u"Фамилия" :Param(p))

       MB_PARAM.menu.add("cascade", label = u"Отчество", command = lambda p=u"Отчество" :Param(p))

       MB_PARAM.menu.add("cascade", label = u"Количество страниц", command = lambda p=u"Количество страниц" :Param(p))

       MB_PARAM.menu.add("cascade", label = u"Количество плакатов", command = lambda p=u"Количество плакатов" :Param(p))

       MB_PARAM.menu.add("cascade", label = u"Количество рисунков", command = lambda p=u"Количество рисунков" :Param(p))

       MB_PARAM.menu.add("cascade", label = u"Количество таблиц", command = lambda p=u"Количество таблиц" :Param(p))

       #MB_PARAM.menu.add("cascade", label = u"Тема дипломного проэкта", command = lambda p=u"Тема дипломного проэкта" :Param(p))

       MB_PARAM.menu.add("cascade", label = u"Год", command = lambda p=u"Год" :Param(p))

       #************************************************************************************

       #Создание таблиц:

       

       def sroot_widget_create(event = None):

           self.status = 0 ## Окон верхнего уровня не существует

           def analis(event = None): ## Опеределяем направление прокручинвания для мышки (MouseWhell)

               try: ## Чтобы для внешнего виджета не работало

                   self.Frame_Listbox.focus_set()

                   Perehod()

                   if event.delta < 0:

                       Down()

                   else:

                       Up()

               except:

                   pass

           def Clear(event = None):

               self.Listbox_01.select_clear("active")

               self.Listbox_02.itemconfig(self.pos, bg = "white")

               self.Listbox_03.itemconfig(self.pos, bg = "white")

           def Perehod(event = None):

               self.Listbox_01.activate(self.pos)

               self.Listbox_01.select_set(self.pos)

               self.Listbox_02.itemconfig(self.pos, bg = "grey")

               self.Listbox_03.itemconfig(self.pos, bg = "grey")

           def Hod(event = None):

               self.vibor = string.atoi(self.Listbox_01.curselection()[0])

               self.pos = self.vibor

           def bind_but(event = None):

               ## На левую клавишу мыши

               self.Frame_Listbox.focus_set()

               try: self.vibor = string.atoi(self.Listbox_01.curselection()[0])

               except: pass

               try: self.vibor = string.atoi(self.Listbox_02.curselection()[0])

               except: pass

               try: self.vibor = string.atoi(self.Listbox_03.curselection()[0])

               except: pass

               self.pos = self.vibor

               #print self.vibor

               preview_inf(self.vibor)

               Perehod()

               from_focus_out()

               ## На левую клавишу мыши

           def alt_bind_but(event = None):

               ## На альт + левая клваиша

               self.Frame_Listbox.focus_set()

               try: self.vibor = string.atoi(self.Listbox_01.curselection()[0])

               except: pass

               try: self.vibor = string.atoi(self.Listbox_02.curselection()[0])

               except: pass

               try: self.vibor = string.atoi(self.Listbox_03.curselection()[0])

               except: pass

               self.pos = self.vibor

               print "alt"

               Perehod()

               from_focus_out()

               ## На альт + левая клваиша

           self.l_spis = 1

           self.vibor = 0

           self.h_spis = 10

           self.pos = 0

           self.prev_verh = 0

           self.prev_nizz = self.h_spis - 1

           def Down(event = None): ## Кнопка вниз - перемещение вниз всех четырех списков

               Clear()

               if self.pos < self.l_spis - 1:

                   self.pos = self.pos + 1

               Perehod()

               ## Прокручиваем списки

               ## Если список находится в границе видимой облафсти - ее верх и низ не меняется

               if self.pos > self.prev_nizz:

                   self.prev_nizz = self.prev_nizz + 1

                   self.prev_verh = self.prev_verh + 1

               if self.pos < self.prev_nizz:

                   pass

               if self.pos == self.prev_nizz:

                   pass

               self.Listbox_01.see(self.prev_nizz)

               self.Listbox_02.see(self.prev_nizz)

               self.Listbox_03.see(self.prev_nizz)

               self.Listbox_01.see(self.prev_verh)

               self.Listbox_02.see(self.prev_verh)

               self.Listbox_03.see(self.prev_verh)

               ## Прокручиваем списки

           def Up(event = None): ## Кнопка вверх - перемещение вверх всех трех списков

               Clear()

               if self.pos > 0:

                   self.pos = self.pos - 1

               Perehod()

               ## Прокручиваем списки

               ## Если список находится в границе видимой облафсти - ее верх и низ не меняется

               if self.pos < self.prev_verh:

                   self.prev_nizz = self.prev_nizz - 1

                   self.prev_verh = self.prev_verh - 1

               if self.pos > self.prev_verh:

                   pass

               if self.pos == self.prev_verh:

                   pass

               self.Listbox_01.see(self.prev_nizz)

               self.Listbox_02.see(self.prev_nizz)

               self.Listbox_03.see(self.prev_nizz)

               self.Listbox_01.see(self.prev_verh)

               self.Listbox_02.see(self.prev_verh)

               self.Listbox_03.see(self.prev_verh)

               ## Прокручиваем списки

           self.Frame_Listbox = Tkinter.LabelFrame(self.FRD)

           self.Frame_Listbox ["text"] = u"Уровни отсеивания"

           self.Frame_Listbox ["labelanchor"] = "n"

           self.Frame_Listbox ["relief"] = "ridge"

           self.Frame_Listbox ["takefocus"] = 1

           self.Frame_Listbox.bind("<Down>", Down)

           self.Frame_Listbox.bind("<Up>", Up)

           self.Frame_Listbox.bind_all("<MouseWheel>", analis)

           self.Frame_Listbox.bind("<KeyRelease-Return>", Hod)

           self.Frame_Listbox.bind("<KeyRelease-space>", Hod)

           self.Frame_Listbox.place(relx = 0.5, rely = 0.5, anchor = "center")

           #self.Frame_Listbox.focus_force()

           Label_01 = Tkinter.Label(self.Frame_Listbox)

           Label_01 ["text"] = u"Номер"

           Label_01.grid(row = 1, column = 1, sticky = "ensw")

           self.Label_01 = Label_01

           Label_02 = Tkinter.Label(self.Frame_Listbox)

           Label_02 ["text"] = u"Параметр"

           Label_02.grid(row = 1, column = 2, sticky = "ensw")

           self.Label_02 = Label_02

           Label_03 = Tkinter.Label(self.Frame_Listbox)

           Label_03 ["text"] = u"Значение"

           Label_03.grid(row = 1, column = 3, sticky = "ensw")

           self.Label_03 = Label_03

           self.Scrol_BA = Tkinter.Scrollbar(self.Frame_Listbox)

           self.Scrol_BA ["command"] = self.OnVsb

           self.Listbox_01 = Tkinter.Listbox(self.Frame_Listbox)

           self.Listbox_01 ["takefocus"] = 0

           self.Listbox_01 ["width"] = 10

           self.Listbox_01 ["height"] = self.h_spis

           self.Listbox_01 ["yscrollcommand"] = self.Scrol_BA.set

           #self.Listbox_01.insert("end", *date)

           self.Listbox_01.select_set(self.vibor)

           self.Listbox_01.activate(self.vibor)

           self.Listbox_01.bind("<ButtonRelease-1>", bind_but)

           self.Listbox_01.bind("<Alt-ButtonRelease-1>", alt_bind_but)

           self.Listbox_02 = Tkinter.Listbox(self.Frame_Listbox)

           self.Listbox_02 ["takefocus"] = 0

           self.Listbox_02 ["width"] = 32

           self.Listbox_02 ["height"] = self.h_spis

           self.Listbox_02 ["yscrollcommand"] = self.Scrol_BA.set

           #self.Listbox_02.insert("end", *date_sl)

           #self.Listbox_02.itemconfig(self.vibor, background = "grey")

           self.Listbox_02.bind("<ButtonRelease-1>", bind_but)

           self.Listbox_02.bind("<Alt-ButtonRelease-1>", alt_bind_but)

           self.Listbox_03 = Tkinter.Listbox(self.Frame_Listbox)

           self.Listbox_03 ["takefocus"] = 0

           self.Listbox_03 ["width"] = 40

           self.Listbox_03 ["height"] = self.h_spis

           self.Listbox_03 ["yscrollcommand"] = self.Scrol_BA.set

           #self.Listbox_03.insert("end", *date)

           #self.Listbox_03.itemconfig(self.vibor, background = "grey")

           self.Listbox_03.bind("<ButtonRelease-1>", bind_but)

           self.Listbox_03.bind("<Alt-ButtonRelease-1>", alt_bind_but)

           self.Listbox_01.grid(row = 2, column = 1, sticky = "ensw")

           self.Listbox_02.grid(row = 2, column = 2, sticky = "ensw")

           self.Listbox_03.grid(row = 2, column = 3, sticky = "ensw")

           self.Scrol_BA.grid(row = 2, column = 6, sticky = "ensw")

           def from_focus_in(event = None): ## При появлении фокуса - выделение на бывший элемент

               if self.status == 0: ## Переход между элементами root, а не окнами...

                   self.Listbox_01.select_set(self.vibor)

                   self.Listbox_01.activate(self.vibor)

                   self.Listbox_02.itemconfig(self.vibor, background = "grey")

                   self.Listbox_03.itemconfig(self.vibor, background = "grey")

                   self.Listbox_01.see(self.prev_nizz)

                   self.Listbox_02.see(self.prev_nizz)

                   self.Listbox_03.see(self.prev_nizz)

                   self.Listbox_01.see(self.prev_verh)

                   self.Listbox_02.see(self.prev_verh)

                   self.Listbox_03.see(self.prev_verh)

               else: ## Переход между окнами - например, возвращение из окна self.root_comment

                   self.status = 0

           self.Frame_Listbox.bind("<FocusIn>", from_focus_in)

           def from_focus_out (event = None): ## При потере фокуса - уходит и выделение

               self.Listbox_01.select_clear("active")

               self.vibor = self.pos

               for i in range(self.l_spis):

                   self.Listbox_02.itemconfig(i, background = "white")

                   self.Listbox_03.itemconfig(i, background = "white")

           self.Frame_Listbox.bind("<FocusOut>", from_focus_out)

       sroot_widget_create()

   def __delattr__ (self, a):

       self.FRD.destroy()

   def OnVsb (self, *args): ## Для одновременного прокручивания нескольких списков

       self.Listbox_01.yview(*args)

       self.Listbox_02.yview(*args)

       self.Listbox_03.yview(*args)

if __name__ == "__main__":

   root = Tkinter.Tk()

   root.geometry("1024x768+0+0")

   all_font = tkFont.Font()

   all_font ["family"] = "Helvetica"

   all_font ["size"] = 18

   all_font ["weight"] = "normal"

   find_data(root,all_font)

   root.mainloop()

preview_find.py

# -*- coding: utf-8-*-

import Tkinter

import ScrolledText

import tkFont

import os

import string

import pickle

import tkFileDialog

import Image

import ImageTk

class preview_find:

   def __init__(self, root,all_font,res_data,number_of_path):

       self(root,all_font,res_data,number_of_path)

   def __call__(self,root,all_font,res_data,number_of_path):

       self.number_of_path = number_of_path

       def otmena(event = None):

           self.FRC.destroy()

       root.title(u"Просмотр результатов поиска")

       self.dosm = ["Spec","Grup","Mark","God_1","Name_S","SName_S","LName_S","Name_P","SName_P","LName_P","page","plac","pict","tabl"]

       #Parametry = ["РЎРїРµСиальносССЊ","РСЂСѓРїРїР°","РћСенка","РРѕРґ Р·Р°СРёСРё","РРјСЏ","Фамилия","РћССесСРІРѕ","РРјСЏ2","Фамилия2","РћССесСРІРѕ2","Тема дипломного РїСЂРѕСЌРєСР°","КолиСесСРІРѕ СЃСраниц","КолиСесСРІРѕ РїР»Р°РєР°СРѕРІ","КолиСесСРІРѕ СЂРёСЃСѓРЅРєРѕРІ","КолиСесСРІРѕ Саблиц"]

       self.Param_2 = {"Spec":u"","Grup":u"","Mark":"","God_1":"","Name_S":"","SName_S":"","LName_S":"","Name_P":"","SName_P":"","LName_P":"","page":"","plac":"","pict":"","tabl":""}

       self.FRC = Tkinter.Frame(root)

       self.FRC["width"] = 1024

       self.FRC["height"] = 768

       self.FRC.place(relx = 0, rely = 0, anchor = "nw" )

       self.stud_inf = res_data[number_of_path]

      

       LaFR1 = Tkinter.LabelFrame(self.FRC)

       LaFR1["text"] = u"Специальность"

       LaFR1["font"] = all_font

       LaFR1.place(relx = 0.02, rely = 0.03, anchor = "w")

       self.Ent1 = Tkinter.Entry(LaFR1)

       self.Ent1["width"] = 40

       self.Ent1.insert( "end" ,self.stud_inf.get("Spec"))

       self.Ent1 ["state"] = "disabled"

       self.Ent1.pack()

       LaFR2 = Tkinter.LabelFrame(self.FRC)

       LaFR2["text"] = u"Группа"

       LaFR2["font"] = all_font

       LaFR2.place(relx = 0.34, rely = 0.03, anchor = "w")

       self.Ent2 = Tkinter.Entry(LaFR2)

       self.Ent2["width"] = 10

       self.Ent2.insert("end" ,self.stud_inf.get("Grup"))

       self.Ent2 ["state"] = "disabled"

       self.Ent2.pack()

       LaFR3= Tkinter.LabelFrame(self.FRC)

       LaFR3["text"] = u"Оценка"

       LaFR3["font"] = all_font

       LaFR3.place(relx = 0.42, rely = 0.03, anchor = "w")

       self.Ent3 = Tkinter.Entry(LaFR3)

       self.Ent3.insert("end" ,self.stud_inf.get("Mark"))

       self.Ent3["width"] = 10

       self.Ent3 ["state"] = "disabled"

       self.Ent3.pack()

       LaFR4 = Tkinter.LabelFrame(self.FRC)

       LaFR4["text"] = u"Год защити"

       LaFR4["font"] = all_font

       LaFR4.place(relx = 0.5, rely = 0.03, anchor = "w")

       self.Ent4 = Tkinter.Entry(LaFR4)

       self.Ent4["width"] = 10

       self.Ent4.insert("end" ,self.stud_inf.get("God_1"))

       self.Ent4 ["state"] = "disabled"

       self.Ent4.pack()

       LaFR5= Tkinter.LabelFrame(self.FRC)

       LaFR5["text"] = u"Степень"

       LaFR5["font"] = all_font

       LaFR5.place(relx = 0.66, rely = 0.03, anchor = "w")

       self.Ent123 = Tkinter.Entry(LaFR5)

       self.Ent123["width"] =17

       self.Ent123.insert("end" ,self.stud_inf.get("Stepen"))

       self.Ent123 ["state"] = "disabled"

       self.Ent123.pack()

       LaFR_Date_1 = Tkinter.LabelFrame(self.FRC)

       LaFR_Date_1["text"] = u"Данные о студенте"

       LaFR_Date_1["font"] = all_font

       LaFR_Date_1.place(relx = 0.01, rely = 0.12, anchor = "w")

       LaFR_Date_1["width"] = 924

       LaFR_Date_1["height"] = 85

       LaFR6 = Tkinter.LabelFrame(LaFR_Date_1)

       LaFR6["text"] = u"Имя"

       LaFR6["font"] = all_font

       LaFR6.place(relx = 0.01, rely = 0.5 , anchor = "w")

       self.Ent6 = Tkinter.Entry(LaFR6)

       self.Ent6["width"] = 40

       self.Ent6.insert("end" ,self.stud_inf.get("Name_S"))

       self.Ent6 ["state"] = "disabled"

       self.Ent6.pack()

       LaFR7 = Tkinter.LabelFrame(LaFR_Date_1)

       LaFR7["text"] = u"Фамилия"

       LaFR7["font"] = all_font

       LaFR7.place(relx = 0.5, rely = 0.5 , anchor = "center")

       self.Ent7 = Tkinter.Entry(LaFR7)

       self.Ent7["width"] = 40

       self.Ent7.insert("end" ,self.stud_inf.get("SName_S"))

       self.Ent7 ["state"] = "disabled"

       self.Ent7.pack()

       LaFR8 = Tkinter.LabelFrame(LaFR_Date_1)

       LaFR8["text"] = u"Отчество"

       LaFR8["font"] = all_font

       LaFR8.place(relx = 0.99, rely = 0.5 , anchor = "e")

       self.Ent8 = Tkinter.Entry(LaFR8)

       self.Ent8["width"] = 40

       self.Ent8.insert("end" ,self.stud_inf.get("LName_S"))

       self.Ent8 ["state"] = "disabled"

       self.Ent8.pack()

       LaFR_Date_2 = Tkinter.LabelFrame(self.FRC)

       LaFR_Date_2["text"] = u"Данные о научном руководителе"

       LaFR_Date_2["font"] = all_font

       LaFR_Date_2.place(relx = 0.01, rely = 0.25, anchor = "w")

       LaFR_Date_2["width"] = 924

       LaFR_Date_2["height"] = 85

       LaFR9 = Tkinter.LabelFrame(LaFR_Date_2)

       LaFR9["text"] = u"Имя"

       LaFR9["font"] = all_font

       LaFR9.place(relx = 0.01, rely = 0.5 , anchor = "w")

       self.Ent9 = Tkinter.Entry(LaFR9)

       self.Ent9["width"] = 40

       self.Ent9.insert("end" ,self.stud_inf.get("Name_P"))

       self.Ent9 ["state"] = "disabled"

       self.Ent9.pack()

       LaFR10 = Tkinter.LabelFrame(LaFR_Date_2)

       LaFR10["text"] = u"Фамилия"

       LaFR10["font"] = all_font

       LaFR10.place(relx = 0.5, rely = 0.5 , anchor = "center")

       self.Ent10 = Tkinter.Entry(LaFR10)

       self.Ent10["width"] = 40

       self.Ent10.insert("end" ,self.stud_inf.get("SName_P"))

       self.Ent10 ["state"] = "disabled"

       self.Ent10.pack()

       LaFR11 = Tkinter.LabelFrame(LaFR_Date_2)

       LaFR11["text"] = u"Отчество"

       LaFR11["font"] = all_font

       LaFR11.place(relx = 0.99, rely = 0.5 , anchor = "e")

       self.Ent11 = Tkinter.Entry(LaFR11)

       self.Ent11["width"] = 40

       self.Ent11.insert("end" ,self.stud_inf.get("LName_P"))

       self.Ent11 ["state"] = "disabled"

       self.Ent11.pack()

       LaFR_Date_3 = Tkinter.LabelFrame(self.FRC)

       LaFR_Date_3["text"] = u"Тема дипломного проэкта"

       LaFR_Date_3["font"] = all_font

       LaFR_Date_3.place(relx = 0.01, rely = 0.32, anchor = "nw")

       self.ST =ScrolledText.ScrolledText(LaFR_Date_3,background="white")

       self.ST.insert("end" ,self.stud_inf.get("Theme"))

       self.ST["width"] = 150

       self.ST["height"] =7

       self.ST["state"] = "disabled"

       self.ST.pack()

       LaFR_Date_4 = Tkinter.LabelFrame(self.FRC)

       LaFR_Date_4["text"] = u"Данные о дипломном проэкте"

       LaFR_Date_4["font"] = all_font

       LaFR_Date_4.place(relx = 0.01, rely = 0.55, anchor = "w")

       LaFR_Date_4["width"] = 924

       LaFR_Date_4["height"] = 90

       LaFR12 = Tkinter.LabelFrame(LaFR_Date_4)

       LaFR12["text"] = u"Количество страниц"

       LaFR12["font"] = all_font

       LaFR12.place(relx = 0.01, rely = 0.5 , anchor = "w")

       self.Ent12 = Tkinter.Entry(LaFR12)

       self.Ent12["width"] = 32

       self.Ent12.insert("end" ,self.stud_inf.get("page"))

       self.Ent12 ["state"] = "disabled"

       self.Ent12.pack()

       LaFR13 = Tkinter.LabelFrame(LaFR_Date_4)

       LaFR13["text"] = u"Количество плакатов"

       LaFR13["font"] = all_font

       LaFR13.place(relx = 0.38, rely = 0.5 , anchor = "center")

       self.Ent13 = Tkinter.Entry(LaFR13)

       self.Ent13["width"] = 32

       self.Ent13.insert("end" ,self.stud_inf.get("plac"))

       self.Ent13 ["state"] = "disabled"

       self.Ent13.pack()

       LaFR14 = Tkinter.LabelFrame(LaFR_Date_4)

       LaFR14["text"] = u"Количество рисунков"

       LaFR14["font"] = all_font

       LaFR14.place(relx = 0.52, rely = 0.5 , anchor = "w")

       self.Ent14 = Tkinter.Entry(LaFR14)

       self.Ent14["width"] = 32

       self.Ent14.insert("end" ,self.stud_inf.get("pict"))

       self.Ent14 ["state"] = "disabled"

       self.Ent14.pack()

       LaFR15 = Tkinter.LabelFrame(LaFR_Date_4)

       LaFR15["text"] = u"Количество таблиц"

       LaFR15["font"] = all_font

       LaFR15.place(relx = 0.99, rely = 0.5 , anchor = "e")

       self.Ent15 = Tkinter.Entry(LaFR15)

       self.Ent15["width"] = 32

       self.Ent15.insert("end" ,self.stud_inf.get("tabl"))

       #print self.stud_inf.get("tabl")

       self.Ent15 ["state"] = "disabled"

       self.Ent15.pack()

       def number_1 (event = None):

           p_n("1")

       def number_2 (event = None):

           p_n("-1")

       def p_n (event = None):

           #print self.number_of_path

           #print string.atoi(event)

           self.number_of_path = self.number_of_path   + string.atoi(event)

           print self.number_of_path

           if self.number_of_path < 0:

               self.number_of_path = 0

           else:

               try:

                   m = res_data[self.number_of_path]

               except:

                   self.number_of_path = self.number_of_path - 1

           inform(self.number_of_path)

       #Создание РєРЅРѕРїРѕРє

       But1 = Tkinter.Button(self.FRC)

       But1["bg"] = "white"

       But1["bd"] = "1m"

       But1 ["font"] = all_font

       But1["relief"] = "raised"

       But1.place(relx = 0.5, rely = 0.85, anchor = "center")

       But1["text"] = u"Завершить просмотр"

       But1.bind("<Button-1>",otmena)

   def __delattr__ (self, a):

       self.FRC.destroy()

       #print u"ok))))))))))))))))))"

if __name__ == "__main__":

   root = Tkinter.Tk()

   root.geometry("1024x768+0+0")

   all_font = tkFont.Font()

   all_font ["family"] = "Helvetica"

   all_font ["size"] = 14

   all_font ["weight"] = "normal"

   number_of_path = 2

   res_data = [{'Spec': 'AAG', 'Name_S': 'B', 'Name_P': 'B', 'pict': '3', 'God_1': '1993', 'tabl': '4', 'Mark': '5', 'SName_P': 'B', 'Theme': 'B\n', 'SName_S': 'B', 'Grup': 'TM-71B', 'LName_P': 'B', 'plac': '2', 'LName_S': 'B', 'Stepen': u'\u041c\u0430\u0433\u0438\u0441\u0442\u0440', 'page': '1'}, {'Spec': 'AAG', 'Name_S': 'D', 'Name_P': 'D', 'pict': '3', 'God_1': '1993', 'tabl': '5', 'Mark': '5', 'SName_P': 'D', 'Theme': 'D\n', 'SName_S': 'D', 'Grup': 'TM-71B', 'LName_P': 'D', 'plac': '2', 'LName_S': 'D', 'Stepen': u'\u041c\u0430\u0433\u0438\u0441\u0442\u0440', 'page': '1'}, {'Spec': 'AAG', 'Name_S': 'Q', 'Name_P': 'Q', 'pict': '3', 'God_1': '1993', 'tabl': '4', 'Mark': '4', 'SName_P': 'Q', 'Theme': 'Q\n', 'SName_S': 'Q', 'Grup': 'TM-71B', 'LName_P': 'Q', 'plac': '2', 'LName_S': 'Q', 'Stepen': u'\u041c\u0430\u0433\u0438\u0441\u0442\u0440', 'page': '1'}]

   preview_find(root,all_font,res_data,number_of_path)

   root.mainloop()

Направления улучшения.

- в программу можно добавить функцию распознавания орфографических ошибок. Что существенно поможет при составлении и поиске дипломных проектов.

- можно добавить «справку», что поможет пользователю детальней узнать о программе и помочь ему в работе с ней.

- так же, можно сделать «резервное копирование», что поможет сохранить текущие введённые данные в отдельную папку.


Вывод

Мы сделали программу для создания и хранения базы данных о дипломных проектах. Хранится  БД в папке TM_Base и далее в 3х папках бакалавр, магистр или специалист.

Эта программа может быть полезной и актуальной, так как похожих программ нету, а без этой программы работать с дипломными проектами довольно трудно.


Список использованной литературы:

  1.  Россум Г. Язык программирования python, 2010.
  2.  Б.А. Курс по библиотеке Tkinter языка python, 2008.
  3.  Б.А. Язык программирования python Ч1-Ч3, 2004.
  4.  Шипман Д.Д. Tkinter 8.4. GUI for python, 2011.


Тип данных, которые хранятся
: словарь

Связи с базами: 

Используется модулями: Find_Data.py

Пример хранения:

{'Spec': 'AAG ', 'Name_S': 'B', 'Name_P': 'B', 'pict': '3', 'God_1': '1993', 'tabl': '4', 'Mark': '5', 'SName_P': 'B', 'Theme': 'B\n', 'SName_S': 'B', 'Grup': 'TM-71B', 'LName_P': 'B', 'plac': '2', 'LName_S': 'B', 'Stepen': 'Magistr', 'page': '1'}

Данные:

'Spec' – специальность

'Stepen' – степень

''Grup' – группа

'God_1' – год защиты

'Mark' – оценка

'Name_S' – имя студента

'Name_P' – имя научного руководителя

'SName_P' – фамилия научного руководителя

'SName_Sфамилия студента

'LName_P' – отчество  научного руководителя

'LName_S' – отчество студента

'Theme' – тема дипломного проекта

'page' – количество страниц

'pict' – количество рисунков

'tabl' – количество таблиц

'plac' – количество плакатов

Base_stud.bso

Спецификация: Хранение полной информации о студенте

Путь базы: C:\TM_Base\Stepen\SName + Name + LName\




1. Этика в рассуждениях выдающихся философов
2. Политическое сознание
3. это проявление экологической функции государства
4. Germnic lw is the legl system used in most countries round the world tody
5. и частенько по голове
6. Контрольна робота З навчальної дисципліни Економіка і нормування праці Виконала студентка
7. тематичное название книги ~exodos~ то есть выход
8. Тематика курсовой работы [2
9. во второй половине дня; одни нуждаются в четком иногда буквально пошаговом руководстве со стороны учителя
10. Педагогическая коррекция детей в начальной школе
11. Тема 13 Страховая организация- структура бизнеспроцессы и управление Страховая организация; Доку
12. тема розміщення та поділу продуктивних сил поки ще не замінена новою
13. САРАТОВСКАЯ ГОСУДАРСТВЕННАЯ ЮРИДИЧЕСКАЯ АКАДЕМИЯ Юридический колледж 1 Сизоненко Вадим Сергее
14. И М Сеченова Кафедра Факультетской Терапии ИСТОРИЯ БОЛЕЗНИ Студе
15. американская философия направление в философской мысли XX века развивающееся преимущественно в англояз
16. Остеоартрозы (деформирующий спондилоартрит)
17. Фразеологічні одиниці з компонентом вода в аспекті англо-українського перекладу
18.  Общие положения 12
19. Контрольная работа По дисциплине Экономика организаций Выполнила- студентка 3 курса
20. Введение. Основная характеристика английского языка История английского языка начинается с 5 века наше