PDA

View Full Version : data moaduleو کاربد اون در دلفی ........؟



tik_tak
یک شنبه 28 بهمن 1386, 15:55 عصر
با سلام
من یه پایگاه داده دارم با اکسس
میخواستم ببینم فایده استفاده از دیتا ماژول ها در برنامه دلفی چیه
و چه کاری ازشون بر میاد
پیشاپیش ممنونم

SYNDROME
یک شنبه 28 بهمن 1386, 16:42 عصر
با سلام
من یه پایگاه داده دارم با اکسس
میخواستم ببینم فایده استفاده از دیتا ماژول ها در برنامه دلفی چیه
و چه کاری ازشون بر میاد
پیشاپیش ممنونم
ببینید این لینک کارتان را راه می اندازد.
http://barnamenevis.org/forum/showthread.php?t=70885&highlight=%D9%85%D8%A7%DA%98%D9%88%D9%84
موفق باشید

tik_tak
دوشنبه 29 بهمن 1386, 09:13 صبح
با سلام
اونارو خوندم
ممنونم
ولی من تا ندونم واسه چی ازشون استفاده میکنن که نمیتونم هم ازش درست استفاده کنم..........
فقط اینو بهم بگین

اصلا استفاده از data moadule واسه چیه ؟
اصلا لزومی داره ......؟
ممنون میشم...........!!!!!!!!!!

Touska
دوشنبه 29 بهمن 1386, 09:25 صبح
Data modules provide a formal mechanism for collecting and encapsulating
DataSet and DataSource objects, their attributes, events and code (business rules) in one central location.
Data modules can contain only nonvisual components and are generally used in database and Web development.
They provide Delphi developers a visual way to manipulate and code non-visual components of an application


منبع از سایت Delphi About (http://delphi.about.com/od/database/l/aa101601a.htm)

موفق باشید :)

Saeid59_m
دوشنبه 29 بهمن 1386, 10:21 صبح
دوست عزیز .
طبیعتاً شما می خواهید یک برنامه اصولی رو بنویسید . پس بهتره از DataModual استفاده کنید .
دلیل :
1- شما منطقه ای خواهید داشت که تمام فرمها برای استفاده از DataBase به اونجا مراجعه می کنند .
2- حافظه ای که دیتا ماژول در حافظه اشغال می کنه . خیلی کمتر از حافظه ای است که یک فرم اشغال می کنه (چون توی دیتا ماژول نمی شه کامپوننت های ویژوال قرارداد )
3- مواقع زیادی اتفاق می افته که شما توی Create فرم اصلی برنامه با دیتا بیس کار دارید (مثل گرفتن پسورد از کاربر) توی این شرایط دیتا بیس از قبل باید Create شده باشه . پس می تونید دیتا ماژول رو قبل از فرم اصلی در حافظه قرار بدین .
4- اسم کامپوننت هایی که توی دیتا ماژول قرار می گیرند زیرشون نوشته می شه . طبیعتاً این امر برای پیدا کردن جدولها خیلی حیاطی است .

tik_tak
دوشنبه 29 بهمن 1386, 11:02 صبح
سلام
ممنونم
پروژه ای که میخوام بنویسم یکی از پروژه های دانشگاه.....خرید و فروش در یک فروشگاه
----> حالا به نظر شما نیاز به دیتا ماژول هست ؟
فرم خرید- فرم فروش-فرم اطلاعات کاربری-فرم ورود داده ها-اون فرم اولی که شما گفتین:
----> راستی ، من اونو بدون دیتا ماژولم درست کردم واسه اولین بارم تو جدول کاربری دیتا بیسم یوزر وپسورد ش ووارد کردم(تو اکسس)....یعنی این کاری که کردم اشتباه بوده ؟
ولی کار میکردا !!!!!!
----> یه سوال مهم :
اینکه باید فقط یه دیتا ماژول داشته باشم؟؟ که همه جدولهارو داخلش بزارم و تمام فرمها از اون استفاده کنند ؟
----> یه سوال دیگه:
کد نویسیش مثله کد نویسیه بدون دیتا ماژول و فقط اول هر کد باید بنویسم مثلا این شکلی:
datamoadule1.adotabel1.insert;
متشکرم.

tik_tak
دوشنبه 29 بهمن 1386, 11:03 صبح
سلام
ممنونم ولی کاش فارسی بود !


Data modules provide a formal mechanism for collecting and encapsulating


