ورود

نسخه کامل مشاهده نسخه کامل : از اول تا اخر دلفی



mohsensada
02-10-2010, 20:19
سلام دوستان برنامه نویس
خسته نباشید من دانشجویی رشته نرم افزار هستم که C رو پاس کرده ام و الان درس مباحث ویژه دلفی رو دارند بهمون ارائه می کنند می خواستم ازتون کمک بگیرم و تا اونجایی که می شه کار با دلفی رو بهم یاد بدهید.

M.Hashemi
02-10-2010, 21:05
با سلام
شما شروع به یادگیری کنید در صورتی که با مشکل مواجه شدید بگید تا دوستان کمکتون کنند.
برای شروع کتاب دلفی اقای جعفر نژاد قمی را به شما پیشنهاد میکنم.
با تشکر

مرد مباح
05-10-2010, 10:23
در تکمیل سخنان دوستمون عرض کنم که بعد از یادگیری اولیه فرامین بهترین راه یادگیری اجرا هست.
برای مثال سعی کن یک برنامه ماشین حساب بسازی.
در این بین خیلی چیزا برخورد میکنی که میتونی مطرح کنی.

ولی لطفلا یک تاپیک خاص ایجاد کنید و تمام سوالات رو اونجا بپرسین.

CPUSatan
05-10-2010, 16:42
ماشین حساب رو موافقم. به شاگردام بعد از یه روز مقدمه چینی و ... اولین برنامه ای که می گم بنویسن همین ماشین حسابه... اولش شونه خالی می کنند، ولی وقتی با هزار زحمت تموم میشه واقعا چیز یاد می کیرند

mohsensada
10-10-2010, 19:06
خب اتفاقاً استاد ماهم یه چیزی توی همین حدود یاد داد ببینید جمع ساده رو بلدم که سه تا کادر بسازی و جمع کنی و اگه قرار باشه 4 کلید رادیویی کنارهم بزارم و هرکدام کارهای جمع و تفریق و تقسیم و ضرب رو انجام دهند دستوراتشو گیر کردم چه جوری باید بنویسم ممنون میشم از کمکتون (اخه این استاد ما سریع درس میده)

M.Hashemi
10-10-2010, 23:41
با سلام
یک source براتون گذاشتم (با دلفی 2010 نوشتم).

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
امیدوارم به کارتون بیاد.
با تشکر

mohsensada
04-11-2010, 13:05
بچه ها کسی هست که بدونه چه دستوری باید استفاده کنیم تا ممیز ماشین حساب بیشتر ازیکی نزاره یعنی وقتی عدد نزدی نباید ممیز کار بکنه یا اینکی بیش از یکی نباید بزاره و یکی دیگه که توی edt1 باید فقط عدد تایپ بشه ولی حروف هم تایپ میشه
مر30

pal11
04-11-2010, 17:07
من مثل اين دوست خوبمون دانشجوي نرم افزار هستم و اين ترم مي خواهم برنامه نويسي با دلفي رو آموزشبدهند ميشه منو كمك كنيد

mohsensada
08-11-2010, 21:00
بچه ها کسی هست که بدونه چه دستوری باید استفاده کنیم تا ممیز ماشین حساب بیشتر ازیکی نزاره یعنی وقتی عدد نزدی نباید ممیز کار بکنه یا اینکی بیش از یکی نباید بزاره و یکی دیگه که توی edt1 باید فقط عدد تایپ بشه ولی حروف هم تایپ میشه
مر30
بچه ها من اینو تا فردا می خواهم یکی راهنمایی بکنه مر30

M.Hashemi
09-11-2010, 00:26
با سلام
برای این که ممیز یک بار بیشتر تایپ نشه باید یک متغییر boolean تعریف کنید و تا زمانی که ممیز وارد نشده مقدار ان false و بعد از وارد شدن ممیز مقدار ان true شود و هنگامی که کاربر می خواهد ممیز را تایپ کند این متغییر چک شود.
برای این که کاربر نتواند حروف را تایپ کند 2 راه حل وجود دارد :
1- یک گزینه به نام NumberOnly وجودادر که باید مقدار ان را True انتخاب کنید(در دلفی 2010 وجود دارد اما دلفی 7 را نمیدونم).
2- باید کدی مانند کد زیر در events به نام OnKeyPress مربوط به TEdit بنویسید :

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

راه ها و الگوریتم های بهتری هم وجود دارد. اما تنها همین ها به ذهنم رسید.

با تشکر

mohsensada
09-11-2010, 09:05
داداش اگه امکانش هست یه خورده واضحتر توضیح بدهید

M.Hashemi
09-11-2010, 09:55
با سلام
برای ممیز میتونید از کد زیر در OnKeyPress مربوط به TEdit استفاده کنید :

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدالبته این کد برای BackSpace کار نمی کند.
و برای این که فقط اعداد را بگیبرد باید کد زیر را در OnKeyPress مربوط به TEdit بنویسید.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدتوجه داشته باشید که 13 کد اسکی Enter و 8 کد اسکی BackSpace و 27 کد اسکی Escape است.
با استفاده از کد بالا شما تنها می توانید اعداد و enter, BackSpace, escape را به عنوان ورودی تایپ کنید.
امیدوارم متوجه شده باشید.
با تشکر

mohsensada
09-11-2010, 17:03
خیلی ممنون از راهنمایتون پس من کاملش می کنم تا دیگران هم استفاده کنند
برای این که فقط عدد تایپ کنه و حروف تایپ نکنه باید پس از انتخاب کردن edt به قسمت events وبعد به قسمت onkeypress بریم و دستور زیر را وارد کنیم
if not (key in['0'..'9']) then
key:=#0;

M.Hashemi
10-11-2010, 21:42
با سلام
اما هنوز کد مشکل دارد باید کد های اسکی enter و tab را نیز به ان اضافه کنید.
با تشکر

mohsensada
26-11-2010, 18:55
بچه ها کد سرچ کردن رو می خواستم البته سرچ کردن از بانک اطلاعاتی یعنی یه فرم درست کردم که توی اون مشخصات به یه فروشگاه cd هست که میتوان حذف و اضافه یا اصلاح کرد فقط توی قسمت سرچ کردنش که یه cd رو ببینیم تو لیست هست یا نه موندم یه خورده اشو بلدم مابقی رو نه کمک کنید
مر30

مرد مباح
27-11-2010, 11:07
توی لینکهای امضای من یک سری نمونه پیدا میکنی.
موفق باشی.

mohsensada
10-12-2010, 09:56
این هفته موضوع پروژه پایانی رو انتخاب کردم انبارداری + حسابداری دارم فرم هاشو درست می کنم از شما عزیزان می خواهم اگه ایده ای چیزی یا طرح مد نظرتون باشه بهم بگید چون می خواهم استادمون کف کنه :31:
مر30 از همتون

M.Hashemi
10-12-2010, 13:42
با سلام
دوست عزیز به نظر من بهتر است قبل از طراحی form ها اول database را طراحی کنید.
شما شروع کن هر مشکلی که داشتید من در خدمتم.

در مورد طراحی نرم افزار چند نظر دارم :
1- از sql server 2008 برای پایگاه استفاده کنید.
2- از اخرین نگارش دلفی یعنی delphi 2010 یا delphi xe 2011 استفاده کنید.
3- دستوران پایگاه داده را در StoredProcedure یا Function و یا View ها بنویسید.
5- به نرم افزارت انعطاف بده. مثلا اگر برای برنامه گزارش طراحی میکنی به صورتی طراحی کن که اگر بعدا خواستی گزارشی را تغییر بدهی یا اضافه کنی نیاز به کامپایل مجدد برنامه نباشد.
6- همه form ها را در یک فایل exe طراحی نکن می توانید از dll یا bpl استفاده کنید.
7- برای گزارش گیری از کامپوننت FasrReport استفاده کن.
8- برای ساخت نصاب از نرم افزار های معروف مانند InstallShield استفاده کن.
9- برای برنامه skin تعریف کن. میتونید از کامپوننت vclSkin استفاده کنید.

ببخشید اگه زیاد شد.
با تشکر

مرد مباح
11-12-2010, 15:54
موضوع خیلی سنگینی انتخاب کردی.
یک برنامه واقع حسابداری انبارداری خیلی وقت گیر و خیلی پیچیده هست.
هم یک مشاور حسابداری نیاز داری و هم اطلاعات و تخصص زیاد.

امیدوارم موفق بشی.

mohsensada
12-12-2010, 18:44
میدونم بد موضوعی رو انتخاب کردم ولی خواستم با این موضوع هرچی بلد هم نیستم مجبور بشم برم دنبالش و یاد بگیرم
متاسفانه استادمون دلفی 7 با ما کار کرده پس مجبورم 2007 کار کنم فرم ها تقریباً می شه گفت طراحی شده چون چند نمونه گیری از برنامه های حسابداری کردم مثل هلو یا آسمان و تا حدودی فروم ها رو طراحی کردم فقط می مونه database که اونم 2 تا طراحی کردم مابقی رو توی این چندروز سعی میکنم تموم کنم
بازم ازتون تشکر می کنم که کمکم میکنید

mohsensada
27-12-2010, 12:39
سلام خب یه خورده دیر شد ولی مشکلاتی که دارم
وقتی بخواهم توی قسمت فروش کالا رو از لیستم بیارم نمی دونم چه جوری بیارم یعنی می خواهم وقتی که یه جنسی رو که قبلاً ثبت کردم رو بدون تایپ بیارم یه جورهای جستجو می خواهد نمی دونم باید چیکار کنم.
سوالات بعدی هم باشه بعداز کلاسم مر30

M.Hashemi
27-12-2010, 14:06
با سلام
اگر درست متوجه شده باشم شما میتونید به صورت زیر عمل کنید :
در جدول کالا شما باید برای هر کالا یک کد در نظر بگیرید (primary key)
و تنها کافیست در جدول فروشتون کد کالا را درج کنید (Foreign Key)
و برای این که کاربر مجبور به حفظ کردن کد کالا نشود می توانید یک فرم دیگر طراحی کرده که در ان کاربر توانایی جست و جو در جدول کالا را داشته باشد و بعد از انتخاب کالای مورد نظر کد کالا را به فرم قبل برگرداند.
امیدوارم متوجه شده باشید.
با تشکر

مرد مباح
27-12-2010, 14:23
ولی من فکر میکنم دنبال حالتی هستین که اگه 2-3 حرف از یک کالا رو تایپ کنید بیارتش.
و یا یک لیست از کالا باشه بتونی از اون انتخاب کنی.
اگه این کار رو میخوای بکنی از DBLookUpCombobox استفاده کن.

M.Hashemi
27-12-2010, 15:04
ولی من فکر میکنم دنبال حالتی هستین که اگه 2-3 حرف از یک کالا رو تایپ کنید بیارتش.
و یا یک لیست از کالا باشه بتونی از اون انتخاب کنی.
اگه این کار رو میخوای بکنی از DBLookUpCombobox استفاده کن.
با سلام
با تائید حرف های دوست عزیزم مرد مباح باید بگم :
اگر از DBLookupComboBox استفاده کنید فقط نام کالا را به شما نشان می دهد (نه کد و نه سایر مشخصات) و قابلیت جست و جو را فقط بر اسا نام کالا دارد نه سایر مشخصات.
اما با طراحی یک فرم ساده می توانید تمامی این ایتم ها را در ان قرار دهید.
بستگی به نوع کار شما دارد.
پیروز باشید
با تشکر

mohsensada
27-12-2010, 21:07
اره من هم هیمنو می خواهم فقط چطوری؟

M.Hashemi
27-12-2010, 23:04
با سلام
برای DBLookupComboBox
باید مقادیر زیر را تعیین کنید :
ListSource
باید DataSource را انتخاب کنبد که به جدول کالای شما دسترسی دارد.

ListField
باید فیلدی از جدول کالا انتخاب کنید که می خواهید به جای کد کالا عمل کند(مانند نام کالا)

KeyField
باید فیلدی از جدول کالا را انتخاب کنید که کلیدی است که اینجا همان کد کالا است.

DataSource
باید DataSource را انتخاب کنید که به جدول فروش دسترسی دارد.

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

