نمایش نتایج 1 تا 40 از 42

نام تاپیک: اتوماسیون اداری-گردش کار

Hybrid View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #1
    کاربر دائمی
    تاریخ عضویت
    مرداد 1389
    محل زندگی
    Tehran
    پست
    403

    نقل قول: اتوماسیون اداری-گردش کار

    شما نیازی نیست از user های SQlServer استفاده کنید و جوابگوی شما هم نخواهد بود
    ساده ترین راه برای مورد شما این است که یک جدول برای فرمهایتان در نطر بگیرید
    با مقادیر کد فرم ، نام فرم
    ویک جدول هم برای کاربران با مقادیر کد کاربر ، نام کاربر ، کلمه عبور
    یک جدول دیگر برای دسترسی لازم دارید با مقادیر
    کد فرم ، کد کاربر ، امکان اضافه ، امکان حذف ، امکان نمایش ، امکان ویرایش
    در جدول اول برای هر فرمی که در برنامه ایجاد کردید یک کد اختصاص دهید (مثلا کد را در Tag فرم قرار دهید از یک عددی شروع کنید و به ازاء هر فرم یک واحد اضافه کنید) حال این کد با عنوان فرم ایجاد شده را به صورت دستی در دیتابیس قرار دهید
    فرم پر کردن اطلاعات کاربران هم فکر نکنم کار مشکلی باشد که بخواهم توضیح بدهم
    یک فرم هم برای دسترسی در برنامه تعریف کنید که دو جدول کاربران و فرمها را در کنار هم قرار داده و با انتخاب کاربر اسامی فرمها نمایش داده شود
    اگر قرار است که کاربری به یک فرم همه دسترسی ها را داشته باشد
    کد فرم و کد کاربر و برای هر دسترسی یک مقدار (صفر و یک ) وارد کنید
    مثلا
    کد فرم کد کاربر اضافه حذف ویرایش نمایش
    100 1 1 1 1 1
    ولی صفر و یک کردن این دسترسی ها را در فرمتان با CheckBoc طراحی کنید بهتر است
    حال در زمان فراخوانی هر فرم Tag فرم و کد کاربر را با جدول دسترسی مقایسه کنید و در برنامه مشخص کنید مثلا اگر دکمه اضافه طراحی کرده اید اگر مقدار اضافه 1 است آن دکمه را Enable و در غیر اینصورت Disable کنید
    راه حل های دیگری هم وجود دارد که من بخ سادترین شکل آن برای برنامه شما و با توجه به اینکه تجربه قبلی در این زمینه نداشتید این راه رو توصیه می کنم قطعا اگر این رو پیاده سازی کنید خودتان راه حلهای بهتر را خودبخود یاد خواهید گرفت الیته نه اینکه این راه حل بد باشد بلکه ممکن است در جای دیگری مجبور به تغییرات باشید ولی در اینجا جواب می دهد

  2. #2

    نقل قول: اتوماسیون اداری-گردش کار

    مجددا سلام.
    از لطف شما واقعا ممنونم.ببخشید که اینقدر سوال می پرسم ولی واقعا برا نوشتن این برنامه استرس دارم و نیاز دارم یه نفر راهنماییم کنه.(اولین برنامه اجرایی من هست که دارم به تنهایی می نویسم.)
    چند تا سوال دیگه دارم.
    1.
    exe برنامه رو باید روی همه کلاینتها کپی کنم و بانک اطلاعاتی روی sql server سرور نصب می شه و با تغییر connection string همه کلاینتها از سیستم خودشان به بانک اطلاعاتی که روی سرور هست وصل میشوند و نیازی به نصب sql server روی همه کلاینتها نیست؟؟؟ و برنامه را طوری باید بنویسم که انگار میخواد روی یه سیستم اجرا بشه. با برنامه های غیر تحت شبکه هیچ فرقی نمیکنه.درسته؟؟؟
    2.
    در جدول اول برای هر فرمی که در برنامه ایجاد کردید یک کد اختصاص دهید (مثلا کد را در Tag فرم قرار دهید از یک عددی شروع کنید و به ازاء هر فرم یک واحد اضافه کنید) حال این کد با عنوان فرم ایجاد شده را به صورت دستی در دیتابیس قرار دهید
    میشه بگید تگ فرم منظورتون کجاست؟؟یعنی منظورتون اینه که به صورت توضیحات واسه خودم بنویسم؟؟
    3.
    یه سوال دیگه اینکه اگر بخوام برنامم رو شی گرا بنویسم. یعنی از کلاس ها استفاده کنم، استاد ما می گفت به ازای هر جدول در دیتا بیس یه کلاس تعریف کنید. می خوام ببینم از لحاظ عملی این درسته ؟؟
    اگر این موضوع درسته که بار کدنویسی من کم نمیشه که.مثلا واسه ثبت کاربر من کد را در کلیک دکمه بنویسم یا در قالب یه کلاس. چه فرقی داره؟؟

    یه توضیح بدم. من 4عمل اصلی بر روی همه جداول را با SP می نویسم. و خیلی کد تو دلفی نمیزنم.حالا برنامه را با کلاس پیاده کنم یا نه فرقی هم می کنه؟؟
    آخرین ویرایش به وسیله program103 : پنج شنبه 18 اسفند 1390 در 12:02 عصر

  3. #3
    کاربر دائمی آواتار barnamenevisforme
    تاریخ عضویت
    بهمن 1390
    محل زندگی
    تهران،شیراز و میشه گفت تقریبا همه جای ایران
    پست
    683

    نقل قول: اتوماسیون اداری-گردش کار

    نقل قول نوشته شده توسط program103 مشاهده تاپیک
    چند تا سوال دیگه دارم.
    1.
    exe برنامه رو باید روی همه کلاینتها کپی کنم و بانک اطلاعاتی روی sql server سرور نصب می شه و با تغییر connection string همه کلاینتها از سیستم خودشان به بانک اطلاعاتی که روی سرور هست وصل میشوند و نیازی به نصب sql server روی همه کلاینتها نیست؟؟؟ و برنامه را طوری باید بنویسم که انگار میخواد روی یه سیستم اجرا بشه. با برنامه های غیر تحت شبکه هیچ فرقی نمیکنه.درسته؟؟؟
    2.
    میشه بگید تگ فرم منظورتون کجاست؟؟یعنی منظورتون اینه که به صورت توضیحات واسه خودم بنویسم؟؟
    سلام
    جواب سوال اولتون رو خودتون دادید.[,جواب سوال دوم اینکه tag مشخه ای(property)که همه کنترل ها اونو دارا هستن و میشه اشیا رو در اون نگهداری کرد و در جای نیاز از اون استفاده کنیم.یا به عبارتی این شئ رو از این طریق پاس میدیم.

    ولی اینکه چکار کنیم که اگه یه وقت سرورمون رو خواستیم عوض کنیم.connectionstrin رو بر اساس اون تنظیم کنیم این یه سواله.البته یه راهش اینه که توی setting برنامه connectionstrinتعریف شده رو از نوع connectionstring به string تغییر بدیم تا سطح تغییراتش بشهuserبعد هنگام اجرای برنامه میتونیم تنظیم ها رو از کاربر بگیریم و توی این به اصطلاحconnectionstring ذخیره کنیم.ولی تویmsdnاین راه رو از لحاظ امنیتی توصیه نمیکنه.

    یه سوال دیگه اینکه بعد از راه اندازی sqlserverروی سرور تنظیم های امنیتی سرور در بخش group policy باید چطور باشه؟همچنین در بخش sql server security

  4. #4
    کاربر دائمی
    تاریخ عضویت
    مرداد 1389
    محل زندگی
    Tehran
    پست
    403

    نقل قول: اتوماسیون اداری-گردش کار

    در مورد ایجاد کلاس اینکه شما نیازی به این کارها ندارید شما کلاس را زمانی ایجاد می کنید که آن کلاس وجود ندارد برای مسائل ساده ای مانند insert ,Updata معمولا کلاس و اینجور چیزها ایجاد نمی کنند
    سوال اول و دومتون رو هم دوستمون جواب دادن
    شما برای ذخیره connectionString چند روش دارید .
    ذخیره آن را در داخل سورس برنامه کاملا فراموش کنید چون اگر اسم سرور یا دیتابیس یا پسورد عوض شود شما حتما باید برنامه را مجدد کامپایل کنید
    اگر مهم نیست چه کسانی بخواهند از برنامه شما استفاده کنند یعنی از برنامه استفاده تجاری ندارید از udl استفاده کنید یعنی یک فایل text ایجاد کنید و پسوند آن را به جای txt به udl تغییر دهید حال اگر بر روی فایل ایجاد شده دو بار کلیک کنید ساخت connectionstring موجود در دلفی را همینجا می توانید انجام دهید
    حال باید در دلفی در connectionstring به جای استفاده از use connection string از گزینه بالایی آن یعنی Use data Link File که udl مخخف آن است استفاده کنید و فایل ایجاد شده (همان فایل udl)را در این قسمت انتخاب کنید حال از بیرون برنامه اجرایی می توانید connectionstring را عوض کنید به هر سرور و دیتابیس و یا انواع مختلف دیتابیس را
    ولی فراموش نکنید اینجا آدرس مستقیم قرار ندهید و برای دادن آدرس فایل با استفاده از کدنویسی مثلا همیشه مسیر فایل اجرایی برنامه را بدهید.
    روش دوم استفاده از ini فایلها می باشد که تقریبا شبیه همین udl است با این تفاوت که همه چیز از طریق کدنویسی است ولی می توانید مشخصات سرور و دیتابیس و ... را رمزگذاری کنید (جهت محافظت )
    روش سوم ذخیره connectionstring در registry به صورت کد شده و یا عادی می باشد که مثلا connectionstring برنامه را داخل یک کلید خاص ذخیره کرده اید و هر بار آن را فراخوانی می کنید
    بعضی از قفلهای سخت افزاری هم connectionstring را به روشهای مختلف داخل قفل سخت افزاری قرار می دهند
    گزینه مناسب به نظر من رجیستری ویندوز می باشد
    هر کدام از روشها که مدنظرتان بود بگوئید تا بیشتر توضیح بدهم

  5. #5
    کاربر دائمی آواتار barnamenevisforme
    تاریخ عضویت
    بهمن 1390
    محل زندگی
    تهران،شیراز و میشه گفت تقریبا همه جای ایران
    پست
    683

    نقل قول: اتوماسیون اداری-گردش کار

    سلام دوباره
    در مورد تنظیمات امنیتی group policy و معرفی user به sql server هم اگه ممکنه توضیح بدید.البته درحالتی که از windows authentication استفاده کرده باشیم.
    ممنون

  6. #6

    نقل قول: اتوماسیون اداری-گردش کار

    هر کدام از روشها که مدنظرتان بود بگوئید تا بیشتر توضیح بدهم
    من می خوام برنامم رو واسه یه مجموعه بنویسم پس مورد اول منتفی میشه. میمونه استفاده از ini یا رجیستری. هر کدام که خودتون به نظرتون بهتره از همه لحاظ، امنیت و... لطف کنید و توضیح دهید. ممنون

  7. #7

    نقل قول: اتوماسیون اداری-گردش کار

    tiphooo جان نمیشه توضیحاتی که گفته بودید رو زحمتشو بکشید؟؟؟
    یه سوال دیگه، من برای ارسال نامه و فایل ها تو شبکه چکار باید بکنم؟؟ از Indy یا socket باید استفاده کنم؟؟ یعنی یه نامه که قراره ارجاع داده بشه بین کلاینتها با توجه به این که همه کلاینتها از یک دیتابیس استفاده می کنند(دیتابیسی که روی سرور هست) باز هم باید از socket واسه جا به جاییش استفاده کرد؟؟
    اطلاعات محدود من میگه که اولین بار که نامه یا قراردادی قراره تو برنامه وارد بشه توسط شخص اول تو دیتابیس ذخیره میشه و بعد در هر تغییر توسط کلاینتها، آپدیت میشه.درسته؟ ولی نمیدونم واسه همین آپدیت باید فایل بین برنامه من در سیستم کلاینت و دیتابیس در سرور با socket یا indy جا به جا بشه یا نه؟

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •