PDA

View Full Version : کپی گرفتن از کل برنامه



mina1363
چهارشنبه 10 تیر 1388, 08:31 صبح
سلام
ممنون میشم اگه بهم بگید چطوری میتونم در حال runtime از فرمهام و دیتا بیسم با داده و بی داده یک یا چند تا کپی بگیرم؟ یعنی در حال runtime دکمه ای وجود داره که کاربر با فشردن اون این قابلیت را ممکن میسازه که از فرمها و دیتا بیسم یک کپی بگیره یا به عبارتی این کپی گرفتن از کل برنامه جاری میباشد گاهی ممکن است بخواهد به داده های قبلی دیتا بیس دسترسی داشته باشد گاهی هم ممکن است فقط بخواهد داده های جدید وارد نماید که در اینصورت موقع ایجاد کپی از دیتا بیس باید از دیتا بیس خالی کپی بگیرد
مثل new در برنامه word

solaleh
چهارشنبه 10 تیر 1388, 12:00 عصر
سلام
دوستان من هم همین مشکل رو دارم.یعنی می خوام کاربر بسته به نوع انتخابش از کل برنامه شامل فرم ها و دیتابیس خام یا فرم ها و دیتابیس به همراه محتویاتش کپی بگیره. چطوری می تونم این کار را انجام بدم؟

Yasersadegh
چهارشنبه 10 تیر 1388, 12:29 عصر
سلام به دوستان گرامي
اگه ممكنه بيشتر توضيح بديد!!
كپي بگيره يعني رويه كاغذ پرينت كنه يا از فايلهاش كپي بگيره!!!:متفکر:
اگه منظور از فايله كه توضيح بديد كه به چه منظوري مي خواهيد اينكارو بكنيد!!؟:متفکر:

solaleh
چهارشنبه 10 تیر 1388, 14:20 عصر
فرض کنید یک کاربر نرم افزار حسابداری را تهیه می کند. این کاربر صاحب دو شرکت است(A,B). می خوام امکانی را در این نرم افزار بذارم که اگر کاربر خواست بتواند از برنامه ای که قبلا برای شرکت A استفاده می کرده برای شرکت B هم استفاده کند.به عنوان مثال یک سری از جدولهای مشخص و فرم ها رو از شرکت A برای شرکت B استفاده کند.(کپی بگیرد)
ممنون می شم راهنمایی کنید.

Mohsen229266
چهارشنبه 10 تیر 1388, 21:24 عصر
سلام به دوستان
از دیتابیس که میتونید Backup بگیرید و دوباره صفرش کنید و ... در برنامتونم فرمها و ... میتونه یک حالت برگشت به پیش فرض داشته باشه کپی برای چی!!!؟؟؟

احمد سامعی
چهارشنبه 10 تیر 1388, 21:46 عصر
ببخشيد دوستان وقتي تو Word شما new مي كنيد در واقع داريد برنامه رو دوباره باز مي كنيد و اين رو كپي گرفتن نمي گن شما در حالت عادي مي تونيد از يك برنامه ده ها نسخه در يك زمان حال اجرا داشته باشيد براي مثال همين word اما برنامه هايي هست كه برنامه نويس اجراي برنامه رو به يك نسخه در حال اجرا محدود مي كنه كه خيلي ساده با بررسي تريدهاي در حال اجراي در سيستم عامل صورت مي گيره مثل برنامه فوتوشاپ يا برنامه اي كه با ديتابيس سرو كار داره حتماً بايد رعايت بشه ( توضيح بيشتر سرچ بزنيد)

اما براي اون چيزي كه مدنظر شماست بايد ديد شما اون جداول چطوري، كي و كجا ايجاد مي كنيد ؟
مثل تو فرم ها با كنترل به صورت ثابت در زمان نوشتن برنامه يا كاربر ايجاد مي كنه در كجا ذخيره مي شه در پايگاه داده يا رجيستري يا جاي ديگه
بعد از اين كه موردها معلوم شد مي تونيد به هر روش كه خواستيد و ساده تر بود با نام جديد B اين كپي را تهيه كنيد.

hozouri
پنج شنبه 11 تیر 1388, 09:36 صبح
براي كپي از بانك از دستور Export استفاده كنيد و نيازي به كپي از برنامه نيست فقط ConnectionString رو دوباره Set نماييد.

mina1363
پنج شنبه 11 تیر 1388, 10:25 صبح
دوست عزیز mohsen229266 یک حالت برگشت از فرمها و سایر کنترلها یعنی چی؟
من به کد احتیاج دارم چون واقعا در این رابطه هیچ زمینه ای ندارم و با کد و نمونه برنامه بیشتر متوجه میشم اما با این توضیحات خیلی متوجه نمیشم!
دوست عزیز hozouri

براي كپي از بانك از دستور Export استفاده كنيد و نيازي به كپي از برنامه نيست فقط ConnectionString رو دوباره Set نماييد.
چطور میتونم این کارها رو انجام بدم؟

mina1363
پنج شنبه 11 تیر 1388, 11:07 صبح
ببخشيد دوستان وقتي تو Word شما new مي كنيد در واقع داريد برنامه رو دوباره باز مي كنيد و اين رو كپي گرفتن نمي گن شما در حالت عادي مي تونيد از يك برنامه ده ها نسخه در يك زمان حال اجرا داشته باشيد براي مثال همين word اما برنامه هايي هست كه برنامه نويس اجراي برنامه رو به يك نسخه در حال اجرا محدود مي كنه كه خيلي ساده با بررسي تريدهاي در حال اجراي در سيستم عامل صورت مي گيره مثل برنامه فوتوشاپ يا برنامه اي كه با ديتابيس سرو كار داره حتماً بايد رعايت بشه ( توضيح بيشتر سرچ بزنيد)

