Создание программы-переводчика

Создание программы, предназначенной для перевода слов с русского на английский и наоборот. Разработка системного проекта. Требования к функциональным характеристикам, информационной и программной совместимости. Начальная контекстная диаграмма 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

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.