سلام دوستان برنامه نویس
خسته نباشید من دانشجویی رشته نرم افزار هستم که C رو پاس کرده ام و الان درس مباحث ویژه دلفی رو دارند بهمون ارائه می کنند می خواستم ازتون کمک بگیرم و تا اونجایی که می شه کار با دلفی رو بهم یاد بدهید.
Printable View
سلام دوستان برنامه نویس
خسته نباشید من دانشجویی رشته نرم افزار هستم که C رو پاس کرده ام و الان درس مباحث ویژه دلفی رو دارند بهمون ارائه می کنند می خواستم ازتون کمک بگیرم و تا اونجایی که می شه کار با دلفی رو بهم یاد بدهید.
با سلام
شما شروع به یادگیری کنید در صورتی که با مشکل مواجه شدید بگید تا دوستان کمکتون کنند.
برای شروع کتاب دلفی اقای جعفر نژاد قمی را به شما پیشنهاد میکنم.
با تشکر
در تکمیل سخنان دوستمون عرض کنم که بعد از یادگیری اولیه فرامین بهترین راه یادگیری اجرا هست.
برای مثال سعی کن یک برنامه ماشین حساب بسازی.
در این بین خیلی چیزا برخورد میکنی که میتونی مطرح کنی.
ولی لطفلا یک تاپیک خاص ایجاد کنید و تمام سوالات رو اونجا بپرسین.
ماشین حساب رو موافقم. به شاگردام بعد از یه روز مقدمه چینی و ... اولین برنامه ای که می گم بنویسن همین ماشین حسابه... اولش شونه خالی می کنند، ولی وقتی با هزار زحمت تموم میشه واقعا چیز یاد می کیرند
خب اتفاقاً استاد ماهم یه چیزی توی همین حدود یاد داد ببینید جمع ساده رو بلدم که سه تا کادر بسازی و جمع کنی و اگه قرار باشه 4 کلید رادیویی کنارهم بزارم و هرکدام کارهای جمع و تفریق و تقسیم و ضرب رو انجام دهند دستوراتشو گیر کردم چه جوری باید بنویسم ممنون میشم از کمکتون (اخه این استاد ما سریع درس میده)
با سلام
یک source براتون گذاشتم (با دلفی 2010 نوشتم).
امیدوارم به کارتون بیاد.کد:http://www.mediafire.com/?ipi6q83rjb3mpa9
با تشکر
بچه ها کسی هست که بدونه چه دستوری باید استفاده کنیم تا ممیز ماشین حساب بیشتر ازیکی نزاره یعنی وقتی عدد نزدی نباید ممیز کار بکنه یا اینکی بیش از یکی نباید بزاره و یکی دیگه که توی edt1 باید فقط عدد تایپ بشه ولی حروف هم تایپ میشه
مر30
من مثل اين دوست خوبمون دانشجوي نرم افزار هستم و اين ترم مي خواهم برنامه نويسي با دلفي رو آموزشبدهند ميشه منو كمك كنيد
بچه ها من اینو تا فردا می خواهم یکی راهنمایی بکنه مر30نقل قول:
با سلام
برای این که ممیز یک بار بیشتر تایپ نشه باید یک متغییر boolean تعریف کنید و تا زمانی که ممیز وارد نشده مقدار ان false و بعد از وارد شدن ممیز مقدار ان true شود و هنگامی که کاربر می خواهد ممیز را تایپ کند این متغییر چک شود.
برای این که کاربر نتواند حروف را تایپ کند 2 راه حل وجود دارد :
1- یک گزینه به نام NumberOnly وجودادر که باید مقدار ان را True انتخاب کنید(در دلفی 2010 وجود دارد اما دلفی 7 را نمیدونم).
2- باید کدی مانند کد زیر در events به نام OnKeyPress مربوط به TEdit بنویسید :
البته این دستور فقط از تایپ عدد 1 جلوگیری می کند.کد:if Key = '1' then
Key := #0;
راه ها و الگوریتم های بهتری هم وجود دارد. اما تنها همین ها به ذهنم رسید.
با تشکر
داداش اگه امکانش هست یه خورده واضحتر توضیح بدهید
با سلام
برای ممیز میتونید از کد زیر در OnKeyPress مربوط به TEdit استفاده کنید :
البته این کد برای BackSpace کار نمی کند.کد:var
temp:boolean
.
.
.
if Key = '/' and temp then
begin
Key := #0;
temp:=false;
end;
و برای این که فقط اعداد را بگیبرد باید کد زیر را در OnKeyPress مربوط به TEdit بنویسید.
توجه داشته باشید که 13 کد اسکی Enter و 8 کد اسکی BackSpace و 27 کد اسکی Escape است.کد:if not(Key in ['0','1','2','3','4','5','6','7','8','9',#13,#8,#27]) then
key := #0;
با استفاده از کد بالا شما تنها می توانید اعداد و enter, BackSpace, escape را به عنوان ورودی تایپ کنید.
امیدوارم متوجه شده باشید.
با تشکر
خیلی ممنون از راهنمایتون پس من کاملش می کنم تا دیگران هم استفاده کنند
برای این که فقط عدد تایپ کنه و حروف تایپ نکنه باید پس از انتخاب کردن edt به قسمت events وبعد به قسمت onkeypress بریم و دستور زیر را وارد کنیم
if not (key in['0'..'9']) then
key:=#0;
با سلام
اما هنوز کد مشکل دارد باید کد های اسکی enter و tab را نیز به ان اضافه کنید.
با تشکر
بچه ها کد سرچ کردن رو می خواستم البته سرچ کردن از بانک اطلاعاتی یعنی یه فرم درست کردم که توی اون مشخصات به یه فروشگاه cd هست که میتوان حذف و اضافه یا اصلاح کرد فقط توی قسمت سرچ کردنش که یه cd رو ببینیم تو لیست هست یا نه موندم یه خورده اشو بلدم مابقی رو نه کمک کنید
مر30
توی لینکهای امضای من یک سری نمونه پیدا میکنی.
موفق باشی.
این هفته موضوع پروژه پایانی رو انتخاب کردم انبارداری + حسابداری دارم فرم هاشو درست می کنم از شما عزیزان می خواهم اگه ایده ای چیزی یا طرح مد نظرتون باشه بهم بگید چون می خواهم استادمون کف کنه :31:
مر30 از همتون
با سلام
دوست عزیز به نظر من بهتر است قبل از طراحی 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 استفاده کنید.
ببخشید اگه زیاد شد.
با تشکر
موضوع خیلی سنگینی انتخاب کردی.
یک برنامه واقع حسابداری انبارداری خیلی وقت گیر و خیلی پیچیده هست.
هم یک مشاور حسابداری نیاز داری و هم اطلاعات و تخصص زیاد.
امیدوارم موفق بشی.
میدونم بد موضوعی رو انتخاب کردم ولی خواستم با این موضوع هرچی بلد هم نیستم مجبور بشم برم دنبالش و یاد بگیرم
متاسفانه استادمون دلفی 7 با ما کار کرده پس مجبورم 2007 کار کنم فرم ها تقریباً می شه گفت طراحی شده چون چند نمونه گیری از برنامه های حسابداری کردم مثل هلو یا آسمان و تا حدودی فروم ها رو طراحی کردم فقط می مونه database که اونم 2 تا طراحی کردم مابقی رو توی این چندروز سعی میکنم تموم کنم
بازم ازتون تشکر می کنم که کمکم میکنید
سلام خب یه خورده دیر شد ولی مشکلاتی که دارم
وقتی بخواهم توی قسمت فروش کالا رو از لیستم بیارم نمی دونم چه جوری بیارم یعنی می خواهم وقتی که یه جنسی رو که قبلاً ثبت کردم رو بدون تایپ بیارم یه جورهای جستجو می خواهد نمی دونم باید چیکار کنم.
سوالات بعدی هم باشه بعداز کلاسم مر30
با سلام
اگر درست متوجه شده باشم شما میتونید به صورت زیر عمل کنید :
در جدول کالا شما باید برای هر کالا یک کد در نظر بگیرید (primary key)
و تنها کافیست در جدول فروشتون کد کالا را درج کنید (Foreign Key)
و برای این که کاربر مجبور به حفظ کردن کد کالا نشود می توانید یک فرم دیگر طراحی کرده که در ان کاربر توانایی جست و جو در جدول کالا را داشته باشد و بعد از انتخاب کالای مورد نظر کد کالا را به فرم قبل برگرداند.
امیدوارم متوجه شده باشید.
با تشکر
ولی من فکر میکنم دنبال حالتی هستین که اگه 2-3 حرف از یک کالا رو تایپ کنید بیارتش.
و یا یک لیست از کالا باشه بتونی از اون انتخاب کنی.
اگه این کار رو میخوای بکنی از DBLookUpCombobox استفاده کن.
با سلامنقل قول:
با تائید حرف های دوست عزیزم مرد مباح باید بگم :
اگر از DBLookupComboBox استفاده کنید فقط نام کالا را به شما نشان می دهد (نه کد و نه سایر مشخصات) و قابلیت جست و جو را فقط بر اسا نام کالا دارد نه سایر مشخصات.
اما با طراحی یک فرم ساده می توانید تمامی این ایتم ها را در ان قرار دهید.
بستگی به نوع کار شما دارد.
پیروز باشید
با تشکر
اره من هم هیمنو می خواهم فقط چطوری؟
با سلام
برای DBLookupComboBox
باید مقادیر زیر را تعیین کنید :
ListSource
باید DataSource را انتخاب کنبد که به جدول کالای شما دسترسی دارد.
ListField
باید فیلدی از جدول کالا انتخاب کنید که می خواهید به جای کد کالا عمل کند(مانند نام کالا)
KeyField
باید فیلدی از جدول کالا را انتخاب کنید که کلیدی است که اینجا همان کد کالا است.
DataSource
باید DataSource را انتخاب کنید که به جدول فروش دسترسی دارد.
DataField
باید فیلدی از جدول فروش را انتخاب کنید که کلید خارجی جدول کالا است که این جا همان کد کالا است.
با انجام کارهای بالا می توانید از DBLookupComboBox استفاده کنید.
اما اگر می خواهید کاملتر باشد باید یک فرم طراحی کنید که بتواند در جدول کالا جست و جو کند سپس به کلید های که روی ان فرم قرار دارند خاصیت ModalResult بدهید(btnOK = mrOK) و سپس با کد زیر کد کالا را از فرم طراحی شده بخوانید :
امیدوارم شبه کد بالا و توضیحات داده شده به کارتون بیاد.کد:uses Unit_form_kala
.
.
if form_kala.ShowModal = mrOK then
Code_Kala = form_kala.edit_code_kala
پیروز باشید
با تشکر
داداش گیر کردم اگه میشه یه راه اسان که بتونم راحت انجام بدم بسام بزار من برای گزارش گیری گیر کردم وقتی که یه جنس رو به یه مشتری می فروشی در نتیجه وقتی که بخواهی گزارش رو چاپ کنی باید جنس های که همون مشتری برده رو چاپ کنه، کلاً قاطی کردم - باید یه رابطه بین جدول مشتری ها و محصولات که به فروش میرسد بزارم ؟
؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟
با سلام
دوست عزیز این مشکل مربوط به دلفی نمیشه و به بانک اطلاعاتی و دستورات t-sql ربط دارد.
اما با این حال شما مشکلت را واضحتر بیان کنید تا شاید بتوانم کمکتون کنم.
با تشکر
خب می دونی اومدم چیکار کردم اومدم اسم طرف هم توی tabl اضافه کردم یعنی وقتی دکمه خرید کلیک کنید یه فرم باز بشه که تو اون 3 کلید یکی مشاهد خریدات هستش که پایین اون دکمه چاپ گذاشتم و خرید های انجام شده رو همراه با اسم طرف میده
و دومی دکمه ثبت خریدات رو انجام میده و سومی بازگشت فکر کنم با این کار بتونم از دستورات اضافه خلاص شم
فقط قسمت فروش می مونه وقتی که من میزنم فروش می خواهم اسم مشتری که قبلاً وارد کردم رو از طریق سرچ که اوردم و اجناس رو به اسم اون ثبت برسونم اگه امکانش هست توضیح بده یا این که مثل قسمت خرید غالب کنم :20:
امیدوارم خوب توضیح داده باشم.
پروژه ام رو بای 28 تحویل بدم دیرو ویندوزم پرید و نصبکردم دیگه اجرا نمی شد دوباره از نو نوشتم نمیدونم بخاطر خود برنامه دلفی بود و چاره ا ی نداشتم وقت کم دارم مر30
---------- Post added at 12:23 AM ---------- Previous post was at 12:22 AM ----------
راستی ایمیلم اینه mt_mt141
با سلام
ببینید من بازم کاملا متوجه نشدم مشکلتون چی هست ولی یکسری توضیحات میدم :
ببینید شما باید برای این سیستم حداقل 3 جدول در بانک اطلاعاتی تعریف کنید(اگر بخواهید با مشخصات خریدار ثبت شود).
جدول اول شامل اطلاعات خریدار می شود که شامل کد و نام و نام خانوادگی و ... می شود
جدول دوم شامل اطلاعات کالاها می باشد که در انبار موجود است مثل کد کالا و نام کالا و ...
جدول سوم شامل اطلاعاتی می باشد که مشخص می کند چه خریداری چه کالا های را و به چه مقدار خریداری کرده است(کلید اصلی را می توانید یک فیلد auto int تعریف کنید).
دلفی و یا سایر زبان های شی گرا تنها اطلاعات را با استفاده از زبان T-SQL به بانک اطلاعاتی میرسانند و یا اطلاعات را بازیابی میکنند پس در نتیجه بیشتر کا را بانک اطلاعاتی و دستورات T-SQL شما انجام می دهد.
امیدوارم متوجه شده باشید.
با تشکر
خب بلاخره پروژه من به کمک شما دوستان تموم شد خیلی از همه اونهایی که منو کمک کردند بازم تشکر می کنم
اون مشکلی هم که دربالا گفته بودم درست بود فقط باید توی فرم گزارش گیری یه دستور ساده میزدم تا به qur وصل بشه بازم تشکر
موفق و موید باشید