اما براي اون چيزي كه مدنظر شماست بايد ديد شما اون جداول چطوري، كي و كجا ايجاد مي كنيد ؟
مثل تو فرم ها با كنترل به صورت ثابت در زمان نوشتن برنامه يا كاربر ايجاد مي كنه در كجا ذخيره مي شه در پايگاه داده يا رجيستري يا جاي ديگه
بعد از اين كه موردها معلوم شد مي تونيد به هر روش كه خواستيد و ساده تر بود با نام جديد B اين كپي را تهيه كنيد.
بله قرار است در پایگاه داده ذخیره شود این کار توسط کاربر انجام میشه به طوریکه هر برنامه کپی گرفته شده مجزا از هم باشند و دارای نامهای منحصر خودشان حال پیشنهاد شما چیه از چه روشی استفاده کنم؟ اگه ممکنه کد بذارید ممنونم

Mohsen229266
پنج شنبه 11 تیر 1388, 11:10 صبح
دوست من یه کمی بیشتر توضیح بدید دقیقا چه کاری میخواهید انجام بدید؟
اگه از SQL Server استفاده میکنید
و منظورتون تغییرات در فرم هاو اطلاعاته میتونید تمام تغییرات رو در دیتابیس ذخیره و backup بگیرید که کدش هم تو سایت هست و بجای کپی از دیتابیس قبل از استفاده از برنامه(دیتابیس خالی) باز هم میتونید در ابتدای برنامه یک backup از برنامه تهیه کنید و در صورت لزوم restore کنید که بازم کدش تو سایت هست

mina1363
پنج شنبه 11 تیر 1388, 14:27 عصر
دوست من یه کمی بیشتر توضیح بدید دقیقا چه کاری میخواهید انجام بدید؟
اگه از SQL Server استفاده میکنید
و منظورتون تغییرات در فرم هاو اطلاعاته میتونید تمام تغییرات رو در دیتابیس ذخیره و backup بگیرید که کدش هم تو سایت هست و بجای کپی از دیتابیس قبل از استفاده از برنامه(دیتابیس خالی) باز هم میتونید در ابتدای برنامه یک backup از برنامه تهیه کنید و در صورت لزوم restore کنید که بازم کدش تو سایت هست
بله ممنونم من یکبار این برنامه که میگید جستجو کردم و کدش رو اجرا کردم ولی جواب نمیداد نه error داشت نه اجرا میشد
خوب این برای دیتا بیس است ببینید راستش برنامم یک برنامه حسابداری است که نیاز است شرکت جدید و سال مالی جدید با نامهای مجزا ایجاد بشه این شرکت جدید دقیقا مانند همان برنامه اولیه است که نوشتیم منتها بدون داده هایی که ذخیره شده و برای سال مالی جدید دقیقا مانند شرکت است با این تفاوت که کاربر دو درخواست داره یا داده هاش رو در ادامه داده های قبلی بنویسه ولی در یک شرکت جدید یا اصلا داده ای نباشه و بخواهد تازه داده ذخیره کند این دقیقا چیزیه که من میخوام حالا چه پیشنهادی دارید؟

Mohsen229266
پنج شنبه 11 تیر 1388, 17:23 عصر
اگه با sqlserver کار میکنید همون راهی که توضیح دادم راهی که همه برای پشتیبانی برنامه ویا همون کاری که شما نیاز دارید انجام میدن کد هاشو از این برنامه (http://barnamenevis.org/forum/showthread.php?t=64210&page=28) بگیرید اگه مشلکی داشتید توضیح میدم

Soroush.Sarabi
پنج شنبه 11 تیر 1388, 18:17 عصر
اگه با sqlserver کار میکنید همون راهی که توضیح دادم راهی که همه برای پشتیبانی برنامه ویا همون کاری که شما نیاز دارید انجام میدن کد هاشو از این برنامه (http://barnamenevis.org/forum/showthread.php?t=64210&page=28) بگیرید اگه مشلکی داشتید توضیح میدم

ببینید دوست عزیز همینطور که این دوستمون گفتن کل ماجرایی که شما می خواهید به

پایگاه داده و نوع طراحی اون مربوط میشه و اصلا ربطی به فرم و غیره نداره.

احمد سامعی
پنج شنبه 11 تیر 1388, 18:22 عصر
ببخشيد اما اين سوال واقعاً ... خدا به اون شركت رحم كنه
و مربوط مي شه به منطق برنامه كه بايد برنامه نويس براش در نظر بگيره كه يكي از ساده ترين مسائل برنامه حسابداري هست

شما حداقل دو راه كار داري

1. تو يك ديتابيس جداولي داشته باشي مربوط به فرم ها و جداول داده ها. براي سال مالي جديد معمولاً از ابتدا يك فيلد تاريخ در نظر مي گيرن بر مبناي اون كاراشون انجام مي دهند، در هر بازه زماني كه كاربر بخواد يا راه غير منطقي اين كه براي هر سال يك جدل در ابتداي سال ايجاد كني. براي شركت B مي توني فقط از جداول مربوط به فرم ها Backup بگيري و در برنامه جديد Restor كني

2. براي داده ها يك ديتابيس و براي فرم ها يك ديتابيس جداگانه داشته باشي كه اين راه غير منطقي و درگير ConnectionString اضافي مي شي و اگر برنامه شبكه باشه كارت سخت تر مي شه در نهايت از هر كدام كه خواستي Backup تهيه مي كني . در مقصد Restor مي كني.

بقيه اش هم مربوط به تالارهاي پايگاه داده مربوطه مي شه كه فراوان بحث شده سرچ بزنيد.