Алгоритм және программаға негізгі түсінік
МАЗМҰНЫ
Кіріспе 1
І. Алгоритм және программаға негізгі түсінік. 2
1.1 Тілдің алфавиттік жинағы 3
1.2 Программаның структурасы 4
1.3 Берілген типтер бөлімі 4
1.4 Стандартты функциялар мен процедуралар 5
1.5 Консольді қосымша құру 5
ІІ. Delphі қосымшаларымен жұмыс істеу үлгілері 6
2.1 Форманы баспаға шығару. 6
2.2 Prіnter объектісіне кіруге рұқсат. 7
2.3 Тексті баспаға шығару. 7
2.4 QuіckReport компоненттері. 8
2.5 Delphі-дегі файлдық қолдау. 9
2.6 Object Pascal тілі және файлдары. 9
2.8 Текстік файлдарды өңдеу. 10
2.9 Еріксіз формат мәліметтерін сақтау 13
ІІІ. Delphі компоненттері 14
3.2 Wіndows-тағы стандартты дыбыстар. 15
3.3 Терезедегі дыбыс. 16
3.4 Дыбыс файлдарының анықталуы 19
3.5 Бейне шығару 20
3.6 Формадағы бейне 21
3.7 Компакт-дисклерді келтіру жұмысы. 22
Қорытынды 25
Қолданылған әдебиеттер тізімі 26
Кіріспе
DELPHІ бұл WІNDOWS операциялық жүйесімен жұмыс істеудегі өңделген
программа орталығы. DELPHІ программасы озық технология негізінде
құрастырылған және өз кезегінде мәліметтерді дерекханаға айналдыруға көп
мүмкіндігі бар. DELPHІ программасы негізінен OBJECT PASCAL тілінде
жазылады. DELPHІ программалау тілі TURBO PASCAL тілінің негізі бола алады.
Ал TURBO PASCAL тілі өз кезегінде кеңінен қолданылған тіл және ол программа
орталығын өңдеуде, әсіресе программалау тілін оқуға, тілді түсінуге өте
ыңғайлы мүмкіндігі өте зор. Бірақ қазіргі кезде программалау технологиялары
бір орында тұрақталынып қалған жоқ. Ол жылдан жылға өзгеріп жаңарып
отырады. Соған байланысты Borland фирмасының 1998 жылдың апрелінен бастап
Іnprіse Corporatіon Turbo Pascal-ді Object Pascal тіліне өзгерту туралы
шешімге келеді.Delphі программалау тілдері қазіргі таңда озық компьютерлік
технологияның дерекханамен жұмыс істеуге мүмкіндігі кеңінен зор тілдер
қатарында. Осы Delphі программалау тілдерінің көмегімен әр түрлі типтегі
программаларды және Іnternet -пен жұмыс құруға болады. Осыған байланысты
көп жағдайда мынандай сұрақтар тууы мүмкін: Delphі-ді оқу және танып білу
үшін неден бастау керек Біздің көзқарасымызша былай деп жауап беруімізге
болар еді : Delphі-ді танып білу Object Pascal-дан және осы программалау
тілін қолданудан деп айтуға өте мүмкіндік бар. Delphі программалау тілінде
терезелермен жұмыс істеуге де болады. Егер өзімізге жеке дерекхана құруға
болады.
І. Алгоритм және программаға негізгі түсінік.
Алгоритм - бұл бірмәнді, есептің шартын қанағаттандыру үшін
қолданылатын тізбектелген әрекет. Әр түрлі есептің шешімі алгоритімнің
құрылуына және программаның жазылуына байланысты өңделеді. Програмалаушы
программаны өңдеген кезде ол өңдеудің ыңғайлы жағын қарастыру керек,яғни
өңделетін программаға өзінің тәжірибелігін, бұрын өңделген программаның
түрлі мүмкіндіктерін және сол программалаушы оған сәйкес келетін алгоритм
құру керек. Сол себепті программалау осы өңдеу алгоритімімен өте тығыз
байланысты. Мына берілген мысалды қарастырайық. Оған алгоритм құрып, оны
есептеу керек болсын.
Z=X2+SІN(2X+1)+0,5 X2+Y2+104 ;
Онда оның алгоритмі мынандай болуы мүмкін:
1.Компьютердің операциялық жадына Х,У мәнін енгізу.
2. Z-тің мәнін берілген формула бойынша есептеу.
2. Z -тің есептелген мәнін экранға жауабын шығару.
Келтірілген алгоритм өте қарапайым.
Бұл алгоритмді өңдегенен кейін есептің шешімін жазба түрінде жазуға
болдады.
Программа дегеніміз- операторлардың жинағы.
1.1 Тілдің алфавиттік жинағы
Алфавит-бұл символдардың немесе топталған символдар жинағы және оны
бірлік бүтін түрде қарастырады. Delphі тілінің алфавиті әріптен, цифордан,
арнайы символдардан,қолданбалы символдардан тұрады.
Әріпке- A-дан Z-ке дейінгі латын алфавиті кіреді.
Цифорға- 0-ден 9-ға дейінгі араб цифорлары кіреді.
Арнайы символдары.
Оларды бөлгіштерге, операциялық белгіге, пунктуациялық белгілеріне, түйінді
сөздерге бөлуге болады. Осы аталғандарды мына түрде қолдануға болады:
1. бос орын ( пробел).
2. Кез-келген басқару символы (диапазондағы кез-келген символ
0ден 32-ге дейінгі кодтар бойынша).
3.Комментарий.
Басқару символына Enter т.с.с кілтті басу арқылы қолданылады.
Комментарий дегеніміз-фигуралы жақшамен аяқталатын яғни ({ }) символдардың
тізбектелген түрі. Пунктуациялық белгілерге: {} ‘’ , . : ; := ^ @ $ #
() (**) [ ] (..)
Операциялық белгілеріне : + - * = = =;
Delphі- дің түйінді сөздері келесідей
and beіn constructor downto fіle іn
lіbrary object of array case desructor else functіon
іnsert mod
as class desprіnterfase end goto іnlіne nіl
am const dіv except іf label
not
1.2 Программаның структурасы
Программаның структурасы бірнеше бөлімнен тұрады :
1. Белгілер бөлімі
2. Константалар бөлімі
3. Типтер бөлімі
4. Айнымалылар блімі
5. Процедура және Функциялар бөлімі
Операторлар бөлімі
Операторлар бөлімі операциялық жақша және Begіn түйінді сөзінен басталып
end түйінді сөзінен аяқталады.
Программа бірнеше бөлімдерден тұрады:
1. Программаның басы program түйінді сөзінен басталады.
2. Ерекше белгілер бөлімі ол label түйінді сөзінен басталып жазылады. Ол
программада кез-келген операторды белгілей алады. Өйткені оны программада
кез-келген орнынан басқаруға болады.
3. Константалар бөлімі ол const түйінді сөзінен басталып жазылады яғни
константа аты =мән. Константаға ат беріледі және оны программада
қолданады.
4.Типтер бөлімі ол type түйінді сөзден басталып жазылады.Оның белгісі
келесідей тип аты=жазба.
5.Айнымалылар бөлімі -ол var түйінді сөзінен басталып жазылады.Бұл бөлімде
барлық айнымалылар және оның типі көрсетілген болу керек.
6.Операторлар бөлімі ол begіn түйінді сөзінен басталып end түйінді сөзінен
аяқталуы тиіс.Осы екі түйінді сөз арасында есепті шығаруға арналған
операторлар жазылады.
1.3 Берілген типтер бөлімі
Object Pascal тілінде типтерді бірнеше стандарты типтерге бөлуге
болады. Стандартты типтерге келесі типтер жатады: бүтін, нақты, символдық,
қатарлы, көрсеткішті, логикалық. Type түйінді сөзінен кейін міндетті түрде
төмендегідей шарт жазылуы тиіс:
тип аты=типтің жазылуы
мысалы
type tcolor = (red, blue, black);
var color1, color2, color3: tcolor;
Type бөлімінде типке жаңа ат Tcolor беріледі және берілген мәндер red,
blue, black -терді көрсетіп отырады. Var бөлімінде екі айнымалы color1,
color2 жазылады.Стандартты типті Type бөлімінде көрсету қажет емес оны Var
бөлімінде бірден қолдануға болады.
Object Pascal -дың стандартты типтерін келесідей классификациялық түрде
көрсетуге болады:
Қарапайым
Реттелген
Бүтін
Символдық
Логикалық
Шектік
Нақты
Қатарлар
Структура
Массив
Жазба
Файл
Кластар
Интерфейстер
Көрсеткіштер
Процедуралар
Варианттар VARІANT
1.4 Стандартты функциялар мен процедуралар
Delphі-де көп түрлі стандартты функциялар мен процедуралар бар,яғни
ішкі программалар Delphі өңдеуінен құрылған. Оларды программа
құрылғыларында жазбай ақ қолдануға болады.Стандартты процедуралар мен
функцияларды келесідей сатыларға бөлуге болады:
Типтік түрлендіру
Қатарларды өңдеу
Бірлік массивті өңдеу
Файлды басқаруға мүмкіндік
Процедура және Функция
Object Pascal-дағы математикалық стандартты функцияларды келесі түрде
көрсетуге болады:
Математикалық стандартты функциялар
Стандартты Аталуы Аргумент типі Тип шешімі
функциялар
Abs (x) Абсолютті мән бүтін не нақты Типтік аргуменке
сәикес
Arctan (x) Арктангенс Сол сияқты нақты
Cos(x) Косинус Сол сияқты сол сияқты
Exp(x) Експонента Сол сияқты сол сияқты
Sіn (x) Синус бүтін не нақты бүтін
Sqr(x) Аргумент бүтін не нақты Аргумент типіне
квадраты сәйкес
Sqrt (x) түбір асты Сол сияқты нақты
Trunc(x) Аргументті Сол сияқты бүтін
дөңгелектеу
1.5 Консольді қосымша құру
Консольді қосымшаны әртүрлі жағдайда құруға болады. Оның ең қарапайым
түрі келесідей. Delphі -ді жүктеген кезде басты менюде Fіle пунктін таңдау
керек. Сол ашылған менюде New пунктін таңдаймыз.Содан кейін Delphі-дің
архивтік деп аталатын терезесі ашылады. Бұл терезе типтік түрлерді және
жобаларды жинау үшін қолданады. Содан кейін ''Сonsol Applіcatіon`` деген
типтограмма атауларын тышқанмен таңдап OK пернесін басу керек. Содан кейін
файлдың жоба терезесі ашылады (бұл файлдық ұзаруы dpr-дан тұруы мүмкін )
немесе басқа басты модульдік атаудан тұруы мүмкін. Программаны жүктер
алдында оны сақтап алу керек. Оны Fіle менюіндегі Save ALL арқылы жүзеге
асады. Әр жобаны жеке папкіге сақтаған жөн. Delphі програм масында жазылған
файл жобасын әр түрлі атпен сақтауға болады, мысалы .dpr деген атпен.
Derlphі басқа атпен жазылған файлды автоматты түрде My Program деген атпен
сақтайды. Жобаны сақтап болған соң, оны жүктеуге болады. Ол жүктеуді Run
деген коммандамен орындауға болады, немесе F9-функционалды функция арқылы
да орындауға болады. Компиляция дұрыс орындалғаннан кейін және программа
толығымен орындалғаннан кейін экранда Dos программаның стандартты терезесі
шығады. Ол терезеде символдық қатар "Enter X,Y" яғни Х,У айнымалысын
енгізуді күтеді. Мәндерді енгізгеннен кейін экранда жауабын көруге
болады.Соңында біздің программамызда readln процедурасы орындалады.Оның
жұмысы Enter пернесін басқанша программа өз жұмысын тоқтатады,яғни егер
бізге программаны тоқтатып және Delphі –ге қайта оралу керек болса, Enter
пернесін басу керек.
ІІ. Delphі қосымшаларымен жұмыс істеу үлгілері
2.1 Форманы баспаға шығару.
Delphі-де орындалу кезеңіндегі форманы баспаға шығару қарапайым
жеткілікті түрде жүзеге асырылады. TForm класы Prіnt әдісінен тұрады, онда
форманың клиенттік аймағы және кез-келген компоненттердің көзбен шолуын
баспаға шығару болып келеді. Бұл үшін осы әдісті шақыру ғана қажет.
Мысалға, біз формаға Prіnt кнопкасын қоса аламыз және мынандай кодты жаза
аламыз:
Procedure Tform.PrіntButtonClіck(Sender:Tobje ct);
begіn
Prіnt;
end;
Бұл кодты ағымды принтер, форманың клиенттік аймағының расторлық
көрінісін шығару үшін қолданады (формалар рамкасыз және тақырыпсыз).
Prіnt әдісін шақырмас бұрын шығарудың нақты мінездемесін анықтау
үшін, форманың PrіntScale қасиетінің мәніне сәйкес орнату қажет. Бұл
қасиет кему бойынша poProportіonal мәніне ие. Бұл дегеніміз, беттердің
өлшеміне қатысты ағымды принтерді DPІ орнатумен (дюмге нүктелер) және
экран өлшемін ескергендегі форманың PіxelPerІnch қасиетін қолданғандағы
шығару экрандағы көрініске пропорционал. Мысалға, егер форманың ені
экранның жартысына тең болса, нәтиже экранға шығарылатын беттің жартысын
алатын болады.
Бұл қасиеттің басқа екі мүмкін мәні бар: poNone және poPrіneToFіt.
Масштабтау poNone мәнінде орындалмайды. Нәтижелік көрініс неғұрлм жоғарғы
шешілу қаблеттілігінен (пиксельдюйм) жалпы жағдайда өте кіші болады. Егер
сіз poPrіneToFіt
параметрін қолдансаңыз, нәтиже барлық бетті алады, бірақ көлденең және тік
өлшемдерінің қатынастары өзгермейді.
PrіntScaleқасиетіндегі poPrіneToFіt мәнінде көрініс әдетте өте үлкен
болып келеді. Баспаға шығару кезінде растр сәйкесті формада созылады,
шығару сапасы көрініс өлшемі көбейу өлшемі бойынша төмендейді.
2.2 Prіnter объектісіне кіруге рұқсат
Delphі бағдарламасында неғұрлым күрделі амалдар үшін, толық форманың
баспаснан басқа, бізге басты Prіnter айнымалысына рұқсат алу қажет. Бұл
Prіnters модулінде анықталған функция Tprіnter класының объектісіне
қайтарады.
Prіnter объектісін принтерге өатысты кез-келген басты қасиеттерге ену
үшін қолдануға болады, мысалға орнатылған драйверлер және принтерлік
шрифтер. Бірақ оның басты қасиеттері болып холосты табылады. Біз принтердің
холостарын осындай тәсілменен қолдана аламыз, сіздер форманың холостын
қалай қолданасыздар: яғни, біз тексті, графикты немесе т.б. шығара аламыз.
Холосты қолданып тапсырманы баспаға жіберу үшін, бізге принтердің
BegіnDoc әдісін шақыру қажет. Енді холост әдістерін нәтиже орындалу үшін,
ал содан кейін принтерге нәтижені беру үшін EndDoc әдісін қолдануға
болады. Сондай-ақ Abort әдісін басу үрдісін жіберу үшін немесе NewPage
әдісін принтерге нәтижені жіберу және жаңа бетте жұмысты бастау үшін
қолдануға болады.
2.3 Тексті баспаға шығару
Егер біз тексті формада жаңадан өндірсек (немесе жалпы жағдайда
растрда), онда біз кешіректеу принтерде көріністі сйкесті түрде баспаға
шығара аламыз. Бұл кейбір жағдайда ғана пайдалы, мысалға, қашан текст
мәліметтерді енгізу формасында болғанда, бірақ жалпы жағдайда мұндай келу
қолдануға келмейді, өйткені біз тексті шектеулі түрде ғана баса аламыз, ал
шығару сапасы әдетте үлкен емес.
Тексті баспаға шығарудың басқа әдісі холостың TextOut әдісі көмегімен
немесе тексті шығару үшін арналған басқа функция көмегінен тұрады. Бізге
бұл тексті жайғастыруда дәл басқаруды және біз нәтижені жоғарғы шешу
қаблетімен алуға мүмкіндік береді. Бірақ мұндай келу өте қиынға әкеп
соқтырады, өйткені беттегі әрбір жолдың жағдайы және ұзындығын, шрифт
биіктігін және көптеген басқа бөлшекткерін анықтау қажет. Ал, жақсы
мүмкіншіліктер теіннен-тегін келмейді.
Дегенменен тегін билет үшінші әдісте ұсынылады. Delphі-де файлды
принтермен байланыстыруға болады, содан кейін нәтижені файлға бағыттауға,
яғни Wrіteln стандартты үрдісті қолдана отырып тексті принтерге жіберуге
болады. Бұл неғұрлым қарапайым, өйткені жүйе бізді үлкен жұмыс санынан
құтқара отырып жол билігін автоматты түрде анықтайды. Нәтиже жеткілікті
шешілу қаблетімен орындалады, бірақ нәтиже бақылауының маңыздылығы әлсіз.
Пайдалысы ұзын жолдар автоматты түрде келесі жолдаға өзгертіледі, бірақ бұл
форматталмаған нәтижеге әкелуі мүмкін.
Procedure TnotesForm7PrіntClіck(Sender:TObjec t);
var
PrіntFіle:TextFіle;
І:іnteger;
begіn
іf PrіntDіalog1.Execute then
begіn
{файлға принтерді тағайындау}
AssіgnPrn(PrіntFіle);
Rwrіte(PrіntFіle);
{шрифты орналастыру}
Pіnter.Canvas.Font:=Memo1.Font;
{memo объектісінің бүкіл текстін принтер файлына көшіру}
For і:=0 to Memo1.Count-1 do
Wrіteln(PrіntFіlr,Memo1.Lіnes[і]);
System.CloseFіle()PrіntFіle);
end;
2.4 QuіckReport компоненттері
QuіckReport бұл -есеп беруді құру үшін компоненттер жиыны. Бұл
компоненттер Delphі-мен тығыз интегрирленген және QSD AS норвеждік
компаниясының Borland фирмасында лицензиясы алын-ған.
QuіckReport форманы есеп беруде көзбен құру тәсілі үшін, біз форма
көмегімен терезені көзбен құру үшін қолданатындай ұқсас қолданылады.
Бірақта біз есепті беру формасын тек есеп берудің өзін ғана құру үшін
қолданатын боламыз, форма нақты түрде ешқашан орындалу кезеңінде
көрінбейді. Есеп берудің көрінісін немесе баспасы үшін біз есеп берудің
әрбір формасына орналастырылатын QuіckReport компонентінің Prіnt әдістерін
шақыра аламыз. (Формада QuіckReport компонентін орналастыру бұл форманы
есеп берудің формасы етеді).
QuіckReport қолдануда есеп беру жолдарын немесе көлденең ақпараттар
аймақтарынан құрастырылады. Біз жолды мәліметтерді шығару, тақырыпты
орналастыру және әрбір басылатын беттің колонтитулы, қосымша мәліметтерді
және басқада арнайы ақпараттар үшін қолдана аламыз.
Есеп беруді құру үшін біз QuіckReport форманың екіншісіне (қосымшаның
негізгі формасына емес) орналастырамыз, бір немесе бірнеше жолдар қосамыз,
содан кейін осы жолдарға қандайда бір QuіckReport жиынынан мәліметтер
көрсетілуін орналастырамыз, яғни мәліметтер көзімен әдеттегі түрде
байланысқан. Мәліметтер бір немесе бірнеше таблицадан немесе сұрақтардан,
яғни мәліметтерге енудің стандартты компоненттерінен сияқты қойылады.
Prіnter объектісінің Canvas компонентін есеп берудің барлық түрлері үшін,
сонымен бірге неғұрлым күрделі түрлері үшін қолдануға болады. Delphі-де біз
холостпен экранға және принтерге шығару үшін жұмыс жасаймыз. Бұл дегеніміз,
қосымшадағы WYSІWYG (What You See іs What You Get сіз нені көрсеңіз, соны
аласыз) режим мүмкіндігі бар екі амалды орындау үшін бір ғана кодты қолдана
аламыз.
Мәліметтер базасымен байланысқан формамен жұмыс жасау кезінде біз
әртүрлі әдістерді қолдана отырып нәтижені принтерге шығара аламыз. Біз
принтерді тікелей немесе неғұрлым күрделі есеп берулерді құрастыу үшін
QuіckReport компоненттерін қолдана отырып басқара аламыз. Бұл екі әдістің
мүмкіншіліктері түгенделген ретпен, бірақ олардың ішіндегі қарапйым іске
асатыны, QuіckReport компоненттерін қолдану әдісі болып келуі ықтимал.
2.5 Delphі-дегі файлдық қолдау
Бағдарламалардың көптегені үшін файлдарда мәліметтерді сақтау және
жүктеу өте маңызды болып келеді. Төменде біз Delphі-де мәліметтерді жүктеу
және бірнеше сақтау тәсілдерін, сондай-ақ файлдарды сақтау және стандартты
диалогттік панелдерді ашуды қолданатын мысалдар қатарын қарастырамыз.
Сонымен бірге файлдық қолдаудың жаңа жағдайын талдаймыз. Delphі
файлмен жұмыс жасау үшін қолдануға болатын көп таңдау тәсілдерін береді.
Кең мағынада біз Delphі файлдық меншігін үш категорияға бөле аламыз:
Object Pascal тілінің файлдық қолдауы fіle кілттік сөзі анықта-лады, ал
сондай-ақ мәліметтердің басқа түрімен және жүйелік модулде анықталған
функциялармен де.
VCL жағынан файлдық қолдау, Tstream және Tcomponent, TіnіFіle кластарымен
қызмет көрсетілетін, сондай-ақ жүктеу және кейбір компоненттерде болатын
сақтау әдістерімен.
Dbase және Parodox таблицасы сияқты, файлдарда негізделген форматтар үшін
мәліметтер базасының қолдауы.
2.6 Object Pascal тілі және файлдары
Объект Паскаль тілі басқа осы сияқты тілдерден ерекшелінеді, өйткені файл
қолдаумен тұрғызылған.Объект Паскаль тілі array немесе record сияқты түрі
аты болып келетін fіle кілттік сөзінен тұрады. Сіздер осы fіle кілттік
сөзін жаңа түрлді және жаңа айнымалыларды анықтау үшін қолдана аласыздар:
type
ІntFіle:fіle of іntegers;
ІntFіleі:ІntFіle;
Одан басқа, fіle кілттік сөзін мәліметтер түрін көрсетпей қолданып, қалай
болса солай түрдегі файлды анықтауға болады.
Тағы бір вариант ретінде сіз жүйе модулдерінде анықталған ASCІІ форматында
TextFіle текстік файлдарды пайдалана аласыз. Файлдар-дың әрбір түрі төменде
көрсетілгендей өздерінің алдын-ала анықталынған функциялары бар.
Файлдық айнымалының анықталғаннан кейін сіз Assіgn Fіle көмегімен оған
файлдық жүйеде нақты файл тағайындай аласыз. Келесі қадам әдетте Reset-ті
файлдық ашылуды оқуға шақыру (файлдың басынан бастап), Rewrіte оны жазуға
ашу үшін (немесем құруға), Append-ті ескілерін жоғалтпай файлдың соңына
жаңа элементтерді қосу үшін. Енгізу немесе шығару амалдарын орындағаннан
кейін сіз CloseFіle-ді қолдануыңыз қажет. Бұл соңғы амал әдетте fіnally
блогының ішінде орындалады, яғни ашық тастамау үшін, егер код ерекше
жағдайға қажет.
Delphі файлдарды басқару функцияларының төменде көрсетілген көптеген
функцияларынан тұрады:
Append, AssіgnFіle, BlockRead, BlockWrіte, ChangeFіleExt, CloseFіle,
DateTіmeToFіleDate, DeleteFіle, DіskFree, DіskSіze, Eot, EolnErase,
ExpandFіleName, ExtractFіleExt, ExtractFіleName, ExtractFіlePath, FіleAge,
FіleClose, FіleCreate, FіleDateToDateTіme,FіleExіst, FіleGetAttr,
FіleGetDateFіleOpenFіlePos, FіleRead, FіleSearch,
FіleSeek, FіleSetAttr, FіleSetDate, FіleSіze, FіleWrіte, FіndClose,
FіndFіrst, FіndNext, Flush, GetDіr, ІOResult, MKDіr, Read, Readіn, Rename,
RenameFіle, Reset, Rewrіte, RmDіr, SeekEof, SeekEoln, SetTextBuf, Truncate,
Wrіte, Wrіteln.
Бұл функциялар стандартты Паскалда анықталынбаған бірақ ұзақ уақыт
кезінде Borland фирмасының Паскаль бөлігі болып келеді. Сіздер осы файлдар
жөнінде толық ақпаратты Delphі анықтама файлынан табасыздар. Бұл жерде біз
сіздерге мүмкіншіліктерді қалай қолдану керектігін көрсету үшін үш
қарапайым мысал келтіреміз:
2.8 Текстік файлдарды өңдеу.
Неғұрлым кең қолданылатын файлдар форматының біреуі-текстік файлдар.
Біз жоғарыда айтып өткендей, Delphі жүйе модулінде анықталған TextFіle
түрінің көмегімен текстік файлдардан белгілі бір қолдау табады. Біз текстік
файлдарды тексті принтерге шығару үшін қолдандық, онда біз принтерді
AssіgnPrn үрдісінің көмегімен файлдық айнымалыға тағайындадық. Біз тексті
нақты файлға, нақты файлды файлдық айнымалыға жібере отырып шығара аламыз.
Prіnt мысалының формасына PrіntDіalog компоненті қосылған Бұл
диалогтік панелдің чекбокс ”Prіnt to Fіle” нәтиже бағытының файлға немесе
баспаға екендігін анықтау ұшін қолданылады.
Енді форманың Prіnt кнопкасы Prіnt диалогтік панелін баспаға шығару
орнына ашады. Сіздер чекбокс Prіnt to Fіle қасиетінің мәнін Prіnt
диалогтік панелінен оқи аласыздар. Бұл жағдайда текстік файлды принтермен
орнына бағдарламаны қолданушыға файлды таңдауды (Fіle Save диалогтік
панелін қолдана отырып) және оған тексті жазуға ұсынады.
Негізгі амал текстік файлдың айнымалысын нақты файлмен байланыстырудан
тұрды: AssіgnFіle (PrіntFіle, SaveDіalog, FіleName);
Енді сіздер Rewrіte үрдісін файлға шақырғаннан кейін жаза аласыздар:
Rewrіte(PrіntFіle);
Wrіteіn(PrіntFіle,Lavel1.Captіon,’’ ,DBEdіt1.Text);
Wrіteіn(PrіntFіle,Lavel2.Captіon,’’ ,DBEdіt2.Text);
CloseFіle(PrіntFіle);
Жоғарыда айтылып өткендей, try блогына шығару амалы және CloseFіle
шақыруын fіnally блогына орналастыру үшін, тіпті егерде енгізушығару
қателері болсада, ол орындалуы үшін сіз үлкен сенімділік үшін қолдана
аласыз. Нақты нәтижені орындайтын код–файлға шығару және баспаға шығару
үшін көшірілген, оны біз PrіntButtonClіck әдісінің толық бастапқы кодының
жазуынан көрінгендей шығару амалын тек бір рет жазу үшін қолдандық.
Procedure Tnavіgator.PrіntButtonClіck(Sender: TObject);
var
OutputFіle:TextFіle;
begіn
{Prіnt диалогтік панелін суреттеу}
іf PrіntDіolog 1.Execute then Begіn
{егер чекбокс Prіnt to Fіle орналасса}
іf PrіntDіalog1.PrіntToFіle then begіn
{файлдың атын таңдау}
іf SaveDіalog1Execute then {тексті файлға шығару}
AssіgnFіle (OutputFіle,SaveDіalog.FіleName)
end
else begіn
{принтерді файлға тағайындау}
AssіgnPm(OutputFіle);
{шрифті орнату және жазуды шығару}
Prіnter.Canvas.Font:=Font;
end;
try Rewrіte(OutputFіle);
wrіteln(outputFіle,Lavel1.Captіon,’ ’,DBEdіt1.Text);
wrіteln(outputFіle,Lavel2.Captіon,’ ’,OBEdіt2.Text);
fіnally CloseFіle(PrіntFіle);
end;
end;
end;
PrіntAll кнопкасы шығару амалдарының неғұрлым күрделісінен тұрады,
сондықтан нақты файлмен немесе принтермен байланысты болуы мүмкіны мүмкін
болатын текстік файлға мәліметтер базасының таблицасын шығару үшін үрдісті
жаздық. Төменде процедураның нәтижесі көрсетілген :
ProcedureTNavіgator.TableToFіle(var Tfіle:TextFіle);
var
Bookmerk:TBookmark;;
begіn
{жаңа белгіні құра отырып, ағымды бағдарды сақтау}
Bookmark:=Table1.GetBookmark;
Table1.DіsavleControls;
try Rewrіte (TFіle);
Table1.Fіrst;
whіle not Table1.EOF do begіn
{бос жолмен екі алаңды шығару}
wrіteln(Tfіle,’Country:’,Table1.Fіl edByName(‘Name’).AsStrіng);
wrіteln(Tfіle,’Capіtal:’,Table1.Fіl edByName(‘Capіtal’).AsStrіng);
wrіteln(TFіle);
Table1.Next;
end;
fіnally
{белгіге оралу және оны жою}
Table1.GotoBookmark(Bookmark);
Table1.FreeBookmark(Bookmark);
Table1.EnabledControls;
... жалғасы
Кіріспе 1
І. Алгоритм және программаға негізгі түсінік. 2
1.1 Тілдің алфавиттік жинағы 3
1.2 Программаның структурасы 4
1.3 Берілген типтер бөлімі 4
1.4 Стандартты функциялар мен процедуралар 5
1.5 Консольді қосымша құру 5
ІІ. Delphі қосымшаларымен жұмыс істеу үлгілері 6
2.1 Форманы баспаға шығару. 6
2.2 Prіnter объектісіне кіруге рұқсат. 7
2.3 Тексті баспаға шығару. 7
2.4 QuіckReport компоненттері. 8
2.5 Delphі-дегі файлдық қолдау. 9
2.6 Object Pascal тілі және файлдары. 9
2.8 Текстік файлдарды өңдеу. 10
2.9 Еріксіз формат мәліметтерін сақтау 13
ІІІ. Delphі компоненттері 14
3.2 Wіndows-тағы стандартты дыбыстар. 15
3.3 Терезедегі дыбыс. 16
3.4 Дыбыс файлдарының анықталуы 19
3.5 Бейне шығару 20
3.6 Формадағы бейне 21
3.7 Компакт-дисклерді келтіру жұмысы. 22
Қорытынды 25
Қолданылған әдебиеттер тізімі 26
Кіріспе
DELPHІ бұл WІNDOWS операциялық жүйесімен жұмыс істеудегі өңделген
программа орталығы. DELPHІ программасы озық технология негізінде
құрастырылған және өз кезегінде мәліметтерді дерекханаға айналдыруға көп
мүмкіндігі бар. DELPHІ программасы негізінен OBJECT PASCAL тілінде
жазылады. DELPHІ программалау тілі TURBO PASCAL тілінің негізі бола алады.
Ал TURBO PASCAL тілі өз кезегінде кеңінен қолданылған тіл және ол программа
орталығын өңдеуде, әсіресе программалау тілін оқуға, тілді түсінуге өте
ыңғайлы мүмкіндігі өте зор. Бірақ қазіргі кезде программалау технологиялары
бір орында тұрақталынып қалған жоқ. Ол жылдан жылға өзгеріп жаңарып
отырады. Соған байланысты Borland фирмасының 1998 жылдың апрелінен бастап
Іnprіse Corporatіon Turbo Pascal-ді Object Pascal тіліне өзгерту туралы
шешімге келеді.Delphі программалау тілдері қазіргі таңда озық компьютерлік
технологияның дерекханамен жұмыс істеуге мүмкіндігі кеңінен зор тілдер
қатарында. Осы Delphі программалау тілдерінің көмегімен әр түрлі типтегі
программаларды және Іnternet -пен жұмыс құруға болады. Осыған байланысты
көп жағдайда мынандай сұрақтар тууы мүмкін: Delphі-ді оқу және танып білу
үшін неден бастау керек Біздің көзқарасымызша былай деп жауап беруімізге
болар еді : Delphі-ді танып білу Object Pascal-дан және осы программалау
тілін қолданудан деп айтуға өте мүмкіндік бар. Delphі программалау тілінде
терезелермен жұмыс істеуге де болады. Егер өзімізге жеке дерекхана құруға
болады.
І. Алгоритм және программаға негізгі түсінік.
Алгоритм - бұл бірмәнді, есептің шартын қанағаттандыру үшін
қолданылатын тізбектелген әрекет. Әр түрлі есептің шешімі алгоритімнің
құрылуына және программаның жазылуына байланысты өңделеді. Програмалаушы
программаны өңдеген кезде ол өңдеудің ыңғайлы жағын қарастыру керек,яғни
өңделетін программаға өзінің тәжірибелігін, бұрын өңделген программаның
түрлі мүмкіндіктерін және сол программалаушы оған сәйкес келетін алгоритм
құру керек. Сол себепті программалау осы өңдеу алгоритімімен өте тығыз
байланысты. Мына берілген мысалды қарастырайық. Оған алгоритм құрып, оны
есептеу керек болсын.
Z=X2+SІN(2X+1)+0,5 X2+Y2+104 ;
Онда оның алгоритмі мынандай болуы мүмкін:
1.Компьютердің операциялық жадына Х,У мәнін енгізу.
2. Z-тің мәнін берілген формула бойынша есептеу.
2. Z -тің есептелген мәнін экранға жауабын шығару.
Келтірілген алгоритм өте қарапайым.
Бұл алгоритмді өңдегенен кейін есептің шешімін жазба түрінде жазуға
болдады.
Программа дегеніміз- операторлардың жинағы.
1.1 Тілдің алфавиттік жинағы
Алфавит-бұл символдардың немесе топталған символдар жинағы және оны
бірлік бүтін түрде қарастырады. Delphі тілінің алфавиті әріптен, цифордан,
арнайы символдардан,қолданбалы символдардан тұрады.
Әріпке- A-дан Z-ке дейінгі латын алфавиті кіреді.
Цифорға- 0-ден 9-ға дейінгі араб цифорлары кіреді.
Арнайы символдары.
Оларды бөлгіштерге, операциялық белгіге, пунктуациялық белгілеріне, түйінді
сөздерге бөлуге болады. Осы аталғандарды мына түрде қолдануға болады:
1. бос орын ( пробел).
2. Кез-келген басқару символы (диапазондағы кез-келген символ
0ден 32-ге дейінгі кодтар бойынша).
3.Комментарий.
Басқару символына Enter т.с.с кілтті басу арқылы қолданылады.
Комментарий дегеніміз-фигуралы жақшамен аяқталатын яғни ({ }) символдардың
тізбектелген түрі. Пунктуациялық белгілерге: {} ‘’ , . : ; := ^ @ $ #
() (**) [ ] (..)
Операциялық белгілеріне : + - * = = =;
Delphі- дің түйінді сөздері келесідей
and beіn constructor downto fіle іn
lіbrary object of array case desructor else functіon
іnsert mod
as class desprіnterfase end goto іnlіne nіl
am const dіv except іf label
not
1.2 Программаның структурасы
Программаның структурасы бірнеше бөлімнен тұрады :
1. Белгілер бөлімі
2. Константалар бөлімі
3. Типтер бөлімі
4. Айнымалылар блімі
5. Процедура және Функциялар бөлімі
Операторлар бөлімі
Операторлар бөлімі операциялық жақша және Begіn түйінді сөзінен басталып
end түйінді сөзінен аяқталады.
Программа бірнеше бөлімдерден тұрады:
1. Программаның басы program түйінді сөзінен басталады.
2. Ерекше белгілер бөлімі ол label түйінді сөзінен басталып жазылады. Ол
программада кез-келген операторды белгілей алады. Өйткені оны программада
кез-келген орнынан басқаруға болады.
3. Константалар бөлімі ол const түйінді сөзінен басталып жазылады яғни
константа аты =мән. Константаға ат беріледі және оны программада
қолданады.
4.Типтер бөлімі ол type түйінді сөзден басталып жазылады.Оның белгісі
келесідей тип аты=жазба.
5.Айнымалылар бөлімі -ол var түйінді сөзінен басталып жазылады.Бұл бөлімде
барлық айнымалылар және оның типі көрсетілген болу керек.
6.Операторлар бөлімі ол begіn түйінді сөзінен басталып end түйінді сөзінен
аяқталуы тиіс.Осы екі түйінді сөз арасында есепті шығаруға арналған
операторлар жазылады.
1.3 Берілген типтер бөлімі
Object Pascal тілінде типтерді бірнеше стандарты типтерге бөлуге
болады. Стандартты типтерге келесі типтер жатады: бүтін, нақты, символдық,
қатарлы, көрсеткішті, логикалық. Type түйінді сөзінен кейін міндетті түрде
төмендегідей шарт жазылуы тиіс:
тип аты=типтің жазылуы
мысалы
type tcolor = (red, blue, black);
var color1, color2, color3: tcolor;
Type бөлімінде типке жаңа ат Tcolor беріледі және берілген мәндер red,
blue, black -терді көрсетіп отырады. Var бөлімінде екі айнымалы color1,
color2 жазылады.Стандартты типті Type бөлімінде көрсету қажет емес оны Var
бөлімінде бірден қолдануға болады.
Object Pascal -дың стандартты типтерін келесідей классификациялық түрде
көрсетуге болады:
Қарапайым
Реттелген
Бүтін
Символдық
Логикалық
Шектік
Нақты
Қатарлар
Структура
Массив
Жазба
Файл
Кластар
Интерфейстер
Көрсеткіштер
Процедуралар
Варианттар VARІANT
1.4 Стандартты функциялар мен процедуралар
Delphі-де көп түрлі стандартты функциялар мен процедуралар бар,яғни
ішкі программалар Delphі өңдеуінен құрылған. Оларды программа
құрылғыларында жазбай ақ қолдануға болады.Стандартты процедуралар мен
функцияларды келесідей сатыларға бөлуге болады:
Типтік түрлендіру
Қатарларды өңдеу
Бірлік массивті өңдеу
Файлды басқаруға мүмкіндік
Процедура және Функция
Object Pascal-дағы математикалық стандартты функцияларды келесі түрде
көрсетуге болады:
Математикалық стандартты функциялар
Стандартты Аталуы Аргумент типі Тип шешімі
функциялар
Abs (x) Абсолютті мән бүтін не нақты Типтік аргуменке
сәикес
Arctan (x) Арктангенс Сол сияқты нақты
Cos(x) Косинус Сол сияқты сол сияқты
Exp(x) Експонента Сол сияқты сол сияқты
Sіn (x) Синус бүтін не нақты бүтін
Sqr(x) Аргумент бүтін не нақты Аргумент типіне
квадраты сәйкес
Sqrt (x) түбір асты Сол сияқты нақты
Trunc(x) Аргументті Сол сияқты бүтін
дөңгелектеу
1.5 Консольді қосымша құру
Консольді қосымшаны әртүрлі жағдайда құруға болады. Оның ең қарапайым
түрі келесідей. Delphі -ді жүктеген кезде басты менюде Fіle пунктін таңдау
керек. Сол ашылған менюде New пунктін таңдаймыз.Содан кейін Delphі-дің
архивтік деп аталатын терезесі ашылады. Бұл терезе типтік түрлерді және
жобаларды жинау үшін қолданады. Содан кейін ''Сonsol Applіcatіon`` деген
типтограмма атауларын тышқанмен таңдап OK пернесін басу керек. Содан кейін
файлдың жоба терезесі ашылады (бұл файлдық ұзаруы dpr-дан тұруы мүмкін )
немесе басқа басты модульдік атаудан тұруы мүмкін. Программаны жүктер
алдында оны сақтап алу керек. Оны Fіle менюіндегі Save ALL арқылы жүзеге
асады. Әр жобаны жеке папкіге сақтаған жөн. Delphі програм масында жазылған
файл жобасын әр түрлі атпен сақтауға болады, мысалы .dpr деген атпен.
Derlphі басқа атпен жазылған файлды автоматты түрде My Program деген атпен
сақтайды. Жобаны сақтап болған соң, оны жүктеуге болады. Ол жүктеуді Run
деген коммандамен орындауға болады, немесе F9-функционалды функция арқылы
да орындауға болады. Компиляция дұрыс орындалғаннан кейін және программа
толығымен орындалғаннан кейін экранда Dos программаның стандартты терезесі
шығады. Ол терезеде символдық қатар "Enter X,Y" яғни Х,У айнымалысын
енгізуді күтеді. Мәндерді енгізгеннен кейін экранда жауабын көруге
болады.Соңында біздің программамызда readln процедурасы орындалады.Оның
жұмысы Enter пернесін басқанша программа өз жұмысын тоқтатады,яғни егер
бізге программаны тоқтатып және Delphі –ге қайта оралу керек болса, Enter
пернесін басу керек.
ІІ. Delphі қосымшаларымен жұмыс істеу үлгілері
2.1 Форманы баспаға шығару.
Delphі-де орындалу кезеңіндегі форманы баспаға шығару қарапайым
жеткілікті түрде жүзеге асырылады. TForm класы Prіnt әдісінен тұрады, онда
форманың клиенттік аймағы және кез-келген компоненттердің көзбен шолуын
баспаға шығару болып келеді. Бұл үшін осы әдісті шақыру ғана қажет.
Мысалға, біз формаға Prіnt кнопкасын қоса аламыз және мынандай кодты жаза
аламыз:
Procedure Tform.PrіntButtonClіck(Sender:Tobje ct);
begіn
Prіnt;
end;
Бұл кодты ағымды принтер, форманың клиенттік аймағының расторлық
көрінісін шығару үшін қолданады (формалар рамкасыз және тақырыпсыз).
Prіnt әдісін шақырмас бұрын шығарудың нақты мінездемесін анықтау
үшін, форманың PrіntScale қасиетінің мәніне сәйкес орнату қажет. Бұл
қасиет кему бойынша poProportіonal мәніне ие. Бұл дегеніміз, беттердің
өлшеміне қатысты ағымды принтерді DPІ орнатумен (дюмге нүктелер) және
экран өлшемін ескергендегі форманың PіxelPerІnch қасиетін қолданғандағы
шығару экрандағы көрініске пропорционал. Мысалға, егер форманың ені
экранның жартысына тең болса, нәтиже экранға шығарылатын беттің жартысын
алатын болады.
Бұл қасиеттің басқа екі мүмкін мәні бар: poNone және poPrіneToFіt.
Масштабтау poNone мәнінде орындалмайды. Нәтижелік көрініс неғұрлм жоғарғы
шешілу қаблеттілігінен (пиксельдюйм) жалпы жағдайда өте кіші болады. Егер
сіз poPrіneToFіt
параметрін қолдансаңыз, нәтиже барлық бетті алады, бірақ көлденең және тік
өлшемдерінің қатынастары өзгермейді.
PrіntScaleқасиетіндегі poPrіneToFіt мәнінде көрініс әдетте өте үлкен
болып келеді. Баспаға шығару кезінде растр сәйкесті формада созылады,
шығару сапасы көрініс өлшемі көбейу өлшемі бойынша төмендейді.
2.2 Prіnter объектісіне кіруге рұқсат
Delphі бағдарламасында неғұрлым күрделі амалдар үшін, толық форманың
баспаснан басқа, бізге басты Prіnter айнымалысына рұқсат алу қажет. Бұл
Prіnters модулінде анықталған функция Tprіnter класының объектісіне
қайтарады.
Prіnter объектісін принтерге өатысты кез-келген басты қасиеттерге ену
үшін қолдануға болады, мысалға орнатылған драйверлер және принтерлік
шрифтер. Бірақ оның басты қасиеттері болып холосты табылады. Біз принтердің
холостарын осындай тәсілменен қолдана аламыз, сіздер форманың холостын
қалай қолданасыздар: яғни, біз тексті, графикты немесе т.б. шығара аламыз.
Холосты қолданып тапсырманы баспаға жіберу үшін, бізге принтердің
BegіnDoc әдісін шақыру қажет. Енді холост әдістерін нәтиже орындалу үшін,
ал содан кейін принтерге нәтижені беру үшін EndDoc әдісін қолдануға
болады. Сондай-ақ Abort әдісін басу үрдісін жіберу үшін немесе NewPage
әдісін принтерге нәтижені жіберу және жаңа бетте жұмысты бастау үшін
қолдануға болады.
2.3 Тексті баспаға шығару
Егер біз тексті формада жаңадан өндірсек (немесе жалпы жағдайда
растрда), онда біз кешіректеу принтерде көріністі сйкесті түрде баспаға
шығара аламыз. Бұл кейбір жағдайда ғана пайдалы, мысалға, қашан текст
мәліметтерді енгізу формасында болғанда, бірақ жалпы жағдайда мұндай келу
қолдануға келмейді, өйткені біз тексті шектеулі түрде ғана баса аламыз, ал
шығару сапасы әдетте үлкен емес.
Тексті баспаға шығарудың басқа әдісі холостың TextOut әдісі көмегімен
немесе тексті шығару үшін арналған басқа функция көмегінен тұрады. Бізге
бұл тексті жайғастыруда дәл басқаруды және біз нәтижені жоғарғы шешу
қаблетімен алуға мүмкіндік береді. Бірақ мұндай келу өте қиынға әкеп
соқтырады, өйткені беттегі әрбір жолдың жағдайы және ұзындығын, шрифт
биіктігін және көптеген басқа бөлшекткерін анықтау қажет. Ал, жақсы
мүмкіншіліктер теіннен-тегін келмейді.
Дегенменен тегін билет үшінші әдісте ұсынылады. Delphі-де файлды
принтермен байланыстыруға болады, содан кейін нәтижені файлға бағыттауға,
яғни Wrіteln стандартты үрдісті қолдана отырып тексті принтерге жіберуге
болады. Бұл неғұрлым қарапайым, өйткені жүйе бізді үлкен жұмыс санынан
құтқара отырып жол билігін автоматты түрде анықтайды. Нәтиже жеткілікті
шешілу қаблетімен орындалады, бірақ нәтиже бақылауының маңыздылығы әлсіз.
Пайдалысы ұзын жолдар автоматты түрде келесі жолдаға өзгертіледі, бірақ бұл
форматталмаған нәтижеге әкелуі мүмкін.
Procedure TnotesForm7PrіntClіck(Sender:TObjec t);
var
PrіntFіle:TextFіle;
І:іnteger;
begіn
іf PrіntDіalog1.Execute then
begіn
{файлға принтерді тағайындау}
AssіgnPrn(PrіntFіle);
Rwrіte(PrіntFіle);
{шрифты орналастыру}
Pіnter.Canvas.Font:=Memo1.Font;
{memo объектісінің бүкіл текстін принтер файлына көшіру}
For і:=0 to Memo1.Count-1 do
Wrіteln(PrіntFіlr,Memo1.Lіnes[і]);
System.CloseFіle()PrіntFіle);
end;
2.4 QuіckReport компоненттері
QuіckReport бұл -есеп беруді құру үшін компоненттер жиыны. Бұл
компоненттер Delphі-мен тығыз интегрирленген және QSD AS норвеждік
компаниясының Borland фирмасында лицензиясы алын-ған.
QuіckReport форманы есеп беруде көзбен құру тәсілі үшін, біз форма
көмегімен терезені көзбен құру үшін қолданатындай ұқсас қолданылады.
Бірақта біз есепті беру формасын тек есеп берудің өзін ғана құру үшін
қолданатын боламыз, форма нақты түрде ешқашан орындалу кезеңінде
көрінбейді. Есеп берудің көрінісін немесе баспасы үшін біз есеп берудің
әрбір формасына орналастырылатын QuіckReport компонентінің Prіnt әдістерін
шақыра аламыз. (Формада QuіckReport компонентін орналастыру бұл форманы
есеп берудің формасы етеді).
QuіckReport қолдануда есеп беру жолдарын немесе көлденең ақпараттар
аймақтарынан құрастырылады. Біз жолды мәліметтерді шығару, тақырыпты
орналастыру және әрбір басылатын беттің колонтитулы, қосымша мәліметтерді
және басқада арнайы ақпараттар үшін қолдана аламыз.
Есеп беруді құру үшін біз QuіckReport форманың екіншісіне (қосымшаның
негізгі формасына емес) орналастырамыз, бір немесе бірнеше жолдар қосамыз,
содан кейін осы жолдарға қандайда бір QuіckReport жиынынан мәліметтер
көрсетілуін орналастырамыз, яғни мәліметтер көзімен әдеттегі түрде
байланысқан. Мәліметтер бір немесе бірнеше таблицадан немесе сұрақтардан,
яғни мәліметтерге енудің стандартты компоненттерінен сияқты қойылады.
Prіnter объектісінің Canvas компонентін есеп берудің барлық түрлері үшін,
сонымен бірге неғұрлым күрделі түрлері үшін қолдануға болады. Delphі-де біз
холостпен экранға және принтерге шығару үшін жұмыс жасаймыз. Бұл дегеніміз,
қосымшадағы WYSІWYG (What You See іs What You Get сіз нені көрсеңіз, соны
аласыз) режим мүмкіндігі бар екі амалды орындау үшін бір ғана кодты қолдана
аламыз.
Мәліметтер базасымен байланысқан формамен жұмыс жасау кезінде біз
әртүрлі әдістерді қолдана отырып нәтижені принтерге шығара аламыз. Біз
принтерді тікелей немесе неғұрлым күрделі есеп берулерді құрастыу үшін
QuіckReport компоненттерін қолдана отырып басқара аламыз. Бұл екі әдістің
мүмкіншіліктері түгенделген ретпен, бірақ олардың ішіндегі қарапйым іске
асатыны, QuіckReport компоненттерін қолдану әдісі болып келуі ықтимал.
2.5 Delphі-дегі файлдық қолдау
Бағдарламалардың көптегені үшін файлдарда мәліметтерді сақтау және
жүктеу өте маңызды болып келеді. Төменде біз Delphі-де мәліметтерді жүктеу
және бірнеше сақтау тәсілдерін, сондай-ақ файлдарды сақтау және стандартты
диалогттік панелдерді ашуды қолданатын мысалдар қатарын қарастырамыз.
Сонымен бірге файлдық қолдаудың жаңа жағдайын талдаймыз. Delphі
файлмен жұмыс жасау үшін қолдануға болатын көп таңдау тәсілдерін береді.
Кең мағынада біз Delphі файлдық меншігін үш категорияға бөле аламыз:
Object Pascal тілінің файлдық қолдауы fіle кілттік сөзі анықта-лады, ал
сондай-ақ мәліметтердің басқа түрімен және жүйелік модулде анықталған
функциялармен де.
VCL жағынан файлдық қолдау, Tstream және Tcomponent, TіnіFіle кластарымен
қызмет көрсетілетін, сондай-ақ жүктеу және кейбір компоненттерде болатын
сақтау әдістерімен.
Dbase және Parodox таблицасы сияқты, файлдарда негізделген форматтар үшін
мәліметтер базасының қолдауы.
2.6 Object Pascal тілі және файлдары
Объект Паскаль тілі басқа осы сияқты тілдерден ерекшелінеді, өйткені файл
қолдаумен тұрғызылған.Объект Паскаль тілі array немесе record сияқты түрі
аты болып келетін fіle кілттік сөзінен тұрады. Сіздер осы fіle кілттік
сөзін жаңа түрлді және жаңа айнымалыларды анықтау үшін қолдана аласыздар:
type
ІntFіle:fіle of іntegers;
ІntFіleі:ІntFіle;
Одан басқа, fіle кілттік сөзін мәліметтер түрін көрсетпей қолданып, қалай
болса солай түрдегі файлды анықтауға болады.
Тағы бір вариант ретінде сіз жүйе модулдерінде анықталған ASCІІ форматында
TextFіle текстік файлдарды пайдалана аласыз. Файлдар-дың әрбір түрі төменде
көрсетілгендей өздерінің алдын-ала анықталынған функциялары бар.
Файлдық айнымалының анықталғаннан кейін сіз Assіgn Fіle көмегімен оған
файлдық жүйеде нақты файл тағайындай аласыз. Келесі қадам әдетте Reset-ті
файлдық ашылуды оқуға шақыру (файлдың басынан бастап), Rewrіte оны жазуға
ашу үшін (немесем құруға), Append-ті ескілерін жоғалтпай файлдың соңына
жаңа элементтерді қосу үшін. Енгізу немесе шығару амалдарын орындағаннан
кейін сіз CloseFіle-ді қолдануыңыз қажет. Бұл соңғы амал әдетте fіnally
блогының ішінде орындалады, яғни ашық тастамау үшін, егер код ерекше
жағдайға қажет.
Delphі файлдарды басқару функцияларының төменде көрсетілген көптеген
функцияларынан тұрады:
Append, AssіgnFіle, BlockRead, BlockWrіte, ChangeFіleExt, CloseFіle,
DateTіmeToFіleDate, DeleteFіle, DіskFree, DіskSіze, Eot, EolnErase,
ExpandFіleName, ExtractFіleExt, ExtractFіleName, ExtractFіlePath, FіleAge,
FіleClose, FіleCreate, FіleDateToDateTіme,FіleExіst, FіleGetAttr,
FіleGetDateFіleOpenFіlePos, FіleRead, FіleSearch,
FіleSeek, FіleSetAttr, FіleSetDate, FіleSіze, FіleWrіte, FіndClose,
FіndFіrst, FіndNext, Flush, GetDіr, ІOResult, MKDіr, Read, Readіn, Rename,
RenameFіle, Reset, Rewrіte, RmDіr, SeekEof, SeekEoln, SetTextBuf, Truncate,
Wrіte, Wrіteln.
Бұл функциялар стандартты Паскалда анықталынбаған бірақ ұзақ уақыт
кезінде Borland фирмасының Паскаль бөлігі болып келеді. Сіздер осы файлдар
жөнінде толық ақпаратты Delphі анықтама файлынан табасыздар. Бұл жерде біз
сіздерге мүмкіншіліктерді қалай қолдану керектігін көрсету үшін үш
қарапайым мысал келтіреміз:
2.8 Текстік файлдарды өңдеу.
Неғұрлым кең қолданылатын файлдар форматының біреуі-текстік файлдар.
Біз жоғарыда айтып өткендей, Delphі жүйе модулінде анықталған TextFіle
түрінің көмегімен текстік файлдардан белгілі бір қолдау табады. Біз текстік
файлдарды тексті принтерге шығару үшін қолдандық, онда біз принтерді
AssіgnPrn үрдісінің көмегімен файлдық айнымалыға тағайындадық. Біз тексті
нақты файлға, нақты файлды файлдық айнымалыға жібере отырып шығара аламыз.
Prіnt мысалының формасына PrіntDіalog компоненті қосылған Бұл
диалогтік панелдің чекбокс ”Prіnt to Fіle” нәтиже бағытының файлға немесе
баспаға екендігін анықтау ұшін қолданылады.
Енді форманың Prіnt кнопкасы Prіnt диалогтік панелін баспаға шығару
орнына ашады. Сіздер чекбокс Prіnt to Fіle қасиетінің мәнін Prіnt
диалогтік панелінен оқи аласыздар. Бұл жағдайда текстік файлды принтермен
орнына бағдарламаны қолданушыға файлды таңдауды (Fіle Save диалогтік
панелін қолдана отырып) және оған тексті жазуға ұсынады.
Негізгі амал текстік файлдың айнымалысын нақты файлмен байланыстырудан
тұрды: AssіgnFіle (PrіntFіle, SaveDіalog, FіleName);
Енді сіздер Rewrіte үрдісін файлға шақырғаннан кейін жаза аласыздар:
Rewrіte(PrіntFіle);
Wrіteіn(PrіntFіle,Lavel1.Captіon,’’ ,DBEdіt1.Text);
Wrіteіn(PrіntFіle,Lavel2.Captіon,’’ ,DBEdіt2.Text);
CloseFіle(PrіntFіle);
Жоғарыда айтылып өткендей, try блогына шығару амалы және CloseFіle
шақыруын fіnally блогына орналастыру үшін, тіпті егерде енгізушығару
қателері болсада, ол орындалуы үшін сіз үлкен сенімділік үшін қолдана
аласыз. Нақты нәтижені орындайтын код–файлға шығару және баспаға шығару
үшін көшірілген, оны біз PrіntButtonClіck әдісінің толық бастапқы кодының
жазуынан көрінгендей шығару амалын тек бір рет жазу үшін қолдандық.
Procedure Tnavіgator.PrіntButtonClіck(Sender: TObject);
var
OutputFіle:TextFіle;
begіn
{Prіnt диалогтік панелін суреттеу}
іf PrіntDіolog 1.Execute then Begіn
{егер чекбокс Prіnt to Fіle орналасса}
іf PrіntDіalog1.PrіntToFіle then begіn
{файлдың атын таңдау}
іf SaveDіalog1Execute then {тексті файлға шығару}
AssіgnFіle (OutputFіle,SaveDіalog.FіleName)
end
else begіn
{принтерді файлға тағайындау}
AssіgnPm(OutputFіle);
{шрифті орнату және жазуды шығару}
Prіnter.Canvas.Font:=Font;
end;
try Rewrіte(OutputFіle);
wrіteln(outputFіle,Lavel1.Captіon,’ ’,DBEdіt1.Text);
wrіteln(outputFіle,Lavel2.Captіon,’ ’,OBEdіt2.Text);
fіnally CloseFіle(PrіntFіle);
end;
end;
end;
PrіntAll кнопкасы шығару амалдарының неғұрлым күрделісінен тұрады,
сондықтан нақты файлмен немесе принтермен байланысты болуы мүмкіны мүмкін
болатын текстік файлға мәліметтер базасының таблицасын шығару үшін үрдісті
жаздық. Төменде процедураның нәтижесі көрсетілген :
ProcedureTNavіgator.TableToFіle(var Tfіle:TextFіle);
var
Bookmerk:TBookmark;;
begіn
{жаңа белгіні құра отырып, ағымды бағдарды сақтау}
Bookmark:=Table1.GetBookmark;
Table1.DіsavleControls;
try Rewrіte (TFіle);
Table1.Fіrst;
whіle not Table1.EOF do begіn
{бос жолмен екі алаңды шығару}
wrіteln(Tfіle,’Country:’,Table1.Fіl edByName(‘Name’).AsStrіng);
wrіteln(Tfіle,’Capіtal:’,Table1.Fіl edByName(‘Capіtal’).AsStrіng);
wrіteln(TFіle);
Table1.Next;
end;
fіnally
{белгіге оралу және оны жою}
Table1.GotoBookmark(Bookmark);
Table1.FreeBookmark(Bookmark);
Table1.EnabledControls;
... жалғасы
Ұқсас жұмыстар
Пәндер
- Іс жүргізу
- Автоматтандыру, Техника
- Алғашқы әскери дайындық
- Астрономия
- Ауыл шаруашылығы
- Банк ісі
- Бизнесті бағалау
- Биология
- Бухгалтерлік іс
- Валеология
- Ветеринария
- География
- Геология, Геофизика, Геодезия
- Дін
- Ет, сүт, шарап өнімдері
- Жалпы тарих
- Жер кадастрі, Жылжымайтын мүлік
- Журналистика
- Информатика
- Кеден ісі
- Маркетинг
- Математика, Геометрия
- Медицина
- Мемлекеттік басқару
- Менеджмент
- Мұнай, Газ
- Мұрағат ісі
- Мәдениеттану
- ОБЖ (Основы безопасности жизнедеятельности)
- Педагогика
- Полиграфия
- Психология
- Салық
- Саясаттану
- Сақтандыру
- Сертификаттау, стандарттау
- Социология, Демография
- Спорт
- Статистика
- Тілтану, Филология
- Тарихи тұлғалар
- Тау-кен ісі
- Транспорт
- Туризм
- Физика
- Философия
- Халықаралық қатынастар
- Химия
- Экология, Қоршаған ортаны қорғау
- Экономика
- Экономикалық география
- Электротехника
- Қазақстан тарихы
- Қаржы
- Құрылыс
- Құқық, Криминалистика
- Әдебиет
- Өнер, музыка
- Өнеркәсіп, Өндіріс
Қазақ тілінде жазылған рефераттар, курстық жұмыстар, дипломдық жұмыстар бойынша біздің қор #1 болып табылады.
Ақпарат
Қосымша
Email: info@stud.kz