سلام دوست عزیز
بنظر می رسد در دنیای برنامه نویسی تازه وارد هستید. نظرهای عمومی و خصوصی من اینه:
1- به دنیای برنامه نویسی خوش آمدید.
2- بر خلاف یک کارخانه دار که سرمایه اش زمین و موافقت اصولی و مجوز ها و ماشین آلات و مواد اولیه است (ولی برای کلاسش میگن سرمایه ما نیروی انسانی ماست!)، سرمایه یک برنامه نویس همت بلند و ذهن کامل (پویا، خلاق، جستجو گر، محاسبه گر، مقایسه گر، نو گرا) است. شما هم برای موفقیت به سرمایه اولیه و توسعه سرمایه نیاز دارید.
3- به روز باشید. از Delphi 10.2 و FastReport استفاده کنید. برای این پروژه از بانک Access و کامپوننت های ADO استفاده کنید.
4- سعی کنید نرم افزارتون اگر هم کوچیکه کامل باشه. کار کامل کوچک بهتر از بزرگ ناقص است. کامل بودن برنامه به معنای گرفتن 60 تا فیلد از مراجعه کننده نیست، یعنی کاربری راحت، جستجوی کامل، گزارش گیری، چاپ، تنظیمات، آمار و نمودار، خروجی اکسل و ... . خیلی از مراجعین مایل به دادن تلفن و موبایل و آدرس و ایمیل و شماره شناسنامه پدربزرگ خود نیستند اونها رو اذیت نکنید.
5- اگر از این نرم افزار درآمد دارید حسابی روش وقت بذارید. اگر برای یادگیری می نویسید بسته به علاقه و وقتتون روش کار کنید.
6- برای ثبت ورود و خروج در یک رکورد 2 تا فیلد ورود و خروج بزارید، معمولا یک رکورد برای ورود و یک رکورد برای خروج نمی گذارند.
7- طبعا فهرست واحد های اداره (مراجعه شونده ها) رو توی مثلا بخش تنظیمات باید بدید و در ثبت مراجعه از اون جدول استفاده کنید.
8- جاهایی که می تونید Type Assist پیاده سازی کنید (غیر ضروری در مراحل اولیه). یعنی با زدن چند حرف فهرست فیلتر شده ای از موارد رو به کاربر نشون بدید تا از فهرست انتخاب کنه. با Enter به فیلد بعدی و Shift+Enter به فیلد قبلی برید!.
9- از آیکن های زیبا و شاید اختصاصی برای برنامه تون استفاده کنید (غیر ضروری در مراحل اولیه).
10- 20 رکورد در هفته برنامه کوچکیه، به نظر من یک جدول برای مشخصات مراجعه کننده و یک جدول برای جزئیات مراجعه (پیاده سازی جداول Master-Detail) نیاز نیست. مگر اینکه چند مراجعه کننده محدود با دفعات مراجعه زیاد داشته باشید. در عوض روی بخش جستجو (فیلتر) و چاپ بیشتر کار کنید. در حالت تک جدولی هم میتونید با زدن کد ملی یا فامیل یه جستجو انجام بدید و در صورت وجود داشتن اطلاعات در رکورد های قبلی مشخصات مراجعه کننده رو پر کنید.
11- بند بالا برای حالتیه که در آینده نزدیک توسعه ای برای نرم افزار و مجموعه نمی بینید. وگر نه بله از جداول Master-Detail استفاده کنید. بجای Table بیشتر از Query استفاده کنید، به تحت شبکه بودن فکر کنید، بجای Access از SQL Server استفاده کنید و ... .
12- عزت زیاد.