نمایش نتایج 1 تا 22 از 22

نام تاپیک: تعریف دوره یا سال کاری

  1. #1

    تعریف دوره یا سال کاری

    بانکهای من با پارادوکس ایجاد شده و برنامه ای که نوشتم تحویل دادم حالا من باید امکان استفاده از دوره یا همان سال کاری را به برنامه اضافه کنم ـ مثل ایجاد دوره مالی در برنامه های حسابداری ـ بصورتی که لیست دوره های ایجاد شده در اختیار کاربر باشه تا بتون عملیات حذف ـ ایجاد ـ و انتخاب انجام بده چطور میشه اینکار رو انجام داد با عملیات مربوطه
    به عنوان مثال سال کاری 1380 و جداول مربوطه را در این شاخه ایجاد و برنامه با اون کارکنه و وقتی سال بعدی ایجاد شد برنامه بتونه با اونم کار کنه یعنی هر دوره ای که انتخاب شد برنامه مشکل نداشته باشه

  2. #2
    کاربر دائمی
    تاریخ عضویت
    اسفند 1381
    محل زندگی
    30/11/53
    پست
    243
    می تونی سال جاری ( و سالهای قبل رو ) توی رجیستری ذخیره کنی و بعد اول برنامه یه لیست به کاربر نشون بدی که کدوم دوره کاری رو می خواد . بعد مسیر رو از رجیستری بخونی توی جدول بریزی و بعد از اون جدولت رو باز کنی .

  3. #3
    VIP آواتار hr110
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    ایران - تهران
    پست
    1,460
    با سلام، همانطور که میدانید databasename در پاراداکس نام دایرکتوری است که فایلها در ان قرار داده شده است، بنابراین شما میتوانید در تنظیمات اولیه برنامه مسیر دایرکتوری را در یک متغییر تغییر داده و سال جاری را به عنوان دایرکتوری فعال که همان بانک اطلاعات فعال میباشد بدهید. برای تغییر سال نیز میتوانید بصورت دستی و یا توسط برنامه جداول خالی پاراداکس را در دایرکتوری جدید (مثلاً DB1383) کپی نمایید
    ضمناً یکسری از جداولتان نیز همیشه وجود دارند و انها نیز باید در یک دایرکتوری دیگر قرار داده شده باشند تا با تغییر سال مسیر آنها تغییر ننماید.

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

  4. #4
    کار با ریجستری رو بلد نیستم
    در ضمن من میخوام که کاربر بتونه در ابتدای هر سال یه دوره یا سال کاری جدیدو تعریف کنه یا یه سال کاری رو بتونه از توی لیست و سیستم پاک کنه
    ممنون می شم از جوابهاتون

  5. #5
    جناب آقای مدیر از جواب شما ممنون
    من هم به این نتیجه رسیدم که باید از databasename استفاده کرد ولی نتونستم خطا می گرفت
    اونو باید چه جوری و کجای برنامه تعریف کرد من بانکهای خودمو توی ماجولی به لسم dm1 قرارداده ام

  6. #6
    با سلام
    به نظر من بهترین کار اینه که برای هر سال یک Folder جداگانه با یک نام که با فرمت خاصی از طرف شما تعیین شده ذخیره بشه. وقتی سالی رو وارد می کنی اگه چنین Folder ی رو پیدا کرد که بانکهای درون اونو نشون بده در غیر اینصورت یک Folder جدید با فرمت مورد نظر بسازه بعد بانکهای مورد نیاز رو به همراه تعریف فیلدهای تو اون با کد ایجاد کنه. با این کار برنامه خودش می تونه بانکهای مورد نیازش رو ایجاد کنه. برای ارتباط بین سالها هم میتونی یک بانک مشترک که حاوی اطلاعات از هر سال باشه ایجاد کنی و...

  7. #7
    پنجه طلا ممنون چه جوری الیاس اونو تعریف کنم
    درسته باید هر سال توی یه شاخه جداگانه باشه مانند 1380 و 1381 هر هر کدام یه شاخه جداگانه هستند که بانکا درون ان قرار دارند حالا باید چطوری با اونا کار کرد

  8. #8
    با سلام
    برای کار با هر بانک می تونی Alias تعریف کنی یا اینکه Tablename رو بطور مستقیم روی اون Folder مورد نظر تنظیم کنی فرض کنیم نام Table شما tb_hesab.dbf باشه و نام درایو و Folder محل قرار گیری بانک به ترتیب در متغیرهای Xdirve و Xbankfolder باشد ,و folder هر سال با فرمت Y_year باشد مثلا سال 1383 در فولدر y_1383 باشدبرای استفاده از جدول ابتدا سال را باید از کاربر بپرسی فرض کنیم سال در Edit1 قرار دارد:

    Xyear:='y_'+edit1.text;
    table1.active:=false;
    table1.tablename:=xdrive+xbankfolder+xyear+tb_ hesab.dbf;
    table1.active:=true;

    در این روش دیگه نیازی به تعریف Alias نیست.
    با عرض پوزش من وقت محدودی دارم. ولی فکر می کنم باید کارت راه بیفته.برای ایجاد بانک با کد اگه نتونستی در یک فرصت مناسب کدهای مربوطه رو می فرستم.

  9. #9
    اگر Database ما Access بود چطور اینکاررا انجام بدهیم :?:

  10. #10
    توی رجیستری ذخیره کنی
    این کار اصلا درست نیست ... چون با تغییر ویندوز مشکل پیدا می کنید
    بنظرمن روش مسیر برای "پارادوکس" بهتر است

    اما 1 مساله برای من روشن نشد ...شما اگر حسابداری نوشته اید باید در انتهای هرسال حسابها را ببندید و برای سال بعد افتتاحیه بزنید .... این مجوزی که شما دنبال آن هستید در صورت تغییر حسابهای سال قبل مشکل بوجود خواهد اورد :?:

  11. #11
    کاربر دائمی
    تاریخ عضویت
    اسفند 1381
    محل زندگی
    30/11/53
    پست
    243
    جناب وکیلی اگر منظورتان با من است خب تا حسابهای سال قبل بسته نشوند که سال جدیدی را نمی تواند شروع کند . این یک و دوم هم اینکه با یک انتقال اسناد مشگل حل می شود . در مورد رجیستری هم خب اگر ویندوز را عوض کند باید برنامه را هم نصب کند . چاره این جوری می شه که یه پشتیبانی از اطلاعات گرفت بعد مجموعه رو درست کرد و بعد بازیابی

  12. #12
    با سلام و تشکر از شما
    من خودم این کار رو کردم ولی سیستم یک خطا صادرمی کنه که خیلی سریع از روی صفحه پاک می شه و نتونستم اونو بخونم وفایل اجرایی برنامه رو که اجرا میکنم برنامه بعد از خطا به صورت خودکار بسته می شه
    آقای پنجه طلا از شما هم ممنون ولی چند تا سوال
    1. آیا برای هر جدول این دستورات رو باید نوشت ـ برای همه جداول یه دستور مثل تعریف الیاس باشه بهتره چ.ن تعداد بانکهای مورد استفاده من خیلی زیاد است
    2. بعد از هر بار بستن بانک برای بازکردن ، دوباره باید دستورات و نوشت
    3. تعیین نام درایو و شاخه به صورت اتوماتیک است یعنی هر جایی که برنامه نصب شد
    بانکهای من در شاخه DATA درون محلی که برنامه نصب می شود قرار دارد
    با تشکر از دوستان

  13. #13
    با سلام
    1. آیا برای هر جدول این دستورات رو باید نوشت ـ برای همه جداول یه دستور مثل تعریف الیاس باشه بهتره چ.ن تعداد بانکهای مورد استفاده من خیلی زیاد است
    2. بعد از هر بار بستن بانک برای بازکردن ، دوباره باید دستورات و نوشت
    3. تعیین نام درایو و شاخه به صورت اتوماتیک است یعنی هر جایی که برنامه نصب شد
    بانکهای من در شاخه DATA درون محلی که برنامه نصب می شود قرار دارد
    در صورت سوال فرض بر این شد که هر سال مالی در یک Folder جداگانه قرار گیرد. که در اینجا نحوه ساخت Folder و ایجاد بانک و بررسی وجود آن مطرح نشدبلکه مطابق درخواست شما نحوه استفاده از بانکهایی که در folder های مختلف قرار دارد آورده شده است.
    در این کد فرض شده هرسال مالی را در Folder ی با این فرمت قرار دادی: Y_year یعنی برای سال 1383 فولدر Y_1383 ایجاد شده.
    بنابراین شما کافی است سال مالی را از کاربر بپرسی( با توجه به کد فرض شده کاربر سال مالی را در Box ، مورد نظر یعنی Edit1 وارد کرده) بنابراین کافی است کاربر سال مالی را وارد کند و کدها خودبخود جدول را برای آن سال مالی تنظیم میکنند.(البته با فرض اینکه سال مالی قبلا ایجاد شده. بعبارت دیگر باید تعیین کنی که سال مالی وجود دارد یا نه سپس به تغییر سال اقدام کنی) بنابراین برای هر سال لازم نیست کدها راتکرار کنی بلکه با وارد کردن سال توسط کاربر کدها خودبخود به فولدر آن سال اشاره میکند.
    2- به هیچ وجه لازم نیست چون تا وقتی خاصیت Tablename توسط خود شما تغییر نکند Table همیشه به بانک مورد نظر شما اشاره میکند. حتی اگر Close , Open شود.
    3- محل نصب برنامه رو میتونی تو رجیستری بنویسی و اول برنامه اونرو از رجیستری بخونی و در متغیر Global مر بوطه یعنی Xdrive,Xfolderinstall ذخیره کنی یا اگر برنامه در جای ثابتی نصب می شود در داخل برنامه در ابتدا Xdrive , Xfolder رو مقدار دهی کنی البته این کار خیلی حرفه ای نیست( برخلاف نظر یکی از دوستان اکثر نرم افزارها مشخصات خود رو در رجیستری ثبت می کنند.)

    در جواب سوال شما در مورد Alias بیشتر در مواقعی استفاده می شود که بانکها عموما در یک Folder قرار دارند و برای راحتی کار استفاده می شود در مورد سوال شما که برای هر سال یک
    فولدر داریم این کار مستلزم تعریف یک Alias برای هر مسیر هست. که احتیاج به کد نویسی بیشتری نسبت به روش ارایه شده می باشد.

  14. #14
    کاربر دائمی
    تاریخ عضویت
    اسفند 1381
    محل زندگی
    30/11/53
    پست
    243
    - محل نصب برنامه رو میتونی تو رجیستری بنویسی و اول برنامه اونرو از رجیستری بخونی و در متغیر Global مر بوطه یعنی Xdrive,Xfolderinstall ذخیره کنی یا اگر برنامه در جای ثابتی نصب می شود در داخل برنامه در ابتدا Xdrive , Xfolder رو مقدار دهی کنی البته این کار خیلی حرفه ای نیست
    getcurrentdir

  15. #15
    ممنون از جواب شما ببینم چطور می شه این کارو انجام داد

  16. #16
    سلام
    من نتونستم این کار رو انجام بدم از دوستان خواهش می کنم که دستورات اونو برای من بنویسند
    پنجه طلا سلام
    چطور می تونم از ریجستری اینکارو انجام بدم اکه دستوراتشو برام بنویسی ممنون می شم چون خیلی بهشت احتیاج دارم اونم از نوع فوری

  17. #17
    با سلام
    در پاسخ به سوال یکی از دوستان دوست عزیزمان Javan_soft کدی را ارایه دادند که آنرا تست کردم و کاملا صحیح بودو بهتر از راه حل رجیستری است:

    xinstallpath:=ExteractFilePath(Application .ExecName);

    حال در هر مسیری که فایل اجرایی شما نصب شده باشد آن مسیر در Xpath قرار می گیرد حال اگر فرض کنیم بانک های شما در Folder ی به نام Bank قرار گرفته باشند و در آن بانک هر سال به ترتیبی که قبلا گفته شد در فولدری جداگانه قرار گیرد با کدهای زیر میتوان مسیر هر بانک را بدست آورد:

    xinstallpath:=ExteractFilePath(Application .ExecName);
    Xbankpath:=xinstallpath+'\bank\'+'y_'+edit1.te xt;
    try
    table1.active:=false;
    table1.tablename:=xbankpath+'\hesab.dbf';
    table1.active:=true;
    except
    در اینجا سال مالی مربوطه پیدا نشده و باید کدهایی را برای ایجاد سال مالی و بانک مربوطه بنویسی.
    end;

    لا زم به توضیح است که این کدها برای روشن شدن مطلب آورده شده و برای کاربردی کردن آن تمام ملاحظلات برنامه باید در آن لحاظ شود.

  18. #18

    لطفا راهنمایی بفرمایید

    با سلام
    من که از این دستورات چیزی نفهمیدم
    من یه برنامه نوشتم که به صورت زیر است
    1. نام و مسیر بانکهای برنامه برنامه من c:\dadeh\data که مسیر الیاس هم است و اسم الیاس رو هم dadeh گذاشتم .
    2. داخل شاخه data شاخه های سال های کاری من قرار دارند به این ترتیب . 1380 – 1381 – 1382 – و غیره که در هر کدام بانکهای مربوطه که با پارادوکس طراحی شده قرار گرفته است.
    حالا میخوام که اول برنامه یه فرم ظاهر بشه و سال کاری را از کاربر بگیره وروی دکمه تایید کلیک کنه بانکهای اون سال در برنامه فعال بشه . من این کار رو چطوری انجام بدم چون هر کاری کردم نشد
    در ضمن از این کد ها نه چیزی نفهمیدم و نه طریقه کاربردشو بلدم اگه میشه این تیکه برنامه رو برام تهیه کنید ممنون می شم

  19. #19
    سلام
    بابا یکی هم به ما کمک کنه بخدا خیلی نیازش دارم

  20. #20
    سلام
    یکی پیدا نشد که به ما کمک کنه باباجون خیلی فوریه

  21. #21
    آقا من اینکاررا کرده ام ولی برای Dbisam اگر پارادکس هم نام فولدر را میگیرد فرقی نمیکند .میتوانید به این شکل عمل کنید یک شیی Database روی فایل بگذارید و همه جداول و... را به آن متصل کنید .حالا فقط باید خاصییت directory آنرا تنظیم کنید .
    در این کد نام database من dbs است و اطلاعات در شاخه های Data82-Data83,... قرار دارند . سال در متغیر year‌است .
    نام Datamadule من هم Datam است.بجای Mast.dat هم نام یکی از تیبلهای خودتان را بگذارید . فانکشن زیر جوابگو هست و الان کار میکند .اگر مشکلی بود بفرمایید .

    function TFlogin.OpenDatabase(year:string): boolean;
    var dir:string;
    begin
    year:=Trim(year);
    dir:=ExtractFileDir(Application.ExeName&#4 1;+'\Data'+year;
    if not FileExists(dir+'\Mast.dat') then
    begin
    showmessage(' پیدا نشد ' +dir+' فایلهای اطلاعاتی در ');
    Result:=false;
    Exit;
    end;

    with Datam do
    begin
    dbs.Connected:=false;
    dbs.Directory:=ExtractFileDir(Application. ExeName)+'\Data'+year;
    dbs.Connected:=true;
    end;
    result:=true;
    end;

  22. #22
    کاربر تازه وارد آواتار houshang.karami
    تاریخ عضویت
    اردیبهشت 1384
    محل زندگی
    ونکوور
    پست
    95

    نقل قول: تعریف دوره یا سال کاری

    دوست عزيز ببينيد مي توانيد اين فايل پيوست من را نيز بخوانيد خيلي لطف مي كنيد اگر زود جواب من را بدهيد.
    http://rapidshare.com/files/389111781/student.zip.html

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

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