Моё меню Общее меню Сообщество Правила форума Все прочитано
Вернуться   uForum.uz > ИКТ и телеком > IT-индустрия > Софт > Программирование > Pascal, Delphi & Builder
Сообщения за день Поиск
Знаете ли Вы, что ...
...инструкция по установке аватара описана в Правилах форума.
<< Предыдущий совет - Случайный совет - Следующий совет >>

Pascal, Delphi & Builder Вопросы программирования касающиеся Pascal и Delphi


Ответить

 
Опции темы Опции просмотра
Старый 15.04.2011 22:44   #41  
uParty Member Known ID Group Ultimate
Аватар для OmoN
Оффлайн
програмщег
Сообщений: 4,971
+ 2,743  5,086/2,116
– 69  99/68

Uzbekistan
IBExpert ни ишлатиш бўйича инструкция (ҳеч ким сўрамаган бўлсаям, бир мақтанволай дедимда ):
1) Register Database (чапдан биринчи) тугмасини босасиз

2) Қуйидаги ойна очилади

3) Серверни ва сервер версиясини танлайсиз. Агар сервер ишлаб ўтирган компьютерингизда бўлса Local ни танлайсиз. Сервернинг версияси компьютерингизга сервер сифатида нима ўрнатганингизга боғлиқ (Interbase ёки Firebird нинг версияларидан бири).

4) БД файли (.gdb кенгайтмали файл) қаердалигини кўрсатасиз (папкани расми бор кнопкани боссангиз OpenDialog очилади), алиас ёзасиз (алиас ёзиш аслида шарт эмас), логин ва парольни киритасиз (SYSDBA/masterkey). "Register" кнопасини босиб регистрация қиласиз.

5) Базани регистрация қилиб бўлдик. База чап томондаги базалар рўйхатида пайда бўлади. Базага уланиш учун унинг устига икки марта босамиз (сичқонча билан).

6) Базанинг ҳамма объектларининг рўйхати очилади. Бизда иккита таблица (LESSONS - мавзулар, WORDS - сўзлар), иккита триггер (таблицага маълумот қўшганда ID полясига автоинкримент қўшиш учун) ва иккита генератор (автоинкриментлар учун) бор. Керакли таблицани танлаб икки марта боссангиз ўнг томонда таблица очилади.

7) Data таби(расмда қизил билан ўралган)га ўтсангиз таблицадаги маълумотларни кўришингиз, таҳрири қилишингиз ва ўчиришингиз мумкин. Маълумотларни ўзгартиргандан кейин Commit қилиш эсдан чиқмасин (кўк ранг билан ўралган жойдаги қизил "галочка"). Агар нотўғри таҳрир қилган бўлсангиз Rollback қилишингиз мумкин (кўк ранг билан ўралган жойдаги қора "крест").
__________________
Ошибки прошлого, мудрость будущего. (с)Д.Тернер.

Последний раз редактировалось OmoN; 15.04.2011 в 22:47.
Ответить 
Старый 15.04.2011 23:48   #42  
Аватар для Ustoz
Оффлайн
MAKTAB
O`QITUVCHI
Сообщений: 682
+ 617  543/277
– 8  129/41

Uzbekistan
Mana faylni ochdim, endi ishlatib ko`raman. Rahmat.
Ответить 
Реклама и уведомления
Старый 15.04.2011 23:49   #43  
Аватар для Ustoz
Оффлайн
MAKTAB
O`QITUVCHI
Сообщений: 682
+ 617  543/277
– 8  129/41

Uzbekistan
Qoyilman! Ishlavotti.
Ответить 
Старый 16.04.2011 00:30   #44  
uParty Member Known ID Group Ultimate
Аватар для OmoN
Оффлайн
програмщег
Сообщений: 4,971
+ 2,743  5,086/2,116
– 69  99/68

Uzbekistan
Цитата:
Сообщение от Ustoz Посмотреть сообщение
Qoyilman! Ishlavotti.
Ўзи ишлаши керак эди.
__________________
Ошибки прошлого, мудрость будущего. (с)Д.Тернер.
Ответить 
Старый 16.04.2011 13:24   #45  
Аватар для Ustoz
Оффлайн
MAKTAB
O`QITUVCHI
Сообщений: 682
+ 617  543/277
– 8  129/41

Uzbekistan
Rahmat, menimcha, mening dasturchi emasligimni hisobga olsak hali baribir muammo chiqib qolsa kerak.
Ответить 
Старый 16.04.2011 17:27   #46  
uParty Member Known ID Group Ultimate
Аватар для OmoN
Оффлайн
програмщег
Сообщений: 4,971
+ 2,743  5,086/2,116
– 69  99/68

Uzbekistan
Оффтоп:
Цитата:
Сообщение от Ustoz Посмотреть сообщение
Rahmat, menimcha, mening dasturchi emasligimni hisobga olsak hali baribir muammo chiqib qolsa kerak.
Шунинг учун хамма уз ишини килгани маъкулда
__________________
Ошибки прошлого, мудрость будущего. (с)Д.Тернер.
Ответить 
Старый 22.04.2011 16:58   #47  
uParty Member Known ID Group Ultimate
Аватар для OmoN
Оффлайн
програмщег
Сообщений: 4,971
+ 2,743  5,086/2,116
– 69  99/68

Uzbekistan
Цитата:
Сообщение от Ustoz Посмотреть сообщение
Qoyilman! Ishlavotti.
Устоз, программача иш беряптими? То есть ишингизга яраяптими?
__________________
Ошибки прошлого, мудрость будущего. (с)Д.Тернер.
Ответить 
Старый 22.04.2011 18:52   #48  
Аватар для Ustoz
Оффлайн
MAKTAB
O`QITUVCHI
Сообщений: 682
+ 617  543/277
– 8  129/41

Uzbekistan
Цитата:
Сообщение от OmoN Посмотреть сообщение
Цитата:
Сообщение от Ustoz Посмотреть сообщение
Qoyilman! Ishlavotti.
Устоз, программача иш беряптими? То есть ишингизга яраяптими?
Aytishga uyalib o`tirgandim, yaxshi o`zingiz gap ochib qoldingiz, Siz bergan dastur yaxshimas zo`r ishlayapti, ammo men uni o`zimning talabim bo`yicha o`zgartiraman desam, hech narsa qilolmadim, masalan Siz raqamlar bilan belgilagan joyda men so`z yozishim kerak edi, yana, delphidan BDga murojaatni tushunolmadim, ya`ni mustaqil o`zim o`zgartirish kiritolmadim. Umuman dastur juda yaxshi, menikiga o`xshab yuklanayotganida kerak-kerakmas narsalarni miyasiga yuklab komp hotirasini "axlat" bilan to`ldirmaydi. Agar charchamagan bo`lsangiz BDning o`zida qanday qilib o`zgartirishlar kiritishni va unga Delphidan turib qanday murojaat qilishni shu yerda muhokama qilsak.
Ответить 
Старый 22.04.2011 19:58   #49  
uParty Member Known ID Group Ultimate
Аватар для OmoN
Оффлайн
програмщег
Сообщений: 4,971
+ 2,743  5,086/2,116
– 69  99/68

Uzbekistan
Ёзганларингизнинг ярмига тушунмадим десам алдамаган бўламан
Цитата:
Сообщение от Ustoz Посмотреть сообщение
ammo men uni o`zimning talabim bo`yicha o`zgartiraman desam, hech narsa qilolmadim
талабингиз қанақа?
Цитата:
Сообщение от Ustoz Посмотреть сообщение
Siz raqamlar bilan belgilagan joyda men so`z yozishim kerak edi
Қайси рақамни ўрнига сўз ёзмоқчисиз?
Агар синф номларини "Биринчи синф", "Иккинчи синф" деб ўзгартирмоқчи бўлсангиз Дельфида проектни очасиз. Формадаги cbClasses ни танлаб туриб Object Inspector(F11) ни қарасангиз Items деган property си бор. Шу пропертини очсангиз (3 та нуқтали кнопкача) алоҳида окнода синфлар рўйхати очилади. Биринчи турган (Синфингизни танланг) дан бошқа любойини ўзгартирсангиз программанинг ишлашига таъсир қилмайди. Лекин битта носи бор. Item нинг Id сини синф сифатида базага жўнатаман. Яъни рўйхатдаги 1 сўзни ("Синфингизни танланг"дан кейинги) 48-синф деб ёзиб қўйсангиз ҳам барибир базага биринчи синф сифатида кетади. Чунки унинг ID си 1. Шу жойларини сал тузукроқ қилиш мумкин эди, лекин дангасалигим панд берди.
Цитата:
Сообщение от Ustoz Посмотреть сообщение
delphidan BDga murojaatni tushunolmadim, ya`ni mustaqil o`zim o`zgartirish kiritolmadim.
Базага мурожаат DataModul да(untDM.pas юнити). БДга тегишли ҳамма амаллар шу орқали бажарилади. DataModul да 4 та компонент бор.
1) DB (TIBDatabase): Базага уланиш учун асосий компонент. БД билан ишлайдиган бошқа компонентлар шу компонент орқали ишлайди.
2) TR (TIBTransaction): Транзакцияларни бошқариш учун хизмат қилади. БДдаги ёзувларга ўзгартириш киритилса (Insert, Update, Delete командалари орқали) бу компонент билан Commit (сақлаш, тасдиқлаш) ёки Rollback (отмена) қилинади.
Бу компонент бизнинг программамизда умуман ишлатилмаган. Чунки базага фақат select билан мурожаат қиламиз. Имтихон топширган ўқувчиларнинг балларини ҳам базага ёзиб боришни план қилгандим. Нима сабабдан балларни базага ёзадиган қилмаганимни топингчи
3) qrAny (TIBQuery): базага SQL запрос жўнатиш учун хизмат қилади (асосан DML). Агар select запрос жўнатилса TIBTransaction ишлатилмайди, қолганлари учун TIBTransaction ишлатилади.
4) dsAny (TDataSource): qrAny билан select запрос орқали базадан олинган маълумотларни ўзида жадвал кўринишида сақлаб туради. Бу компонент бизнинг программамизда умуман ишлатилмаган. Керак бўлиб қолар деб қўшгандим. Олиб ташлаш эсимдан чиқибди.

PHP код:
procedure TDM.DataModuleCreate(SenderTObject);
begin
IniFileFullName 
:= ExtractFilePath(Application.ExeName) + 'test.ini';
if 
not FileExists(IniFileFullNamethen
 begin
  MessageDlg
('Konfiguratsiya fayli topilmadi'mtError, [mbOk], 0);
  Exit;
 
end;
DBPath := Trim(GetStringParametr(IniFileFullName'SYSTEM''DBPath'''));
if 
DBPath '' then
 begin
  MessageDlg
('Konfiguratsiya faylida MB ga yo`l ko`rsatilmagan'mtError, [mbOk], 0);
  Exit;
 
end;
DB.Close;
DB.DatabaseName := DBPath;
DB.Params.Clear;
DB.Params.Add('User_name=SYSDBA');
DB.Params.Add('Password=masterkey');
try
 
DB.Open;
except
 MessageDlg
('MB ga ulanish mumkin emas',mtError,[mbOK],0);
 
Application.Terminate;
end;
end
DataModuleCreate процедураси DataModule яратилаётган пайтида DB компонентини базага улайди. Уланиш керак бўлган база қаердалигини .ini файлдан ўқиб олади. Кейин логин ва парол(sysdba, masterkey) билан ўша базага уланади.
PHP код:
procedure TDM.OpenQR(dsTIBQueryzapastringomodesmallint);
begin
ds
.Close;
ds.SQL.Clear;
ds.SQL.Add(zapa);
case 
omode of
 0
begin
     ds
.Open;
     
ds.FetchAll;
    
end;
 
1begin
     
if not TR.Active then
         TR
.StartTransaction;
       
ds.ExecSQL;
       
TR.Commit;
    
end;
end;
end
OpenQR процедураси орқали базага запрос жўнатаман (ўз ижодимдан )
Параметрлари:
1) ds: TIBQuery: TIBQuery тоифали компонент (бизда qrAny).
2) zapa: string: базага жўнатиладиган запрос.
3) omode: smallint: qrAny ни қандай ишлатиш кераклигини белгилайдиган параметр (0 ёки 1). Агар select запрос жўнатсангиз 0, insert, update, delete запрослар учун 1.
omode 0 бўлганда qrAny миз шунчаки "очилади". 1 бўлганда эса TR компонентида аввал транзакция бошланиди, qrAny запросимизни execute қилади. Охирида TR ни Commit қилади.
Цитата:
Сообщение от Ustoz Посмотреть сообщение
Agar charchamagan bo`lsangiz BDning o`zida qanday qilib o`zgartirishlar kiritishni va unga Delphidan turib qanday murojaat qilishni shu yerda muhokama qilsak.
Биз ҳозирдан чарчасак Саксонбой, Тўқсонбойлар осмондан тушадими
БДга ўзгартириш IBExpert ёрдамида киритилади. Мазохистлар учун InterBase нинг стандартный программаси ҳам бор Базага қанақа ўзгартириш киритмоқчисиз ўзи? Дельфидан БДга қандай мурожаат қилишни менимча юқорида подробно тушунтириб бердим. Саволлар бўлса марҳамат.
Оффтоп:
ПС: Саволлар бўлса http://forum.dastur.uz да ҳам беришингиз мумкин. Дастурлашга тегишли янги форум. Ҳали фойдаланувчимиз кам. Лекин асосий аъзолар(саволларга жавоб берувчилар) бор. Короче ПСни шу форумга одам йиғиш учун ёздим Реклама. А так саволни любой жойда сўрасангиз ҳам жавоб беравераман.
__________________
Ошибки прошлого, мудрость будущего. (с)Д.Тернер.

Последний раз редактировалось OmoN; 22.04.2011 в 20:08.
Ответить 
Реклама и уведомления
Старый 24.04.2011 15:01   #50  
Аватар для Ustoz
Оффлайн
MAKTAB
O`QITUVCHI
Сообщений: 682
+ 617  543/277
– 8  129/41

Uzbekistan
Uzr, buni o`qib tushungunimcha ancha vaqt o`tdi (albatta bunda Sizning aybingiz yo`q ), bunaqa narsalardan ancha chiqib qolibman, albatta men maqsadimni Sizga noto`g`ri tushuntirganman, buni tan olaman. Endi batafsilroq tushuntirishga harakat qilaman.
1. Asosiy maqsadim, kerakli narsalar dasturdan tashqarida va o`quvchilarning qo`li yetmaydigan joyda bo`lsin (menimcha bu maqsad amalga oshdi);
2. Sinflar emas, masalan Beginner, Elementary va shunga o`xshagan so`zlar bilan yozilsin (buni ham tushuntirdingiz shekilli, agar to`g`ri tushungan bo`lsam)
3. Ballarni nima sababdan bazaga yoziladigan qilganingizning sababini bilmadimu, ammo shu ballarni kerak bo`lib qolganda umumlashtirish iloji bo`lsa, yaxshi bo`lar edi. Masalan bolani men 6 ta dars so`zlari bo`yicha tekshirmoqchiman, hozirgi dasturim buni *.txt faylga yozadi va keyin men o`zim ularni bir-biriga qo`shib umumiy ballni chiqaraman, hozirgi paytga bu to`g`ri kelmaydi, bazaga ball yozilayotgan ekan, shuni umumlashtirish imkoni ham bo`lishi kerak, ha aytgancha, mening dasturim har bir o`quvchining ismi bilan ballarni yozadi.
4. Keyin, zarur bo`lib qolsa kimdir eslatganiday "randomize" qilish iloji bo`lsa ham yaxshi bo`lar edi.
Hozircha shu, rahmat.
Ответить 
Ответить




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Advertisement System V2.5 By Branden
OOO «Единый интегратор UZINFOCOM»


Новые 24 часа Кто на форуме Новички Поиск Кабинет Все прочитано Вверх