PDA

Просмотр полной версии : Delphida muammo!!!


Ustoz
03.04.2011, 18:24
Assalomu alaykum hurmatli forumdoshlar!
Men Delphida so`zlar bilan ishlaidigan dastur tuzayotgan edim, so`zlar shu darajada ko`payib ketdi-ki (massiv) kompilyator uni exe qilolmayapti. Ilgari Pascal bilan shunaqa muammo bo`lganida qandaydir bir yo`l bilan kompilyatorsiz exe fayl qilsa bo`lardi (hozir esimda yo`q, lekin bir necha bor qilganman), Delphida ham shunaqasi bormi? Bilsanglar maslahat beringlar.

OmoN
04.04.2011, 16:06
Delphida ham shunaqasi bormi? Bilsanglar maslahat beringlar.Бошқачароқ йўли бор.
1) Агар сўзларнинг сони жудаям кўп бўлса .txt ёки биронта иккилик файлга ёзиб олишингиз мумкин. Лекин кодировка (UTF-8) билан муаммо чиқишига тайёр туринг.
2) Яхшиси тинчгина БД га ёзиб қўя қолинг. Барча муаммолардан биратўла қутуласиз. БД сифатида firebird ни тавсия қилган бўлардим.

Janbolat
04.04.2011, 17:04
Nima hato bervotti uzi?

German Stimban
04.04.2011, 18:04
Дастлабки код ва хато форумга ёзинг.

Ustoz
05.04.2011, 19:02
Nima hato bervotti uzi?
"Too many local constant. Use shorter procedure." Muammo shunda-ki kompimning hotirasi kam, kompilyatorda kompilyatsiya qilish uchun uning hotirasi yetmayapti, Pascalda ham shunaqa bo`lgan edi, nima qilganim esimda yo`q ancha bo`ldi, ammo bu muammo hal qilingan edi. Dastur tuzilaverardi-da, kompilyatordan chiqib DOSning o`zida Pascalning boshqa fayli bilan kompilyatsiya qilinar edi, menimcha Delphida ham buning iloji bo`lishi kerak deb o`ylayman, yoki osonroq qilib hotirani kengaytirib qo`taqolgan ma`qulmikan? ;)

Ustoz
05.04.2011, 19:16
Delphida ham shunaqasi bormi? Bilsanglar maslahat beringlar.Бошқачароқ йўли бор.
1) Агар сўзларнинг сони жудаям кўп бўлса .txt ёки биронта иккилик файлга ёзиб олишингиз мумкин. Лекин кодировка (UTF-8) билан муаммо чиқишига тайёр туринг.
2) Яхшиси тинчгина БД га ёзиб қўя қолинг. Барча муаммолардан биратўла қутуласиз. БД сифатида firebird ни тавсия қилган бўлардим.
Unaqa qilolmayman, men dasturchimasman, uni yaxshi tushunmayman, qachonlardir qolip qilib olib haligacha shu qolipning faqat matnini o`zgartirib yuribman, BD bilan ishlamoqchi bo`lganimda bu yaxshi fikr emasligini aytib massivlar bilan ishlashni maslahat berishgan edi, shu-shu massivlar bilan ishlayman.

OmoN
05.04.2011, 23:13
BD bilan ishlamoqchi bo`lganimda bu yaxshi fikr emasligini aytib massivlar bilan ishlashni maslahat berishgan edi, shu-shu massivlar bilan ishlayman.:) massiv bilan BD ni solishtirish noo'rin. Dastur kodida judayam ko'p konstantalar bo'lgani uchun delphi kompilyatsiya qilolmayapti. Demak boshqa usulni qo'llash kerak. Source code ni ko'rsata olasizmi? Balki shu yerda birgalashib qilarmiz...

OmoN
06.04.2011, 14:11
Масаланинг қўйилишини ёзсангиз бошқа усулда ҳал қилишга уриниб кўрамиз.
ПС: Дельфида ишламаганимгаям анча бўлди.

Ustoz
06.04.2011, 15:30
BD bilan ishlamoqchi bo`lganimda bu yaxshi fikr emasligini aytib massivlar bilan ishlashni maslahat berishgan edi, shu-shu massivlar bilan ishlayman.:) massiv bilan BD ni solishtirish noo'rin. Dastur kodida judayam ko'p konstantalar bo'lgani uchun delphi kompilyatsiya qilolmayapti. Demak boshqa usulni qo'llash kerak. Source code ni ko'rsata olasizmi? Balki shu yerda birgalashib qilarmiz...
Ilgari o`zim ozgina bol`sa ham tushunardim, hozir esa yetti yil bo`ldi, faqat matnni o`zgartirib dasturni yangilab o`tiraman. Mana ko`d:
procedure TDars_Form.FormShow(Sender: TObject);
begin
soz:='45';
{---------- 1 Dars --------}
Uzb[1,1]:='yutuq, muvaffaqiyat, g`alaba'; Eng[1,1]:='achievement';
Uzb[1,2]:='hayratlanarli, qoyilmaqom, ajoyib'; Eng[1,2]:='amazing';
Uzb[1,3]:='qadimgi, qadimiy, ko`hna'; Eng[1,3]:='ancient';
........
Dars_Max[1]:=100;
{---------- 2 Dars --------}
Uzb[2,1]:='1) hisobchi; 2) (yuridk) javobgar'; Eng[2,1]:='accountant';
Uzb[2,2]:='aerobika'; Eng[2,2]:='aerobics';
Uzb[2,3]:='ta`sirini o`tkazmoq, mug`ombirlik qilmoq';
.....
Dars_Max[2]:=126;
..... va hakazo
i:=1;
tj:=0;
Label3.Caption:=IntToStr(i)+'.';
label1.caption:=Uzb[Dars,i];
edit1.text:='';
end;

Mana shu va hakazosi ko`payib ketdi. Shu sababli hotira yetmayapti. Hurmatli Omon, agar iloji bo`lsa mummoni shunda hal qilsak-de, keyingi dasturlarimga boshqa ilojini topsak, yaxshi bo`lardi, chunki men buni bitirib olishim kerak. Bu tipdagi dasturlarim juda ko`p, boshida qilinayotganda albatta bunday kattalashib ketishi hech kimning hayoliga ham kelmagan, agar BD bilan ishlashning iloji bo`lsa o`zim ham yo`q demasdim, ammo BD bilan alohida ishlaymanu, Delphi bilan kelishtirolmayman.

Janbolat
06.04.2011, 17:38
bu dasturning vazifasi nima uzi?
Bu kursatgan kodingiz boyicha dars o'tasizmi?

Ustoz
06.04.2011, 21:25
bu dasturning vazifasi nima uzi?
Bu kursatgan kodingiz boyicha dars o'tasizmi?
Bu o`quvchilarning bilimini tekhiradigan dasturlardan faqat bittasi, ya`ni so`z boyligi bilan ishlaydi. Ekranda o`zbekcha so`z chiqadi, o`quvchi uning inglizchasini yozadi, bori shu. Bu kodning hammasi emas, hammasi juda katta, men faqat asosiysini berdim, ya`ni muammoni chiqarayotganini berdim holos.

OmoN
07.04.2011, 01:10
Hurmatli OmonБуниси спорный масала :)
agar iloji bo`lsa mummoni shunda hal qilsak-de, keyingi dasturlarimga boshqa ilojini topsak, yaxshi bo`lardi, chunki men buni bitirib olishim kerak.Сизнинг дастурингизни Сизнинг услубингизда переделка қилдим. 2 та иккилик файл(uzb.lng, eng.lng)га сўзларни ёзиб чиқсангиз бўлди. Дастурга ўзгартириш киритмасангиз ҳам ишлайверади.
Ўзбекча сўзлар рўйхати (uzb.lng)
non
choy
qaymoq
futbolka
oyoq kiyimi
Инглизча сўзлар рўйхати (eng.lng)
bread
tea
cream
T shirt
shoe
agar BD bilan ishlashning iloji bo`lsa o`zim ham yo`q demasdim, ammo BD bilan alohida ishlaymanu, Delphi bilan kelishtirolmayman.БД билан ишлайдиган қилай десам компимга ҳали FireBird ни установка қилмаган эканман (аслида бу бир баҳона холос ;) БД билан қиладиган бўлсам иш кўпайиб кетади: 1) саволлар киритадиган/таҳрирлайдиган модул қилиш, 2) ўқувчилар рўйхатини киритадиган/таҳрирлайдиган модул қилиш, 3) ҳамма натижаларни сақлаш керак, 4) керак пайтда натижаларни ҳисобот кўринишида чиқариш керак, 5) ўқитувчилар рўйхатини киритадиган/таҳрирлайдиган модул, 6) ўқитувчилар паролини ўзгартирадиган модул, 7) авторизация, 8) администратор учун алоҳида модул, 9) мактабдаги синфлар рўйхати, ..... ишқилиб бугун эрталабгача ишласам ҳам улгурмасдим :))
https://img.uforum.uz/images/kuoxxbw8949432.jpg
ПС: Ҳурматли критиклар, бу усул нотўғрилигини ўзим ҳам биламан. Устознинг қилган ишини унинг услубида давом эттирдим холос.
Устоз, код тушунарли бўлса керак. Агар саволлар бўлса бемалол...

Ustoz
07.04.2011, 13:22
"Hurmatli" so`zi nega sporniy ekanligini tushunmadim, qolganini esa hali bemalol o`tirib tushunishga harakat qilib ko`raman. Savol chiqsa murojaat qilarman. Rahmat.

OmoN
07.04.2011, 15:07
"Hurmatli" so`zi nega sporniy ekanligini tushunmadim,Ўша ерда смайлик(тиржайиб турган каллача) ҳам бор эди :)
qolganini esa hali bemalol o`tirib tushunishga harakat qilib ko`raman.Хўш, таассуротлар қалай :)

Janbolat
07.04.2011, 16:11
Хўш, таассуротлар қалай :)

Яхши уйлабсиз, факат кизикарлирок булиши учун Randomize килинса яхши буларди :buba:

Беш баҳо

Ustoz
07.04.2011, 20:19
Yo`q, Sizlar meni noto`g`ri tushunibsizlar, bu dasturlar allaqachondan beri ishlayapti, faqat shularning qolipi asosida men kattarog`ini qilayotgan edim. Bunda rendomize yo`qligining sababi bu darsga taalluqli so`z boyligini bola qanday o`zlashtirganini tekshirish va bilmasa xatosini ko`rsatishga mo`ljallangan. Aralashtirib chiqaradigani esa boshqa dasturda hamma darslarning so`zlari bira to`la beriladi (aynan mana shu xolatda katta bo`lib ketishi kutiladi).
Mendagi muammo hozir shu dasturimni bir amallab "exe" qilib olish, chunki DELPHI janobi oliylari uchun u kattalik qilyapti, exe qilib olinsa muammosiz ishlaydi. Pascalda bundan bir marta o`tdim. Tashqaridan faylni o`qiydigan dasturlar qilmaganimning sababi bor. U paytlarda litseyda ishlardim, tashqi faylni bolalar topib olib to`g`ri javobni ko`rib olgani mayli, faylni ham o`zgartirib tashlashgan xolatlari ham bo`lgan, shu sababli hammasini exe fayl ichiga joylashtirgan edim, albatta o`sha paytda katta bo`lib ketib bunaqa muammo bo`lishini o`ylamagan ekanman, bir marta duch kelgan bo`lsam ham.
Sizning bergan bu maslahatingizni umuman tushunmadim. Uni qanday ishlataman. Maslahat berayotganingizda mening dasturchi emas ingliz tili o`qituvchisi ekanimni ham hisobga oling, iltimos. :) Vaqtingizni ayamaganinigiz uchun rahmat.

OmoN
08.04.2011, 10:56
Бўлмаса БД ишлатингда...
Лекин бунда иш кўпайиб кетади. Юқорида санаб ўтганларимдан ташқари яна анча иши бор. Қўшимча: Ўқитувчи учун алоҳида панел қилиб у ерда қайси фандан қайси мавзу бўйича, қайси синф имтиҳон топширилиши кераклигини ҳам ўрнатадиган қилишимиз керак бўлади. Шунда вапше даҳшат программа ҳосил бўлади. Агар ўқитувчи имтиҳонга доступ очмаса ўқувчи имтихон топширолмайдиган қилиб қўйиш керак ....Яна битта йўли бор. Сўзлар ёзилган файлларни res га тиқиш керак.

Ustoz
08.04.2011, 15:26
Бўлмаса БД ишлатингда...
Лекин бунда иш кўпайиб кетади. Юқорида санаб ўтганларимдан ташқари яна анча иши бор. Қўшимча: Ўқитувчи учун алоҳида панел қилиб у ерда қайси фандан қайси мавзу бўйича, қайси синф имтиҳон топширилиши кераклигини ҳам ўрнатадиган қилишимиз керак бўлади. Шунда вапше даҳшат программа ҳосил бўлади. Агар ўқитувчи имтиҳонга доступ очмаса ўқувчи имтихон топширолмайдиган қилиб қўйиш керак ....Яна битта йўли бор. Сўзлар ёзилган файлларни res га тиқиш керак.
Hop (desam qutilamanmi) :) , ammo qanday qilib, qaysi BDni taklif qilasiz? Bir marta BD bilan qildim, nima muammo bo`lgani esimda yo`q, menimcha, o`sha BDda tuzilayotgan fayllarning yo`nalishi eslab qolinib faqat o`sha "path" bo`yicha qidirardi va uni boshqa kompga o`tkazib bo`lmas, yoki huddi shu berilgan yonalish bo`yicha o`rnatish kerak edi, uni install qiladigan qilmoqchi bo`ldim, keyin to`xtatib qo`yaqoldim. Axir bekorga "Chumchuq so`ysa ham qassob so`ysin" deyishmaydi-ku.

Janbolat
08.04.2011, 16:04
Сузларнинг канчалигини билаолмасак, унда ушбу процедурани FormShow да эмас, балки бошка процедурага (масалан ButtonClick) кушиб курарсиз. Компиляция килишнинг яна йули Ctrl+F9, аммо бундаям барибир шу муаммо булса керак

OmoN
08.04.2011, 16:58
Hop (desam qutilamanmi) , ammo qanday qilib, qaysi BDni taklif qilasiz?Ўзим ёзиб бермагунимча қутулмайман шекилли :) (кулиб турган смайлик - ҳазил деган маънони билдиради). FireBird ни тавсия қиламан.
o`sha BDda tuzilayotgan fayllarning yo`nalishi eslab qolinib faqat o`sha "path" bo`yicha qidirardi va uni boshqa kompga o`tkazib bo`lmas, yoki huddi shu berilgan yonalish bo`yicha o`rnatish kerak edi,Одатда бунақа пайтларда .ini файллардан фойдаланилади. Программа загрузка пайтида базанинг path ини ini файлдан ўқиб олади.
Axir bekorga "Chumchuq so`ysa ham qassob so`ysin" deyishmaydi-ku.Чумчуқ сўйса ҳам чумчуқ сўядиган қассоб сўйсин :)

Ustoz
09.04.2011, 06:45
Firebirdning qolgan BDlardan nima ustunligi bor?

OmoN
10.04.2011, 00:06
Firebirdning qolgan BDlardan nima ustunligi bor?
1) Oracleга нисбатан - ҳажми кичик, кам ресурс талаб қилади. Сизнинг вазифангизни бажариш учун етарли имконияти бор.
2) Interbaseга нисбатан - аслида Interbaseнинг клони, лекин тезроқ ишлайди.
3) Yaffilга нисбатан - билмадим. Яффилни ишлатиб кўрмаганман.
4) Paradoxга нисбатан - тармоқдаям ишлайверади. Транзакцияларни бошқариш афзаллиги бор. Хранимые процедуралар ёзиш мумкин.
5) Access - га нисбатан - тармоқдаям ишлайверади. Транзакцияларни бошқариш афзаллиги бор. Хранимые процедуралар ёзиш мумкин.
6) MySQL га нисбатан - Хранимые процедуралар ёзиш мумкин. Балки MySQLда ҳам уже бу имкониятлар бордир лекин мен қараган пайтда йўқ эди. Бунинг устига MySQL га уланиш учун алоҳида драйверлар установка қилиб ODBC га қўшиш керак.
7) MS SQL га нисбатан - Ҳажми кичик, кам ресурс талаб қилади. MS SQL менга нимагадир умуман ёқмайди.
8) Текин
9) Асосийси менга ёқади :)

Ustoz
10.04.2011, 09:14
Menga ham yoqib qolar degan umiddaman. :)
Gap u menga yoqish-yoqmasligida emas, balki men uni tushunib olarman, ammo muammo ko`pincha yirik narsalardamas, mayda-chuydalarda chiqadi. Bitta kichkina misol keltirib shu yerda bersangiz nafaqat menga, balki boshqalarga ham foydasi tegarmidi. Menga dastur qiib bering demayapman, shuni ishlatishni amalda bir ko`rsatib bersangiz qolganini o`zimning maqsadimga ko`ra davom ettiraveraman. Mabodo bo`lmay qolsa, internet uzoqda emas-ku, yana so`rayverardim. ;)
Innaykeyin, men Firebirdni inetda qidirdim, allambalo narsalarni topdim, uni download qilib olish joyiga yo`nalish berib yuborolmaysizmi? Ahir kichkina deyapsiz-ku. Men topganimda ham hali hudo biladi nimani topaman.

Ustoz
10.04.2011, 10:46
Firebirdni ovomman, 2.5 versiyasi ekan, bo`ladimi?

Ustoz
10.04.2011, 10:58
Oops! Mani kompimda ishlamas ekan. Boshqasini ovomman. Mana shunaqa-de, bilmagan shahringning ko`chalarsi ko`p. :)

OmoN
11.04.2011, 00:37
Gap u menga yoqish-yoqmasligida emas, balki men uni tushunib olarman, ammo muammo ko`pincha yirik narsalardamas, mayda-chuydalarda chiqadi. Bitta kichkina misol keltirib shu yerda bersangiz nafaqat menga, balki boshqalarga ham foydasi tegarmidi. Menga dastur qiib bering demayapman, shuni ishlatishni amalda bir ko`rsatib bersangiz qolganini o`zimning maqsadimga ko`ra davom ettiraveraman. Mabodo bo`lmay qolsa, internet uzoqda emas-ku, yana so`rayverardim.
Attachment дагини ишлатиб кўринг. Ҳозиргина қилиб тугатдим. Delphi 6 да ёзилган. Ҳеч қанақа ностандарт компонент ишлатилмаган.
БДни кўриш учу IBExpert ни ишлатсангиз бўлади. Уни мана бу ердан (http://www.ibexpert.com/rus/ibe_sfx.exe) скачать қилиб оласиз.
Innaykeyin, men Firebirdni inetda qidirdim, allambalo narsalarni topdim, uni download qilib olish joyiga yo`nalish berib yuborolmaysizmi? Ahir kichkina deyapsiz-ku. Men topganimda ham hali hudo biladi nimani topaman.
Мана бу (http://sourceforge.net/projects/firebird/files/firebird-win32/2.5-Release/Firebird-2.5.0.26074_1_Win32.exe/download) линкдан скачать қилиб кўринг. (2.5 версия).
1) FireBird ни установка қиласиз.
2) test.ini файлидаги DBPath га БД (test.gdb файли) турган жойни ёзиб, кейин программани ишга туширасиз. 6-синф учун 2 та мавзу ёзиб, ҳам бирига 3 тадан сўз киритиб қўйганман.
3) IBExpert ни установка қиласиз (агар базани кўрмоқчи бўлсангиз)
Базада 2 та таблица бор. Lessons(мавзулар) ва Words (сўзлар).

Ustoz
11.04.2011, 06:23
Konfiguratsiya fayli topilmadi deyapti. Yana o`sha men o`zim aytgan yo`nlaish bo`yicha faylni topish muammosi shekilli?
Firebirdni o`rnatayotganimda "Obnarujen zapushenniy server Firebird v1.0/Interbase." Hullas, uning ishini to`xtatib boshqatdan o`rnating deyapti, men esa hech qanday Firebirdni ilgari o`rrnatmaganman. Shunaqa gaplar. :)