DataSet and DataSource objects, their attributes, events and code (business rules) in one central location.
Data modules can contain only nonvisual components and are generally used in database and Web development.

They provide Delphi developers a visual way to manipulate and code non-visual components of an application





منبع از سایت Delphi About (http://delphi.about.com/od/database/l/aa101601a.htm)




موفق باشید :)

vcldeveloper
دوشنبه 29 بهمن 1386, 12:08 عصر
حالا به نظر شما نیاز به دیتا ماژول هست ؟
Data Module چیز خاصی نیست که بخواید اینقدر درباره اش فکر کنید که آیا باشد یا نباشد. Data Module یه فرم ساده شده هست که منابع سیستم کمتری از یه فرم عادی استفاده میکنه و به عنوان محلی برای نگه داری اشیای عمومی غیر ویژوال بکار میره. استفاده از Data Module باعث میشه برنامه تون طراحی بهتری داشته باشه، چون هر بخشی از برنامه که نیاز به اون اشیای عمومی (مثلا اشیای بانک اطلاعاتی) داشته باشه، می دونه کجا باید اونو پیدا کنه. از طرف دیگه کدهای مربوط به این اشیای عمومی هم در برنامه پخش نمیشند، بلکه همه در یک جا نگه داری میشند. مثلا اگر قرار باشه در یه برنامه 10 تا جدول مختلف در فرم های مختلف داشته باشید، هم باید کد مربوط به این جداول در بین این 10 فرم پخش بشه، هم هر فرمی که به این جداول نیاز داشته باشه، باید فرم مربوط به اون جدول را use کنه، اما وقتی از Data Module استفاده میشه، کل این 10 جدول در یک Data Module قرار می گیرند، کدهاشون هم توی همین ماجول نوشته میشه و هر فرمی با اینها کار داشت، فقط Data Module رو use میکنه. این مسئله باعث ماجولار شدن طراحی برنامه تون هم میشه، یعنی هر بخشی از برنامه کار مخصوص به خودش رو انجام میده و سرویس های مورد نیاز دیگران رو تامین میکنه. بعدا اگه قرار شد به هر دلیلی این بخش ها از هم جدا بشند، مثلا در یک پروژه دیگه استفاده بشند یا طرح برنامه تبدیل به یک طرح 3-لایه بشه، این جداسازی خیلی راحتتر انجام میشه.


اینکه باید فقط یه دیتا ماژول داشته باشم؟؟ که همه جدولهارو داخلش بزارم و تمام فرمها از اون استفاده کنند ؟
اجباری نیست. بستگی به منطق برنامه شما داره. ممکن بخواید هر چند تا جدول مرتبط با هم را در یک ماجول جداگانه قرار بدید، یا همه رو در یک ماجول جمع کنید.


کد نویسیش مثله کد نویسیه بدون دیتا ماژول و فقط اول هر کد باید بنویسم مثلا این شکلی:
datamoadule1.adotabel1.insert;
Data Module دخالتی در کدنویسی شما نداره. باید مثل هر فرم و کلاس دیگه ایی وقتی از اشیای آن استفاده می کنید، قبل از نام شی نام شی Data Module مورد نظر خودتون رو بیارید که مشخص بشه به چه شی ایی اشاره کردید. مثلا در کد بالا که نوشتید، یعنی شی ایی با نام DataModule1 وجود داره که حاوی یک شی دیگه ایی بنام AdoTable1 هست و این شی Adotable1 یک متدی داره بنام Insert که شما اونو فراخوانی کردید.


ممنونم ولی کاش فارسی بود !
اگر الان مشکل زبانتون رو حل کردید که هیچ، در غیر اینصورت، از همین الان مطمئن باشید که در این کار درجا میزنید!

tik_tak
دوشنبه 29 بهمن 1386, 12:48 عصر
سلام
خــــــــــــــــــــیلی ممنونم بابت توضیحات کاملتون......
بازم 1 سوال دارم :
ببینید من
faile/new/datamadoule
که در دیتا ماژول اینا رو قرار دادم :
adoconection/adotable1/datasourc1

تو فرم 1 datamadoul1 رو نمیشناسه ؟؟ چرا؟


در مورد یادگیری زبانم کاملا موافقم باهاتون

Touska
دوشنبه 29 بهمن 1386, 14:48 عصر
شما باید از فرم DataMoadoule تون Uses بزیند. این کار رو با کلید Alt+f11 انجام دهید.

موفق باشید :)