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

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

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

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

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

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

МІНІСТЕРСТВО ОСВІТИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА” Створення електронного словника комп'ютерних термінів у середовищі візуального програмування 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.
Антиботан аватар за замовчуванням

2015

Коментарі

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

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

Нічого не вибрано
0%

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

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

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

Admin

26.02.2023 12:38

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