OmoN
11.04.2011, 11:01
Konfiguratsiya fayli topilmadi deyapti. Yana o`sha men o`zim aytgan yo`nlaish bo`yicha faylni topish muammosi shekilli?Бу нарса муаммо эмас. untDM.pas да
IniFileFullName := ExtractFilePath(Application.ExeName) + 'test.ini';қаторини кўрдингизми? Ўша қатор ини файлни ехе нинг ёнидан қидиради. test.exe нинг ёнида test.ini борми?

"Obnarujen zapushenniy server Firebird v1.0/Interbase." Hullas, uning ishini to`xtatib boshqatdan o`rnating deyapti, men esa hech qanday Firebirdni ilgari o`rrnatmaganman. Shunaqa gaplar.FireBirdни ўрнатмагансиз, лекин Delphi ни ўрнатаётганда InterBase ниям қўшиб ўрнатгансиз. FireBird билан InterBase "битта қориндан талашиб тушишган". Иккаласи бирга ишласа конфликт беради. Ё биттасини қолдириш керак ёки бошқа-бошқа портга настройка қилиш керак.

Ustoz
11.04.2011, 20:22
Konfiguratsiya fayli topilmadi deyapti. Yana o`sha men o`zim aytgan yo`nlaish bo`yicha faylni topish muammosi shekilli?Бу нарса муаммо эмас. untDM.pas да
IniFileFullName := ExtractFilePath(Application.ExeName) + 'test.ini';қаторини кўрдингизми? Ўша қатор ини файлни ехе нинг ёнидан қидиради. test.exe нинг ёнида test.ini борми?

"Obnarujen zapushenniy server Firebird v1.0/Interbase." Hullas, uning ishini to`xtatib boshqatdan o`rnating deyapti, men esa hech qanday Firebirdni ilgari o`rrnatmaganman. Shunaqa gaplar.FireBirdни ўрнатмагансиз, лекин Delphi ни ўрнатаётганда InterBase ниям қўшиб ўрнатгансиз. FireBird билан InterBase "битта қориндан талашиб тушишган". Иккаласи бирга ишласа конфликт беради. Ё биттасини қолдириш керак ёки бошқа-бошқа портга настройка қилиш керак.
Interbaseni o`chirolmadim, nima qilsam ham bez bo`lib turibdi, endi boshqa yo`l bilan o`chirib ko`raman. Rahmat, natijasi haqida ma`lum qilaman.

OmoN
11.04.2011, 22:47
nterbaseni o`chirolmadim, nima qilsam ham bez bo`lib turibdi, endi boshqa yo`l bilan o`chirib ko`raman. Rahmat, natijasi haqida ma`lum qilaman.Омадс. Если че шу ердамиз :)

Ustoz
12.04.2011, 23:20
Firebirdni bribir o`rnatolmadim, Interbaseni uninstal ham qilib ko`rdim, PROWise manager bilan to`xtatib ham ko`rdim, o`chmayman deyapti, dasruringizni ko`rdim, manga yoqdi, ammo BDni o`zgartirolmasam, ozimga moslashtirolmasam, g`alati bo`larkan, internaseni olib tashlab, Firebirdni o`rnatish uchun nima qilish kerak?

OmoN
13.04.2011, 15:38
internaseni olib tashlab, Firebirdni o`rnatish uchun nima qilish kerak?Аслида интербейзни олиб ташлаш шарт ҳам эмас :) Шуни айтиш эсимдан чиқибди. Программа интербейзда ҳам ишлайвериши керак. ФБ ИБнинг клони эканлигини айтибман-у, ИБни олиб ташламасангиз ҳам ишлаши мумкинлигини айтмабман. IBExpert ни ўрнатиб МБни рег-я қилганингизда сервер деган жойига ИБни кўрсатаверинг. Агар менинг программам ишлаган бўлса IBExpert да МБ ни бемалол кўриб, ўзгартира оласиз. Аслида IBExpertсиз ҳам МБга ўзгартириш киритиш ф-ясини программага қўшиш керак. Лекин айтганимдай иш кўпайиб кетади.

Ustoz
14.04.2011, 15:19
Interbaseni to`xtatdim (o`chirmadim, vaqtincha ishini to`xtatdim), Firebirdni o`rnatdim, yana kasha boshlandi, mana nima deyapti:
ISQL Version: WI-V2.5.0.26074 Firebird 2.5
Use CONNECT or CREATE DATABASE to specify a database
SQL>
chiqdi, man
SQL> c:\windows/system32
deb yozgandim keyin mana bunaqa yozuv chiqdi, uni tushunmadim
CON>
Haligacha baza dannihni ocholmay o`tiribman.

OmoN
14.04.2011, 17:32
Haligacha baza dannihni ocholmay o`tiribman.IBExpert ни ўрнатдингизми? IBExpert ФБ ва ИБ лар билан ишлаш учун энг қулай инструмент.

Ustoz
14.04.2011, 20:11
Men ilgari ishlaganlarimdan bular keskin farq qilarkan, endi yaxshilab o`rganib chiqay-chi, keyin ko`rarmiz, maslahatlar uchun rahmat.

OmoN
14.04.2011, 21:05
Men ilgari ishlaganlarimdan bular keskin farq qilarkan, endi yaxshilab o`rganib chiqay-chi, keyin ko`rarmiz, maslahatlar uchun rahmat.IBExpert ни интерфейси инглизча. Сиз яхши тушунасиз. Ишлатишни осон ўрганиб оласиз.

Ustoz
15.04.2011, 06:01
Hudoga shukur menda til muammosi yo`q, ammo tilni tushunib turib nima qilishni bilmay o`tirish ham mumkin ekan, masalan "Please, choose Server Version for the database!" degani nimaligini to`liq tushunvomman, ammo qanday versiya haqida gap ketyapganini tushunmayapman. :)

OmoN
15.04.2011, 11:37
"Please, choose Server Version for the database!"Ўша жойда InterBase 6 ни кўрсатинг. БД ни кўрсатинг деган жойига мен юборган test.gdb ни кўрсатинг. Логин: SYSDBA Пароль: MASTERKEY.

Ustoz
15.04.2011, 18:27
Berilgan login bilan parol noto`g`ri, administratoringga murojaat qil devotti. :)

OmoN
15.04.2011, 19:16
Berilgan login bilan parol noto`g`ri, administratoringga murojaat qil devotti.Не может быт :) untDM.pas ни қарасангиз программа худи ўша логин/пароль билан базага уланяпти.

OmoN
15.04.2011, 22:44
IBExpert ни ишлатиш бўйича инструкция (ҳеч ким сўрамаган бўлсаям, бир мақтанволай дедимда :) ):
1) Register Database (чапдан биринчи) тугмасини босасиз
https://img.uforum.uz/images/ftebjcr5880867.jpg
2) Қуйидаги ойна очилади
https://img.uforum.uz/images/krrgvgy7363756.jpg
3) Серверни ва сервер версиясини танлайсиз. Агар сервер ишлаб ўтирган компьютерингизда бўлса Local ни танлайсиз. Сервернинг версияси компьютерингизга сервер сифатида нима ўрнатганингизга боғлиқ (Interbase ёки Firebird нинг версияларидан бири).
https://img.uforum.uz/images/qfddtrw6829806.jpg
4) БД файли (.gdb кенгайтмали файл) қаердалигини кўрсатасиз (папкани расми бор кнопкани боссангиз OpenDialog очилади), алиас ёзасиз (алиас ёзиш аслида шарт эмас), логин ва парольни киритасиз (SYSDBA/masterkey). "Register" кнопасини босиб регистрация қиласиз.
https://img.uforum.uz/images/tlzoyuj5371775.jpg
5) Базани регистрация қилиб бўлдик. База чап томондаги базалар рўйхатида пайда бўлади. Базага уланиш учун унинг устига икки марта босамиз (сичқонча билан).
https://img.uforum.uz/images/wtyxajb2792802.jpg
6) Базанинг ҳамма объектларининг рўйхати очилади. Бизда иккита таблица (LESSONS - мавзулар, WORDS - сўзлар), иккита триггер (таблицага маълумот қўшганда ID полясига автоинкримент қўшиш учун) ва иккита генератор (автоинкриментлар учун) бор. Керакли таблицани танлаб икки марта боссангиз ўнг томонда таблица очилади.
https://img.uforum.uz/images/pzmzpdf4493910.jpg
7) Data таби(расмда қизил билан ўралган)га ўтсангиз таблицадаги маълумотларни кўришингиз, таҳрири қилишингиз ва ўчиришингиз мумкин. Маълумотларни ўзгартиргандан кейин Commit қилиш эсдан чиқмасин (кўк ранг билан ўралган жойдаги қизил "галочка"). Агар нотўғри таҳрир қилган бўлсангиз Rollback қилишингиз мумкин (кўк ранг билан ўралган жойдаги қора "крест").
https://img.uforum.uz/images/osunyvu6668684.jpg

Ustoz
15.04.2011, 23:48
Mana faylni ochdim, endi ishlatib ko`raman. Rahmat.

Ustoz
15.04.2011, 23:49
Qoyilman! Ishlavotti.

OmoN
16.04.2011, 00:30
Qoyilman! Ishlavotti.Ўзи ишлаши керак эди.

Ustoz
16.04.2011, 13:24
Rahmat, menimcha, mening dasturchi emasligimni hisobga olsak hali baribir muammo chiqib qolsa kerak. ;)

OmoN
16.04.2011, 17:27
Rahmat, menimcha, mening dasturchi emasligimni hisobga olsak hali baribir muammo chiqib qolsa kerak.Шунинг учун хамма уз ишини килгани маъкулда :)

OmoN
22.04.2011, 16:58
Qoyilman! Ishlavotti.Устоз, программача иш беряптими? То есть ишингизга яраяптими?

Ustoz
22.04.2011, 18:52
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. :)

OmoN
22.04.2011, 19:58
Ёзганларингизнинг ярмига тушунмадим десам алдамаган бўламан :)
ammo men uni o`zimning talabim bo`yicha o`zgartiraman desam, hech narsa qilolmadimталабингиз қанақа?
Siz raqamlar bilan belgilagan joyda men so`z yozishim kerak ediҚайси рақамни ўрнига сўз ёзмоқчисиз?
Агар синф номларини "Биринчи синф", "Иккинчи синф" деб ўзгартирмоқчи бўлсангиз Дельфида проектни очасиз. Формадаги cbClasses ни танлаб туриб Object Inspector(F11) ни қарасангиз Items деган property си бор. Шу пропертини очсангиз (3 та нуқтали кнопкача) алоҳида окнода синфлар рўйхати очилади. Биринчи турган (Синфингизни танланг) дан бошқа любойини ўзгартирсангиз программанинг ишлашига таъсир қилмайди. Лекин битта носи бор. Item нинг Id сини синф сифатида базага жўнатаман. Яъни рўйхатдаги 1 сўзни ("Синфингизни танланг"дан кейинги) 48-синф деб ёзиб қўйсангиз ҳам барибир базага биринчи синф сифатида кетади. Чунки унинг ID си 1. Шу жойларини сал тузукроқ қилиш мумкин эди, лекин дангасалигим панд берди.
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 запрос орқали базадан олинган маълумотларни ўзида жадвал кўринишида сақлаб туради. Бу компонент бизнинг программамизда умуман ишлатилмаган. Керак бўлиб қолар деб қўшгандим. Олиб ташлаш эсимдан чиқибди.

procedure TDM.DataModuleCreate(Sender: TObject);
begin
IniFileFullName := ExtractFilePath(Application.ExeName) + 'test.ini';
if not FileExists(IniFileFullName) then
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) билан ўша базага уланади.
procedure TDM.OpenQR(ds: TIBQuery; zapa: string; omode: smallint);
begin
ds.Close;
ds.SQL.Clear;
ds.SQL.Add(zapa);
case omode of
0: begin
ds.Open;
ds.FetchAll;
end;
1: begin
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 қилади.
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 да ҳам беришингиз мумкин. Дастурлашга тегишли янги форум. Ҳали фойдаланувчимиз кам. Лекин асосий аъзолар(саволларга жавоб берувчилар) бор. Короче ПСни шу форумга одам йиғиш учун ёздим :) Реклама. А так саволни любой жойда сўрасангиз ҳам жавоб беравераман.

Ustoz
24.04.2011, 15:01
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.

OmoN
24.04.2011, 16:19
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.Бунинг учун ўқувчилар рўйхатини киритадиган модул қилишим керак. Ўқувчилар рўйхатини любой одам киритавермаслиги учун логин ва пароль билан кирадиган қилишим керак. Логин ва пароль бўлганидан кейин парольни ўзгартирадиган ҳам қилишим керак. Шунча нарсани қилгандан кейин саволларни ҳам ўқитувчи программа орқали киритадиган қилиш керак бўлади. Шунча ишни қилган одамга баллар бўйича ҳисобот қилиш проблемами :)
4. Keyin, zarur bo`lib qolsa kimdir eslatganiday "randomize" qilish iloji bo`lsa ham yaxshi bo`lar edi.Аслида тўрт қатор ақлли код ёзилса буям ҳал бўлади :) Вақтимга қараб ҳал қилишга ҳаракат қиламан.

Ustoz
24.04.2011, 19:02
forum.dastur.uz da hech kim yo`q-ku. Ro`yhatdan o`taman desam pochtangizga yuvoramiz deyishdi, u yerdagi Delphida habar chiqarish usullarining ko`pligini ko`rib hayron bo`ldim. Bir ishlatib ko`rarman. Hozirgina ishlatib ham ko`rdim, har qanday buyuk narsa soddadir degan gapga yana bir bor iqor bo`ldim.

Ustoz
24.04.2011, 19:06
Oynachadagi "Yes" va "No"ni ham o`zimizning qadrdon "Ha" va "Yoq"qa alishtirsa bo`lmaydimi?

Baron
01.05.2011, 21:46
Oynachadagi "Yes" va "No"ni ham o`zimizning qadrdon "Ha" va "Yoq"qa alishtirsa bo`lmaydimi?

Bo'ladi, bemalol! O'zim bir marta shunaqa qilganman. Faqat Delphida emas, C++ Builderda. Delphidayam shunaqa joyi bo'lishi kerak. Qarab ko'raman, topsam yozib yuboraman!

Ustoz
02.05.2011, 13:50
Oynachadagi "Yes" va "No"ni ham o`zimizning qadrdon "Ha" va "Yoq"qa alishtirsa bo`lmaydimi?

Bo'ladi, bemalol! O'zim bir marta shunaqa qilganman. Faqat Delphida emas, C++ Builderda. Delphidayam shunaqa joyi bo'lishi kerak. Qarab ko'raman, topsam yozib yuboraman!
Alohida oyna ochib qilsa bo`ladi, unda hohlagan tilingizda qilaverasiz, men mana bunaqa yuqorida ko`rsatilgan usullarni nazarda tutayotgandim. Agar iloji bo`lsa yaxshi bo`lardi, sabr ila kutamiz.

Hero
03.05.2011, 09:13
Звук драйверни установка қилолмадим шуни яъна қандай йўли бўлса

Baron
04.05.2011, 18:58
Ustoz: qanaqa usulni nazarda tutganizni to'g'risi tushunmadim!
c:\Program Files\Borland\Delphi7\Source\Vcl\Dialogs.pas degan fayl bor. Shu faylning 1952-1953-1954-qatorlarda o'sha OK, Yes, No ... larning ekranda chiqishi keltirilgan. Massivdagi 'Yes' ning o'ringa 'Ha' deb qo'ysez bo'lgani. Keraklilarini o'zgartirib olaverasiz. Faqat menda kompilyatsiya bo'lmadi, shu .pas fayl. Biror bir proff.roq odamdan so'rab ko'rish kerak. OmoN aka bilsalar kerak. Nima deysiz?
Agar bazali qilmoqchi bo'lsez, shuni nazarda tutgan bo'lsangiz, unda bazaga tillar degan tablitsa qo'shasiz, kerakli til bilan kirilganda barcha tugmalardagi, ... lardagi so'zlarni bazadan olib qo'yasiz bo'ldi.

Ustoz
04.05.2011, 22:53
Ustoz: qanaqa usulni nazarda tutganizni to'g'risi tushunmadim!
c:\Program Files\Borland\Delphi7\Source\Vcl\Dialogs.pas degan fayl bor. Shu faylning 1952-1953-1954-qatorlarda o'sha OK, Yes, No ... larning ekranda chiqishi keltirilgan. Massivdagi 'Yes' ning o'ringa 'Ha' deb qo'ysez bo'lgani. Keraklilarini o'zgartirib olaverasiz. Faqat menda kompilyatsiya bo'lmadi, shu .pas fayl. Biror bir proff.roq odamdan so'rab ko'rish kerak. OmoN aka bilsalar kerak. Nima deysiz?
Agar bazali qilmoqchi bo'lsez, shuni nazarda tutgan bo'lsangiz, unda bazaga tillar degan tablitsa qo'shasiz, kerakli til bilan kirilganda barcha tugmalardagi, ... lardagi so'zlarni bazadan olib qo'yasiz bo'ldi.
Rahmat, buni men bilmagan edim, qilib ko`raman, men usul deganda, mana shunaqa bita ikkita komanda bilan beriladigan usulni aytuvdim. Aytganingizday o`zgartirb ko`raman.
Kompilyatsiya bolmaganida birorta habar chiqaradi-ku, nima degan habar oldingiz?

OmoN
05.05.2011, 11:11
Oynachadagi "Yes" va "No"ni ham o`zimizning qadrdon "Ha" va "Yoq"qa alishtirsa bo`lmaydimi?
OmoN aka bilsalar kerak. Nima deysiz?Тўғрисини айтсам калламга бирон марта бунақа фикр келмаган экан :) Хабарни турли тилларда чиқариш керак бўлса ўз модулимизни ёзгандик(логотпимиз билан, чиройли қилиб). Лекин стандарт библиотекаларни ўзгартирмагандик.

Baron
08.05.2011, 23:41
O'sha dialogs.pas faylni keraklicha o'zgartirib, undan dcu - modul faylini olish kerak ekan. Yoki dcu fayllar turadigan joydan dialogs.dcu ni o'zgartirib qo'yib, keyin kompilyatsiya qilsa, o'sha yerda yangi, o'zgartirilgan dialogs.dcu hosil bo'ladi. Keyinchalik ham undan foydalanish mumkin.
O'z modulni yozishga kelsak, bu ham yaxshi. Menimcha, dialogs.pas ni o'zgartirib, "an'anaviy" MessageDlg ni argumentlarini ham o'zgartirib qo'ysa bo'ladi. Kerakli til uchun ham argument qo'shib. Bu ham modul hisoblanadi.

Ustoz
09.05.2011, 15:14
Bunday narsalarni tushunishim qiyin, ammo bir qilib ko`ray-chi, keyin habar qilarman. Omonning maslahati menga juda ham katta foyda berdi, endi keyingi dasturlarimda shuni ishlatmoqchiman, yana boshqa takliflar bo`lsa yaxshi bo`lardi, ammo mening dasturchi emasligimni unutmanglar. iltimos. Soddaroq qilib tushuntirsanglar menga o`xshaganlarning anchasiga foyda bo`lardi. Malahatlar uchun rahmat.
Menda bitta ilgari ham hal qilolmagan muammom bor. Masalan: bitta oynada bir topshiriq chiqdi va bahosini eslab qoldi, keyin boshqa oynada boshqa dastur va uning ham bahosi va yana Nta dasturning o`rtacha bahosi. Shuni hotirada saqlab hisoblaydigan qiluvdim, o`zim ham komp ham yanglishib qolib qotib qolaverardi, shuning osonroq yo`li bormi, faqat tashqi fayldan foydalanmasdan, hotiraning o`zida.

OmoN
10.05.2011, 01:02
Menda bitta ilgari ham hal qilolmagan muammom bor. Masalan: bitta oynada bir topshiriq chiqdi va bahosini eslab qoldi, keyin boshqa oynada boshqa dastur va uning ham bahosi va yana Nta dasturning o`rtacha bahosi. Shuni hotirada saqlab hisoblaydigan qiluvdim, o`zim ham komp ham yanglishib qolib qotib qolaverardi, shuning osonroq yo`li bormi, faqat tashqi fayldan foydalanmasdan, hotiraning o`zida.Агар саволингизни тўғри тушунган бўлсам глобал ўзгарувчига ёзиб қўйинг.

Hero
10.05.2011, 08:24
Караоке прогмасси керак эди.

OmoN
10.05.2011, 10:24
O'sha dialogs.pas faylni keraklicha o'zgartirib, undan dcu - modul faylini olish kerak ekan. Yoki dcu fayllar turadigan joydan dialogs.dcu ni o'zgartirib qo'yib, keyin kompilyatsiya qilsa, o'sha yerda yangi, o'zgartirilgan dialogs.dcu hosil bo'ladi. Keyinchalik ham undan foydalanish mumkin.
O'z modulni yozishga kelsak, bu ham yaxshi. Menimcha, dialogs.pas ni o'zgartirib, "an'anaviy" MessageDlg ni argumentlarini ham o'zgartirib qo'ysa bo'ladi. Kerakli til uchun ham argument qo'shib. Bu ham modul hisoblanadi.Агар программа бир нечта тилда ишлаши керак бўлсачи? Ёки кейинги программанинг интерфейси русча бўлиши керак бўлса. Ўша файлни яна қайта перекомпиляция қиласизми?
Караоке прогмасси керак эди.Дельфидами?

Hero
10.05.2011, 10:30
O'sha dialogs.pas faylni keraklicha o'zgartirib, undan dcu - modul faylini olish kerak ekan. Yoki dcu fayllar turadigan joydan dialogs.dcu ni o'zgartirib qo'yib, keyin kompilyatsiya qilsa, o'sha yerda yangi, o'zgartirilgan dialogs.dcu hosil bo'ladi. Keyinchalik ham undan foydalanish mumkin.
O'z modulni yozishga kelsak, bu ham yaxshi. Menimcha, dialogs.pas ni o'zgartirib, "an'anaviy" MessageDlg ni argumentlarini ham o'zgartirib qo'ysa bo'ladi. Kerakli til uchun ham argument qo'shib. Bu ham modul hisoblanadi.Агар программа бир нечта тилда ишлаши керак бўлсачи? Ёки кейинги программанинг интерфейси русча бўлиши керак бўлса. Ўша файлни яна қайта перекомпиляция қиласизми?
Караоке прогмасси керак эди.Дельфидами?



Ha

OmoN
10.05.2011, 12:12
HaДельфида .midi файллар билан ишлаш ҳақида ўқиб кўринг. Бирон нима чиқиб қолар. .kar файллар билан қандай ишланади билмадим. Лекин мидилар билан ишлаш сал осонроқ (менимча). Яна битта йўли: медиаплеер ясайсизда, қўшиқнинг матнини бегущая строкага ўхшаб ўтказиб турасиз. Лекин бунда тезликни настройка қилиш проблема бўлади.

Hero
10.05.2011, 12:52
[/QUOTE]Дельфида .midi файллар билан ишлаш ҳақида ўқиб кўринг. Бирон нима чиқиб қолар. .kar файллар билан қандай ишланади билмадим. Лекин мидилар билан ишлаш сал осонроқ (менимча). Яна битта йўли: медиаплеер ясайсизда, қўшиқнинг матнини бегущая строкага ўхшаб ўтказиб турасиз. Лекин бунда тезликни настройка қилиш проблема бўлади.[/QUOTE]

Рахмат ака харакат қилиб кўрайчи

Baron
15.05.2011, 01:21
OmoN, ko'p tilli dastur qilib ko'rmaganman. Menimcha, ko'p tilli bo'lsa dialogs.pas ni ichida MessageDlg ni funksiyasiyam bo'ladiku, shuni o'zgartirish kerak degandim. Til uchun bitta atribut qo'shiladi, shunga qarab funksiyani ichida kerakli tilda qiymat oladi xolos. Masalan, MessageDlg("xabar","sarlavha",mtConfirmation,MbOk,0,'uzbek'); shaklida degandim.

OmoN
16.05.2011, 00:26
OmoN, ko'p tilli dastur qilib ko'rmaganman. Menimcha, ko'p tilli bo'lsa dialogs.pas ni ichida MessageDlg ni funksiyasiyam bo'ladiku, shuni o'zgartirish kerak degandim. Til uchun bitta atribut qo'shiladi, shunga qarab funksiyani ichida kerakli tilda qiymat oladi xolos. Masalan, MessageDlg("xabar","sarlavha",mtConfirmation,MbOk, 0,'uzbek'); shaklida degandim.Кўп тилли дастурларда энг яхшиси кэпшинларни базага ёки ини файлга ёзиб қўйиш. Хабар чиқариш учун эса алоҳида форма яратган маъқул. Булар албатта менинг шахсий фикрларим.
Устоз, программага Сиз айтган қулайликларни қўшишни бошладим. Насиб қилса(чақалоқ рухсат берса :) ) бирор кун тугатарман.

MAK
16.05.2011, 10:44
Ilgari o`zim ozgina bol`sa ham tushunardim, hozir esa yetti yil bo`ldi, faqat matnni o`zgartirib dasturni yangilab o`tiraman. Mana ko`d:
procedure TDars_Form.FormShow(Sender: TObject);
begin
soz:='45';
{---------- 1 Dars --------}
Uzb[1,1]:='yutuq, muvaffaqiyat, g`alaba'; Eng[1,1]:='achievement';
Uzb[1,2]:='hayratlanarli, qoyilmaqom, ajoyib'; Eng[1,2]:='amazing';
Uzb[1,3]:='qadimgi, qadimiy, ko`hna'; Eng[1,3]:='ancient';
........
Dars_Max[1]:=100;
{---------- 2 Dars --------}
Uzb[2,1]:='1) hisobchi; 2) (yuridk) javobgar'; Eng[2,1]:='accountant';
Uzb[2,2]:='aerobika'; Eng[2,2]:='aerobics';
Uzb[2,3]:='ta`sirini o`tkazmoq, mug`ombirlik qilmoq';
.....
Dars_Max[2]:=126;
..... va hakazo
i:=1;
tj:=0;
Label3.Caption:=IntToStr(i)+'.';
label1.caption:=Uzb[Dars,i];
edit1.text:='';
end;

Mana shu va hakazosi ko`payib ketdi. Shu sababli hotira yetmayapti. Hurmatli Omon, agar iloji bo`lsa mummoni shunda hal qilsak-de, keyingi dasturlarimga boshqa ilojini topsak, yaxshi bo`lardi, chunki men buni bitirib olishim kerak. Bu tipdagi dasturlarim juda ko`p, boshida qilinayotganda albatta bunday kattalashib ketishi hech kimning hayoliga ham kelmagan, agar BD bilan ishlashning iloji bo`lsa o`zim ham yo`q demasdim, ammo BD bilan alohida ishlaymanu, Delphi bilan kelishtirolmayman.

Dasturni proceduralarga bo'lib tashlash kerak. Ya'ni, har bir prosedurada, masalan, 25 ta savol va javoblar beriladi.
Gap shundaki har bir prosedura o'z ishini yakunlagach hotirani bo'shatib chiqib ketadi.
Delphidan tashqarida turib dasturni kompilyatsiya qilish imkoni yo'q.

P.S. Bo'lib tashla va hukmronlik qil!

OmoN
16.05.2011, 11:16
Dasturni proceduralarga bo'lib tashlash kerak. Ya'ni, har bir prosedurada, masalan, 25 ta savol va javoblar beriladi.
Gap shundaki har bir prosedura o'z ishini yakunlagach hotirani bo'shatib chiqib ketadi.
Delphidan tashqarida turib dasturni kompilyatsiya qilish imkoni yo'q.

P.S. Bo'lib tashla va hukmronlik qil!Бу фикрга қўшилмайман, лекин БД дан фойдаланишнинг иложи бўлмаган пайтларда шу усул билан эплаб турса бўлади.

MAK
16.05.2011, 11:36
Albatta, Ustoz uchun
БД дан фойдаланишнинг иложи бўлмаган пайтлар
o'tib ketdi... :-)

Ustoz
17.05.2011, 06:33
Устоз, программага Сиз айтган қулайликларни қўшишни бошладим. Насиб қилса(чақалоқ рухсат берса ) бирор кун тугатарман.
Omadingizni bersin! Chaqaloqqa bizning nomimizdan salom deb qo`ying. Olloh o`z panohida asrasin.

Ustoz
17.05.2011, 06:53
Sizlarning suhbatlaringizga "quloq solib" o`tirib bu narsalarni tushunmaydigan bitta o`zim ekanligimni tushundim, shuning uchun ancha payt aralashmadim, ammo juda ko`p foydali maslahatlar berdinglar, rahmat. Delphidan tashqarida kompilyatsiya qilish funksiyasi bor, ammo qanaqaligni bilmayman.Endi buning ahamiyati ham yo`q, Omon bergan maslahatlar menga ma`qul keldi, shu usulda ishlayman.

OmoN
17.05.2011, 11:27
Omadingizni bersin!2 кунтунда программанинг ўқитувчи панели (таржима учун сўзлар, талабалар рўйхатини киритадиган қисми)ни қилиб тугатдим. Яна бир-икки тун ишласам имтихон оладиган қисминиям тугатворсам керак. Ишхонада (64 битли windows) файрбирд нормальный ишламаяпти...

