«Объектга йўналтирилган дастурлаш тиллари» ни ўрганишда интерактив ўқитиш услубиёти


Delphi дастурлаш тилининг яратилиши информатика курсидаги файллар тушунчалари билан ишлашнинг янги босқичга ўтишига имкон яратилди. Delphi


Download 1.85 Mb.
bet6/12
Sana07.03.2023
Hajmi1.85 Mb.
#1243688
1   2   3   4   5   6   7   8   9   ...   12
Bog'liq
delphi CASE1

Delphi дастурлаш тилининг яратилиши информатика курсидаги файллар тушунчалари билан ишлашнинг янги босқичга ўтишига имкон яратилди.
Delphi дастурлаш тилида “Файллар” мавзусини ўрганишда кейс стадидан фойдаланишнинг қуйидаги вариантлари бўлиши мумкин.

  1. Файл ўзгарувчиларидаги case study.

  2. Файл яратишдаги case study.

  3. Файл очишдаги case study.

  4. Файл сақлашдаги case study.

  5. Якка тартибдаги матн мухарири лойиҳаларидаги case study.

  6. Кўп ойнакли матн мухарири лойиҳаларидаги case study.

Кейс муаммолари материаллари бўйича очиқ бахсни ташкил қилишда асосий фактор талабаларнинг билим ва кўникмаларини орттиришга қаратилади ва ўқитувчининг бахсни ташкил этиш махоратига боғлиқ бўлади. Муаммо қўйилганда ўқувчилар диққатини кейс матни мазмунига қаратилиши керак.

  1. кейс. Кичик гурух олдига Delphi да файллар билан ишлаш муаммоси қўйилади. Кичик гурух аъзолари қўйилган муаммонинг ечимларини хал қилишда фаол иштирок этишини ўқитувчи назорат қилади. Улар дастлаб файл тушунчаларини изохлаб берадилар.

Ихтиёрий типли файллар ташқи хотира қурилмасида сақланади. Файл таркиби матнлар , сонлар ва бошқа ихтиёрий типли ахборотлардан иборат бўлиши мумкин.
Одатда файл файл номи ва кенгайтмасидан иборат бўлиб типли ва типсиз файлларга бўлинади. Файл номи 255 тагача лотин, рус харфларидан ва рақамлардан иборат бўлиши мумкин.файл кенгайтмаси файл номи билан нуқта орқали ажратилади ва учта символдан иборат бўлиб, файл типига кўра у қайси мухитга таалуқли эканлигини билиш мумкин. Масалан,
Txt,doc матнлар
Pas Паскалда ёзилган дастур
Asm ассемблерда ёзилган дастур
Arj архивли файл
Hlp ёрдам файли
Хар қандай файлларни учта характерли хусусияти мавжуд.

  • Хар қандай файл номга ва кенгайтмага эга бўлади ва бир вақтда программада бир неча файллар билан ишлаш имконига эга бўлади.

  • Файл бир хил типли компонентлардан таркиб топади.

  • Янги яратилаётган файлнинг узунлиги олдиндан эълон қилинмайди.

Хар қандай файлларни:



  • Типли файллар

  • Типсиз файллар

  • Матнли файллар билан ифодалаш мумкин.

Стандарт ўзгарувчилардан ташқари файлли ўзгарувчилар хам var бўлимда эълон қилиниши шарт. Масалан:
Var f1:File of char;
F2. textfile;
F3: file;
Гурух аъзолари файл ўзгарувчилари билан ишлашда фойдаланиладиган операторлар, процедуралар ва функцияларнинг маънолари ва вазифалари тўғрисида батафсил маълумотлар берадилар

  1. кейс. Файл яратишдаги кейслар бевосита Delphi нинг имкониятлари билан боғлиқ бўлади. Кичик гурух файллар яратиш учун Delphi да лойихалар яратиш билан мавзунинг мазмунини изохлаб берадилар.

Программали иш тартибида файллар устида турли амалларни бажариш мумкин. Янги матнли файл яратиш дастури қуйидагича.
А) матнли файл яратиш.
var f:textfile;
begin
assignfile(f,'c:\a1.txt');
rewrite(f);
write(f,'oddiy matnli file 123 123 345');
closefile(f);
end;
Дастурдан кўринадики, f файлли ўзгарувчи бўлиб, у textfile – матнли файлдан иборат бўлади. assignfile(f,'c:\a1.txt'); процедураси винчестрнинг ўзак каталогида a1.txt номли матнли файлни яратиш учун хизмат қилади. rewrite(f) процедураси янги яратилаётган файллар учун тадбиқ қилинади. Файл таркиби тозаланади. write(f,'oddiy matnli file 123 123 345') процедураси f матнли файл таркибига апостроф ичидаги матнни ёзиш учун тайинланган. closefile(f) процедураси f матнли файлни беркитиш учун хизмат қилади.
Б) Типли файл яратиш. Файл таркиби бутун типли катталиклардан иборат бўлсин. Типли файл яратиш дастурини қуйидагича ифодалаш мумкин.
procedure TForm1.Button1Click(Sender: TObject);
var f: file of integer;
i,j,sum:integer;
s:string;
begin
assignfile(f,'c:\d1.dat');
s:=inputbox('Kiritish','birinchi son',' ');
i:=strtoint(s);
rewrite(f);
showmessage('yozilmoqda');
write(f,i);
s:=inputbox('Kiritish','ikkinchi son',' ');
j:=strtoint(s);
showmessage('yozilmoqda');
write(f,j);
s:=inputbox('Kiritish','birinchi son',' ');
sum:=i+j;
showmessage('yozilmoqda');
write(f,sum);
closefile(f);
end;
end.

Дастурдан кўринадики, файлнинг элементларини клавиатура орқали киритиш учун inputbox функциясидан фойдаланилади. Унинг параметрлари ўзига хос хусусиятларга эга. Биринчи параметр хосил бўлаётган панелнинг сарлавха қисмини ифодалаш учун, иккинчи параметр киритилаётган катталик изоҳи учун, учунчи параметр қиймат киритиш дарчаси учун тайинланган.


Showmessage мунозарали ойнакни активлаштириш учун тайинланган.
В) Файллар яратишда энг содда айрим лойихалар.
Лойихадаги edit1 объект ихтиёрий қурилма ва папкага ихтиёрий файл номи билан шаклланиши учун, edit2 объект эса файл таркибига ихтиёрий матнларни клавиатура орқали киритиш имконини беради. Лойиха ишга туширилганда ўзгариш сезилмайди. edit1да кўрсатилган қурилма ва файл номига курсор келтирилиб, чап тугмача тез босилса, блокнот ишга тушади ва файл таркиби юкланган бўлади.

