Screen. Cursor:=crDerault;
аперапторын енгізу керек.
2. Көрсеткішті қолдан дайындау
Көрсеткішті стандартты емес түрде колдан суретін салып дайындауға болады. Жаңа ашып, Тools-ImageEditor (Сервис-сурет редакторы) командасын, көрінген терезеде File-New- Resource File [.res] (Файл-жаңа- ресурстық файл) командасын беру. Res кеңейтілуімен жазылатын ресурстық файлдарды құру терезесі ашылады;
Терезені оң түймемен шертіп, көрінген контексті мәзірден New-Cursor командасын беру. Терезенің Contentes бөлімінде Cursor белгішесі құрылып, оған Cursor1файылы жазылып қойылады.
Контексті мәзізді пайдаланып не Resource – Rename командасын беріп, Cursor1 атауын бас әріптермен жазылған басқа атауға өзгерту (мысалы, MYCURSOR);
Көрсеткіш мөлшерін белгілеу. Ол үшін терезенің оң белдеушесін шертіп, контексті мәзірден SetHotsPot не Cursor SetHotsPot командасын беру курсор атауын екі рет шертіп, MYCURSOR терезесін ашу және Cursor – SetHotsPot командасын беру. Ашылған сухбаттық терезенің Horisontal[x], Vertical[x] өрісіне сәйкес мәндер енгізіп (мысалы 8 және 6), ОК түймесін шерту. Одан әрі терезе қолдан көрсеткіш суретін салып шығуға болады.
Қолдан көрсеткіш салынатын терезе
Ескерту. Салынған көрсеткіштің қалай жұмыс істейтінін көріп шыққан жөн. Ол үшін терезенің оң бетін оң түймемен шертіп, контексті мәзірден Test қатары таңдалады. Немесе Cursor-Test командасын беру керек. Cursor Tester терезесі көрінеді. Терезеде көрсеткішті қозғалтып, формасын көріп шығу қиын емес.
Егер бәрі дұрыс болып шықса, Untitled1.res терезесін белсендіріп, файлды сақтау керек. Дайындалған көрсеткішті форма бетіне шығаруға болады.
Жаңа проект формасының Oncreate оқиғасын өңдеуші құру (алдымен мұнда {$R *7DFM} қатарының соңына {$R Volk.res}қатары жазылуы тиіс. Ол Volk.res файлын программаның ресурстық файлына қосып қояды):
{$R*.DFM}
{$R Volk7res}
Porcedure Tform1.FormCreate (Sender : Tobject);
Begin
// көрсеткішті тіркеу
Screen.Cursors[1];= LoadCursor(Hinstance,”MYCURSOR”);
Cursor: =1;
End;
Программаны іске қосқан соң формада стандартты емес көрсеткіш көрінеді(Screen.Cursor индексі кез келген Integer типті мән болуы мүмкін).
Лекция 14. Файл
1. Файл. Файл типтері
2. Типтік файл операторлары
3. Типсіз файлдар жөнінде
1. Файл. Файл типтері
Сыртқы жадтың ( дискінің не дискеттің) атау берілген облысын файл не дискілік файл деп,дискіге жазылатын информацияны берілгендер файлы (БФ) деп атайды. БФ- ке мысал ретінде мынадай тізім алуға болады:
1. Шаймерденқызы Гулнар 1975 қазақ
2. Оралханұлы Ержан 1977 қазақ
3. Нұрғалиқызы Жәмила 1978 қазақ
(тізім кез келген n- жолдан тұруы мүмкін).
Тізімнің әр жолында бір адам жөніндегі мәлімет берілген.
Ол сандық және мәтіндік болатын түрлі типті торт мәннен тұр. Мұндай мәліметті берілгендер файлының элементі деп атайды. Элемент жол не жазу деп те аталады; жол құрайтын мәндер өріс элементтері делінеді. Яғни,тізімнен тұратын берілгендер файлы - жолдар жиынтығы, әр жол- файлдың бір элементі. Берілген тізімде әр жол төрт өріс элементінен, ал файл үш элементтен және оларға сәйкес төрт бағаннан тұр. Өріс элементтері:
Нөмірі, Аты-жөні, Туған жылы, Ұлты (Nomer, Fam, Tjili, Ultі).
Мұндай құрылымға жаңа өрістерді қосу да мүмкін, мысалы, “Үй адресі, телефон нөмірі”, т.б.
БФ дискіге әріптен басталатын 1-8 символдан тұруы мүмкін жеке атау арқылы тиелуі тиіс, атаудың проект атынан бөлек болуы міндетті.
Ескерту.Кейде дискілік файл мен БФ- ті де файл деп атай береді. Оларды сөйлем құрылымына қарап ажырату қиын емес.
БФ-пен жүргізілуі мүмкін жұмыстар:
-
файлды дискіге тиеп, сақтау (қажет болса, бір баған бойынша сорттап, тиеуге болады);
-
оны экранға шығару не принтер арқылы қағазға басу;
-
бір не бірнеше белгі бойынша нақты жолын не жолдарын заңды, экпанға шығарып көру.Оны редакциялап, дискіге қайта тиеу;
-
файлдың бір не бірнеше жолын алып тастау не файлға жаңа жол қосу, т.б.
Delphi- де берілгендер файлымен тізбекті ену тәсілі бойынша жұмыс істеуге болады.
Файл үш түрде сипатталуы мүмкін: типтік, мәтіндік және типсіз форматта. Сипаттау тәсілдері:
<атау>=File of <тип>; // типтік
<атау>=Text File; // мәтіндік
<атау>=File; //типсіз
Мұндағы <атау> - тип атауы, <тип> - Object Pascal-дың кез келген сәйкес типі. Мысалы, жоғарыда жазылған тізім үшін берілгендер типін мынадай түрлерде сипаттауға болады:
-
type st= record
nomer : char;
fam:string[25];
tjli:integer;
ulti: string[6];
end;
var f1: file of st; v:st; //типтік
не 2) var f2: Text File; // мәтіндік
не 3) var f3:file; // типсіз
Көбінесе файлды типтік, кей жағдайларда мәтіндік етіп сипаттайды.
Файлға жазу, файлдан оқу операторларымен таныстыру алдында мынадай белгілеулер енгізейік:
f- файлдық айнымалы (файлдық типті айнымалы ретінде программада қолданылатын идентификатор (атау)).
bf- берілгендер файлының атауы (атау меншіктелетін айнымалы. Мысалы, “В2001” атаулы берілгендер файлы үшін bf=’В2001’. Әдетте файл атауы программа бойынша Edit өрісіне енгізіледі: bf:=Edit1.Text, не ол үшін InputBox функциясы пайдаланылуы мүмкін).
v – файлдық элемент(өріс элементтерінен тұратын жол).
2. Типтік файл операторлары
A ssignFile(f, bf). Ол bf файлын f айнымалысымен байланыстырады да (assign - тағайындау), одан әрі f-пен жұмыс bf мәнімен анықталған файл жұмысына баламалы болады. bf орнына файлдың толық атын жазу да мүмкін. Компьютер f-ті саны белгісіз элементтерден тұратын bf-тің атауы ретінде қабылдайды. Ол машинаның элементтер санын алды-ала біліп алуының қажетсіздігіне байланысты. Оған қоса, бұл тәсіл бір программа бойынша түрлі БФ-тердіөңдеуге мүмкіндік береді.
Rewrite (f) – атауы AssignFile операторында анықталған берілгендер файлын дискіге тиеу үшін файлды ашу операторы (rewrite – жаңадан жазу). Ол f үшін дискіден арнайы орын ашып, көрсеткішті (бастиекті) осы орынның басына орналастырады.
Ескерту. Егер таңдап алынған БФ атауы бұрыннан сыртқы құрылғыда жазулы БФ атауымен бірдей болса, rewrite(f) операторын оқыған соң компьютер адымен оны өшіріп тастайды. Сондықтан дискіде жазулы файлды қорғау үшін файлға берілетін атауды мұқияттықпен таңдап алу керек.
Write (f, v) – атауы AssignFile операторында f арқылы белгіленген дискілік файлға БФ-тің кезекті элементін (v) тиеу операторы (v орнына мәндері файлға жазылатын үтірлер арқылы бөлінген айнымалылар тізімін енгізуге де болады).
CloseFile (f) – файлды жабу (оператор БФ-ті дискіге тиеу не дискіден оқу аяқталған кезде енгізіледі).
Reset (f) – атауы f арқылы белгіленген файлды ашып, бастиекті осы файлдың басына орналастырады (reset – қайта орнату).
Read (f, n: longint) – бастиекті файлдың n+1 нөмірлі жолының басына орналастырады. Ол файлдың (n+1) – жолын оқу үшін қажет.
Дискіде файл жолдары 0-ден бастап автоматты түрде ретімен нөмірленеді. Жоғарғы тізімде 1-ден бастап нөмірленген баған өріс элементі ретінде қарастырылған.
3. Типсіз файлдар жөнінде
Типсіз файлдар берілгендер байттар тізбегі түрінде тиеледі.
Оларды блок бойынша жүтеу, шығару үшін пайдаланылатын операторлар - BloсkRead және BloсkWrite (үндемеген кезде блок ұзындығы128 байтқа тең. Блоктар ретімен тиеліп оқылады. Файлдың кеңейтілуі - dat).
Типсіз файлды тиеу программасына мысал:
Var f: file;
B: byte;
K: Integer;
Begin
Assign File(f, ’C:\B5.dat’);
Rewrite(f,k); b:=$41;
For k:=1 to 120 do
BlokWrite(f,b,k);
CloseFile(f);
Программаның осы бөлігінің орындалу нәтижесінде С: нәтижесіне 120 ‘A’ символынан тұратын B5.dat файлы жазылып шығады (мұндағы $41 16-лық санау жүйесіндегі ‘A’ символының коды)
Лекция 15. Мәзір құру
1. Негізгі мәзір құру. TMаіn классы және қасиеттері
TsaveDialog,_TrichEdit_компоненттері__TopenDialog'>2. TopenDialog, TsaveDialog, TrichEdit компоненттері
1. Негізгі мәзір құру. TMаіn классы және қасиеттері
Windws ќосымшалары терезелерініњ бєрінде де мєзір бар. Дайындалатын программа ‰шін Delphi-де ќолдан форма терезесіне енгізілетін т‰рлі пунктті мєзір ќ±руѓа болады.
TMenu бұл TMainMenu және TpopupMenu мәзір компоненттері үшін базалық класс болып табылады. Ол мәзір құруға, мәзір пункттерін анықтауға, мәзір пункттеріне сәйкестендірілген командаларды анықтауға, мәзірдің әрбір пункті үшін контексттік анықтама беруге арналған қасиеттер мен тәсілдерді ұсынады. TMenu классының қасиеттері:
Property Images: TCustomImageList; - мәзір пункті атауының сол жағынан көрсетілуі мүмкін бейнелер тізімі. Көрсетілетін бейнені анықтау үшін мәзір пунктінің ImageIndex қасиетіне Images тізіміндегі бейненің индекс мәнін орнату керек.
мәзір пункттерінің тізімі сақталады. Әрбір мәзір пункті TMenuItem классының объекті болып табылады. Мәзір элементіне қол жеткізу үшін былай жазуға болады:
FirstItem:= Menu1.Items[0];
Property OwnerDraw: Boolean; - мәзір пунктін программаның қалай көрсететіндігі айқындалады. False мәні берілсе, онда программа үнсіз келісім бойынша сол жағынан орналасқан бейнені және мәзір пунктін атау ретінде көрсетеді. True мәні берілсе, онда программа OnDrawItem оқиғасын өңдеу процедурасындағы нұсқауға сәйкес көрсететін болады. Мұндай мәзір пункттері кейде өзікөрінетін мәзір пункттері деп аталынады.
Негізгі мәзір құруға арналған компонент – бұл Standard бетінде орналасқан TmainMenu компоненті.
2. TopenDialog, TsaveDialog, TrichEdit компоненттері
TopenDialog компоненті Windows-тыњ Файылды ашу ‰шін пайдаланатын стандартты Файлды ашу терезесін экранѓа шыѓаруѓа арналѓан.
TsaveDialog компонеті TopenDialog компоненті сияќты.
Оѓан сєйкес процедура файлды саќтау терезесін шыѓарады.
Компоненттермен ж±мыс тєсілі: олар алдымен формаѓа орналастырылады (б±л кезде автоматты т‰рде ќажетті ќасиетеріне мєндер менщіктеледі) да, сєйкес программа ќ±рылады.
Алдымен программаѓа с±ќпаттыќ терезе ќ±рып, экранѓа шыѓару ‰шін Execute (Орындау) тєсілі енгізіледі, т.с.с (тµменде ќ±рылѓан екі процедурадан т±ратын программаны ќарањыз).
TrichEdit ( мєтіндік редактор)- Tmemo Компонентті сияќты біраќ одан м‰мкіндігі мол стандартты мєтіндік редактор. Оныњ бетіне файлды ашу, саќтау терезелерін шыѓаруѓа болады. Мєтін оныњ Lines ќасиеті арќылы ашылѓан Stringlist Editor (жолдыќ тізім редакторы ) терезесіне енгізіледі. Оныњ Aligment, FirstIndent, т.б. касиеттерін орнатып, абзацтарын форматтап шыѓу м‰мкін. Жазылѓан мєтінді RTF форматында процедураѓа енгізілген.
RichEdit1. Lines. SaveToFile(‘<атау>. rtf');
тәсілі арќылы саќтауѓа болады.
Ќ±рылѓан мєзірді пайдалану ‰шін формада ќосымша компоненттер (OpenDialog1, SaveDialog1, RichRdit1) орнатып, код терезесінде мєзірдіњ єр пунктін орындайтын сєйкес процедуралар жазып шыѓу керек. Мысалы, суретте бейнеленген мєзір пункттерін орындау тєсілі(Dialog1 компоненті орнатылады):
Ќ±рылѓан толыќ модулъ:
Достарыңызбен бөлісу: |