Ustoz
17.05.2011, 18:11
2 кунтунда программанинг ўқитувчи панели (таржима учун сўзлар, талабалар рўйхатини киритадиган қисми)ни қилиб тугатдим. Яна бир-икки тун ишласам имтихон оладиган қисминиям тугатворсам керак. Ишхонада (64 битли windows) файрбирд нормальный ишламаяпти...
Juda ham o`zingizni urintirib qo`ymang, hech narsa sog`liqni yo`qotishga arzimaydi. Hali chaqaloqqa keraksiz :)

Baron
17.05.2011, 22:08
OmoN, faqat chaqaloqqa emas...

Ustoz
18.05.2011, 18:00
OmoN, faqat chaqaloqqa emas...
To`liq qo`shilaman :)

OmoN
19.05.2011, 19:57
Ва ниҳоят программа тайёр бўлди.
Талабалар ва ўқитувчилар учун алоҳида авторизация.
https://img.uforum.uz/images/bsmwgbt4098533.jpg
Синфлар ва талабалар рўйхатини бошқариш учун қулай форма
https://img.uforum.uz/thumbs/jdfaqtp5132467.jpg (https://img.uforum.uz/images/jdfaqtp5132467.jpg)
Имтиҳонда сўраладиган сўзларни киритиш, таҳрирлаш
https://img.uforum.uz/thumbs/eepuoex4715096.jpg (https://img.uforum.uz/images/eepuoex4715096.jpg)
Имтиҳонлар ташкил қилиш, талабаларга имтиҳонга киришга рухсат бериш.
Имтиҳонда бериладиган сўзларни танлаш
https://img.uforum.uz/thumbs/useqzyf6468935.jpg (https://img.uforum.uz/images/useqzyf6468935.jpg)
Талабалар учун қулай имтиҳон ойнаси
https://img.uforum.uz/thumbs/leaejfb8089825.jpg (https://img.uforum.uz/images/leaejfb8089825.jpg)
Ажратилган вақт тугаши билан имтиҳон автоматик тарзда тўхтатилади.
Программага қўшимча равишда хелп ҳам ёздим. Устоз, хелп нима учун батафсилмаслигини топингчи :)
Ҳа айтганча. tester.ini файлда базанинг йўлини кўрсатиш эсингиздан чиқмасин. FireBird 1.5 ишлатилган. Менимча Interbase 6.0 ёки 7.0 даям ишласа керак.
Ўқитувчи учун логин: admin пароль: 1.
ПС: Программадан тижорий мақсадда фойдаланманглар, илтимос. Нақд тешиб чиқади-я :)

OmoN
20.05.2011, 10:35
Дастурда ҳисобот ҳам бор. Синфдаги ўқувчиларнинг имтиҳон натижаларини кўрсатиш ва Excel га экспорт қилиш имконияти ҳам қўшилган.

Husen
20.05.2011, 10:51
Cал эртарок ҳаракат қилмайсизми? Best Soft Uzbekistan да роса омадингиз келарди-да... Халқ таълими вазирлиги реклама қилган Eduportal, веб-мактаб, веб-боғчадан кўра мана шунақа дастурлар кўпроқ бўлса нафи каттароқ бўларди.

OmoN
20.05.2011, 11:00
Cал эртарок ҳаракат қилмайсизми? Best Soft Uzbekistan да роса омадингиз келарди-да... бу программачани бест софтга кўтариб боришга уяламан :) Илҳом ака келиб қолсалар программага тест имтиҳони олишниям қўшиб қўярдим.

Ustoz
20.05.2011, 11:45
бу программачани бест софтга кўтариб боришга уяламан
Shu o`zingizdgi uyatdan ba`zilarga ham ozgina bersangiz bo`larkan. Kamtarligingiz yaxshi, ammo Sizning bu kamtarligingizdan ish zarar ko`ryapti, menga o`xshagan chala dasturchilar bir nimalar qilib o`zimizni ham boshqalarni ham qiynab yuribmiz. :)
Hali to`liq ishlatolmadim, negadir kodi bilan qiynalvomman, tushuntirishingizni yana bir o`qib chiqay-chi, nimnanidir ahamiyatsiz qoldirib ketganga o`xshayman.

OmoN
20.05.2011, 12:02
Hali to`liq ishlatolmadim, negadir kodi bilan qiynalvomman, tushuntirishingizni yana bir o`qib chiqay-chi, nimnanidir ahamiyatsiz qoldirib ketganga o`xshayman.Исходный кодни назарда тутмаяпсиз деб умид қиламан :)
Хелпни қарасангиз менимча бу ҳақида ёзилган.
Расмга қаранг:
https://img.uforum.uz/images/qzdnfip982200.jpg
Талабалардан Elementary exam 2 ни олмоқчи бўлсангиз:
1) Алиев Вали учун имтиҳон коди - 24
2) Ҳамидов Али учун имтиҳон коди - 21.
Бу кодни билмаган талаба имтиҳон топширолмайди. Буни аълочилар бошқа талабалар ўрнига имтиҳон топширмасликлари учун қилганман.
Имтиҳонни бир марта топширган талаба қайта топширолмайди. Агар қайта топшириши керак бўлса Сиз скриншотдаги ойнадан унинг натижасини бекор қилишингиз керак (имтиҳонда қатнашадиган талабалар рўйхатидан талабани танлаб туриб сичқончанинг ўнг томонини босасиз. контекст меню очилади).

Ustoz
20.05.2011, 17:54
Katta rahmat, albatta helpni o`qib chiqaman, Sizni shuncha ovora qilganimdan juda hijolatdaman, o`zi aslida kichkina muammo bilan murojaat qiluvdim, biryo`la hammasini hal qilib qo`yaqoldingiz. Rahmat.

OmoN
20.05.2011, 18:13
o`zi aslida kichkina muammo bilan murojaat qiluvdim, biryo`la hammasini hal qilib qo`yaqoldingiz.Бу нарсаларни барибир тушунтириб беролмасдим. Шунинг учун ўзим қилиб қўя қолдим. Бошқаларгаям фойдаси тегиб қолар деб.

MAK
21.05.2011, 12:07
Исходный кодни назарда тутмаяпсиз деб умид қиламан :)


Илтимос, Омон, исходникни биздан дариғ тутманг. Это исключительно спортивный интерес. Элпочтамга жўнатишингиз мумкин: doctorhasanota@mail.ru.

OmoN
21.05.2011, 16:09
Илтимос, Омон, исходникни биздан дариғ тутманг. Это исключительно спортивный интерес. Элпочтамга жўнатишингиз мумкин:Баъзи ишлар БД да хранимые процедуралар ёрдамида қилинган. БД ни очиб кўришингиз мумкин. Программанинг исходнигига келсак... Мен росаям қизғанчиқман :)

Ustoz
21.05.2011, 23:46
Мен росаям қизғанчиқман
To`g`ri qilasiz :)

OmoN
22.05.2011, 15:41
To`g`ri qilasizПрограммани ишлатолдингизми? Таассуротлар қанақа?

MAK
23.05.2011, 08:25
Программанинг исходнигига келсак... Мен росаям қизғанчиқман :)

Мана шундоқ юмор дастурларингиз кодларида ҳам серобдир, деб ўйлайман. Масалан:
if Isxodnik = '' then OmonIsMiser := True;

Hero
23.05.2011, 08:28
Дастурда ҳисобот ҳам бор. Синфдаги ўқувчиларнинг имтиҳон натижаларини кўрсатиш ва Excel га экспорт қилиш имконияти ҳам қўшилган.

Omon aka ko'chirib oldim oshibka beryapti nima maslahat berasiz

MAK
23.05.2011, 09:59
Омон, Test.gdb таркибини янги Дельфи проектда очиб кўрмоқчиман. Қандай уланаман?

П.С. ФайрБирд ишлаб турибди.

OmoN
23.05.2011, 10:45
Omon aka ko'chirib oldim oshibka beryapti nima maslahat berasizНима деган ошибка? Ошибкани тексти бордир?
Омон, Test.gdb таркибини янги Дельфи проектда очиб кўрмоқчиман. Қандай уланаман?Агар шунчаки базани кўрмоқчи бўлсангиз IBExpert (http://www.ibexpert.com/rus/) дан фойдаланинг. Interbase/Firebird базалари билан ишлаш учун мен билган энг яхши программа. Аввал ҳам айтганимдай мазохистлар учун интербейзнинг ўзини программаси ҳам бор. Номи ҳозир эсимда йўқ.
Агар шу база билан ишлайдиган программа тузмоқчи бўлсангиз дельфида Interbase нинг IBDataBase деган компоненти бор. Шу орқали уланасиз.
Мен программамда DataModule яратиб базага қуйидаги код орқали уланганман:

procedure TDM.DataModuleCreate(Sender: TObject);
var DBPath:string;
begin
IniFileFullName := ExtractFilePath(Application.ExeName) + 'tester.ini';
if not FileExists(IniFileFullName) then
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;
If(frmLogin = nil)Then
Application.CreateForm(TfrmLogin, frmLogin);
frmLogin.ShowModal;
except
MessageDlg('MB ga ulanish mumkin emas',mtError,[mbOK],0);
Application.Terminate;
end;
end;

function TDM.GetStringParametr(AFileName, ASection, AIdent, ADefault: string): string;
begin
with TIniFile.Create(AFileName) do
try
Result := ReadString(ASection, AIdent, ADefault);
finally
Free;
end;
end;

MAK
24.05.2011, 13:23
Проблема по БД:
При добавлении новой записи в таблицу нажимается клавиша Insert и тогда чтобы окошко ввода появилась в конце списка DBGridа, что и где написать?
=====================
БД да муаммо:
Талицага янги запис қўшиш учун DBGrid да Insert клавиши босилади, шунда киритиш дарчаси DBGrid нинг энг пастки қаторида (рўйхатнинг охирида) пайдо бўлиши учун қаерда ва нима дейиш керак?

OmoN
24.05.2011, 14:21
БД да муаммо:
Талицага янги запис қўшиш учун DBGrid да Insert клавиши босилади, шунда киритиш дарчаси DBGrid нинг энг пастки қаторида (рўйхатнинг охирида) пайдо бўлиши учун қаерда ва нима дейиш керак?DBGridда Insert кнопкаси босилганда курсор турган қатордан олдин бўш қатор пайдо бўлади. Бўш қатор охирида пайдо бўлиши учун энг охирги қаторга бориб кейин пастга стрелкани босиш керак.
Лекин
Бунинг учун DBGrid нинг DataSource ининг DataSet и албатта Table ёки бирон бир виртуальная таблица(стандарт компонентларда бунақаси йўқ) масалан RxMemoryData бўлиши керак.
Table орқали ишласангиз маълумот киритиш баъзи ҳолларда осон ишлайди (таблицада биронта ҳам foreign key бўлмаган ҳолларда) лекин маълумотни юклаб олиш через одно место ишлайди. SQL запрослар ишлатолмайсиз, фильтр жуда секин ишлайди. Виртуальная таблица билан ишласангиз бу усулда инсерт қилсангиз янги қўшилган ёзув DBGrid да пайдо бўлиши мумкин лекин базага бориб тушмайди.

Маслаҳат: Агар янги запись қўшиш керак бўлса DBGrid нинг ўзида қўшишни тавсия қилмайман. Янги запись қўшиш учун алоҳида форма ясаб ўша ердан базага инсерт қилишни тавсия қиламан.

MAK
24.05.2011, 15:17
DBGridда Insert кнопкаси босилганда курсор турган қатордан олдин бўш қатор пайдо бўлади. Бўш қатор охирида пайдо бўлиши учун энг охирги қаторга бориб кейин пастга стрелкани босиш керак.


Айнан шундоқ. Лекин мен айтгандек иложи борми? Query дан фойдаланяпман.

Маслаҳат: Агар янги запись қўшиш керак бўлса DBGrid нинг ўзида қўшишни тавсия қилмайман. Янги запись қўшиш учун алоҳида форма ясаб ўша ердан базага инсерт қилишни тавсия қиламан.

Албатта, кўп майдонли запислар учун алохида форма жуда тўғри, лекин майдонлар сони атиги 3 та ва улардан иккитаси автоматик хисоблаб қўйиладиган ва жадвалда (ДБГридда) акс этмаслиги керак бўлсачи?

OmoN
24.05.2011, 15:58
Албатта, кўп майдонли запислар учун алохида форма жуда тўғри, лекин майдонлар сони атиги 3 та ва улардан иккитаси автоматик хисоблаб қўйиладиган ва жадвалда (ДБГридда) акс этмаслиги керак бўлсачи?Албатта битта майдон учун алоҳида форма яхшимас. Яхшиси мана бунақа қилиш керак:
IStr := InputBox('Ismingizni kiriting: ', 'Ism :','');
Query1.SQL.Add('insert into odamlar (ism) values ('''+IStr+''')');

Ustoz
24.05.2011, 16:49
Программани ишлатолдингизми? Таассуротлар қанақа?
Bir marta ishlatib ko`z yugurtirib chiqdim, ammo batafsil ko`rib chiqolmadim. Menga yoqdi, rahmat. Keyinroq savollar bo`lsa berarman (savol albatta bo`ladi deb o`ylayman :) )

