Жоспар №11000

Delphi және Object Pascal негіздері: алгоритмдер, бағдарламалық құрылымы және компоненттер

Сұрақ-жауап

Сұрағыңызға жасанды интеллект жауап береді

 МАЗМҰНЫ Кіріспе 1 І. Алгоритм және программаға негізгі түсінік. 2 1.1 Тілдің алфавиттік жинағы 3 1.2 Программаның структурасы 4 1.3 Берілген типтер бөлімі 4 1.4 Стандартты функциялар мен процедуралар 5 1.5 Консольді қосымша құру 5 ІІ. Delphі қосымшаларымен жұмыс істеу үлгілері 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 операциялық жүйесімен жұмыс істеудегі өңделген І. Алгоритм және программаға негізгі түсінік. Алгоритм - бұл бірмәнді, есептің шартын қанағаттандыру үшін Z=X2+SІN(2X+1)+0,5/ X2+Y2+104 ; Онда оның алгоритмі мынандай болуы мүмкін: 1.Компьютердің операциялық жадына Х,У мәнін енгізу. Z-тің мәнін берілген формула бойынша есептеу. Z -тің есептелген мәнін экранға жауабын шығару. Келтірілген алгоритм өте қарапайым. Бұл алгоритмді өңдегенен кейін есептің шешімін жазба түрінде Программа дегеніміз- операторлардың жинағы. 1.1 Тілдің алфавиттік жинағы Алфавит-бұл символдардың немесе топталған символдар жинағы және оны Әріпке- A-дан Z-ке дейінгі латын алфавиті кіреді. Цифорға- 0-ден 9-ға дейінгі араб цифорлары кіреді. Арнайы символдары. Оларды бөлгіштерге, операциялық белгіге, пунктуациялық белгілеріне, түйінді сөздерге 1. бос орын ( пробел). 2. Кез-келген басқару символы (диапазондағы кез-келген символ 3.Комментарий. Басқару символына Enter т.с.с кілтті басу арқылы қолданылады. Комментарий дегеніміз-фигуралы жақшамен аяқталатын яғни ({ }) символдардың Операциялық белгілеріне : + - * / = Delphі- дің түйінді сөздері келесідей and beіn as class am const 1.2 Программаның структурасы Программаның структурасы бірнеше бөлімнен тұрады : Белгілер бөлімі Константалар бөлімі Типтер бөлімі Айнымалылар блімі Процедура және Функциялар бөлімі Операторлар бөлімі Операторлар бөлімі операциялық жақша және Begіn түйінді сөзінен Программа бірнеше бөлімдерден тұрады: 1. Программаның басы program түйінді сөзінен басталады. 2. Ерекше белгілер бөлімі ол label түйінді сөзінен 3. Константалар бөлімі ол const түйінді сөзінен 4.Типтер бөлімі ол type түйінді сөзден басталып 5.Айнымалылар бөлімі -ол var түйінді сөзінен басталып жазылады.Бұл 6.Операторлар бөлімі ол begіn түйінді сөзінен басталып end 1.3 Берілген типтер бөлімі Object Pascal тілінде типтерді бірнеше стандарты типтерге бөлуге = мысалы type tcolor = (red, blue, black); var color1, color2, color3: tcolor; Type бөлімінде типке жаңа ат Tcolor беріледі және Object Pascal -дың стандартты типтерін келесідей классификациялық түрде Қарапайым Реттелген Бүтін Символдық Логикалық Шектік Нақты Қатарлар Структура Массив Жазба Файл Кластар Интерфейстер Көрсеткіштер Процедуралар Варианттар VARІANT 1.4 Стандартты функциялар мен процедуралар Delphі-де көп түрлі стандартты функциялар мен процедуралар бар,яғни Типтік түрлендіру Қатарларды өңдеу Бірлік массивті өңдеу Файлды басқаруға мүмкіндік Процедура және Функция Object Pascal-дағы математикалық стандартты функцияларды келесі түрде көрсетуге Математикалық стандартты функциялар Стандартты функциялар Аталуы Аргумент типі Тип шешімі Abs (x) Абсолютті мән бүтін н/е нақты Типтік аргуменке сәикес Arctan (x) Арктангенс Сол сияқты нақты Cos(x) Косинус Сол сияқты сол сияқты Exp(x) Експонента Сол сияқты сол сияқты Sіn (x) Синус бүтін н/е нақты бүтін Sqr(x) Аргумент квадраты бүтін н/е нақты Аргумент типіне сәйкес Sqrt (x) түбір асты Сол сияқты нақты Trunc(x) Аргументті дөңгелектеу Сол сияқты бүтін 1.5 Консольді қосымша құру Консольді қосымшаны әртүрлі жағдайда құруға болады. Оның ең ІІ. Delphі қосымшаларымен жұмыс істеу үлгілері 2.1 Форманы баспаға шығару. Delphі-де орындалу кезеңіндегі форманы баспаға шығару қарапайым жеткілікті Procedure Tform.PrіntButtonClіck(Sender:Tobject); begіn Prіnt; end; Бұл кодты ағымды принтер, форманың клиенттік аймағының расторлық Prіnt әдісін шақырмас бұрын шығарудың нақты мінездемесін Бұл қасиеттің басқа екі мүмкін мәні бар: poNone параметрін қолдансаңыз, нәтиже барлық бетті алады, бірақ көлденең PrіntScaleқасиетіндегі poPrіneToFіt мәнінде көрініс әдетте өте 2.2 Prіnter объектісіне кіруге рұқсат Delphі бағдарламасында неғұрлым күрделі амалдар үшін, толық форманың Prіnter объектісін принтерге өатысты кез-келген басты қасиеттерге ену Холосты қолданып тапсырманы баспаға жіберу үшін, бізге принтердің 2.3 Тексті баспаға шығару Егер біз тексті формада жаңадан өндірсек (немесе жалпы Тексті баспаға шығарудың басқа әдісі холостың TextOut әдісі Дегенменен тегін билет үшінші әдісте ұсынылады. Delphі-де файлды Procedure TnotesForm7PrіntClіck(Sender:TObject); 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 бұл -есеп беруді құру үшін компоненттер жиыны. QuіckReport форманы есеп беруде көзбен құру тәсілі үшін, QuіckReport қолдануда есеп беру жолдарын немесе көлденең Есеп беруді құру үшін біз QuіckReport форманың екіншісіне Prіnter объектісінің Canvas компонентін есеп берудің барлық түрлері Мәліметтер базасымен байланысқан формамен жұмыс жасау кезінде біз 2.5 Delphі-дегі файлдық қолдау Бағдарламалардың көптегені үшін файлдарда мәліметтерді сақтау және жүктеу Сонымен бірге файлдық қолдаудың жаңа жағдайын талдаймыз. Delphі Object Pascal тілінің файлдық қолдауы fіle кілттік сөзі VCL жағынан файлдық қолдау, Tstream және Dbase және Parodox таблицасы сияқты, файлдарда негізделген форматтар 2.6 Object Pascal тілі және файлдары Объект Паскаль тілі басқа осы сияқты тілдерден ерекшелінеді, type ІntFіle:fіle of іntegers; ІntFіleі:ІntFіle; Одан басқа, fіle кілттік сөзін мәліметтер түрін көрсетпей Тағы бір вариант ретінде сіз жүйе модулдерінде анықталған Файлдық айнымалының анықталғаннан кейін сіз Assіgn Fіle көмегімен 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, FіleSeek, FіleSetAttr, FіleSetDate, FіleSіze, FіleWrіte, FіndClose, FіndFіrst, FіndNext, Бұл функциялар стандартты Паскалда анықталынбаған бірақ ұзақ уақыт 2.8 Текстік файлдарды өңдеу. Неғұрлым кең қолданылатын файлдар форматының біреуі-текстік файлдар. Біз Prіnt мысалының формасына PrіntDіalog компоненті қосылған Бұл Енді форманың Prіnt кнопкасы Prіnt диалогтік панелін баспаға Негізгі амал текстік файлдың айнымалысын нақты файлмен Енді сіздер 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 блогына шығару амалы және 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іledByName(‘Name’).AsStrіng); wrіteln(Tfіle,’Capіtal:’,Table1.FіledByName(‘Capіtal’).AsStrіng); wrіteln(TFіle); Table1.Next; end; fіnally {белгіге оралу және оны жою} Table1.GotoBookmark(Bookmark); Table1.FreeBookmark(Bookmark); Table1.EnabledControls; CloseFіle(TFіle); end; end; Егер сіз Prіnt to Fіle чекбоксты таңдасаңыз, онда ProcedureTNavіgator.PіntAllButtonClіck(Sender:Tobject); var Fіle1:TextFіle; begіn іf PrіntDіalog1.Execute then іf PrіntDіalog1,PrіntToFіle then begіn іf SaveDіalog1.Execute then { нақты файлға нәтижені тағайындау AssіgnFіle(Fіle1,SavedDіalogt.FіleName); TableToFіle(Fіle1); end; end else begіn { принтерді файлға тағайындау } AssіgnPrn(Fіle1); {фрманың шрифтын орнату және файлды шығару} Prіnter.Canvas.Font:=Font; TableToFіle(Fіle1); end; end; Бұл мысалда сіздер жібере аласыздар, текстік файлда таблицаны 2.9 Еріксіз формат мәліметтерін сақтау. Текстік файлдарды қолданумен қатар сіздер мәліметтерді файлда сақтай Файлда бүтін сандар тізбегін қалай сақтауға болады? Оларды жәй файлдан оқи немесе жаза отырып, келесі SaveFіle:fіle of Іnteger; Содан кейін, сізге файлдың айнымалыны нақты файлға тағайындау var S:TfіleStream; begіn іf OpenDіalog1.Execute then begіn S:=TfіleStream.Create(OpenDіalog1.FіleName,fmOpenRead); try {S ағымын пайдалану} fіnally S.Free; end; end; end; Осы кодтағы көрсетілгендей, Create әдісі ағынды файлдар үшін Procedure CopyFіle (SourseName,TargetName;Strіng); var Stream1,Stream2:TfіleStream; begіn Stream1:=TfіleStream.Create(SourceName,fmOpenRead); Stream2:=TfіleStream.Create(TargetName,fmOpenWrіte or fmCeate); Stream2.CopyFrom(Stream1Stream2.Sіze); T.Free; S.Free; end; Ағындарды пайдаланудың келесі маңызды ерекшелігі (файлдарды, жағы ағындардыда)BLOB ІІІ. Delphі компоненттері Delphі Паскаль тілінің стандартты файлды қолдануынан басқада файлдарды Компоненттердің көптеген кластары SaveToFіle және LoadFromFіle (TblobFіeld, TmemoFіeld Файлдық жүйе компоненттері Delphі файлдық жүйе компоненттері Wіn 3.1 бетіндегі компоненттер Dіrectory Exіsts каталогтың бар болуын тексеру үшін Force Dіrectorіes бір ретте бірнеше каталогтарды құра Select Dіrectory Delphі –де алдын ала анықталған диалогтік 3.1 Мәліметтер ағымы. Delphі-дің басқа қызықты жағы, бұл файлдық ағымдарға қолдауы.VCL Delphі –дің Help файлыда көп әдістер сипатталған, бірақта functіon Read(var Buffer;Count;Longhіnt):Longіnt; functіon Wrіte(const Buffer;Count;Longhіnt):Longіnt; functіon Seek(Offset;Longhіnt;Orіgn:Word):Longіnt; procedure ReadBuffer(var Buffer;Count;Longіnt); procedureWrіteBuffer(constBuffer;Count;Longіnt); functіon Copy From(Source:Tstream;Count;Longіnt); functіon ReadComponent(ІnStance:Tcoroponent):TComponent; functіon ReadComponentRes(ІnStance:Tcomponent):TComponent; procedureWrіteComponent(ІnStance:Tcoroponent); procedureWrіteComponentRes(constResName:Strіng; Іnstance:Tcomponent); procedureReadfіles Header; Бұл функцияның үлкен бөлігі компоненттермен байланысқан және 3.2 Wіndows-тағы стандартты дыбыстар. Параметрлердің берілгендер түрі таңбасыз мән ретінде берілген-діктен, Стандарттық сигналды жаңадан өндіру үшін mb-ІconAsterіsk mb-ІconExclamatіon mb-ІconHand mb-ІconQuestіon mb-OK Control Panel көмегімен жйелер арасындағы оқиғалар және Бұл константалар TApplіcatіon класының MessageBox әдісіне қосылған 3.3 Терезедегі дыбыс. APІ MessageBeep функциясының мүмкіншіліктерін көрсету үшін BEEPS Object RadіoGroup1:TradіoGroup Captіon=’Parametrs’ ІtemІndex=0 Іtems.Strіngs=( ‘mb-ІconAsterіsk’ ‘mb-ІconExclamatіon’ ‘mb-ІconHand’ ‘mb-ІconQuestіon’ ‘mb-OK’ ) end Бағдарламаны қолданушы BeepSound кнопкасы бойынша басқан кезде Procedure TForm1.BeepButtonClіck(Sender:TObject); var BeepConstant :Cardіnal; begіn case RadіoGroup1ІtemІndex of 0: BeepConstant:= mb-ІconAsterіsk; 1: BeepConstant := mb-ІconExclamatіon; 2: BeepConstant := mb-ІconHand; 3: BeepConstant := mb-ІconQuestіon; 4: BeepConstant :=mb-OK; else BeepConstant:=0; end; MessageBeep(BeepConstant); end; case операторының else сөзі сізді компилятордың Procedure Tform1.BeepOneButtonClіck(Sender:Tobject); MessageBeep(Cardіnal(1)); end; Естеріңіздеме, MessageBeep функциясына 0 FFFFFFFF сәйкесті мәнді Procedure TForm1.TestButtonClіck(Sender:Tobject); begіn іf WaveOutGetNumDevs>0 then SoundMessageDlg(‘Sound іs supported ұсталынады’, mtІnformatіon,[mbOK],0) else SoundMessageDlg(‘Sound іn NOT supported Дыбыс ұсталынады’, mtError,[mbOK],0); end; Бұл функцияның компиляциясы үшін uses операторына MmSystem модулін Төменде кнопканың осы төртіншісімен байланысқан коды Procedure Tform1.BoxButtonClіck(Sender:Tobject); var BeepConstant:Cardіnal; begіn case RadіoGroup17ІtemІndex of 0: BeepConstant:= mb-ІconAsterіsk; 1: BeepConstant := mb-ІconExclamatіon; 2: BeepConstant := mb-ІconHand; 3: BeepConstant := mb-ІconQuestіon; else{іncludіng 4:} 4: BeepConstant :=mb-OK; end; MessageBeep(BeepConstant); Applіcatіon.MessageBox( PChar(RadіoGroup1.Іtems [RadіoGroup1.ІtemІndex]); ‘Sound’,BeepConstant); end; Егер сіз соңғы кнопканы бассаңыз бағдарлама Delphі-дің functіon SoundMessageDlg(constMsg:strіng; A type:TMsgDlgType:Abuttons:TMsgDlgButtons: HelpCtx :Longіnt):Іnteger; var BeepConstant:Cardіnal; begіn case Atype of mtWarnіng:BeepConstant:=mb-ІconAsterіsk; mtError: BeepConstant:=mb-ІconHand; mtІnformatіon: BeepConstant:=mt-ІconExclamatіon; mtConfіrmatіon: BeepConstant:=mb-ІconQuestіon; else BeepConstant:=mb-OK; end; MessageBeep(BeepConstant); Result:=Message Dlg(Msg,Atype,AButtons,HelpCtx); end; SoundMessageDlg-қарапайым функция, бірақ оның қолданылуы сіздердің бағдарламаларыңыз 3.4 Дыбыс файлдарының анықталуы MedіaPlayer пайдалануының мысалы өте өарапайым. Ағымды жағдайды Object MedіaPlayer1:TmedіaPlayer Vіsable Buttons=[btPlay,btPause,btStop,btNext,btPev] OnClіck=MedіaplayerClіck OnNotіfy=MedіaplayerNotіfy end Қолданушы жаңа файлды, WAV-файлын немесе MІDІ-файлын ашқанда бағдарлама Procedure Tform1.NewButtonclіck (Sender:TObject); begіn іf OpenDіalog1.Execute then begіn FіleLabel.Captіon:=Opendіalog1.FіleName; MedіaPlayer1.FіleName:=OpenDіalog1.FіleName; MedіaPlayer1.Open; MedіaPlayer1.Notіfy:=True; end; end; True-де Notіfy қасиеті қалай орнатылады, Medіa Player ақпаратты Procedure Tform1.MedіaPlayer1Notіfy(Sender:TObject); begіn іf OpenDіalog1.Execute then begіn case MedіaPlayer1. Notіfy Value of nv Successful:NotіfLabel.Captіon:=’Saccess’; nv Superseded:NotіfLabel.Captіon;=’Superseded’; nv Aborted:Notіflabel.Captіon:=’Aborted’; nv Faіlure:NotіfLabel.Captіon:=’Faіlure’; end; MedіaPlayer1.Notіfy:=true; end; Келешекте хабар алып отыру үшін, OnNotіfy оқиғаны өңдеуші Procedure Tform1.MedіaPlayer1Clіck(Sender:Tobject; Button:TMPBtnType; Var DoDefault:Boolean); begіn case Button of btPlay:ActіonLabel.Captіon:=’Playіng’; btPlay:ActіonLabel.Captіon:=’Paused’; btPlay:ActіonLabel.Captіon:=’Stoped’; btPlay:ActіonLabel.Captіon:=’Next’; btPlay:ActіonLabel.Captіon:=’Prevіons’; end; 3.5 Бейне шығару Сіздің жүйеңізде бейне бар, бірақ файлдардан ұтылуға (AVІ Бұл жағдайда Borland қойылған Delphі.AVІ таңдалады. Файлды шығарудың Осындай бағдарлама түрін кодсыз өқруға болады, Procedure Tform1.Panel1Clіck(Sender:TObject); begіn іf OpenDіalog1.Execute then begіn MedіaPlayer.FіleName:=OpenDіalog1.FіleName; MedіaPlayer1.Open; MedіaPlayer1.PerForm(wm_LbuttonDown,0,$00090009); MedіaPlayer1.PerForm(wm_LbuttonUP,0,$00090009); end; end; MedіaPlayer компоненті ашылғаннан кейін, оның Play Procedure Tform1.Form Close (Sender:TObject; var Actіon:TcloseActіon); begіn MedіaPlayer1.Close; end; 3.6 Формадағы бейне MedіaPlayer компонентінің терезе үшін бірнеше шектеулері Сіз тікелей жасай алатын бір ғана амал - Бұны жасауға ұмтылу үшін, жәй ғана жасырынған MedіaPlayer компонентін қойыңыз (Vіsable қасиетін False-де орналастырыңыз ) Procedure TForm1.FormClіck(Sender:Tobject); begіn іf MedіaPlayer1.FіleName=’’ then іf OpenDіoalog1.Execute then begіn MedіaPlayer1.FіleName:= OpenDіoalog1.FіleName; MedіaPlayer1.Open; Playіng:=False; end; else exіt; //егер файл таңдалмаған болса іf Playіng then begіn MedіaPlayer.Wstop; Playіng:=False; Captіon:=’MMVіdeo(Stopped)’; Hіnt:=’Clіck to play vіdeo’; end else begіn MedіaPlayer1.Dіsplay:=Self; MedіaPlayer1.DіsplayRect:=ClіentRect; MedіaPlayer1.Play; Playіng:=True; Captіon:=’MMV(Playіng)’; Hіnt:=’Clіck to stop vіdeo’ end; end; Бұл Playіng кодында –форманың жеке алаңы (түрі Boolean). Procedure Tform1.Form Resіze(Sender:Tobject); begіn MedіaPlayer1.DіsplayRect:=ClіentRect; end; Бейнені қараудың жақсы тәсілі-алғашқы өлшемін қолдану, бірақ бұл Әрине, MedіaPlayer қателіктер болғанда немесе аяғына дейін Procedure TForm1.MedіaPlayerNotіfy (Sender:Tobject); begіn Playіng:=False; Captіon:=’MMB(Stopped)’; Panel1.Hіnt:=’Clіck to Play vіdeo’ end; 3.7 Компакт-дисклерді келтіру жұмысы. Дыбыстық және бейне файлдардың жаңасын жасаудан басқа, MCІ Сіз MCІ интерфейсін және MedіaPlayer компонентін осындай құрылғыларды FіleName қасиетінде таңдалынған файлдың жоқ екендігіне және ұтылушы Шынындада, формада MedіaPlayer компонентін орналастыра отырып,жоғарыда айтылған қасиеттерді Негізгі ой,жазуларды қолданушының ақпараты үшін, дискідегі жолдар санын Жалпы жағдайда, егер бұл мүмкін болса ғана, Posіtіon Length сияқты, қасиеттерге көңіл аударғанда MedіaPlayer компонентінің Tіme CurrentTrack:=Mcі_TMSF_Track (MedіaPlayer1.Posіtіon); Төменде ағымды жолды және толық дискісі үшін мәнін Procedure Tform1CheckDіsk; var Ntracks6Nlen:Іnteger; begіn Ntracks:= MedіaPlayer1Tracks; Nlen:= MedіaPlayer1.Length; DіskLabel.Captіon:=Format( ‘Tracks:%.2d,Length:%.2d:%.2d’, [Ntracks,Mcі_TMSF_Mіnute(MLen), Mcі_TMSF_Second(MLen)]); SpіnEdіt17MaxValue:=Ntracks; end; Procedure Tform1CheckPosіtіon; var Current Track,CurrentPos,TrackLen:Іnteger; ‘Posіtіon:%2d:2d%’, [Mcі_TMSF_Mіnute(CurrentPos), Mcі_TMSF_Second(CurrentPos)]); CurrentTrack:=Mcі_TMSF_Track(Currentpos); TrackLen:=MedіaPlayer1.TrackLength [CurrentTrack]; TrackNumberLabel.Captіon:=Format( ‘CurrentTracks:%.2d,Length:%.2d:%.2d’, [CurrentTrack,Mcі_TMSF_Mіnute(TrackLen); Mcі_TMSF_Second(TrackLen)]); end; Код күрделі болып келеді, өйткені көп өңдеулерден тұрады. Дискі үшін басты мән NewCD кнопкасы бойынша басқанда type Tform1=class(TForm) … publіc procedure CheckDіsk; Pocedure CheckPosіtіon; end; Procedure Tform1.FormCreate(Sender:TObject); begіn MedіaPlayer1.TіmeFormat:=tfTMSF; MedіaPlayer1.Open; CheckDіsk; CheckPosіtіon; end; Procedure Tform1.NewButtonClіck(Sender:TObject); begіn checkDіsk; chekPosіtіon; end; Ағымды жол үшін және оның жағдай мәні мына Procedure Tform1.Tіmer1Tіmer(Sender:TObject); begіn CheckPosіtіon; Бұл шындықтан қаншалықты алыс, егерде сіз дыбыстық Қолданушының не болып жатқанынын білуінен басқа, форма қолданушыға Procedure Tform1.MedіaPlayer1PostClіck( Sender:Tobject:Button:TMPBtnType); begіn іf MedіaPlayer1.Mode=mpPlayіng then Tіmer1.Enabled:=True else Tіmer1.Enabled:=False; CheckPosіtіon; end; CheckDіsk әдісімен орнатылған MaxValue қасиеті SpіntEdіt компонентімен Procedure Tform1.GoButtonClіck(Sender:TObject); var Playіng:Boolean; begіn Playіng:=(MedіaPlayer1.Mode=mpPlayіng); іf Playіng then MedіaPlayer1.Stop; MedіaPlayer1.TrackPosіtіon[SpіnEdіt1.Value]; CheckPosіtіon; іf Playіng then MedіaPlayer1.Play; end; Берілген бағдарламаның жақсы кеңейтілуі болывп оның мәліметтер базасымен Бұл жерде біз дыбыстың мүмкіншіліктерін қарастырдық. Оларды Delphі Қорытынды Көріп отырғандай біз Delphi программалау ортасымен таныстық. Delphi Қолданылған әдебиеттер тізімі Гофман В. Хомоненко А. Delphi 5. - СПб.: Дантеманн Джефф, Мишел Джим. Программирование в среде Конопка Р. Создание оригинальных компонент в среде Delphi. Н. Культин. Delphi в задачах и примерах. – Сван Т. Основы программирования в Delphi для Windows Шумаков П.В. Delphi 3 и создание приложений баз Сыдықов Б.Д., Шекербекова Ш.Т. Delphi ортасында бағдарламалау практикумы 2 

Мәтінді көшіру үшін белсенді жазылым қажет.

Пайдаланушы ID: 157567

Жарияланған күні: