Створення електронного словника комп'ютерних термінів у середовищі візуального програмування Delphi.

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2005
Тип роботи:
Інструкція та методичні настанови
Предмет:
Застосування засобів об’єктно-орієнтованого програмування у лінгвістичних задачах

Частина тексту файла (без зображень, графіків і формул):

МІНІСТЕРСТВО ОСВІТИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА” Створення електронного словника комп'ютерних термінів у середовищі візуального програмування Delphi. ІНСТРУКЦІЯ до лабораторної роботи № 6 з курсу “Застосування засобів об’єктно-орієнтованого програмування в лінгвістичних задачах” спеціальності 07.030505 “Прикладна лінгвістика”. ЗАТВЕРДЖЕНО На засіданні кафедри “Системи Автоматизованого проектування” Протокол №___ від _________ Львів - 2005 Мета роботи: Створити програму, яка буде працювати з базою даних – словником у вигляді файлу записів. Полями кожного запису є: слово та його переклад. Необхідно реалізувати наступні операції: створення та видалення запису, збереження і зчитування з диску файлу записів, редагування та пошук необхідних даних, прогляд записів та навігацію по них. Теоретичні відомості. Дана лабораторна робота присвячене укладанню електронного словника комп'ютерних термінів. Розповсюдження персональних комп'ютерів і створення Інтернету залучило до цієї сфери широкі верстви населення, які сприйняли і збагатили комп'ютерну лексику. Це зумовило значний ріст термінологічної лексики: виникнення нових термінів, а також розширення значень уже існуючих термінів. У результаті виникає потреба укладання великої кількості різноманітних галузевих та інших словників, а також публікацій, які стосуються принципів укладання словників цих нових терміно-систем. Як відомо, основних способів словотворення є два: морфологічний і неморфологічний. При цьому серед морфологічних способів виділяють афіксальні (суфіксальний, префіксальний, префіксально-суфіксальний), безафіксний, основоскладання, абревіація. До неморфологічних способів творення належать морфолого-синтаксичний (набуття нового значення при переході слова з однієї частини мови в іншу), лексико-синтаксичний (нове слово утворюється в результаті зрощення слів словосполучення в одне слово) та лексико-семантичний (метафоричне переосмислення уже існуючих у мові слів). Двомовний словник дає користувачу відомості не лише про відмінювання слів, але і про словотвір, морфемний поділ, про особливість вживання даного виразу тощо. В окремих словниках широко відображена синтаксична сполучуваність. Створення електронного словника комп’ютерних темінів дає змогу швидкого пошуку потрібного слова, ніж гортання сторінок книжок. У цьому словнику використанні велика кількість найчастіше вживаних комп’ютерних термінів. Українська мова функціонуватиме як повноцінна світова мова лише у тому разі, якщо нею заговорять комп'ютери. Частина 1. Порядок виконання роботи 1. Створити форму назвати її Dictionary. 2. Створити поля ComboBox1, ComboBox2 відображення слів словника. В полі ComboBox1 верхня половина призначена для швидкого пошуку слова в словнику, або вибору з переліку слів. Нижня призначена для перекладених слів словника. ComboBox2.   3. Тепер напишемо обробник подій при натисканні на пункт меню "Go". Що приводить до перекладу слова з однієї мови на іншу.   procedure TForm1.BitBtn1Click(Sender: TObject); var temp:integer; begin temp:=form1.ComboBox1.ItemIndex; form1.ComboBox2.Text:=form1.ComboBox2.Items[temp]; end; 4. Створемо також кнопку статусу яка вказує з якої мови ми перекладаємо «Англ-Укр» або «Укр-Англ».   5. Створити меню словника, яке повинно мати наступні функції та автоматично вказують тип перекладу«Англ-Укр» або «Укр-Англ»:  procedure TForm1.EngUk1Click(Sender: TObject); begin status:=1; read_u; read_2; form1.ComboBox1.SetFocus; form1.Label1.Caption:='Status: En-Uk'; end;  procedure TForm1.UkEn1Click(Sender: TObject); begin status:=2; read_u; read_2; form1.ComboBox1.SetFocus; form1.Label1.Caption:='Status: Uk-En'; end; 6. Створемо окрему програму яка буде додавати в словник окремі слова   unit Unit2; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm2 = class(TForm) Button1: TButton; Button2: TButton; Memo1: TMemo; Memo2: TMemo; Label1: TLabel; Label2: TLabel; procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form2: TForm2; implementation {$R *.dfm} procedure TForm2.FormCreate(Sender: TObject); begin form2.Memo1.Clear; form2.Memo2.Clear; form2.Button1.ModalResult:=mrOk; form2.Button2.ModalResult:=mrCancel; end; end. 7. Запишемо процедуру яка буде виконувати зчитування нашого словника з текстового файлу. Наприклад data.txt: procedure read_u; var f:text; par:integer; str,str2,str3:string; begin form1.ListBox1.Clear; if status=2 then begin assignfile(f,ExtractFilePath(application.ExeName)+'data.txt'); reset(f); while not eof(f) do begin readln(f,str); par:=pos(':',str); if par<>0 then begin str2:=(copy(str,0,par-1)); str3:=(copy(str,par+2,length(str)-par)); form1.ListBox1.Items.Add(str3+':'+' '+str2); end; end; closefile(f); end; if status=1 then form1.ListBox1.Items.LoadFromFile(ExtractFilePath(application.ExeName)+'data.txt'); form1.ListBox1.Sorted:=false; form1.ListBox1.Sorted:=true; end; 8. procedure read_2; var par,lich:integer; str:string; begin form1.ComboBox1.Clear; form1.ComboBox2.Clear; for lich:=0 to form1.ListBox1.Count-1 do begin str:=form1.ListBox1.Items[lich]; par:=pos(':',str); if par<>0 then begin form1.ComboBox1.Items.Add(copy(str,0,par-1)); form1.ComboBox2.Items.Add(copy(str,par+1,length(str)-par)); end; end; end; 1 Контрольні запитання. Компонент MainMenu? Яким чином можна додати в меню “About” або “Help”. Яка функція відкриває файл. Що робить ф-я Pos. Що робить ф-я Copy. 6. Що робить ф-я Length. Зміст звіту Титульна сторінка. Мета роботи. Теоретичні відомості. Приклад створеної програми. Вихідні результати. Висновок. Додатки Код програми Unit1.pas unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons, Menus; type TForm1 = class(TForm) ComboBox1: TComboBox; ComboBox2: TComboBox; BitBtn1: TBitBtn; MainMenu1: TMainMenu; temp11: TMenuItem; temp21: TMenuItem; tp11: TMenuItem; ListBox1: TListBox; EngUk1: TMenuItem; UkEn1: TMenuItem; Label1: TLabel; procedure FormCreate(Sender: TObject); procedure BitBtn1Click(Sender: TObject); procedure tp11Click(Sender: TObject); procedure EngUk1Click(Sender: TObject); procedure UkEn1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; status:integer; implementation uses Unit2; procedure read_u; var f:text; par:integer; str,str2,str3:string; begin form1.ListBox1.Clear; if status=2 then begin assignfile(f,ExtractFilePath(application.ExeName)+'data.txt'); reset(f); while not eof(f) do begin readln(f,str); par:=pos(':',str); if par<>0 then begin str2:=(copy(str,0,par-1)); str3:=(copy(str,par+2,length(str)-par)); form1.ListBox1.Items.Add(str3+':'+' '+str2); end; end; closefile(f); end; if status=1 then form1.ListBox1.Items.LoadFromFile(ExtractFilePath(application.ExeName)+'data.txt'); form1.ListBox1.Sorted:=false; form1.ListBox1.Sorted:=true; end; procedure read_2; var par,lich:integer; str:string; begin form1.ComboBox1.Clear; form1.ComboBox2.Clear; for lich:=0 to form1.ListBox1.Count-1 do begin str:=form1.ListBox1.Items[lich]; par:=pos(':',str); if par<>0 then begin form1.ComboBox1.Items.Add(copy(str,0,par-1)); form1.ComboBox2.Items.Add(copy(str,par+1,length(str)-par)); end; end; end; {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin status:=1; form1.Label1.Caption:='Status: En-Uk'; read_u; read_2; end; procedure TForm1.BitBtn1Click(Sender: TObject); var temp:integer; begin temp:=form1.ComboBox1.ItemIndex; //form1.Memo1.Lines.Add(form1.ComboBox1.Items[temp]); form1.ComboBox2.Text:=form1.ComboBox2.Items[temp]; end; procedure TForm1.tp11Click(Sender: TObject); var lich:Integer; res:TModalResult; begin ///// status:=1; read_u; read_2; form1.ComboBox1.SetFocus; form1.Label1.Caption:='Status: En-Uk'; /////// form2.Memo1.Clear; form2.Memo2.Clear; form2.ShowModal; if form2.ModalResult=mrOk then begin for lich:=0 to form2.Memo1.Lines.Count-1 do begin if form1.ComboBox1.Items.IndexOf(form2.Memo1.Lines[lich])<>-1 then begin res:=MessageDlg('the worb'+' '+form2.Memo1.Lines[lich]+' '+'is in',mtInformation,[mbNo, mbOk],0); if res=mrOk then begin form1.ListBox1.Items.Delete(form1.ComboBox1.Items.IndexOf(form2.Memo1.Lines[lich])); form1.ListBox1.Items.Add(form2.Memo1.Lines[lich]+':'+' '+form2.Memo2.Lines[lich]); form1.ListBox1.Sorted:=false; form1.ListBox1.Sorted:=true; end; end else begin form1.ListBox1.Items.Add(form2.Memo1.Lines[lich]+':'+' '+form2.Memo2.Lines[lich]); form1.ListBox1.Sorted:=false; form1.ListBox1.Sorted:=true; end; end; form1.ListBox1.Items.SaveToFile(ExtractFilePath(application.ExeName)+'data.txt'); end; //form1.ListBox1.Refresh; read_u; read_2; end; procedure TForm1.EngUk1Click(Sender: TObject); begin status:=1; read_u; read_2; form1.ComboBox1.SetFocus; form1.Label1.Caption:='Status: En-Uk'; end; procedure TForm1.UkEn1Click(Sender: TObject); begin status:=2; read_u; read_2; form1.ComboBox1.SetFocus; form1.Label1.Caption:='Status: Uk-En'; end; end. Unit1.dfm object Form1: TForm1 Left = 309 Top = 192 BorderIcons = [biSystemMenu, biMinimize] BorderStyle = bsSingle Caption = 'Dictionary' ClientHeight = 280 ClientWidth = 537 Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -11 Font.Name = 'MS Sans Serif' Font.Style = [] Menu = MainMenu1 OldCreateOrder = False Visible = True OnCreate = FormCreate PixelsPerInch = 96 TextHeight = 13 object Label1: TLabel Left = 448 Top = 0 Width = 32 Height = 13 Caption = 'Label1' end object ComboBox1: TComboBox Left = 32 Top = 24 Width = 481 Height = 169 Style = csSimple ItemHeight = 13 TabOrder = 0 end object ComboBox2: TComboBox Left = 32 Top = 208 Width = 481 Height = 21 Style = csSimple ItemHeight = 13 TabOrder = 1 end object BitBtn1: TBitBtn Left = 240 Top = 240 Width = 75 Height = 25 Caption = '&Go' TabOrder = 2 OnClick = BitBtn1Click Kind = bkIgnore end object ListBox1: TListBox Left = 489 Top = 248 Width = 16 Height = 17 ItemHeight = 13 TabOrder = 3 Visible = False end object MainMenu1: TMainMenu object temp11: TMenuItem Caption = '&Status' object EngUk1: TMenuItem Caption = 'En-Uk' OnClick = EngUk1Click end object UkEn1: TMenuItem Caption = 'Uk-En' OnClick = UkEn1Click end end object temp21: TMenuItem Caption = '&Add word' object tp11: TMenuItem Caption = 'Add' OnClick = tp11Click end end end end Dictionary.dpr program Education; uses Forms, Unit1 in 'Unit1.pas' {Form1}, Unit2 in 'Unit2.pas' {Form2}; {$R *.res} begin Application.Initialize; Application.Title := 'Education'; Application.CreateForm(TForm1, Form1); Application.CreateForm(TForm2, Form2); Application.Run; end. Mодуль Unit2.pas unit Unit2; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm2 = class(TForm) Button1: TButton; Button2: TButton; Memo1: TMemo; Memo2: TMemo; Label1: TLabel; Label2: TLabel; procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form2: TForm2; implementation {$R *.dfm} procedure TForm2.FormCreate(Sender: TObject); begin form2.Memo1.Clear; form2.Memo2.Clear; form2.Button1.ModalResult:=mrOk; form2.Button2.ModalResult:=mrCancel; end; end.
Антиботан аватар за замовчуванням

01.01.1970 03:01-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!