PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : شروع برنامه نویسی یک پروژه ساده



parya_shilan
16 / February / 1970, 11:36 AM
سلام
از اینکه این محیط جدید بازم فرصت همفکری رو برامون محیا کرده از ادمین عزیز و دوستان عضو قدردانی میکنم
دوستان عزیز میخوام *یک پروژه رو از اولش با ایران دلفی با زبان ساده خودمونی شروع کنیم.دوستان انجمن لطفا همفکر وراهنمایی هاشون رو ازم دریغ نکن با تشکر
پروژه:
-طراحی یک برنامه که قراره از مشخصات افراد رو ازیک بانک اطلاعاتی بخونه ومشخصاتشون رو نمایش بده تا تغییرات مورد نظرمون رو روش بتونیم انجام بدیم.این برنامه برای یک موسسه طراحی میشه که نزدیک به 400نفر پرسنل داره.
موسسه دارای 26نوع سرویس هست که هر پرسنل فقط یک بار از هرکدوم در طول یکسال می تونن استفاده بکنن.واین برنامه وظیفه کنترل این کار رو داره به این صورت که وقتی شماره پرسنلی فرد به برنامه داده میشه برنامه وضعیت این پرسنل رو تو برنامه بررسی میکنه واگه مثلا سرویس شماره 10رو از بین 26سرویس انتخاب شده باشه واسش اون رو درصورتی که قبلا استفاده نشده باشه مجاز ودرغیر اینصورت غیر مجاز اعلام میکنه.
دوستان لطفا برای این برنامه الگوریتم های پیشنهادیشون رو اعلام بکنن تا بتونم بهترین الگوریتم رو پیاده بکنم

parya_shilan
16 / February / 1970, 11:36 AM
سلام ادمین عزیز از توجهت ممنون*
بانک اطلاعاتی من شامل یک آفیس با چندتا تیبل هست که یکی بانک اطلاعاتی اصلی هست که اطلاعات رو از اون دریافت و تو تیبل های دیگه باتوجه به نوع سرویس ذخیره میشن که این بانک اطلاعاتی از داخل برنامه از طریق *ADOtable *به بانک متصل میشه کدها یک کلید جستجو:
کد:



begin
tbl1.First;
if *tbl1.Locate("p",edt1.Text,[]) *then
begin
edt2.Text:=tbl1.fieldbyname("n").AsString;
edt4.Text:=tbl1.fieldbyname("p").AsString;
edt3.Text:=tbl1.fieldbyname("l").AsString;
edt5.Text:=tbl1.fieldbyname("m").AsString;
end
else
begin
*ShowMessage("مقدار وارد در بانک اطلاعاتي موجود نمي باشد");
*edt1.Text:="";
end;





p-n-m-i* شماره پرسنلی *و نام ونام خانوادگی و محل فعالیت پرسنل هست*
برنامه *tbl1.First;
*به اول بانک اطلاعاتی مراجعه و به ترتیب شروع به لوکیت مقدار *"p",edt1.Text
*که از مقدار شماره پرسنلی رو از ایدیت باکس یک توسط کاربر وارد شده میخونه وسپس در بانک اطلاعاتی جستجو میکنه پس از پیدا کردن شماره پرسنلی مقادیر مربوطه رو در ایدیت باکس های * edt2.Text:=tbl1.fieldbyname("n").AsString; و ... پس از تبدیل به مقدار رشته ای (* AsString) در ایدت باکس خودش نمایش میده.و همینطور مقادیر بعدی رو و درغیراینصورت دستور else فرمان** *ShowMessage("مقدار وارد شده در بانک اطلاعاتي موجود نمي باشد"); را اجراخواهد کرد*
استادعزیز من این روند رو اجرا میکنم البته بهتر بگم که اینجوری بلدم ....از راهنمایی ارزشمند شماتشکر میکنم ولی دروغ چرا راستش سوادم به اونا قد ندادن ....دستور شمارو هم بااجازه تون کپی کردم و دارم تمرین میکنم .من واسه اینکه دستور دلفی واسم تفهیم بشن اون رو با ادبیات خودم میخونمش

admin
16 / February / 1970, 11:36 AM
سلام.
ابتدا دیتابیس اتون رو طراحی کنید.
مثال :
کد:



USE [master]
GO

create database office
go

create table tbl_personal(prsn_id char(10) , prsn_fname nvarchar(15), prsn_lname nvarchar(15),
prsn_vam bit ,prsn_padash bit، * بقیه ی سرویس ها );

admin
16 / February / 1970, 11:36 AM
در مرحله ی بعدی در درایو سی یک فایل با نام connection.udl* ایجاد می نماییم.

طریقه ی ایجاد این فایل بدین صورت است که ابتدا یک فایل تکست* ایجاد نموده و سپس آن را تغییر نام و همچنین پسوند آن را از .txt* به .udl تغییر می دهیم.

admin
16 / February / 1970, 11:36 AM
سلام مجدد.مرسی از اظهار لطفتون.

به این ترتیب عمل کنید.
1.پس از طراحی دیتابیس و ساخت فایل رابط کانکشن (connection.udl) بایستی یک دیتا ماژول به فرمتون اضافه کرده و به آن یک adotabو همچنین یک* datasourse و یک adoconnection قرار بدید و از طریق کد یا ویزارد کانکشن استرینگ و بقیه ی تنظیمات (فکر کنم اکثر دلفی کارها اینو دیگه بلدند) رو انجام بدید
2.بعد اون دیتا ماژول رو به فرم اتون با فشردن alt+f11* یوز (use) کنید.
حالا کد زیر رو قرار بدید.
کد:



if dm.tbl1.Locate("p",edt1.Text,[loCaseInsensitive]) then
begin
if dm.tbl1["vam"]= true then
begin
ShowMessage("وام دریافت شده");
end
else
begin
ShowMessage("وام تعلق میگیرد");
edt2.Text:=tbl1.fieldbyname("n").AsString;
edt4.Text:=tbl1.fieldbyname("p").AsString;
edt3.Text:=tbl1.fieldbyname("l").AsString;
edt5.Text:=tbl1.fieldbyname("m").AsString;
end;
end
else
begin
*ShowMessage("مقدار وارد در بانک اطلاعاتي موجود نمي باشد");
*edt1.Text:="";
end;




حالا میتونید برای بقیه ی سرویسها هم مثل وام عمل کنید...

admin
16 / February / 1970, 11:36 AM
سلام کاربر b_e_shamlu (<span style="font-family: trebuchet ms"><font size="3"><font color="Indigo"><b><font color="red">[فقط اعضاء انجمن قادر به مشاهده لینکها و عکسها می باشند <a href="/reg_iran.php" target="_blank">برای عضویت در سایت کلیک کنید</a>]</font></b></font></font></span>)* عزیز
فایل فوق یک واسط برای ارتباط بین نرم افزار و دیتابیس می باشد، با استفاده از این فایل برنامه ی شما یک برنامه ی پویا خواهد بود و شما با جابجایی نرم افزار و یا تغییر سرور دچار مشکل نخواهید شد و با کانفیگ کردن* از طریق این فایل و بدون دستکاری در کد نرم افزار رو به دیتابیس متصل خواهید نمود...

b_e_shamlu
16 / February / 1970, 11:36 AM
سلام
ممنون از تمامی عزیزانی که کمک در آموزش به دیگران کم نمی گذاردند*
طریقه ی ایجاد این فایل بدین صورت است که ابتدا یک فایل تکست* ایجاد نموده و
سپس آن را تغییر نام و همچنین پسوند آن را از .txt* به .udl تغییر می
دهیم.

ADMIN* با سلام خدمت شما : میخواستم بدانم که فایل فوق را جهت چکاری ساخته اید . و چگونه از آن استفاده میکنید
میبخشید من زیاد وارد نیستم

b_e_shamlu
26 / September / 2013, 12:14 PM
دوست عزیز باید خدمت شما بگویم من از طریق دیگری این کار را انجام میدادم
1- یک adocinnection به فرم اضافه میکنم و دو بار روی آن کلیک کرده
2- از قسمت کانکشن دکمه build* انتخا کرده
3- در پنجره آن mivrosoft OLD DB provider for ODBC drivers را انتخاب کرده
4- در صفحه بعد use cinnection string انتخاب و دکمه build را زده و به صفحه بعد رفته
5- در صفحه بعد دکمه جدید را انتخاب کرده و دکمه بعد را زده
6- در صفحه بعد SQL Server یا هر گزینه دیگری بنابه نیاز انتخاب کرده و دکمه بعدرا انتخاب میکنم
7- در صفحه بعد بروز و محل ذکیره شدن فایل و تا انتها
اما در این حالت فایل ساخته شده پسوند آن dsn میباشد اما اتصال آن خیلی سخت بود و این مورد شمارا تابحال آزمایش نکرده بودم
ولی خیلی جالب و با حال بود
با درود و تشکر از توضیحات کامل شما