OmoN
24.05.2011, 18:20
Bir marta ishlatib ko`z yugurtirib chiqdimИшлаган бўлса бўлди. Программа айниб қолмасин дейманда :) Срок годности 1 месяц. Не употреблять после истечении срока

MAK
27.05.2011, 16:49
Нима учун ДБГридда ИНСЕРТ босилганда янги ёзув курсордан битта юкорида киритилади ва курсор силжиганда, хозиргина киритган ёзувинг рўйхатнинг энг охирига тушиб кетади? Бу ж-у-у-у-да ноқулай, фойдаланувчи учун. Нахотки, мумкин эмас, соддагина, инсонпарвар усул билан ДБГридга гап уқтиришнинг?!
Агар бу мумкин бўлмаса, у холда нима учун?
Нахотки, Андерс Хейлсберг бунга эътибор бермаган бўлса?

OmoN
27.05.2011, 17:35
Нима учун ДБГридда ИНСЕРТ босилганда янги ёзув курсордан битта юкорида киритилади ва курсор силжиганда, хозиргина киритган ёзувинг рўйхатнинг энг охирига тушиб кетади? Бу ж-у-у-у-да ноқулай, фойдаланувчи учун.гридда инсерт(яъни орасига тиқиш) ўз вазифасини бажаради. фойдаланувчи учун ноқулай нарсани қулай қилиш программистнинг вазифаси.

MAK
27.05.2011, 19:23
"орасига тиқиш" деганга қўшилмайман. Қандай қилиб файлни "орасини йириб" ёзувни "тиқиб" қўйиш мумкин? Агар шундай бўлганда, юқоридагидек "нозик" сўзлар ва индекслаш деган "бало"ларга хожат қолмаган бўларди.

Менинг фикрим, ёки ниманидир хисобга олмаяпмиз ёки компоненти усталарча алдашимиз керак.

Савол:
а) Нимани хисобга олмаяпмиз?
б) Компонентни қандай алдаш мумкин?

OmoN
27.05.2011, 22:21
Узр, канака файл хакида гап кетяпти? Индекснинг бунга нима алокаси бор?
а) дбгридни свойстваларини караб куринг. EhLib ни гридиниям ишлатиб куринг.
б) bookmark дан фойдаланинг.

Ustoz
28.05.2011, 06:30
Ишлаган бўлса бўлди. Программа айниб қолмасин дейманда Срок годности 1 месяц. Не употреблять после истечении срока
Men tayyor dasturlarni yoqtirmayman, chunki ming yaxshi ishlamasin, baribir mening talabimga javob bermasligi mumkin, shu sababdan ham Sizning dasturingizning ish prinsipini tushunib olib o`zimga moslab o`zgartirsam degandim, bunga ruxsat bordir axir. Aslida o`zi doim shunaqa qilib yuraman, unutmanglar men dasturchi emasman. :)

MAK
28.05.2011, 11:04
Ҳал бўлди.

DBGrid нинг dgEditing опцияси False турган холда Insert клавишасига хеч қандай реакция бўлмайди, шунинг учун Формага ActionList қўйдим. Унга янги ёзув қўшишга жавоб берувчи Акт (actNewExecute) ёздим. Бу актнинг ShortCut хусусиятига Ins клавишини боғладим.

Ёзув таблицанинг охирига қўшилиши учун Append қўлланиши керак экан.

Қуйида содда синов модулининг коди:


implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
Query1.Open;
end;
procedure TForm1.DBGrid1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key = VK_RETURN
then
begin
if Query1.State in [dsEdit, dsInsert]
then
Query1.Post;
end;
end;
procedure TForm1.Query1AfterPost(DataSet: TDataSet);
begin
DBGrid1.Options := DBGrid1.Options - [dgEditing, dgAlwaysShowEditor];
end;
procedure TForm1.Query1AfterCancel(DataSet: TDataSet);
begin
DBGrid1.Options := DBGrid1.Options - [dgEditing, dgAlwaysShowEditor];
end;
procedure TForm1.actNewExecute(Sender: TObject);
begin
DBGrid1.Options := DBGrid1.Options + [dgEditing, dgAlwaysShowEditor];
Query1.Append;
DBGrid1.SetFocus;
DBGrid1.Fields[1].FocusControl;
end;
end.


Рахмат, Омон. Агар сир бўлмаса, асосий дастурлаш инструментинигиз нима? Ва яна:
1) Дельфига Ўзбекистонда эътибор қандай?
2) Форумда делфинлар борми?

Ustoz
29.05.2011, 12:49
Форумда делфинлар борми?
Bu haqda boshqa forumlarda ham savollar berishgan, men Saidolim degan yigitni bilardim, hozir nima qilyapti bilmayman, ammo Delphini zo`r bilardi.MYPda tanishgandim. forum.dastur.uz da ham bir ko`rganday bo`luvdim.
Omon. Delphini bilgan odam mana shu BD bilan ihlashni qacha vaqtda o`rganib olishi mumkin, uning ustiga agar ilgari ozgina ishlagan bo`lsa. Bir o`rgatmaysizmi? Men Dbase da iashlagandim agar adashmasam, yo`nalishni ko`rsatish kerakligi menga yoqmagandi, baribir hammasida ham bir xil ekan-ku.

OmoN
30.05.2011, 00:14
Рахмат, Омон. Агар сир бўлмаса, асосий дастурлаш инструментинигиз нима?Ҳозирда Java ва PL/SQL. 4 йилдан бери делфида биронта тузукроқ иш қилганим йўқ. Шароит шуни тақозо қилди. Ундан аввал асосан делфида ишлаганман(4 йил). Қолган саволларга жавоб беролмайман. Лекин делфи билан ҳам нон топса бўлади.
Delphini bilgan odam mana shu BD bilan ihlashni qacha vaqtda o`rganib olishi mumkin, uning ustiga agar ilgari ozgina ishlagan bo`lsa.Ҳамманинг ўзига боғлиқ. Масалан менга БД билан ишлай бошлаш учун 1 ой етарли бўлган. Лекин 8 йилдан бери тажрибамни тўлдириб бораман.
Bir o`rgatmaysizmi?Ҳаракат қиламиз. dastur.uz да МБ ҳайида умумий тушунчаларни 3 та мақола қилиб ёзгандим. Менимча БД билан танишишга ёрдам берса керак.
Men Dbase da iashlagandim agar adashmasam, yo`nalishni ko`rsatish kerakligi menga yoqmagandi, baribir hammasida ham bir xil ekan-ku.Базани қаердалигини автомат равишда топадиган қилсангиз йўл кўрсатиш шартмас :)

OmoN
03.06.2011, 12:01
Men tayyor dasturlarni yoqtirmayman, chunki ming yaxshi ishlamasin, baribir mening talabimga javob bermasligi mumkin"Бирон ишнинг идеал бажарилишини хоҳласанг уни ўзинг бажар" деган экан машойихлар.

Ustoz
04.06.2011, 23:00
"Бирон ишнинг идеал бажарилишини хоҳласанг уни ўзинг бажар" деган экан машойихлар.
Siz bergan maslahatlarga baribir aqlim yetmadi, o`zim qo`limdan kelganicha qivomman, mana bugun ikkinchi kuni, judayam Siz qilganingizdakamasu ammo ishlavotti. Men faqat, DataBasedan foydalandim. Shu, hammasini bitta faylga joylashtirolmadim, har bir dars uchun alohida fayl ochyapman (bilaman Ayyayyay, ammo qo`limdan kelgani shu), baribir, maslahatlar uchun rahmat, bir uchrashib shular to`g`risida suhbatlashsak bo`larkan, manimcha mangayam 1-2 soat yetsa kerak bazibir narsalarni tushunib olish uchun.

OmoN
10.06.2011, 11:25
Men faqat, DataBasedan foydalandim.DataBase деганда DataBase номли СУБДни назарда тутяпсизми (очиғини айтсам DataBase номли СУБД борлигини биринчи марта эшитишим) ёки "Маълумотлар базаси"ними?

Ustoz
11.06.2011, 22:44
DataBase деганда DataBase номли СУБДни назарда тутяпсизми (очиғини айтсам DataBase номли СУБД борлигини биринчи марта эшитишим) ёки "Маълумотлар базаси"ними?
Database Desktop - Delphining o`zi bilan install qilinarkan. Baribir, siznikiga o`xshab hammaini bitta faylga joylay olmayapman.

OmoN
11.06.2011, 22:50
Database Desktop - Delphining o`zi bilan install qilinarkan. Baribir, siznikiga o`xshab hammaini bitta faylga joylay olmayapman.Paradox да бунинг иложи йўқ. Хоҳлайсизми йўқми барибир битта таблица битта файл бўлади. Тармоқда ишлаганда муаммо чиқишига тайёр туринг.
ПС: Менинг программамга ўхшатиш осон эканми :) (бу албатта ҳазил)

Ustoz
13.06.2011, 00:06
Baribir o`rgatmasangiz bo`lmaydi shekilli, mana ko`rasiz men tez o`rganaman. Agar Database Desktop to`g`ri kelmasa Firebirdni ishlataveramiz.Bugun BD haqida bir disk obkeldim Yangioboddan. Ichida mandan boshqa hamma narsa bor :)

OmoN
13.06.2011, 10:26
Мана бу Agar Database Desktop to`g`ri kelmasa Firebirdni ishlataveramiz.Шу мавзудаги энг қимматли хабар :)

Ustoz
13.06.2011, 13:13
Шу мавзудаги энг қимматли хабар
Bo`pti, avval mustaqil u-bu narsa qilib ko`raman-de keyin Sizga murojaat qilaman (manimcha murojaat qilmaslikning iloji bo`lmasa kerak mening dasturlashdagi bunaqa "kuchli" bilimim bilan :) )

OmoN
15.06.2011, 16:38
Bo`pti, avval mustaqil u-bu narsa qilib ko`raman-de keyin Sizga murojaat qilaman (manimcha murojaat qilmaslikning iloji bo`lmasa kerak mening dasturlashdagi bunaqa "kuchli" bilimim bilan )
Сиз учун http://dastur.uz да Delphi ва Firebird ёрдамида МБ билан ишлаш ҳақида "мақола" (http://dastur.uz/index.php?option=com_content&view=article&id=82:delphifirebird-boshlovchilar-uchun-likbez&catid=58:delphi) ёздим. Ўқиб кўринг. Балки ёрдам берар...

MAK
12.07.2011, 15:54
Проект основан на фреймах в которых должны отображаться данные. Таблицы БД расположены на модуле данных.

Как простым способом обрабатывать события открытия и закрытия Фрейма? Есть ли альтернатива?

Благодарю заранее за ответы.

Loock
23.12.2011, 22:15
Ta'lim sohasida qo'l keladimi tuzayotgan dasturiz ya'ni foydasi bormi

Ustoz
26.06.2012, 18:25
Bo`pti, avval mustaqil u-bu narsa qilib ko`raman-de keyin Sizga murojaat qilaman
Qildim-ey! O`zi endi qo`lim tegdi. O`sha Database Desktopda qildim. Ishladi, u ham men ham hursandmiz, ammo ... . Mana shu "ammo"si yomon-da. Ishlatib yurib-yurib, bir kuni OTni o`zgartirdim-da, dasturimni ishlatsam "He bor-e" deydi. Delphijonni ishlatib Aliaslar ochib bir nimalar qilib yo`nalishlarni berdim, hozir ham ishlayapti. Ammo, erta-indin boshqa kompga qo`yaman desam har safar Delphijon yoki Databas Desktopxon (yoki ikkovi)ni o`rnatib o`tirmayman-ku. Boshqa kompda ma`lumotlar ba`zasiga yo`l ko`rsatishning qanday yengilroq usuli bor?

Ustoz
26.06.2012, 18:30
Ta'lim sohasida qo'l keladimi tuzayotgan dasturiz ya'ni foydasi bormi
Albatta. Xudo xohlasa bu yil ingliz tili kompyuterda degan dars boshlash niyatidaman. O`shanda ishlataman. Mahalliy tarmoqda ishlaydigan dasturlar yaratishni boshlayman. Ana o`shanda rosa maslahatlar kerak bo`ladi.

barlos
26.06.2012, 19:21
Савоб ишни ҳар ким, ҳар куни қилиш керак деган пурмаъно гап бор. Шу десангиз, каминага блог (Блок деган шоир ёки блок ғишт билан адаштирилмасин) керак. Нима учун керак бўп қолди дейсизми? Унда эшитинг:
... Кеча биттаси (тўртта гапининг бирида лоф аралашмаса бўлмайдиган бу одам инсон сифатида тилло :) ) бир гурунгда "Блоги бўлмаган одам думи юлинган товуқ, йўғе, хўроз кабидир" деб қолди. Яна айтдики, бу блог орқали кўўп пул топиш мумкин экан. Рекламадан келадиган даромадники қўяверар экансиз. Исмиям кимийди-я, ҳа эсладим, Файзбекми, Фаёзбекми, Фейсбугми деган бир йигит шуни орқасидан "қора қозони"ни вақирлатиб қайнатаётганмиш. Бир қарасанг, кўнгли яримларга ёрдам, бир қарасанг, хайрия марафонлари ўтказаётганмишу, лекин пули, аксинча, кўпайиб кетаётганмиш. Тавба, бўлиши мумкинми-а, шу? Ниможит бит!
Биздан ҳам чиқсин энди блогчила, дунёни оғзи очилиб қолсин. Ривалдо келганда "ўххў" деганлар, "вўххў" деворсин :)
Бошқа бир илмдорроғи нима дейди денг? "Ука, санам манга ўхшаб шу форум аъзосисан. Сайтда ОмоН деган программист бор. Кимгадир текинга ҳам блог очиб берган деб эшитувдим. Блогспот.комга бирорта блог қўйиб берар, блоггер бўпкетсанг ҳақ-пақ берарсан".
Ўйланиб қолдим... Нима десам экан, модераторимизнинг мушуклари ҳам текинга офтобга чиқмаётган бу замонда, акамбойдан иккиланмасдан сўрасаммикан ёки Файзбекка ўхшаб миллионер бўлганимдан кейин ҳаққизни оласиз десаммикан?
Маслаҳатлариззи кутиб қолувчи Эштўхта Қўйбоқаров

NETWORK
14.06.2014, 14:07
BD bilan ishlamoqchi bo`lganimda bu yaxshi fikr emasligini aytib massivlar bilan ishlashni maslahat berishgan edi, shu-shu massivlar bilan ishlayman.:) massiv bilan BD ni solishtirish noo'rin. Dastur kodida judayam ko'p konstantalar bo'lgani uchun delphi kompilyatsiya qilolmayapti. Demak boshqa usulni qo'llash kerak. Source code ni ko'rsata olasizmi? Balki shu yerda birgalashib qilarmiz...
Ilgari o`zim ozgina bol`sa ham tushunardim, hozir esa yetti yil bo`ldi, faqat matnni o`zgartirib dasturni yangilab o`tiraman. Mana ko`d:
procedure TDars_Form.FormShow(Sender: TObject);
begin
soz:='45';
{---------- 1 Dars --------}
Uzb[1,1]:='yutuq, muvaffaqiyat, g`alaba'; Eng[1,1]:='achievement';
Uzb[1,2]:='hayratlanarli, qoyilmaqom, ajoyib'; Eng[1,2]:='amazing';
Uzb[1,3]:='qadimgi, qadimiy, ko`hna'; Eng[1,3]:='ancient';
........
Dars_Max[1]:=100;
{---------- 2 Dars --------}
Uzb[2,1]:='1) hisobchi; 2) (yuridk) javobgar'; Eng[2,1]:='accountant';
Uzb[2,2]:='aerobika'; Eng[2,2]:='aerobics';
Uzb[2,3]:='ta`sirini o`tkazmoq, mug`ombirlik qilmoq';
.....
Dars_Max[2]:=126;
..... va hakazo
i:=1;
tj:=0;
Label3.Caption:=IntToStr(i)+'.';
label1.caption:=Uzb[Dars,i];
edit1.text:='';
end;

Mana shu va hakazosi ko`payib ketdi. Shu sababli hotira yetmayapti. Hurmatli Omon, agar iloji bo`lsa mummoni shunda hal qilsak-de, keyingi dasturlarimga boshqa ilojini topsak, yaxshi bo`lardi, chunki men buni bitirib olishim kerak. Bu tipdagi dasturlarim juda ko`p, boshida qilinayotganda albatta bunday kattalashib ketishi hech kimning hayoliga ham kelmagan, agar BD bilan ishlashning iloji bo`lsa o`zim ham yo`q demasdim, ammo BD bilan alohida ishlaymanu, Delphi bilan kelishtirolmayman.

ini файл билан богланг!

Ustoz
14.06.2014, 15:40
ini файл билан богланг!
Koshki edi tushunsam. :)

OmoN
15.06.2014, 23:06
ini файл билан богланг!
Koshki edi tushunsam. :)ini fayldan fiydalanishni maslahat berganimga 3 yil bo‘ldi...