با انجام کارهای بالا می توانید از DBLookupComboBox استفاده کنید.
اما اگر می خواهید کاملتر باشد باید یک فرم طراحی کنید که بتواند در جدول کالا جست و جو کند سپس به کلید های که روی ان فرم قرار دارند خاصیت ModalResult بدهید(btnOK = mrOK) و سپس با کد زیر کد کالا را از فرم طراحی شده بخوانید :

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
امیدوارم شبه کد بالا و توضیحات داده شده به کارتون بیاد.
پیروز باشید
با تشکر

mohsensada
12-01-2011, 21:18
داداش گیر کردم اگه میشه یه راه اسان که بتونم راحت انجام بدم بسام بزار من برای گزارش گیری گیر کردم وقتی که یه جنس رو به یه مشتری می فروشی در نتیجه وقتی که بخواهی گزارش رو چاپ کنی باید جنس های که همون مشتری برده رو چاپ کنه، کلاً قاطی کردم - باید یه رابطه بین جدول مشتری ها و محصولات که به فروش میرسد بزارم ؟
؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

M.Hashemi
13-01-2011, 00:05
با سلام
دوست عزیز این مشکل مربوط به دلفی نمیشه و به بانک اطلاعاتی و دستورات t-sql ربط دارد.
اما با این حال شما مشکلت را واضحتر بیان کنید تا شاید بتوانم کمکتون کنم.
با تشکر

mohsensada
13-01-2011, 00:23
خب می دونی اومدم چیکار کردم اومدم اسم طرف هم توی tabl اضافه کردم یعنی وقتی دکمه خرید کلیک کنید یه فرم باز بشه که تو اون 3 کلید یکی مشاهد خریدات هستش که پایین اون دکمه چاپ گذاشتم و خرید های انجام شده رو همراه با اسم طرف میده
و دومی دکمه ثبت خریدات رو انجام میده و سومی بازگشت فکر کنم با این کار بتونم از دستورات اضافه خلاص شم
فقط قسمت فروش می مونه وقتی که من میزنم فروش می خواهم اسم مشتری که قبلاً وارد کردم رو از طریق سرچ که اوردم و اجناس رو به اسم اون ثبت برسونم اگه امکانش هست توضیح بده یا این که مثل قسمت خرید غالب کنم :20:
امیدوارم خوب توضیح داده باشم.
پروژه ام رو بای 28 تحویل بدم دیرو ویندوزم پرید و نصبکردم دیگه اجرا نمی شد دوباره از نو نوشتم نمیدونم بخاطر خود برنامه دلفی بود و چاره ا ی نداشتم وقت کم دارم مر30

---------- Post added at 12:23 AM ---------- Previous post was at 12:22 AM ----------

راستی ایمیلم اینه mt_mt141

M.Hashemi
13-01-2011, 15:53
با سلام
ببینید من بازم کاملا متوجه نشدم مشکلتون چی هست ولی یکسری توضیحات میدم :
ببینید شما باید برای این سیستم حداقل 3 جدول در بانک اطلاعاتی تعریف کنید(اگر بخواهید با مشخصات خریدار ثبت شود).
جدول اول شامل اطلاعات خریدار می شود که شامل کد و نام و نام خانوادگی و ... می شود
جدول دوم شامل اطلاعات کالاها می باشد که در انبار موجود است مثل کد کالا و نام کالا و ...
جدول سوم شامل اطلاعاتی می باشد که مشخص می کند چه خریداری چه کالا های را و به چه مقدار خریداری کرده است(کلید اصلی را می توانید یک فیلد auto int تعریف کنید).

دلفی و یا سایر زبان های شی گرا تنها اطلاعات را با استفاده از زبان T-SQL به بانک اطلاعاتی میرسانند و یا اطلاعات را بازیابی میکنند پس در نتیجه بیشتر کا را بانک اطلاعاتی و دستورات T-SQL شما انجام می دهد.
امیدوارم متوجه شده باشید.
با تشکر

mohsensada
21-01-2011, 13:09
خب بلاخره پروژه من به کمک شما دوستان تموم شد خیلی از همه اونهایی که منو کمک کردند بازم تشکر می کنم
اون مشکلی هم که دربالا گفته بودم درست بود فقط باید توی فرم گزارش گیری یه دستور ساده میزدم تا به qur وصل بشه بازم تشکر
موفق و موید باشید