Выборка готовой работы из рубрикатораРубрикатор готовых работ по программированию
Программы на тему «Игры»
Программы на тему «Графика»
Программы на тему «Базы данных»
Программы на тему «Клиент-серверные базы данных»
Программы на тему «Обучающие программы»
Программы на тему «Работа с текстом»
Программы на тему «Тесты»
Программы на тему «Кроссворды»
Программы на тему «Технологии»
Программы на тему «Интернет»
Программы на тему «Сети»
Программы на тему «Математика»
Программы на тему «Графы»
Программы на тему «Структуры»
Программы на тему «Алгоритмы»
Программы на тему «Компиляторы»
Программы на тему «Криптография»
Программы на тему «Нейронные сети»
Программы на тему «Прочие»
Программист сайта kursovik.com (письмо автору)
игра, скачки, питон, тур, заезд, кони, тотализатор, ставки, бега, наездник, очки, ложадь
Разработка игры «Скачки».
Задание: разработка программы на языке программирования Python, моделирующей игру «скачки».
В начале игры вам предлагается написать свое имя и выбрать наездника и лошадь, на которую вы хотите сделать ставку в текущем заезде.
В игре участвуют 4 наездника. За каждый тур игры каждый из них продвигается вперед на расстояние от 1 до 5 км случайным образом. Длина дистанции 50 км. Всего проводится 2 заезда, за победу в каждом заезде начисляются очки.
Победителем считается наездник, набравший наибольшее количество очков во всех заездах. Перед началом заездов участник игры выбирает номер наездника, с которым он будет идентифицироваться во время игры.
Передвижение наездников отображается на экране.
Программа должна вводить и выводить данные. Процесс движения всадников должен быть наглядно показан на экране компьютера. В конце заездов должно выводиться сообщение о выигравшем наезднике.
отдела программирования на заказ:На данный момент (31 мая 2023) на выполнении находится 31 заказ.Количество программистов, занятых выполнением текущих заказов: 13.В текущем месяце (май 2023) нами уже выполнено 62 заказа.В текущем году (2023) нами уже выполнено 334 заказа.В прошлом году (2022) нами было выполнено 689 заказов.В позапрошлом году (2021) нами было выполнено 674 заказа.Количество активных программистов на сайте: 67.Загруженность отдела заказами: 30%.
Результаты работы программы
Расширяемый язык разметкиРасширяемый язык разметкиРасширяемый язык разметкиРасширяемый язык разметкиРасширяемый язык разметкиРасширяемый язык разметки
К программе прилагается:
Перед покупкой готовой работы не забудьте проверить её оригинальность. Запросить у администратора
проверку текущей оригинальности работы по версии системы Антиплагиат.РУ
Если данный отчет Вам не подходит, то Вы можете заказать написание нового отчета (согласно Вашему оглавлению) автору данной программы. Чтобы узнать цену, нажмите на эту ссылку.
Стоимость программы составляет 400 руб РФСтоимость составляет 150 руб РФПродажа каждой работы строго учитывается,у каждой работы есть своя история продаж.
Рекомендуем Вам также посмотреть нашу рубрику «вопросы и ответы».
Задать вопрос по данной готовой работе
Если у Вас возник какой-либо вопрос по данной работе, пожалуйста заполните форму, приведенную ниже.
Ответ будет дан автором данной работы в обязательном порядке.
Время отклика — 2-24 часа с момента заполнения формы.
Если Ваш вопрос окажется полезным, мы разместим его на этой странице.
Программирование на заказ
Список наших готовых работ в среде программирования Python
Готовые работы на тему «Игры» на языке Python
Готовые работы на тему «Графика» на языке Python
Готовые работы на тему «Клиент-серверные базы данных» на языке Python
Готовые работы на тему «Обучающие программы» на языке Python
Готовые работы на тему «Работа с текстом» на языке Python
Готовые работы на тему «Интернет» на языке Python
Готовые работы на тему «Математика» на языке Python
Готовые работы на тему «Графы» на языке Python
Готовые работы на тему «Структуры» на языке Python
Готовые работы на тему «Алгоритмы» на языке Python
Готовые работы на тему «Криптография» на языке Python
Готовые работы на тему «Нейронные сети» на языке Python
Готовые работы на тему «Прочие» на языке Python
Список наших готовых работ на всех языках программирования
Список всех готовых работ
Экономика, право, психология, история
Электроника, Радиотехника, Механика
Программирование (по темам)
Разработка структуры базы данных для хранения дипломных проектов в среде объектно-ориентированного программирования Python. Создание внешнего вида окон ввода-вывода информации, технологии переходов. Листинг программы с пояснениями; направления улучшения.
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Кафедра автомобиле- и тракторостроения
По курсу информатики
Разработка базы данных на языке программирования Python
Объект разработки — база данных для хранения дипломных проектов.
Цель работы — разработка базы данных на языке программирования Python.
Во время выполнения работы была разработана структура базы данных, были созданы окна, включая технологию переходов, разработан внешний вид окон и в итоге была создана база данных в среде объектно-ориентированного программирования phyton.
База данных была экспериментально опробована, в результате чего было установлено, что существенных ошибок в коде программы не выявлено. Программа может быть успешно применена в работе стат. отделов ВУЗов.
Окна ввода-вывода информации
Листинг с пояснениями
Список использованной литературы
Актуальность хранения информации в электронном виде заключается в том, что бумажная документация имеет срок годности и портиться со временем. Для долгосрочного хранения информации гораздо удобнее использовать электронные базы данных.
К настоящему времени человечеством накоплено поистине гигантское количество информации об объектах и явлениях. Но эта информация не лежит мертвым грузом, она хранится в электронном виде и используется в базах данных. Базы данных — это часть информационных систем — программно-аппаратных комплексов, осуществляющих хранение и обработку огромных информационных массивов.
База данных представляет собой определенным образом структурированную совокупность данных, совместно хранящихся и обрабатывающихся в соответствии с некоторыми правилами. Как правило, база данных моделирует некоторую предметную область или ее фрагмент. Очень часто в качестве постоянного хранилища информации баз данных выступают файлы.
Программа, производящая манипуляции с информацией в базе данных, называется СУБД (система управления базами данных). Она может осуществлять выборки по различным критериям и выводить запрашиваемую информацию в том виде, который удобен пользователю. Основными составляющими информационных систем, построенных на основе баз данных, являются файлы БД, СУБД и программное обеспечение (клиентские приложения), позволяющие пользователю манипулировать информацией и совершать необходимые для решения его задач действия.
Информация, которая хранится в базе данных, может постоянно пополняться. От того, как часто это делается, зависит ее актуальность. Информацию об объектах также можно изменять и дополнять.
В нашем случае создана база данных для хранения дипломных проектов студентов всех факультетов, групп и специальностей. Для поиска дипломов разработана удобная технология переходов между окнами.
Исходя из задания была разработана база данных:
Рисунок 1 — Структура базы данных Base_stud.bso
Окна ввода/вывода информации
Окно «А» выполняет функции входа
В этом окне можно добавить диплом или открыть уже готовый. Так же можно настроить параметры шрифта и прочесть о готовой б/д.
Окно «С» служит для ввода всей информации о студенте, также здесь указуються пути к документу с текстом и папке с изображениями.
В окне «D» выполняется поиск записей по заданным параметрам
Окно «P» служит для вывода полной информации по студенту
база данный диплом python
# -*- coding: utf-8 -*-
def __init__(self, root, all_font):
def __call__(self, root, all_font):
def font(event = None):
def VHOD (event = None):
if self.tip_dostupa == u»Студент»:
def B (even = None):
#if even == u»Студент»:
def close_all_prevision(event = None):
print u»Окно С закрыто»
print u»Окно D закрыто»
print u»Окно E закрыто»
print u»Окно K закрыто»
print u»Окно O закрыто»
#Создание окна «Новая запись»
def Window_C(event = None):
#Создание окна «Найти запись»
def Window_D(event = None):
self.D = Find_Data.find_data(root,all_font)
#Создание окна «Резервное копирование»
def Window_E (event = None):
self.E = Copy_Rez.copy_rez(root,all_font)
#Создание окна «Шрифты»
def Window_K(event = None):
self.K = Font.font(root,all_font)
def Window_O(event = None):
self.O = O_Prog.o_prog(root,all_font)
root.title(u»База данных дипломных робот студентов ТМ факультета»)
Bar = Tkinter.Menu(root)
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 =
Menu1.add_command(label = u»Общая информация»)
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)
#Изминение состояния полей ввода и кнопок
def var123 (even = None):
def die(even = None):
response = tkMessageBox.askyesno(u»Важно!!!»,u»Закрыть базу данных
дипломных работ студентов ТМ-факультета?»)
r = response
if r == 1:
FR = Tkinter.Frame(root)
FR.place(relx = 0.5, rely = 0.5, anchor = «center» )
#Меню «Тип доступа»
def big(event = None):
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)
for i in NEW_text:
#Поле ввода «Имя пользователя»
LaFR1 = Tkinter.LabelFrame(FR)
LaFR1.place(relx = 0.5, rely = 0.4, anchor = «center»)
Ent1 = Tkinter.Entry(LaFR1)
name = Ent1
#Поле ввода «Пароль»
LaFR2 = Tkinter.LabelFrame(FR)
LaFR2.place(relx = 0.5, rely = 0.55, anchor = «center»)
Ent2 = Tkinter.Entry(LaFR2)
parol = Ent2
But2 = Tkinter.Button(FR)
But2.place(relx = 0.4, rely = 0.8, anchor = «center»)
But1 = Tkinter.Button(FR)
But1.place(relx = 0.2, rely = 0.8, anchor = «center»)
But3 = Tkinter.Button(FR)
But3.place(relx = 0.7, rely = 0.8, anchor = «center»)
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 = «250×300+%s+%s»%(x_vhod,y_vhod)
root.title(u»Вход в базу данных дипломных проэктов
all_font = tkFont.Font()
# -*- coding: cp1251 -*-
#окно «С» — создание новой записи
def __init__(self, root,all_font):
def __call__(self, root,all_font):
def New_dictonary(event = None):
ss = 0
for i in range(0,13):
ss = ss + 1
#print self.ST.get(index1 = 0.0,index2 = «end»)
if os.path.exists(«C:\TM_Base») == 1:
def Sohranenie (event= None):
def Sohranenie_pict(event = None): #сохранение картинок
t = os.listdir(self.path_pict)
for i in t:
open_pict = open(i,»rb»)
p = open_pict.read()
stud_pict = open(i ,»wb»)
def Sohranenie_text (event = None):
z = string.split(self.path_pdf,»/»)
for i in z:
if i.find(«.docx») != -1:
self.pdf = i
elif i.find(«.pdf») != -1:
elif i.find(«.txt») != -1:
elif i.find(«.doc») != -1:
h = len (self.path_pdf)
j = len (self.pdf)
l = h — j
open_pdf = open(self.pdf,»rb»)
f = open_pdf.read()
stud_pdf = open(self.pdf,»wb»)
krasavchik_font = tkFont.Font()
krasavchik = Tkinter.Label(self.FRC)
krasavchik.place(relx = 0.5,rely = 0.6 , anchor = «center»)
def create_folders (event = None):
#ПРОВЕРКА ПУТЕЙ К ПАПКЕ СПЕЦИАЛИСТ:
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
self.stud_file = open («Base_stud.bso», «rb») #ОТКРЫВАЕМ ФАЙЛ С
ИНФ О СТУДЕНТЕ
self.stud_file = open («Base_stud.bso», «wb») #ОТКРЫВАЕМ ФАЙЛ С
if self.stepen == u»Специалист»:
elif self.stepen == u»Бакалавр»:
def otmena(event = None):
root.title(u»Cоздание новой записи»)
def Seve_inform(event = None):
for i in Inform:
if i.get() == »:
self.informatino = entry_get
if len(entry_get) == 14:
krasavchik.place(relx = 0.5,rely = 0.5 , anchor = «center»)
#Новая рамка для окна «С»
self.FRC = Tkinter.Frame(root)
self.FRC.place(relx = 0, rely = 0, anchor = «nw» )
,»Тема дипломного проэкта»,»Количество страниц»,»Количество
:»»,»pict»:»»,»tabl»:u»попал ты чувак»}
#Создание полей ввода, первая строка
LaFR1 = Tkinter.LabelFrame(self.FRC)
LaFR1.place(relx = 0.02, rely = 0.03, anchor = «w»)
LaFR2 = Tkinter.LabelFrame(self.FRC)
LaFR2.place(relx = 0.34, rely = 0.03, anchor = «w»)
LaFR3.place(relx = 0.42, rely = 0.03, anchor = «w»)
Ent3 = Tkinter.Entry(LaFR3)
LaFR4 = Tkinter.LabelFrame(self.FRC)
LaFR4.place(relx = 0.5, rely = 0.03, anchor = «w»)
Ent4 = Tkinter.Entry(LaFR4)
LaFR5.place(relx = 0.66, rely = 0.03, anchor = «w»)
MB_NEW = Tkinter.Menubutton(LaFR5, relief = «raised», justify =
#Создание полей ввода, вторая строка (Данные о студенте)
LaFR_Date_1 = Tkinter.LabelFrame(self.FRC)
LaFR_Date_1.place(relx = 0.01, rely = 0.12, anchor = «w»)
LaFR6 = Tkinter.LabelFrame(LaFR_Date_1)
LaFR6.place(relx = 0.01, rely = 0.5 , anchor = «w»)
Ent6 = Tkinter.Entry(LaFR6)
LaFR7 = Tkinter.LabelFrame(LaFR_Date_1)
LaFR7.place(relx = 0.5, rely = 0.5 , anchor = «center»)
Ent7 = Tkinter.Entry(LaFR7)
LaFR8 = Tkinter.LabelFrame(LaFR_Date_1)
LaFR8.place(relx = 0.99, rely = 0.5 , anchor = «e»)
Ent8 = Tkinter.Entry(LaFR8)
#Создание полей ввода, третья строка (Данные о научном
LaFR_Date_2 = Tkinter.LabelFrame(self.FRC)
LaFR_Date_2.place(relx = 0.01, rely = 0.25, anchor = «w»)
LaFR9 = Tkinter.LabelFrame(LaFR_Date_2)
LaFR9.place(relx = 0.01, rely = 0.5 , anchor = «w»)
Ent9 = Tkinter.Entry(LaFR9)
LaFR10 = Tkinter.LabelFrame(LaFR_Date_2)
LaFR10.place(relx = 0.5, rely = 0.5 , anchor = «center»)
Ent10 = Tkinter.Entry(LaFR10)
LaFR11 = Tkinter.LabelFrame(LaFR_Date_2)
LaFR11.place(relx = 0.99, rely = 0.5 , anchor = «e»)
Ent11 = Tkinter.Entry(LaFR11)
#Поле ввода текста «Тема дипломного проэкта»
LaFR_Date_3 = Tkinter.LabelFrame(self.FRC)
LaFR_Date_3.place(relx = 0.01, rely = 0.32, anchor = «nw»)
#self.self.ND = ST.get()
#mm = ST.get()
#Создание полей ввода, третья строка (Данные о дипломном проэкте)
LaFR_Date_4 = Tkinter.LabelFrame(self.FRC)
LaFR_Date_4.place(relx = 0.01, rely = 0.55, anchor = «w»)
LaFR12 = Tkinter.LabelFrame(LaFR_Date_4)
LaFR12.place(relx = 0.01, rely = 0.5 , anchor = «w»)
Ent12 = Tkinter.Entry(LaFR12)
LaFR13 = Tkinter.LabelFrame(LaFR_Date_4)
LaFR13.place(relx = 0.38, rely = 0.5 , anchor = «center»)
Ent13 = Tkinter.Entry(LaFR13)
LaFR14 = Tkinter.LabelFrame(LaFR_Date_4)
LaFR14.place(relx = 0.52, rely = 0.5 , anchor = «w»)
Ent14 = Tkinter.Entry(LaFR14)
LaFR15 = Tkinter.LabelFrame(LaFR_Date_4)
LaFR15.place(relx = 0.99, rely = 0.5 , anchor = «e»)
Ent15 = Tkinter.Entry(LaFR15)
#Создание полей ввода пути к файлам
LaFR_Date_5 = Tkinter.LabelFrame(self.FRC)
LaFR_Date_5.place(relx = 0.01, rely = 0.63, anchor = «nw»)
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»)
self.path_pict = path1
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»)
self.path_pdf = path
But3 = Tkinter.Button(LaFR_Date_5)
But3.place(relx = 0.2, rely = 0.25, anchor = «center»)
But4 = Tkinter.Button(LaFR_Date_5)
But4.place(relx = 0.2, rely = 0.7, anchor = «center»)
But1 = Tkinter.Button(self.FRC)
But1.place(relx = 0.25, rely = 0.85, anchor = «center»)
But2 = Tkinter.Button(self.FRC)
But2.place(relx = 0.75, rely = 0.85, anchor = «center»)
def __delattr__ (self, a):
#окно «D» — поиск данных
self.FRD = Tkinter.Frame(root)
self.FRD.place(relx = 0, rely = 0, anchor = «nw» )
def find_data (event = None):
for m in self.u:
self.p = m
for w in self.dictonary_find.keys():
if w == «1»:
folders = os.listdir(m)
for i in folders:
for i in self.folders:
self.path_2 = self.p + i
base = open («Base_stud.bso» , «rb»)
self.k = pickle.load(base)
data_sr = self.k.get(poisk)
#if data.decode(«cp1251») == data_sr:
if data == data_sr:
#print «baza vsja»
for i in range(0, len(self.baza_vsia)):
data_sr = b.get(poisk)
def find_data_tabl(event = None):
self.kol = 0
self.vibor = self.kol
for i in self.baza_vsia:
self.kol = self.kol + 1
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.base_for_prosmotr = self.baza_vsia
self.base_for_prosmotr = self.baza_vsia_sort
for i in self.baza_vsia_sort:
print u»второй отбор»
print u»параметр поиска только один»
def die (event = None):
def DOBAVIT (event = None):
text_list_03 = self.Znachenie_data.get()
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.l_spis = self.kol
def preview_inf (event = None):
def Clear(event =None):
def destroy_pole(event = None):## убивает открытие поля
def Spec(event = None):## выбор специальности
self.EntD1 = Tkinter.Entry(self.FRD)
self.EntD1.place(relx = 0.5, rely = 0.1, anchor = «w»)
self.Znachenie_data = self.EntD1
def Grup(event = None):## поле ввода «Группа»
def Mark (event = None): ## поле ввода «Оценка»
def m (event = None):
self.Znachenie_data = event
self.MB_Mark = Tkinter.Menubutton(self.FRD, relief = «raised», justify =
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.add(«cascade», label = u»1″, command = lambda
#self.MB_Mark.menu.add(«cascade», label = u»2″, command = lambda
self.MB_Mark.menu.add(«cascade», label = u»3″, command = lambda
self.MB_Mark.menu.add(«cascade», label = u»4″, command = lambda
self.MB_Mark.menu.add(«cascade», label = u»5″, command = lambda
def Stepen (event = None): ## поле ввода «степень»
def st (event = None):
self.MB_Stepen = Tkinter.Menubutton(self.FRD, relief = «raised», justify =
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.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.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.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.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.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.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.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.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.Znachenie_data = self.God
def Param(event = None):##при выборе параметра открывается новое
if event == u»Специальность»:
self.parametp_poiska = «Spec»
elif event == u»Группа»:
self.parametp_poiska = «Grup»
elif event == u»Оценка»:
self.parametp_poiska = «Mark»
elif event == u»Степень»:
self.parametp_poiska = «Stepen»
elif event == u»Имя»:
self.parametp_poiska = «Name_S»
elif event == u»Фамилия»:
self.parametp_poiska = ‘SName_S’
elif event == u»Отчество»:
self.parametp_poiska = «LName_S»
elif event == u»Количество страниц»:
self.parametp_poiska = «page»
elif event == u»Количество плакатов»:
self.parametp_poiska = «plac»
elif event == u»Количество рисунков»:
self.parametp_poiska = «pict»
elif event == u»Количество таблиц»:
self.parametp_poiska = «tabl»
elif event == u»Год»:
self.parametp_poiska = «God_1»
self.vibor_data = event
But_OK = Tkinter.Button(self.FRD)
But_OK.place(relx = 0.5, rely = 0.25, anchor = «center»)
But_Clear = Tkinter.Button(self.FRD)
But_Clear.place(relx = 0.5, rely = 0.75, anchor = «center»)
But_Otmena = Tkinter.Button(self.FRD)
But_Otmena.place(relx = 0.2, rely = 0.85, anchor = «center»)
But_Find = Tkinter.Button(self.FRD)
But_Find.place(relx = 0.8, rely = 0.85, anchor = «center»)
# основное меню параметров поиска
MB_PARAM = Tkinter.Menubutton(self.FRD, relief = «raised», justify =
MB_PARAM.place(relx = 0.2, rely = 0.1, anchor = «center»)
MB_PARAM.menu = Tkinter.Menu(MB_PARAM, tearoff = 0)
MB_PARAM.menu.add(«cascade», label = u»Специальность», command =
lambda p=u»Специальность» :Param(p))
MB_PARAM.menu.add(«cascade», label = u»Группа», command = lambda
MB_PARAM.menu.add(«cascade», label = u»Оценка», command = lambda
MB_PARAM.menu.add(«cascade», label = u»Степень», command = lambda
MB_PARAM.menu.add(«cascade», label = u»Имя», command = lambda
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
def sroot_widget_create(event = None):
self.status = 0 ## Окон верхнего уровня не существует
def analis(event = None): ## Опеределяем направление прокручинвания
для мышки (MouseWhell)
try: ## Чтобы для внешнего виджета не работало
if event.delta < 0:
def Clear(event = None):
self.Listbox_02.itemconfig(self.pos, bg = «white»)
self.Listbox_03.itemconfig(self.pos, bg = «white»)
def Perehod(event = None):
self.Listbox_02.itemconfig(self.pos, bg = «grey»)
self.Listbox_03.itemconfig(self.pos, bg = «grey»)
def Hod(event = None):
self.pos = self.vibor
def bind_but(event = None):
## На левую клавишу мыши
def alt_bind_but(event = None):
## На альт + левая клваиша
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): ## Кнопка вниз — перемещение вниз всех
if self.pos < self.l_spis — 1:
self.pos = self.pos + 1
## Прокручиваем списки
## Если список находится в границе видимой облафсти — ее верх и низ
self.prev_nizz = self.prev_nizz + 1
self.prev_verh = self.prev_verh + 1
if self.pos < self.prev_nizz:
if self.pos == self.prev_nizz:
def Up(event = None): ## Кнопка вверх — перемещение вверх всех трех
self.pos = self.pos — 1
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:
self.Frame_Listbox = Tkinter.LabelFrame(self.FRD)
self.Frame_Listbox.place(relx = 0.5, rely = 0.5, anchor = «center»)
Label_01 = Tkinter.Label(self.Frame_Listbox)
Label_01.grid(row = 1, column = 1, sticky = «ensw»)
self.Label_01 = Label_01
Label_02 = Tkinter.Label(self.Frame_Listbox)
Label_02.grid(row = 1, column = 2, sticky = «ensw»)
self.Label_02 = Label_02
Label_03 = Tkinter.Label(self.Frame_Listbox)
Label_03.grid(row = 1, column = 3, sticky = «ensw»)
self.Label_03 = Label_03
self.Scrol_BA = Tkinter.Scrollbar(self.Frame_Listbox)
self.Listbox_01 = Tkinter.Listbox(self.Frame_Listbox)
self.Listbox_02 = Tkinter.Listbox(self.Frame_Listbox)
#self.Listbox_02.itemconfig(self.vibor, background = «grey»)
self.Listbox_03 = Tkinter.Listbox(self.Frame_Listbox)
#self.Listbox_03.itemconfig(self.vibor, background = «grey»)
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): ## При появлении фокуса — выделение
на бывший элемент
else: ## Переход между окнами — например, возвращение из окна
def from_focus_out (event = None): ## При потере фокуса — уходит и
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»)
def OnVsb (self, *args): ## Для одновременного прокручивания
# -*- coding: utf-8-*-
def __init__(self, root,all_font,res_data,number_of_path):
self.number_of_path = number_of_path
root.title(u»Просмотр результатов поиска»)
self.Ent1 = Tkinter.Entry(LaFR1)
self.Ent1.insert( «end» ,self.stud_inf.get(«Spec»))
self.Ent2 = Tkinter.Entry(LaFR2)
self.Ent3 = Tkinter.Entry(LaFR3)
self.Ent4 = Tkinter.Entry(LaFR4)
self.Ent123 = Tkinter.Entry(LaFR5)
self.Ent6 = Tkinter.Entry(LaFR6)
self.Ent7 = Tkinter.Entry(LaFR7)
self.Ent8 = Tkinter.Entry(LaFR8)
self.Ent9 = Tkinter.Entry(LaFR9)
self.Ent10 = Tkinter.Entry(LaFR10)
self.Ent11 = Tkinter.Entry(LaFR11)
self.Ent12 = Tkinter.Entry(LaFR12)
self.Ent13 = Tkinter.Entry(LaFR13)
self.Ent14 = Tkinter.Entry(LaFR14)
self.Ent15 = Tkinter.Entry(LaFR15)
def number_1 (event = None):
def number_2 (event = None):
def p_n (event = None):
self.number_of_path = self.number_of_path + string.atoi(event)
if self.number_of_path < 0:
self.number_of_path = 0
self.number_of_path = self.number_of_path — 1
But1.place(relx = 0.5, rely = 0.85, anchor = «center»)
number_of_path = 2
‘1993’, ‘tabl’: ‘4’, ‘Mark’: ‘5’, ‘SName_P’: ‘B’, ‘Theme’: ‘B
‘, ‘SName_S’: ‘B’,
‘Grup’: ‘TM-71B’, ‘LName_P’: ‘B’, ‘plac’: ‘2’, ‘LName_S’: ‘B’, ‘Stepen’:
‘AAG’, ‘Name_S’: ‘D’, ‘Name_P’: ‘D’, ‘pict’: ‘3’, ‘God_1’: ‘1993’, ‘tabl’: ‘5’,
‘Mark’: ‘5’, ‘SName_P’: ‘D’, ‘Theme’: ‘D
‘, ‘SName_S’: ‘D’, ‘Grup’: ‘TM-71B’,
‘LName_P’: ‘D’, ‘plac’: ‘2’, ‘LName_S’: ‘D’, ‘Stepen’:
‘AAG’, ‘Name_S’: ‘Q’, ‘Name_P’: ‘Q’, ‘pict’: ‘3’, ‘God_1’: ‘1993’, ‘tabl’: ‘4’,
‘Mark’: ‘4’, ‘SName_P’: ‘Q’, ‘Theme’: ‘Q
‘, ‘SName_S’: ‘Q’, ‘Grup’: ‘TM-71B’,
‘LName_P’: ‘Q’, ‘plac’: ‘2’, ‘LName_S’: ‘Q’, ‘Stepen’:
В программу можно добавить функцию распознавания орфографических ошибок. Что существенно поможет при составлении и поиске дипломных проектов.
Можно добавить «справку», что поможет пользователю детальней узнать о программе и помочь ему в работе с ней.
Так же, можно сделать «резервное копирование», что поможет сохранить текущие введённые данные в отдельную папку.
Мы сделали программу для создания и хранения базы данных о дипломных проектах. Хранится БД в папке TM_Base и далее в 3х папках бакалавр, магистр или специалист.
Эта программа может быть полезной и актуальной, так как похожих программ нет, а без этой программы работать с дипломными проектами довольно трудно.
Список использованной литературы:
1. Россум Г. Язык программирования python, 2010.
2. Б.А. Курс по библиотеке Tkinter языка python, 2008.
3. Б.А. Язык программирования python Ч1-Ч3, 2004.
4. Шипман Д.Д. Tkinter 8.4. GUI for python, 2011.
Размещено на Allbest.ru