var f1:textfile;
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
assignfile(f1,edit1.text);
rewrite(f1);
w файл номи ва rite(f1,edit2.text);
closefile(f1);
end;
Г) Файл номи ва файл таркиби edit объектсиз клавиатура орқали киритиш муаммоси қўйилса қуйидаги дастурдан фойдаланиш тавсия этилади.
var f1:textfile;
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
assignfile(f1,inputbox(‘kiritish’,’ fayl nomi va yoli’,’ ‘);
rewrite(f1);
write(f1, inputbox(‘kiritish’,’ fayl tarkibini kiriting’,’ ‘);
closefile(f1);
end;
Дастурдан кўринадики, файлнинг элементларини клавиатура орқали киритиш учун inputbox функциясидан фойдаланилади. Унинг параметрлари ўзига хос хусусиятларга эга. Биринчи параметр хосил бўлаётган панелнинг сарлавха қисмини ифодалаш учун, иккинчи параметр киритилаётган катталик изоҳи учун, учунчи параметр қиймат киритиш дарчаси учун тайинланган.
3- кейс. Мавжуд файлларни очиш билан боғлиқ бўлган муаммолар қуйидагилардан иборат бўлади
А) Илгари яратилган матнли файл таркибини программа иш тартибида очиб таркибидаги маълумотлар охирига янги ахборотларни қўшиш учун қуйидаги дастурдан фойдаланиш мумкин.
var f:textfile;
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin ;
assignfile(f,'d:\a1.txt');
append(f);
write(f,'talaba');
closefile(f);
end;
end.
Б) Илгари яратилган типли файл таркибини программа иш тартибида очиб таркибидаги маълумотларни ўзгарувчиларга ўзлаштириб олиб уларнинг қийматларини мос компонентларга чиқаришда қуйидаги дастурдан фойдаланиш мумкин.
procedure TForm1.Button1Click(Sender: TObject);
var f:file of integer;
i,j,sum:integer;
begin
assignfile(f,'c:\d1.dat');
reset(f);
read(f,i);
edit1.text:=inttostr(i);
read(f,j);
edit2.text:=inttostr(j);
read(f,sum);
edit3.text:=inttostr(sum);
closefile(f);
end;
end.
В) Матнли файлни очиш, ундаги матнларни ўқиш ва Мемо ойнагига чиқариш дастурини яратишда дастлаб файл мавжудлигини текшириб олиш мақсадга мувофиқ бўлади.
.
Расмдан кўринадики, Мемо1 компонент хусусиятларидаги scroolbar параметридан фойдаланиб горизонтал ва вертикал йўналишлар бўйича Мемо1 ойнакнинг кўриниши бошқариш амлгаоширилади.
Лойихадаги Botton1.caption:=’Файлдан матнни ўқиш‘ ва Label1.caption:=’ файлдаги матн ‘ ифодалар Botton1, Label1 компонент хусусиятларининг .caption сарлавхасига ўзлаштириб олинади.
var f:textfile;
ch:char;
begin
assignfile(f,'c:\a1.txt');
{$I-}
reset(f);
{$I+}
if iorezult=0 then begin
while not eof(f) do
begin
read(f,ch);
memo1.Text:=memo1.Text+ch;
end;
closefile(f);
end
else
showmessage('file topilmadi');
end;
Дастурдан кўринадики, дастлаб файлнинг мавжудлиги текширилади, сўнг файл очилгандаги унда мавжуд бўлган хар бир символ Мемо1 дарчага ўқиб олинади. Файлнинг охирини белгилаш eof(f) мантиқий функция рост қийматга эга бўлиши билан бошқарилади.
Г) Мавжуд матнли файлни очишда Delphi нинг компонентларидан фойдаланиш мумкин. Standart компонентлар соҳасидан memo,button объектларни ва dialog компонентлар сохасидан opendialog объектларни form1 га жойлаймиз ва уларнинг хусусиятларини ўзгартирамиз. Масалан, opendialog объектнинг filter хусусиятини танлаб очиладиган файл типларини ўрнатиш мумкин бўлади
Opendialog иштирокидаги файл очиш дастурини қуйидагича ифодалаш мумкин
var
Form1: TForm1;
fname:string;
f:textfile;
s:string;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
if opendialog1.Execute then
begin
assignfile(f,opendialog1.FileName);
fname:= opendialog1.filename;
reset(f);
readln(f,s);
memo1.Text:=s;
closefile(f);
end;
end;
4 кейс. Файл сақлаш билан боғлиқ бўлган муаммоларни ечишда Delphi нинг компонентларидан кенг фойдаланишни намойиш этиш мумкин. Memo объектга файл таркибига киритиладиган ихтиёрий матнларни клавиатура орқали киритиш мумкин. Уларни файл сифатида сақлаш учун savedialog объектдан фойдаланилади. Файл сақлаш дастури қуйидагича бўлади
Матнли файл кенгайтмаси ва номини бериш ва папкани танлаш учун Savedialog усулидан фойдаланиб Мемо дан матнни матнли файлга сақлаш дастури тузилсин. Бунинг учун Memo1, botton1, label1 компонентлардан иборат лойиха яратилади. Сўнг Memo1 дарча барча ахборотлардан тозалаб олинади. botton1. caption:=”матнли файлни сақлаш”, label1. caption:=”Матнни киритинг” каби аниқликлар киритилади.

Savedialog компонентни активлаштириш учун View менюсининг Component list буйруғи танланади. Экранда компонентлар рўйхати панели акс этади. Қидирилаётган компонент номини дарча орқали киритиш мумкин ёки варақлаб зарурий компонентга ўтиш мумкин. Панелдаги add to form лойихага қўшиш тугмача танланса унинг нишони form1 да акс этади. Яратилган компонент визуал эмаслигидан form1даги вазияти ахамиятсиз.
Мемо1 даги матнни Savedialog ёрдамида сақлашда файлнинг типини танлаш зарур бўлади Savedialog компонентнинг инспектор объектидаги филтр хусусият танланади. Экранга филтрни тахрирлаш оёнаги акс этади. Бу жараён хам расмда кўрсатилган.

Мемо1 ойнакдаги критилган матнни файл сифатида сақлаш дастури қуйидагича.
var
Form1: TForm1;
fname:string;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
fname:='text1';
savedialog1.FileName:=fname;
if savedialog1.Execute then begin
fname:=savedialog1.filename;
case savedialog1.FilterIndex of
1: fname:=fname+'.txt';
2: fname:=fname+'.doc';
end;
memo1.Lines.SaveToFile(fname);
end;
end;
программа ишга туширилгандан сўнг мемо1 ойнак тозалаб юборилади ва матн клавиатура орқали киритилади. Кўп қаторли ойнакда матн тўлиқ киритилиб бўлгандан сўнг сақлаш тугмачасини босиш билан файл номини, унинг кенгайтмасини ва файл сақланадиган папка ёки қурилмани танлаш мумкин бўлади.
Savedialog компонент ўрнатилганлиги туфайли файлни сақлаш тугмачаси босилганда қуйидаги панел хосил бўлади. Windows системасидаги файллар билан ишлаш амаллари бажарилади.



  1. кейс. Якка тартибдаги матн мухарири яратиш муаммолари.

  1. Delphi ишга туширилади ва янги лойиха яратиш дарчасидан SDI Application ( single document interface) танланади ва ОК тугмачаси босилади. Натижада якка тартибдаги матн мухарирининг каркаси автоматик шаклда яратилган бўлади.



