# Native Code > برنامه نویسی در Delphi > بانک های اطلاعاتی در Delphi > آموزش: نمونه برنامه دفتر معین (بدهکار - بستانکار)

## Mask

با سلام خدمت دوستان.
بنده تا کنون چندید برنامه حسابداری طراحی و نوشته ام.
جایز دونستم با اجازه از اساتید ،نمونه برنامه دفتر معین رو اینجا قرار بدم تا دوستانی که در حال نوشتن این نمونه برنامه ها هستند از این برنامه استفاده کنند.(امید وارم مفید واقع بشه)
بانک اطلاعاتی :Access
گزارشگیری : QuickRep
موفق باشید.
در ضمن نمونه برنامه های حسابداری هایی رو که در سایت قرار داده ام رو میتونید از لینکهای زیر دریافت کنید.

سورس کامل برنامه حسابداری فروشگاهی

سورس برنامه حسابداری موبایل

----------


## Mask

دوستان نظری ندارند؟

----------


## alinikaein

خيلي متشكر از اين كه برنامه‌هاي خودتون را در اختيار ديگران هم مي‌ذاريد تا ياد بگيرند چطوري بايد اين برنامه‌ها را بنويسند.

يا علي... موفق باشيد...

----------


## Mask

با سلام.
خواهش میکنم.
یکی از دلایلی که نمونه برنامه هام رو اینجا قرار میدم اینه که دوستان نظر بدهند. تا بتونم پیشرفت کنم و از نظر فنی برنامه هام رو ارتقا بدهم .
من برنامه نویسیه دیگر دوستان رو زیاد ندیده ام.
اما به نظرم روش کارم مثل بقیه باشه.
بازم ممنون میشم از نظراتتون بنده رو مستفیض بفرمایید.

----------


## ERIKA

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

----------


## as13851365

برنامه خوبی بود ( شرمنده به صورت گذری نگاه کردم ) 

برای انتقال فوکوس به کنترل بعدی شما از توابعی به صورت زیر استفاده کردید : 

procedure TF_Main.CO1KeyPress(Sender: TObject; var Key: Char);
begin
  if key=#13 then e2.SetFocus;
end;


یعنی برای تک تک تکس باکس ها و ... همچین کدی نوشتی !!

می تونی رویداد Key Priview مربوط به فرم رو TRUE کنی و در رویداد KeyPress مربوط به فرم کد زیر رو بنویسی :

procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
   begin
      key:=#0;
      perform(WM_NEXTDLGCTL,0,0);
   end;
end;

از آنجایی که برنامه شما فارسی هستش بهتر بود تمام برنامه رو راست به چپ می نوشتی 

بهتر بود یه فرم اصلی درست می کردی که تمام صفحه باشه و در داخل آن به فرم های دیگه گزینه هایی برای دسترسی می زاشتی
و تک تک قسمت ها رو ( خرید ، فروش ، پرینت ، جستجو و....) به صورت جداگانه توی فرم های جداگانه می نوشتی 

*در کل برای یک نمونه خیلی خوب بود*   :تشویق: 

و از این که سورس برنامه رو در اختیار دیگران گذاشتی کار خوبی کردی همچین نمونه برنامه هایی برای آن دسته از دوستانی که تازه وارد دلفی و برنامه نویسی می شن خیلی خوب است

----------


## PBayat

با سلام
برنامه خوبی بود مرسی.

----------


## ahmadbh

برنامه خوبی بود
خیلی ممنون
زکات علم همان یاد دادن است

----------


## rk1983xx

با عرض پوزش 
من برای رفتن به کنترل بعدی از یه روش ساده استفاده میکنم که هم کد نویسی رو کم میکنه و هم کارائی رو بالا میبره
(البته قبلا از روش های هر دودوست قبلی استفاده می کردم)

فقط کافیه 
*1) یدونه action List روی فرمتون اضافه کنید
2) یه اکشن جدید بسازید و shortcut  اونو به کلید Enter اختصاص بدید
3) توی ایونت اون هم این کد رو بنویسید :
*SelectNext(ActiveControl,True,True);

 :چشمک:  به نظرم خیلی ساده و کاربردی تره 




> برنامه خوبی بود ( شرمنده به صورت گذری نگاه کردم ) 
> 
> برای انتقال فوکوس به کنترل بعدی شما از توابعی به صورت زیر استفاده کردید : 
> 
> procedure TF_Main.CO1KeyPress(Sender: TObject; var Key: Char);
> begin
>   if key=#13 then e2.SetFocus;
> end;
> 
> ...

----------


## fahimi

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

----------


## milad.biroonvand

سلام

اگر توی دفتر معین بخوای یک سند رو ویرایش کنی چطور میخوای مقدار کل مانده های بعدی رو تغییر بدی؟

----------

