مشاهده نسخه کامل
: کمک : چه جوری این برنامه رو بنویسم؟
khoda2006
16-11-2007, 01:00
سلام دوستان
ببینید من میخوام یه برنامه بنویسم که 5 تا دیتابیس با پسوند DBF داره. هر کدوم از این دیتابیس ها اسماشون از 1 تا 5 نام گذاری شدن. من میخوام یه DBEDit داشته باشم که وقتی اسم یکی از این دیتا بیس ها رو توش مینویسم و اینتر میزنم بره اون فایل رو باز کنه و داخل اون بر اساس مقادیری که بهش میدم جستجو کنه.
مشکل اول : وقی فایل DBF رو با دلفی باز میکنم موقع اجرا پیغام زیر رو میده
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
این پیغام یعنی چی؟
مشکل دوم : چه جوری وقتی اسم دیتابیس رو داخل DBEdit مینویسم بره همون دیتابیس رو برام باز کنه
ممنون میشم راهنمائی کنین. مشکلات بعدی متعاقبا اعلام میشود.
F A R H A D
17-11-2007, 07:41
وقی فایل DBF رو با دلفی باز میکنم موقع اجرا پیغام زیر رو میده
سلام. فایل dbf رو با ابزاری که در تب bde هست مثل db میتونی در دلفی باز کنی و از نوع dbase هست، پس درایور بانک روی سیستم هست (البته این پیغام میگه نیست که واقعا عجیبه).
چه جوری وقتی اسم دیتابیس رو داخل DBEdit مینویسم بره همون دیتابیس رو برام باز کنه
ممنون میشم راهنمائی کنین. مشکلات بعدی متعاقبا اعلام میشود.
کدی رو که نوشتید اینجا قرار بدید.
khoda2006
17-11-2007, 14:42
سلام
خدا خیرت بده که جواب دادی
از خیر DBF گذشتم . الان میخوام یه سری فایل MBd ررو لود کنم طوری که وقتی اسمشو مینویسم همه اجزا با اون دیتابیس ست بشه.
کدی رو که نوشتید اینجا قرار بدید.
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
حالا مشکل من اینه که چه جوری DBEdit ها رو ست کنم جوری که هروقت فایل جدیدی لود شد DtaField با فیلد های دیتابیس جدید هماهنگ بشه؟
TNX
BYE
F A R H A D
18-11-2007, 07:25
Persist Security Info=False رو به آخر connectionstring اضافه کن. adoconnection.connectet:=true رو به آخر دستورات اضافه کن.
برای dbedit هم که باید datasource و datafield رو مقدار دهی کنی
موفق باشی
delphianddotnet
18-11-2007, 14:08
حالا مشکل من اینه که چه جوری DBEdit ها رو ست کنم جوری که هروقت فایل جدیدی لود شد DtaField با فیلد های دیتابیس جدید هماهنگ بشه؟
اینجوری دردیر زبادی داری کلی کد نویسی میخواد.اصلا" این چه جور برنامه ایه که 5 دیتابیس داره.
khoda2006
20-11-2007, 02:29
Persist Security Info=False رو به آخر connectionstring اضافه کن
این دستور معنیش چیه؟
اینجوری دردیر زبادی داری کلی کد نویسی میخواد.اصلا" این چه جور برنامه ایه که 5 دیتابیس داره.
در واقع این برنامه حدود 100 تا دیتابیس داره (از شانس من) . ولی به هر حال یه کاری واسش میکنم
در ضمن دستتون درد نکنه جواب دادین
F A R H A D
20-11-2007, 07:42
این دستور معنیش چیه؟
معنی دستور اینه که دیتابیس از پسورد استفاده نمیکنه و محل استفادش هم آخر خط زیر و قبل از ' هست.
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
در واقع این برنامه حدود 100 تا دیتابیس داره (از شانس من)
مدتی هست که دوستان همچین مواردی رو مطرح می کنند که برنامه n تا دیتابیس داره. دوستان عزیز من این طراحی دیتابیس رو ساده فرض نکنید. چرا یه برنامه باید 100 تا دیتابیس داشته باشه؟
as13851365
20-11-2007, 11:37
دوستان همچین مواردی رو مطرح می کنند که برنامه n تا دیتابیس داره. دوستان عزیز من این طراحی دیتابیس رو ساده فرض نکنید. چرا یه برنامه باید 100 تا دیتابیس داشته باشه؟
با این حرف شما کاملا موافق هستم .
علت این که تعداد دیتابیس ها بیشتر می شه را هم می تونم چنین بگم که بیشتر دوستان وقتی که برنامه را می خواهند شروع کنند یک راست می رن سر کد نویسی و اصلا نوبت را رعایت نمی کنند .
با کمی تفکر می شه تعداد دیتابیس ها را خیلی فشرده تر کرد.
khoda2006
22-11-2007, 05:21
حرفهای شما درست . به خدا منم دوست داشتم تعدا دیتابیس ها خیلی کمتر از اینا باشه ولی شرکتی که به من این برنامه رو داده از قبل دیتابیس ها رو داشته و طراحی کرده. حالا به من گفتن شما بیا یه کاری کن که بشه اینا رو با هم ربط داد و ویرایش کرد . این اولین برنامه ای است که با دلفی میخوام بنویسم ( اینو هنوز هیچکی نمیدونه ) و جالب اینجاست آموزش دلفی رو از مبحث دیتابیس ها آغاز کردم . ( در واقع خواستم کم نیارم گفتم بلدم (البته قضیه پول هم بی تقصیر نبود) , خدا رو شکر تا اینجاشو خوب پیش رفتم) . امید وارم شما هم منو تا آخر این برنامه منو راهنمائی کنین . با تشکر از همه دوستان
خدانگهدار
as13851365
22-11-2007, 10:07
به خدا منم دوست داشتم تعدا دیتابیس ها خیلی کمتر از اینا باشه ولی شرکتی که به من این برنامه رو داده از قبل دیتابیس ها رو داشته و طراحی کرده.
اینو از اول بگو دیگه !
با سلام خدمت دوستان عزيز
من هم يك چنين مشكلي دارم يعني مي خوام توي يه برنامه مسير پايگاه داده قابل تغيير باشه و بتونم اونو كنترل كنم به خاطر همين اومدم يه memo گذاشتم و توقسمت مديريت اين قابليت رو ايجاد كردم كه هر وقت برنامه خواست اجرا بشه ئسير پايگاه داده رو از اين memo بخونه توي adoconnection.connectionstring يكبار با خود برنامه ساختمش و بعد از طريق برنامه نويسي همون خط رو كپي پيست كردم بصورت زير:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
اما برنامه من خطا ميده
نمي دونم باهاش چكار كنم با اين كه برنامه و مراحل درسته حتي اگه قسمت memo رو هم بردارم و مسير جاري پايگه رو بنويسم باز خطا ميده . لطفا كمك كنيد
F A R H A D
22-11-2007, 17:04
اما برنامه من خطا ميده
هزار و یک نمونه خطا ممکنه پیش بیاد. پیغام خطا رو بنویسید
F A R H A D
22-11-2007, 17:09
شرکتی که به من این برنامه رو داده از قبل دیتابیس ها رو داشته و طراحی کرده. حالا به من گفتن شما بیا یه کاری کن که بشه اینا رو با هم ربط داد و ویرایش کرد
خب اگر امکانش هست از اول دیتابیس رو طراحی کن و داده های قبلی رو در دیتابیس جدید Sync کن
khoda2006
23-11-2007, 02:27
خب اگر امکانش هست از اول دیتابیس رو طراحی کن و داده های قبلی رو در دیتابیس جدید Sync کن
این برنامه مال اداره پسته. 95 تا از دیتابیس هاش مثل همه از لحاظ ساختاری . هر کدوم از این دیتابیس ها رو با عدد نام گذاری کردن.این عدد 5 رقم اول کد پستیه. مثلا 87695 , 43125 ,و... . اون 5 تا دیتابیس دیگه مربوط به شماره کنتور آبو برق و .. میشه.
من میخوام وقتی یکی از اون 95 تا لود شد شماره کنتور آب, برق و.. رو از دیتابیس مربوطش توی DBEdit بیاره.
خیلی سخته توضیحش امیدوارم منظورمو درست رسونده باشم.
بازم اگه سوالی داشتین بپرسین :D
مرد مباح
23-11-2007, 10:53
دوست عزيز.
اين فايلها معمولا براي FoxPro هستند و به نظر من اصلا با ADO به اونا كاننكت نشو.
چون اونا همه تك تيبل هستند به كمك BDE به اونا كاننكت بشي تموم كارات ميزون ميشه.
آموزش اون هم توي صفحات اول لينك امضاي من هست.
همه چيز درباره ديتابيسها
khoda2006
24-11-2007, 05:59
دوست عزيز.
اين فايلها معمولا براي FoxPro هستند و به نظر من اصلا با ADO به اونا كاننكت نشو.
چون اونا همه تك تيبل هستند به كمك BDE به اونا كاننكت بشي تموم كارات ميزون ميشه.
آموزش اون هم توي صفحات اول لينك امضاي من هست.
همه چيز درباره ديتابيسها
سلام
اگه منظورتون با من بود :
در حقیقت منم با استفاده از BDE به فایلهای DBF متصل شدم
من 2 تا جدول دارم که مقادیر فیلد A18 در این 2 تا جدول با هم برابرند.میخوام وقتی A18 در اولی تغییر کرد در دومی هم تغییر کنه و بر عکس.
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
مرد مباح
24-11-2007, 08:44
در اين حالت بهتره كه به جاي DBEdit از Edit عادي استفاده كني.
بعد از اينكه تغييرات انجام شد يك دكمه به نام ثبت وجود داشته باشه كه به كمك اون Post كني.
بعد هم همون فيلد قبلي رو توي تيبل دوم سرچ كني و اونم دقيقا مثل اولي تغيير بدي.
اينجوري كار راحتتر ميشه.
ضمنا اگه نميخواي اين كارو بكني ميتوني CatchUpdate رو True كني. اينجوري ميتوني توي رخداد OnUpdate يا OnPost مقدار دومي رو به كمك Locate پيدا كني و مثل DBEdit.Field.Text بكني
khoda2006
25-11-2007, 02:37
من این کد رو توی رویداد OnChange ِ, DBEdit نوشتم
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
به نظر شما خوبه؟
مرد مباح
25-11-2007, 08:56
به نظر من بهتره توي OnExitبنويسي كه يك بار اين كارو بكنه و هر بار كه دكمه زده ميشه اطلاعات تيكه تيكه سيو نشه.
ضمنا نميدونم چرا ايندكس رو توي اين كد گذاشتي.
ميتوني اونو بزاري توي OnFormShow.
khoda2006
26-11-2007, 04:57
به نظر من بهتره توي OnExitبنويسي كه يك بار اين كارو بكنه و هر بار كه دكمه زده ميشه اطلاعات تيكه تيكه سيو نشه.
ضمنا نميدونم چرا ايندكس رو توي اين كد گذاشتي.
ميتوني اونو بزاري توي OnFormShow.
سلام
من میخوام وقتی dbedit10 عددش تغییر کرد بقیه قسمتها هم در جداول مختلف با اون عدد ست بشه. واسه همین اینجا کد رو نوشتم.
در ضمن دوستان اگه بخوام از این چند تا جدولی که دارم یه خروجی اکسل بگیرم که همه این جداول داخلش باشه چه کار باید کرد؟ یه دکمه باشه که وقتی اونو میزنیم بره داخل فایل اکسل همه محتویات داخل DBEdit ها رو ذخیره کنه؟
ممنون از راهنمائیتون
vBulletin , Copyright ©2000-2025, Jelsoft Enterprises Ltd.