unit SDIMAIN;
interface
uses Winapi.Windows, System.Classes, Vcl.Graphics, Vcl.Forms, Vcl.Controls,
Vcl.Menus, Vcl.Dialogs, Vcl.StdCtrls, Vcl.Buttons, Vcl.ExtCtrls, Vcl.ComCtrls,
Vcl.ImgList, Vcl.StdActns, Vcl.ActnList, Vcl.ToolWin, System.Actions;

type
TSDIAppForm = class(TForm)


OpenDialog: TOpenDialog;
SaveDialog: TSaveDialog;
ToolBar1: TToolBar;
ToolButton9: TToolButton;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
ToolButton4: TToolButton;
ToolButton5: TToolButton;
ToolButton6: TToolButton;
ActionList1: TActionList;
FileNew1: TAction;
FileOpen1: TAction;
FileSave1: TAction;
FileSaveAs1: TAction;
FileExit1: TAction;
EditCut1: TEditCut;
EditCopy1: TEditCopy;
EditPaste1: TEditPaste;
HelpAbout1: TAction;
StatusBar: TStatusBar;
ImageList1: TImageList;
MainMenu1: TMainMenu;
File1: TMenuItem;
FileNewItem: TMenuItem;
FileOpenItem: TMenuItem;
FileSaveItem: TMenuItem;
FileSaveAsItem: TMenuItem;
N1: TMenuItem;
FileExitItem: TMenuItem;
Edit1: TMenuItem;
CutItem: TMenuItem;
CopyItem: TMenuItem;
PasteItem: TMenuItem;
Help1: TMenuItem;
HelpAboutItem: TMenuItem;
RichEdit1: TRichEdit;
procedure FileNew1Execute(Sender: TObject);
procedure FileOpen1Execute(Sender: TObject);
procedure FileSave1Execute(Sender: TObject);
procedure FileExit1Execute(Sender: TObject);
procedure HelpAbout1Execute(Sender: TObject);
procedure CutItemClick(Sender: TObject);
procedure CopyItemClick(Sender: TObject);
procedure PasteItemClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
SDIAppForm: TSDIAppForm;

implementation

uses About;

{$R *.dfm}

procedure TSDIAppForm.FileNew1Execute(Sender: TObject);


begin
richedit1.Text:=' '; { Do nothing }
end;
procedure TSDIAppForm.FileOpen1Execute(Sender: TObject);
begin
if OpenDialog.Execute then
richedit1.Lines.LoadFromFile(opendialog.FileName);
end;
procedure TSDIAppForm.FileSave1Execute(Sender: TObject);
begin
if SaveDialog.Execute then
richedit1.Lines.SaveToFile(savedialog.FileName);
end;
procedure TSDIAppForm.CopyItemClick(Sender: TObject);
begin
richedit1.CopyToClipboard;
end;
procedure TSDIAppForm.CutItemClick(Sender: TObject);
begin
richedit1.CutToClipboard;
end;
procedure TSDIAppForm.FileExit1Execute(Sender: TObject);
begin
Close;
end;
procedure TSDIAppForm.HelpAbout1Execute(Sender: TObject);
begin
AboutBox.ShowModal;
end;
procedure TSDIAppForm.PasteItemClick(Sender: TObject);
begin
richedit1.PasteFromClipboard;
end;
end.

  1. Кўп ойнакли матн мухаририда файллар билан ишлаш муаммолари

Delfi algoritmik tilida turli xil ilovalarni yaratish, dasturlash bilan amalga oshirish oson bajariladi. Windows ilovalaridan biri matn muharririni yaratish texnologiyasi quyidagicha amalga oshiriladi. Ko’p oynali matn muharririni yaratishda dastlab delfi algorotmik tili ishga tushiriladi.

Form1 ni xususiyatlarini o’zgartirish quyidagicha amalga oshiriladi. Form1 ko’p oynali matn muharriri uchun asosiy formani tashkil qiladi. Shuning uchun uning xususiyatlarini quyidagicha o’zgartirish mumkin. Form1 ning sarlavhasini o’zgartirish object inspector ning CAPTION qismi tanlanadi.


Download 1.85 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   ...   12




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling