DDE Reja: DDE asoslari. DDEning qo'llanilishi DDE-serverlar DDE-mijozlar DDE bo'yicha ReportSmithni boshqarish DDE asoslari DDEML qisqartmasi Dynamic Data Exchange Management Library (dinamik ma'lumotlar almashish kutubxonasi) manosini anglatadi. DDEML bu Dynamic Data Exchange (DDE) deb nomlanuvchi murakkab xabarlar tizimi ustidan nazoratdir. DDE saqlovchi kutubxona Windowsning dastlabki xabarlar tizimi imkoniyatlarini oshirish uchun ishlab chiqilgan. Dynamic Data Exchange bunday nomlanishiga sabab, u ikki dasturni bajarilish vaqtida o'zaro dinamik holda ma'lumotlar almashishiga imkon beradi. Ikki dastur orasidagi aloqani shunday yaratish mumkinki, birida qilingan o'zgarish ikkinchisida akslanadi. Bundan tashqari DDE yordamida o'z dasturingizdan boshqa dasturlarni masalan, Word for Windows, Report Smith, Excel va boshqalarni boshqarish mumkin. Quyida Delphi komponentlaridan DDE qurish uchun qanday foydalanish tushuntirilgan. DDEning qo'llanilishi DDE bo'yicha boshqa dasturdan ma'lumotlar oluvchi yoki boshqa dasturni DDE buyruqlari yordamida boshqaruvchi dastur DDE-mijozi hisoblanadi. Bu holda ikkinchi dastur DDE-serveri bo'ladi. Bir dasturning o'zi bir vaqtda ham mijoz, ham server bo'lishi mumkin (masalan, MicroSoft Word). Endi keling Delphi qanday qilib DDE-dasturlarni tuzish mumkinligini ko'rib o'taylik. DDE-serverlar Delphida DDE-serverni qurish uchun System sahifasidagi ikki - TDdeServerConv va TDdeServerItem komponentlari xizmat qiladi. Odatda loihada bitta TDdeServerConv obyekti va bir yoki bir nechta TDdeServerItem obyekti ishlatidi. DDE-serverning servislariga murojaat qilish uchun mijoz bir necha parametrlarni bilishi keark: servis nomi (Service Name) - bu dastur nomi (odatda - EXE kengaytmasiz bajariluvchi fayl nomi, to'liq yo'li bilan); Topic Name - Delphida bu nom TDdeServerConv komponenti; Item Name - Delphida bu TDdeServerItemning kerakli bo'limi nomi. TDdeServerConv obyektining vazifalari - DDEni umumiy boshqarish va makrovlarning bajarilishi uchun mijozlardan so'rovlarni qabul qilish. Oxirgi amal OnExecuteMasro holatlar qayta ishlovchisida bajariladi, masalan, bizning holdaquyidagicha: procedure TDdeSrvrForm.doMasro(Sender: TObject; Msg: TStrings); var Text: string; begin Text := ''; if Msg.Count 0 then Text := Msg.Strings[0]; MessageDlg ('Executing Masro - ' + Text, mtInformation, [mbOK], 0); end; TDdeServerItem obyekti TDdeServerConv bilan bog'lanadi va DDE bo'yicha aynan nima yuborilishini aniqlanadi. Buning uchun unda Text va Lines xususiyatlari mavjud. (Text ning qiymati doimo Lines[0] ga teng bo'ladi) bu qiymatlar o'zgarganda server bilan bog'langan hamma mijozlarga yangilangan ma'lumotlar yuboriladi. Bizning dasturimizda Lines xususiyati qiymatining o'zgarishi Edit1 komponentining OnChange holatlari qayta ishlovchisida amalga oshadi: procedure TDdeSrvrForm.doOnChange(Sender: TObject); begin if not FInPoke then DdeTestItem.Lines := Edit1.Lines; end; Shu komponentning o'zi mijozlardan ma'lumot olishni aminlaydi, bizning misolimizda bu holat Poke Data tugmasi bosilganda, OnPokeData holati qayta ishlovchisida bajariladi: procedure TDdeSrvrForm.doOnPoke(Sender: TObject); begin FInPoke := True; Edit1.Lines := DdeTestItem.Lines; FInPoke := False; end; Shunday qilib biz Delphi komponentlari yordamida qurilgan to'liq ishlovchi DDE-serverni ko'rib o'tdik. Ko'pincha ...

Joylangan
05 Jun 2024 | 16:17:56
Bo'lim
Informatika va AT
Fayl formati
zip → doc
Fayl hajmi
19.19 KB
Ko'rishlar soni
83 marta
Ko'chirishlar soni
7 marta
Virus yo'q.
VirusTotal da tekshirish
O'zgartirgan san'a:
29.03.2025 | 00:27
Arxiv ichida: doc
Joylangan
05 Jun 2024 [ 16:17 ]
Bo'lim
Informatika va AT
Fayl formati
zip → doc
Fayl hajmi
19.19 KB
Ko'rishlar soni
83 marta
Ko'chirishlar soni
7 marta
Virus yo'q.
VirusTotal da tekshirish
O'zgartirish kiritilgan:
29.03.2025 [ 00:27 ]
Arxiv ichida: doc