Создание программы-переводчика
Создание программы, предназначенной для перевода слов с русского на английский и наоборот. Разработка системного проекта. Требования к функциональным характеристикам, информационной и программной совместимости. Начальная контекстная диаграмма DFD.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 15.01.2011 |
Размер файла | 529,2 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Введение
В настоящее время существует целый набор программ для перевода слов с одного языка на другой. Такие программы - словари - очень удобны и позволяют осуществить быстрый поиск необходимого слова.
Словари могут содержать не один, а несколько направлений перевода: с английского, с французского, немецкого, испанского и не только на другие языки. Словари эффективно используются при переводах текстов с одного языка на другой (в обучении, переводах книг, русификации программ и т.п.).
Целью курсового проекта является создание программы, предназначенной для перевода слов как с русского на английский, так и с английского на русский. Дизайн, который будет представлять собой дружественный интерфейс, обеспечивая удобство в использовании и быстроту поиска слов.
Программа «ABCdic» должна реализовать следующие функции:
- Перевод слов как с английского на русский, так и с русского на английский;
- Поиск слов для перевода в базе;
- Возможность замены перевода, удаления слова из базы, добавления в базу.
1. Разработка системного проекта
1.1 Назначение разработки
Курсовой проект направлен на разработку программы, которая должна обеспечить перевод слов с русского на английский и с английского на русский. Программа-переводчик «ABCdic» воспроизведёт только МР3 формат музыкального произведения. Словарь «ABCdic» предназначен для использования как более удобная и нетребовательная альтернатива программам-словарям в любых организациях на рабочих местах сотрудников, а также на домашних ПК. Программа ««ABCdic»» будет выполнять такие функции:
- Перевод слов как с английского на русский, так и с русского на английский;
- Поиск слов для перевода в базе;
- Удобное отображение списка слов базы;
- Возможность замены перевода, удаления слова из базы, добавления в базу.
1.2 Требования к функциональным характеристикам
Словарь должен реализовать следующие функции:
- Перевод слов как с английского на русский, так и с русского на английский; Автоматизация поиска слов (русских и английских);
- Возможность замены перевода, удаления слова из базы, добавления в базу. Программа «ABCdic» может использоваться по желанию пользователя в любое время , т.е постоянно. Данные можно будет изменить вручную, введя новый перевод или изменив существующий.
1.3 Требование к надежности
Программа должна устойчиво функционировать, при отключении питания, при зависании основных процессов операционной системы. Словарь будет безотказно выполнять все предусмотренные программой функции, предупреждая ошибки, выводом экранных сообщений о возможных случаев работы. Что позволяет предугадать не желательные сбои правильного функционирования системы. Срок службы программы не определен.
1.4 Требования к составу и параметрам технических средств
Для обеспечения работы с программой «ABCdic» необходим комплекс технических средств:
- Компьютер с процессором не ниже i80486DX
- оперативная память : минимальная - 64 Мб
- рекомендуемое разрешение экрана 1024х768
- Мышь, клавиатура
1.5 Требования к информационной и программной совместимости
Программа должна быть разработана в среде Borland Delphi 7.0 с использованием дополнительных средств для проектирования интерфейса.
2. Разработка технического проекта
2.1 Построение диаграммы потоков данных
Смоделируем функциональные требования системе, построив функциональную модель системы (полная контекстная диаграмма потоков данных DFD), где представим требования в виде иерархии функциональных процессов, связанных потоками данных [1].
Входными данными словаря будет являться файл базы данных, содержащий таблицы со значением слов и их переводом. Выходной информацией является отсортированный список слов (как английских, так и русских) с их переводом.
Файл базы данных загружается словарем и его содержимое отображается в списке пользователю(приложение А).
2.2 Детальное проектирование программного обеспечения
Самой главной функцией программы проигрывателя «ABCdic» перевод слов. Файл базы данных будет являться входящей информацией, следовательно дополнительными операциями являются функции изменения содержимого данной базы.
Каждую функцию следует реализовать программным способом, т.е. с помощью программы Borland Delphi 7:
Определение входных данных
Визуальная реализация (Определение внешнего вида, расстановка компонентов на экране)
Составление блоков кода для каждой функции
Получение цельного кода
Проверка исправности словаря
С помощью Borland Delphi 7 запускается программа [2], выбрав цвет и размер будущего словаря размещаются на форме следующие компоненты, которые находятся на панели инструментов:
1) DBGrid1 - отображает слова и их перевод из файла базы данных;
2) edFind - текстовое поле для поиска слов;
3) edFind - кнопка «Новая запись»;
4) sbEdit - кнопка «Изменить перевод»;
5) sbDel - кнопка «Удалить запись»;
6) sbConf - кнопка «Настройки»;
7) sbHelp - кнопка «Справка»;
8) sbExit - кнопка «Выход»;
9) tbl - компонент ADOTable (связь с файлом базы данных)
10) TrayIcon1 - компонент для отображения иконки программы в трее;
11) DataSource1 - определяет имя объекта управления данными, с которым связывается элемент управления;
12) TrPop - контекстное меню программы;
13) Timer1 - таймер поиска слова в базе;
TmrShwHint - таймер скрытия подсказки;
TmrDelayLoadToCB - таймер загрузки данных в буфер обмена;
TmrDelayCopyToCB - таймер копирования данных в буфер обмена;
14) Кнопки:
sbEngRus - направление перевода: англо-русский;
sbRusEng - направление перевода: русско-английский;
sb1... sb26 - отображение в списке слов, начинающихся на выбранную букву;
В результате размещения данных команд получится изображение (Внешний вид) будущей программы-словаря «ABCdic». Внешний вид программы изображен на рисунке 1.
Рисунок 1 - Интерфейс программы «ABCdic»
3. Разработка рабочего проекта
3.1 Обоснование выбора средств разработки
Основным языком программирования является Borland Delphi 7. Потому что Delphi позволяет создавать приложения для Windows самой различной направленности, от вычислительных и логических, до использующих графику и мультимедиа приложений. В Borland Delphi 7 легко реализуется создание профессионально выглядящих оконных интерфейсов для любых приложений, написанных на любом языке; интерфейс удовлетворяет всем требованиям Windows и автоматически настраивается на ту систему, которая установлена на компьютере пользователя, поскольку использует функции, процедуры и библиотеки Windows.
3.2 Описание основных программных модулей
Программа-словарь «ABCdic» предназначена для использования как более удобная и нетребовательная альтернатива англо-русским и русско-английским словарям в любых организациях на рабочих местах сотрудников, а также на домашних ПК.
Словарь «ABCdic» содержит следующие функции:
- Перевод слов как с английского на русский, так и с русского на английский;
- Автоматизация поиска слов (русских и английских);
- Возможность замены перевода, удаления слова из базы, добавления перевода в базу. С помощью Borland Delphi 7.0 запустил программу, выбрав цвет и размер будущего проигрывателя, разместила на форме необходимые компоненты. Затем двойным щелчком по компоненту, прописываю код программы (Приложение Б)
3.3 Документирование
3.3.1 Документ «Руководство оператора»
1. Назначение программы
Программа «ABCdic» предназначена для перевода слов с русского на английский и с английского на русский, редактирование файла базы данных с переводом, удобного предоставления перевода слов.
2. Условия выполнения программы
Для функционирования проигрывателя «ABCdic» необходима операционная система семейства Windows сборки не ниже 2600, драйвер звукового адаптера, и минимум 64Mb оперативной памяти.
Для обеспечения работы с программой «ABCdic» необходим комплекс технических, аппаратных средств:
- Компьютер с процессором не ниже i80486DX
- оперативная память : минимальная - 64 Мб
- рекомендуемое разрешение экрана 1024х768
- Мышь, клавиатура
3. Выполнение программы
Для просмотра функционирования программы оператору необходимо выполнить следующее:
Открыть папку в которой находиться программа «ABCdic»
Запустить ярлык программы-словаря «ABCdic»
Возможные варианты команд, с помощью которых оператор осуществляет загрузку и управляет выполнением программы, а также ответы программы на эти команды изображены на рисунке 2.
Рисунок 2 - Варианты команд словаря «ABCdic»
Для завершения программы необходимо нажать кнопку Закрыть (Рисунок 2).
4. Сообщения оператору
При возникновении ошибок при попытке доступа к файлу базы данных (файл БД поврежден или отсутствует) пользователю выводится сообщение вида: «Не удается найти файл «dic.mbd»» (если файл отсутствует), «Нераспознаваемый формат базы данных» (если файл «dic.mbd» поврежден). В данном случае необходимо заменить или скопировать существующий файл базы данных на файл БД, поставляемой с программой в каталог с программой.
3.3.2 Документ «Руководство программиста»
1. Назначение и условия применения программы
Программа «ABCdic» предназначена перевода слов с русского на английский, с английского на русский; редактирования базы данных с переводом (удаление записей, изменения перевода, ввода нового слова).
Для функционирования проигрывателя «ABCdic» необходима операционная система семейства Windows сборки не ниже 2600, драйвер звукового адаптера, и минимум 32Mb оперативной памяти.
Для обеспечения работы с программой «ABCdic» необходим комплекс технических, аппаратных средств:
- Компьютер с процессором не ниже i80486DX
- оперативная память : минимальная -64 Мб
- рекомендуемое разрешение экрана 1024х768
- Мышь, клавиатура
2. Характеристика программы
Словарь содержит следующие возможности программы:
- Перевод слов как с английского на русский, так и с русского на английский;
- Автоматизация поиска слов (русских и английских);
- Возможность замены перевода, удаления слова из базы, добавления в базу.
Программа «ABCdic» может использоваться по желанию пользователя в любое время , т.е постоянно. Словарь устойчиво функционирует при отключении питания, при зависании основных процессов операционной системы. Словарь будет безотказно выполнять все предусмотренные программой функции, с выводом сообщений об ошибке. Что позволяет предугадать не желательные сбои правильного функционирования системы.
3. Выходные и входные данные
Входными данными словаря будет являться файл базы данных, содержащий таблицы со значением слов и их переводом. Выходной информацией является отсортированный список слов (как английских, так и русских) с их переводом.
4. Сообщения
При возникновении ошибок при попытке доступа к файлу базы данных (файл БД поврежден или отсутствует) пользователю выводится сообщение вида: «Не удается найти файл «dic.mbd»» (если файл отсутствует), «Нераспознаваемый формат базы данных» (если файл «dic.mbd» поврежден). В данном случае необходимо заменить или скопировать существующий файл базы данных на файл БД, поставляемой с программой в каталог с программой.
Проигрыватель будет безотказно выполнять все предусмотренные программой функции, предупреждая ошибки, выводом экранных.
4. Тестирование программного продукта
Программу проигрыватель «ABCdic» запускалась на разных компьютерах с разными версиями Windows и разными звуковыми платами. При каждом запуске программы музыкальные произведения формата МР3 проигрывались успешно. Программа выполняет следующие функции:
- Перевод слов как с английского на русский, так и с русского на английский;
- Автоматизация поиска слов (русских и английских);
- Возможность замены перевода, удаления слова из базы, добавления в базу.
Заключение
Существующие на сегодняшний день словари являются платным или частично-платным программным обеспечением, хотя есть и их бесплатные модификации. Кроме этого все существующие словари наделены рядом параметров, функциональные характеристики которых не столь высоки, и не удобны пользователю. Именно поэтому словари занимают много места на диске, что, естественно, не рационально. Словарь «ABCdic» имеет несложный и понятный интерфейс, не имеет лишних функций, и для своего функционирования не требует выделения большого объема оперативной памяти. Проигрыватель может распространяться в соответствии с лицензией GNU/GPL, а значит, является полностью бесплатным.
Список литературы
программа перевод информационный
1. Программирование в Delphi / Н.А. Тюкачев, К.С. Рыбак, Е.Е. Михайлова. - СПб.: БХВ- Петербург, 2007.- 672 с.
2. Программирование в среде Delphi. Самоучитель.:-М.: Издательский дом «Вильяме», 2004. - 304 с.
3. Емельянова Н.З., Партыка Т.Л., Попов И.И., «Основы построения автоматизированной информационной системы» Учебное пособие. - М. Форум, Инфа - М, 2006.
4. Семакин И.Г, Шестаков А.Л. «Основы алгоритмизации и программировании» Учебник - М. Мастерство НМЦ СПО, Высшая школа, 2001 - 416 с.
5. Партыка Т.Л. и др., «Прогрраммирование» Учебн. пособие. М.: Форум: Инфра-М, 2002. -368 с.
Приложение А
Начальная контекстная диаграмма DFD
Приложение Б
Код программы
const eng: array[1..26] of char =
('A','B','C','D','E','F','G','H','I','J','K','L','M',
'N','O','P','Q','R','S','T','U','V','W','X','Y','Z');
const rus: array[1..26] of char =
('А','Б','В','Г','Д','Е','Ж','З','И','К','Л','М','О',
'П','Р','С','Т','У','Ф','Х','Ц','Ч','Ш','Э','Ю','Я');
// clipboard contents changed.
//Происходит каждый раз при изменении содержания CB
procedure TfrmMain.WMDrawClipboard(
var Message : TMessage);
var
s : string;
begin
// Pass the message to the next window in clipboard viewer chain.
if CBflg then
if IsCBText then
begin
s:= cltxt(clr(GetStringFromClipboard, true));
if s = '' then exit;
tbl.Active:= false;
TabName(s[1]);
tbl.Active:= true;
tbl.Locate('word', s, [loPartialKey]);
if s = clr(tbl.FieldValues['word'], false) then
shwHint(s + ' -' + #13 + tbl.FieldValues['trans'])
else
if frmms.cbMs.Checked then
shwHint(s + ' - ' + 'перевод не найден');
TmrDelayLoadToCB.Enabled:= true;
end;
with Message do
SendMessage(hwndNextViewer, Msg, WParam, LParam);
end;
procedure TfrmMain.DllMessage(
var Msg: TMessage);
begin
if not visible then
TmrDelayCopyToCB.Enabled:= true;
end;
// Показываем всплывающее окно (HintWindow) там, где находится курсор
procedure TfrmMain.ShwHint(ds : string);
var
w: HWND;
a, m: DWORD;
r: TRect;
p: TPoint;
begin
if hif then exit;
w:= GetForegroundWindow;
if w <> 0 then
begin
a:= GetWindowThreadProcessId(w, nil);
m:= GetCurrentThreadid;
if a <> m then
begin
if AttachThreadInput(m, a, True) then
begin
w:= GetFocus;
if w <> 0 then
begin
GetCaretPos(p);
Windows.ClientToScreen(w, p);
if ds <> '' then
begin
wh:= THintWindow.create(self);
r:= wh.CalcHintRect(Screen.Width, ds, nil);
r.Left:= r.Left + p.X;
r.Right:= r.Right + p.X;
r.Top:= r.Top + p.Y;
r.Bottom:= r.Bottom + p.Y;
r.TopLeft.X:= r.TopLeft.X - 10;
r.TopLeft.y:= r.TopLeft.y + 20;
r.BottomRight.X:= r.BottomRight.X - 10;
r.BottomRight.y:= r.BottomRight.y + 20;
wh.Color:= clInfoBk;
wh.ActivateHint(r, ds);
tmrShwHint.Enabled:= true;
hif:= true;
end;
end;
AttachThreadInput(m, a, False);
end;
end;
end;
end;
//Добавляем программу в автозагрузку
procedure TfrmMain.RegInit( ds : boolean);
var
h: TRegistry;
begin
h:= TRegistry.Create;
with h do
begin
RootKey:= HKEY_LOCAL_MACHINE;
OpenKey('\Software\Microsoft\Windows\CurrentVersion\Run', true);
if ds then
WriteString('ABCdic', Application.ExeName)
else
if ValueExists('ABCdic') then
DeleteValue('ABCdic');
CloseKey;
Free;
end;
end;
//загрузка настроек программы
procedure TfrmMain.LoadConf;
var
Text: TIniFile;
begin
Text:= TIniFile.Create(extractFileDir(ParamSTR(0)) + '\ABCdic.ini');
try
frmms.cbRun.Checked:= Text.ReadBool('frmMain', 'cbRun', false);
if frmms.cbRun.Checked then
begin
frmms.rb1.Enabled:= true;
frmms.rb2.Enabled:= true;
frmms.cbMs.Enabled:=true;
end else
begin
frmms.rb1.Enabled:= false;
frmms.rb2.Enabled:= false;
frmms.cbMs.Enabled:=false;
end;
frmms.cbAuto.Checked:= Text.ReadBool('frmMain', 'cbAuto', false);
frmms.cbMs.Checked := Text.ReadBool('frmMain', 'cbMess', true);
if Text.ReadBool('frmMain', 'rbc', true) then
frmms.rb1.Checked:= true
else
frmms.rb2.Checked:= true;
finally
Text.Free;
end;
end;
//загрузка базы данных
procedure TfrmMain.FormCreate(Sender: TObject);
var
Text: TIniFile;
WS: string;
begin
Text:= TIniFile.Create(extractFileDir(ParamSTR(0)) + '\ABCdic.ini');
try
Top := Text.ReadInteger('frmMain', 'Top', 471);
Left := Text.ReadInteger('frmMain', 'Left', 306);
Height := Text.ReadInteger('frmMain', 'Height', 256);
dbgrid1.Columns[0].Width := Text.ReadInteger('frmMain', 'Col', 89);
WS := Text.ReadString('frmMain', 'WindowState', 'wsNormal');
if WS = 'wsMaximized' then
WindowState :=wsMaximized
else
WindowState := wsNormal;
tbl.ConnectionString :=
'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' +
extractFileDir(ParamSTR(0)) +
'\dic.mdb;Mode=ReadWrite;Persist Security Info=False';
tbl.Active := true;
CnClose:=false;
rs;
sbHelp.Visible := FileExists('ABCdicHelp.chm');
n6.Enabled := sbHelp.Visible;
finally
Text.Free;
end;
end;
procedure TfrmMain.FormShow(Sender: TObject);
begin
LoadConf;
sb1.Down := true;
RusOrEng(true);
TabName('A');
if not FileExists('ABCdic.ini') then
ShowMessage(
'По умолчанию, режим всплывающего перевода отключен.'+#13+
'Для его активации следует изменить настройки программы.');
end;
//загружаем надписи на кнопки ( true - Eng, false - Rus )
procedure TfrmMain.RusOrEng(ds: boolean);
var
i : integer;
begin
if ds then
begin
sbsml.ShowHint:= true;
sbEngRus.Down := true;
for i := 1 to 26 do
with FindComponent('sb' + inttostr(i))
as TSpeedButton do Caption:= Eng[i];
sbsml.Caption:= ':)';
end
else
begin
sbsml.ShowHint:= false;
sbRusEng.Down := true;
for i := 1 to 26 do
with FindComponent('sb' + inttostr(i))
as TSpeedButton do
begin
Caption:= Rus[i];
if i = 6 then Caption:= 'ЕЁ';
if i = 9 then Caption:= 'ИЙ';
if i = 23 then Caption:= 'ШЩ';
end;
sbsml.Caption:= 'Н';
end;
end;
procedure TfrmMain.TabName(ds: string);
begin
dbgrid1.Columns[0].title.caption:= 'Слово:';
dbgrid1.Columns[1].title.Caption:= 'Перевод:';
tbl.Active:= false;
case ds[1] of
'a'..'z', 'A'..'Z': tbl.TableName:= 'Eng_' + ds;
'а'..'я', 'А'..'Я', 'ё', 'Ё': tbl.TableName:='Rus_'+ds
else
begin
tbl.TableName:= 'Smile';
dbgrid1.Columns[0].title.caption:= 'Смайлик:';
dbgrid1.Columns[1].title.caption:= 'Значение:';
end;
end;
if (ds = 'н') or
(ds = 'Н') then tbl.TableName:= 'Rus_Н';
if (ds = 'е') or
(ds = 'ё') or
(ds = 'Е') or
(ds = 'Ё') then tbl.TableName:= 'Rus_ЕЁ';
if (ds = 'и') or
(ds = 'й') or
(ds = 'И') or
(ds = 'Й') then tbl.TableName:= 'Rus_ИЙ';
if (ds = 'ш') or
(ds = 'щ') or
(ds = 'Ш') or
(ds = 'Щ') then tbl.TableName:= 'Rus_ШЩ';
tbl.Active:= true;
end;
// Проверка на "запретные" русские буквы
function TfrmMain.tbn(ds: char): boolean;
begin
case ds of
'ь', 'ы', 'ъ', 'Ь', 'Ы', 'Ъ': Result:= false;
else
Result:= true;
end;
end;
// Какую кнопку утопить?
function TfrmMain.numsb(ds: char): string;
var
i: integer;
begin
for i := 1 to 26 do
begin
if sbEngRus.Down then
if (ds = eng[i])
or (ds = DownCase(eng[i])) then
begin
Result:= 'sb' + inttostr(i);
exit;
end
else
Result:= 'sbsml';
if sbRusEng.Down then
begin
if (ds = rus[i])
or (ds = DownCase(rus[i])) then
Result:= 'sb' + inttostr(i);
if (ds = 'н')
or (ds = 'Н') then Result:= 'sbsml';
if (ds = 'е')
or (ds = 'ё')
or (ds = 'Е')
or (ds = 'Ё') then Result:= 'sb' + inttostr(6);
if (ds = 'и')
or (ds = 'й')
or (ds = 'И')
or (ds = 'Й') then Result:= 'sb' + inttostr(9);
if (ds = 'ш')
or (ds = 'щ')
or (ds = 'Ш')
or (ds = 'Щ') then Result:= 'sb' + inttostr(23);
end;
end;
end;
//запись настроек пограммы
procedure TfrmMain.FormDestroy(Sender: TObject);
var
Text : TIniFile;
WS : string;
begin
Text:= TIniFile.Create(extractFileDir(ParamSTR(0)) + '\ABCdic.ini');
try
if WindowState=wsNormal then
begin
Text.WriteInteger('frmMain', 'Top', Top);
Text.WriteInteger('frmMain', 'Left', Left);
Text.WriteInteger('frmMain', 'Height', Height);
Text.WriteInteger('frmMain', 'Col', dbgrid1.Columns[0].Width);
WS:= 'wsNormal';
end
else
WS:= 'wsMaximized';
Text.WriteString('frmMain', 'WindowState', WS);
tbl.UpdateBatch;
finally
Text.Free;
end;
if trayicon1.Active then UnSetHk;
end;
//направление перевода
procedure TfrmMain.sbEngRusClick(Sender: TObject);
begin
sb1.Down:= true;
RusOrEng(true);
TabName('A');
end;
//направление перевода
procedure TfrmMain.sbRusEngClick(Sender: TObject);
begin
sb1.Down:= true;
RusOrEng(false);
TabName('А');
end;
//выравнивание таблицы по ширине
procedure TfrmMain.DBGrid1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
rs;
end;
procedure TfrmMain.rs;
begin
dbgrid1.Columns[1].Width :=
(dbgrid1.ClientWidth - 2) - dbgrid1.Columns[0].Width;
end;
//вывод справки пользователю
procedure TfrmMain.sbHelpClick(Sender: TObject);
begin
ShellExecute(0, nil, PChar('ABCdicHelp.chm'), nil, nil, SW_SHOWNORMAL);
end;
procedure TfrmMain.sb1Click(Sender: TObject);
begin
with
sender
as
TSpeedButton
do
TabName(caption);
end;
//поиск по базе
procedure TfrmMain.edFindKeyDown(Sender: TObject;
var Key: Word; Shift: TShiftState);
begin
timer1.Enabled:= false;
end;
//таймер поиска слова по базе
procedure TfrmMain.Timer1Timer(Sender: TObject);
var
s : string;
begin
s:= edFind.Text;
timer1.Enabled:= false;
if length(s) = 0 then
exit;
if tbn(s[1]) then
begin
case s[1] of
'a'..'z', 'A'..'Z' :
begin
RusOrEng(true);
sbEngRus.Down:= true;
end;
'а'..'я', 'А'..'Я', 'ё', 'Ё' :
begin
RusOrEng(false);
sbRusEng.Down:= true;
end;
else
RusOrEng(true);
end;
with
FindComponent(numsb(s[1]))
as
TSpeedButton
do
Down := true;
tbl.Active:= false;
TabName(s[1]);
tbl.Active:= true;
tbl.Locate('word', s, [loPartialKey]);
end
else exit;
end;
//ввод нового перевода
procedure TfrmMain.sbNewClick(Sender: TObject);
begin
frmms.PnlEdit.Visible:= true;
frmms.PnlConf.Visible:= false;
frmms.ShowHint:= true;
frmms.PnlEdit.Enabled:= true;
frmms.memo1.Font.Color:= clWindowText;
frmms.Edit1.Enabled:= true;
frmms.Edit1.Text:= '';
frmms.Memo1.Lines.Text:= '';
frmms.Caption:= 'Новая запись';
frmms.sbAdd.Hint:= 'Добавить';
frmms.ShowModal;
end;
//правка перевода
procedure TfrmMain.sbEditClick(Sender: TObject);
begin
frmms.PnlEdit.Visible:= true;
frmms.PnlConf.Visible:= false;
frmms.ShowHint:= true;
frmms.PnlEdit.Enabled:= true;
frmms.Edit1.Text:= dbgrid1.Fields[0].Text;
frmms.Edit1.Enabled:= false;
frmms.memo1.Font.Color:= clWindowText;
frmms.Memo1.Text:= dbgrid1.Fields[1].Text;
frmms.Caption:= 'Редактирование записи';
frmms.sbAdd.Hint:= 'Применить';
frmms.Memo1.SelectAll;
frmms.ShowModal;
end;
//удаление слова из базы
procedure TfrmMain.sbDelClick(Sender: TObject);
begin
frmms.PnlEdit.Visible:= true;
frmms.PnlConf.Visible:= false;
frmms.ShowHint:= false;
frmms.caption := 'Внимание';
frmms.label1.Visible:= false;
frmms.label5.Visible:= false;
frmms.edit1.Visible := false;
frmms.memo1.Visible := false;
frmms.lbmes.Caption :=
'Удалить запись ' +
#13 +
'" '+ dbgrid1.Fields[0].Text + ' " -' +
#13 +
'" '+ frmms.obrez(dbgrid1.Fields[1].Text) + ' ... "'+
#13 +
'из базы данных словаря?';
frmms.lbmes.Visible:= true;
frmms.sbAdd.Hint:= 'Удалить';
frmms.ShowModal;
end;
//выход из программы
procedure TfrmMain.sbExitClick(Sender: TObject);
begin
Close;
end;
//настройки программы
procedure TfrmMain.sbConfClick(Sender: TObject);
begin
frmms.PnlEdit.Visible:= false;
frmms.PnlConf.Visible:= true;
frmms.ShowHint:= false;
frmms.caption:= ' ABCdic - Настройки';
LoadConf;
frmms.sbAdd.Hint:= 'Применить';
frmms.ShowModal;
end;
//подсказка в трее
procedure TfrmMain.TrPopChange(Sender: TObject; Source: TMenuItem;
Rebuild: Boolean);
begin
if visible then
n1.Caption:= 'Закрыть словарь'
else
n1.Caption:= 'Словарь...';
end;
procedure TfrmMain.N1Click(Sender: TObject);
begin
if n1.Caption = 'Словарь...' then
visible:= true
else
visible:= false;
end;
// Происходит при завершении работы Windows
procedure TfrmMain.WMQueryEndSession(
var Msg:TWMQueryEndSession);
begin
CnClose:= true;// Можно закрывать
msg.Result:= 1;
end;
procedure TfrmMain.FormCloseQuery(Sender: TObject;
var CanClose: Boolean);
begin
if TrayIcon1.Active then
CanClose:= CnClose
else
CanClose:= true;
visible := false;
end;
procedure TfrmMain.N3Click(Sender: TObject);
begin
CnClose:= true;
close;
end;
end.
Размещено на Allbest.ru
Подобные документы
Требования к функциональным характеристикам программы, составу и параметрам технических средств, программной совместимости. Особенности программирования в среде Access. Описание интерфейса программы, ввод и редактирование данных, добавление новых книг.
курсовая работа [1,5 M], добавлен 17.11.2010Разработка игровой программы "разгадывания кроссворда". Создание схемы хранения данных, изучение возможности среды программирования. Требования к функциональным характеристикам, составу и параметрам технических средств, информационной совместимости.
курсовая работа [403,9 K], добавлен 26.03.2015Требования к функциональным характеристикам, составу и параметрам технических средств, информационной и программной совместимости. Описание программы: общие сведения, логическая структура. Средства и порядок испытаний. Входные и выходные данные.
курсовая работа [6,3 M], добавлен 12.01.2015Требования к информационной и программной совместимости. Описание алгоритма и задач. Разработка программы, предназначенной для работы с системой обработки данных и для оформления сопровождающей документации. Схема работы кадровой службы с программой.
отчет по практике [1,9 M], добавлен 13.12.2011Технико-экономические показатели деятельности организации. Требования к информационной и программной совместимости. Описание нормативно-справочной информации. Требования к функциональным характеристикам. Руководство пользователя и программиста.
отчет по практике [43,4 K], добавлен 23.02.2011Развитие эффективных способов воспроизведения музыкальной информации без потери качества. Требования к функциональным характеристикам, к надежности и безопасности, к составу и параметрам технических средств, к информационной и программной совместимости.
курсовая работа [496,0 K], добавлен 03.12.2010Описание этапов разработки программы "дневник": формулирование проблемной ситуации, определение технических требований в функциональным характеристикам и надежности программы, проектирование интерфейса, создание алгоритмов. Тестирование готового продукта.
курсовая работа [1,7 M], добавлен 26.12.2011Разработка и реализация проекта информационной системы, предназначенной для хранения сведения о клиентах и недвижимости. Моделирование и реализация информационной системы. Разработка пользовательского интерфейса. Затраты на написание программы и отладку.
курсовая работа [1,0 M], добавлен 30.06.2022Основные функции автоматизированной системы "Решатель математических формул". Требования к техническим средствам, информационной и программной совместимости. Стратегии конструирования программного обеспечения. Проектирование, разработка программного кода.
курсовая работа [600,0 K], добавлен 25.02.2012Составление программы-переводчика текста. Обеспечение пословного перевода. Сценарий работы проекта. Главное окно переводчика. Направление перевода. Изменение состояния панелей инструментов с помощью контекстного меню. Окно Tutor. Документация проекта.
курсовая работа [725,6 K], добавлен 11.10.2008