-->
Главная » Статьи » Информатика

Өңдеу тілін анықтау, тарату ортасын анықтау, өндеу аспаптарын анықтау.

Өңдеу тілін анықтау, тарату ортасын анықтау, өндеу аспаптарын анықтау.

 

 

Операциялық жүйелер (ОЖ) –Операциялық платформалардың көптүрлілігі, олардың ұқсастықтары мен өзгшешеліктері – бір және көп- пайдаланушы, процесстік, процессорлық; серверлік және таратылған. ОЖ функциональдық мүмкіндіктері. Программаны таратудың виртуалды ортасының ерекшеліктері және ПӨ өңдеу кезіндегі олардың есептелуі. Микропроцессордың операционлық қоршаулары. Программалау тілдері және тілдік жүйелер – өңдеу ортасы және программаның таратылуы (4 және 5 GL деңгейі). Тілдік құралды таңдау және керекті программалау деңгейін анықтау.

Программаның орындалу ортасын қолдану. Жүйелік макростар және текстік өңдеулерде олардың қолданылуы.  Windows технологиялары және аспаптық құралдары. MFC. SDK. Plug&doc. Ауыстыру интерфейсі Drag-and-Drop (Дельфи7, кітабының 27гл.). Ауыстыру  интерфейс және компоненттерді қабылдаудың пайда болғанына біраз уақыт болды. Ол қосымшаны орындау кезінде басқарушы екі элементтің қарым – қатынасын қамтамасыздандыру үшін қолданылады. Бұл кезде басқа да керекті операциялар орындала береді. Таратудың оңайлылығына қарамастан бұл әдісті көп программистер (әсіресе үйренушілер) түсініксіз деп санайды. Бірақ оған қарамастан Drag-and-Drop қолдану өте пайдалы және тартуда жеңіл болуы мүмкін. Механизм жұмыс жасау үшін, керек бейнеге байланысты екі сәйкес басқарушы элементті қалыптастыру керек. Олардың бірі таратушы (Source), екіншісі — қабылдаушы (Target). Бұл кезде таратушы ешқайда ауыстырылмайды, тек регистрацияланады. Ескерту  бір басқару элементі қабылдағыш та  және таратқыш та бола алады. Пайдаланушы маустың көмегімен басқару элементерін керек жерге орналастыра алады. Бұл текста, қасиеттердің мәні (бір редактордан екінші бір редкторға ауыстыру, интерфейсті ауыстыру, шрифтін ауыстыру және текстің өзін ауыстыру); файлдарды және суреттерді ауыстыру; қарапайым ауыстыру және т.б. Windows-тағы  Drag-and-Drop ауыстырулары — файлдар мен дискілер және папкалар арасындағы ауыстыруларды да орындайды.

Drag-and-Drop барлық механизмдері  TControl базалық классында таратылған, ол барлық барлық басқару элементтерінің түбірі болып табылады. Механизм жұмысының маңызы неде?  Delphi компоненттер палитрасындағы кез – келген басқарушы элемент Drag-and-Drop механизіміндегі таратушы болып табылады. Оның ауыстыру этапындағы бастапқы тәртібі оның қасиетне байланысты болады type TDragMode = (dmManual, dmAutomatic);  …property DragMode: TDragMode; ..

dmAutomatic мәні маустың сол жақ басқышының басылуына негізделген. dmManual мәні (үнсіздікпен қойылған) механизмнің қолмен қосылуын күтеді. Бұл режим сол жақ басқыш басқа да бір басқа жұмыстар жасау керек болса қолданылады. Ауыстыруды инициализациялау үшін  procedure BeginDrag(Immediate: Boolean;  Threshold: Integer = -1) әдісі қолданылады;

immediate = True параметрі механизмнің тез арада орындалуын қамтамасыздандырады. Ал оның мәні False болса онда ол тек маусты қолданып ауыстырған кезде ғана қосылады, ол Threshold параметрімен анықталады. Механизнің қосылғандығы маустың көрсеткішімен сигналданады — ол курсорға өзгереді,  property DragCursor: TCursor қасиетінде анықталады; 

procedure DragOver(SourceTObjectXYIntegerStateTDragState;  var AcceptBoolean);

Ол курсор ауысқан кезде Drag-and-Drop режимінде осы компонентпен ауысадыЕгер Accept параметрінің мәні True болсаонда берліген компонент қабылдағыш боладыТаратқыш source параметрімен анықталадыstate параметрі маустың жылжуы жайындағы ақпаратты береді:   type TDragState = (dsDragEnterdsDragLeavedsDragMove);

dsDragEnter — көрсеткіш компоненттің үстінде пайда болдыdsDragLeave — көрсеткіш компонентті тастап кеттіdsDragMove — көрсеткіш компонент үстімен жылжып барады.

Қабылдаушы кейбір жағдайларды ескеру керекегер қабылдаушы жұмысын  қабылдаушының үстінде аяқтаса. Онда ол үшін өңдеу - әдісі қолданылады.

type TDragDropEvent = procedure(Sender, Source: TObject; X, Y: Integer) of object;

property OnDragDropTDragDropEvent;

ол маустың сол жақ басқышын жіберген кезде шақырыладыҚабылдаушыға немесе таратушыға қатынауды сәйкесінше Source және Sender параметрлері қамтамасыздандырады. Маус координаттары және Y параметрлеріне жіберіледі.

type TEndDragEvent = procedure(Sender, Target: TObject; X, Y: Integer) of object;

property OnEndDragTEndDragEvent;

Таратушыда және қабылдаушыда сәйкесінше Sender және Target параметрлерімен анықталады. Маус координаттары және Y параметрлеріне анықталады. Программаны тоқтату үшін EndDrag таратушының әдісі қолданылады:

procedure EndDrag(Drop: Boolean);  Параметр Drop = True ауыстыруды тоқтатадыFalse мәне ауыстыруды үзеді.

Енді өткенімізді нақтылайық, практикада мысал қарастырайықЖобада DemoDragDrop  - Drag-and-Drop механизімімен текстілік редакторлар арқылы тексті ауыстыру таратылған және оларды форма бойынша панелдерді ауырсыру.

Листинг 27.1.  implementation - DemoDragDrop жобасының негізгі формасының секциясы

implementation

{$R *.DFM)

procedure TMainForm.EditlMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, У: Integer);

begin if Button = mbLeft

then TEdit(Sender).BeginDrag(True); 

end;

procedure TMainForm.Edit2DragOver(Sender, Source: TObject; X, Y: Integer;

State: TDragStatevar Accept: Boolean);

 begin

 if Source is TEdit

then Accept := True

else Accept :<= False; 

end;

procedure TMainForm.Edit2DragDrop(Sender, Source: TObject; X, Y:

Integer);

begin

TEdit(Sender).Text := TEdit(Source).Text;

TEdit(Sender).SetFocus;

TEdit(Sender).SelectAll;

 end;

procedure TMainForm.EditlEndDrag(Sender, Target: TObject; X, Y: Integer); 

begin if Assigned(Target)

then TEdit(Sender).Text := 'Текст перенесен в ' + TEdit(Target).Name; 

end;

procedure TMainForm.FormDragOver(Sender, Source: TObject; X, Y: Integer;

State: TDragStatevar Accept: Boolean); begin if Source.ClassName = 'TPanel'

then Accept := True

else Accept := False; 

end;

procedure TMainForm.FormDragDrop(Sender, Source: TObject; X, Y: Integer); 

begin

TPanel(Source).Left := X;

TPanel(Source).Top := Y;

 end;

end.

Біржолды Edit1 редакторы үшін таратқыштың әдіс - өңдегіштері анықталғанEditiMouseDown әдісінде маустың сол жақ басқышын басу және ауыстыру механизімі өңделеді. Өйткені Edit1 үшін DragMode қасиетінің мәні dmManual болады дакомпонент ешбір проблемасыз фокусты алу және текстіредакторлауды қамтамасыздандырадыEditiEndDrag әдісі таратқыштағы ақпаратты бейнелеп ауыстыруды қамтамасыздандырады. Edit2 компоненті үшін қабылдағыштың әдіс - өңдегіштері анықталған. Edit2DragOver әдісі таратқыш классын тексеріп қабылдауға рұқсат береді не бермейді. Edit2DragDrop әдісі таратқыштан тексті қабылдағышқа ауыстыруды орындайдыЕскерту Tedit-тің екі копонентіне көңіл бөліңіз олар бір уақытта таратқыш та қабылдағышта бола аладыОл үшін бұлардың әрқайсысы бірін – бірінің әдіс - өңдегіштерін қолданадыАл әдістердің орныдалатын коды  Tediклассының форма  экземплярын өңдеуге қалыптастырылады, Drag-and-Drop қабылдағышы, Panel2 панелінің ауысуын қамтамасыздандырадыол таратқыш ролінде қолданыладыFormDragOver әдісі кез – келген компоненттерді қабылдаудан қорғайды, панелдерден басқа. FormDragDrop әдісі компоненттердің ауысуын орындайды. Панелдің әдіс - өңдеуіштері болмайдыөйткені ол dmAutomatic режимінде жұмыс жасайды және қосымша ауыстыруды аяқтауды қажет етпейді.

Drag-and-Dock  байланыстыру интерфейсі. Ол негізі Delphi 4 пайда болды. Ол да Microsoft өңдеушілерімен MS Office, Internet Explorer және басқа өнімдерінде қалқып шығатын аспаптар панелінде "қарастырылған" (сурет 27.2). Кейбір басқарушы элементтер (атап айтсақ — xwinControl классының түбтері) басқа басқарушы элементтер үшін бір доктан екіншіге маус арқылы өтетін динамикалық тартылатын мүмкіндігі бар жинақтаушы (доктар) бола алады. Кез – келгенг затты ауыстыруға болады — статикалық текстен бастап формаларға дейінDrag-and-Dock техникасын қолдану мысалын Delphiөңдеу ортасы өзі береді — оның көмегімен экран бетінде кез – келген аспаптарды біріктіруге боладымысалы обьектілер инспекторы және жоба менеджері сияқтыDrag-and-Drop ауыстыру технологиясындағыдайDrag-and-Dock мұнда да таратудың екі нұсқасы қолданылады: автоматты және қолдменБірінші жағдайда керек мәндерді бірнеше қасиеттерге орналастыру керек, ал қалған жұмысты VCL коды өзі жасайдыал екіншісіндеатында көрсетілгендейбарлық жұмыс программалаушыға байланысты жүреді.

Категория: Информатика | Добавил: admin_ (01.12.2013)
Просмотров: 1381 | Теги: Өңдеу тілін анықтау, тарату ортасын анықтау, өндеу аспаптарын анықтау. | Рейтинг: 0.0/0
Всего комментариев: 0

Имя *:
Email:
Код *: