PDA

View Full Version : سوال: ارسال تابع به تابع



YourWorldToday
پنج شنبه 29 اسفند 1387, 09:33 صبح
با سلام
من برای اولین بار دارم به صورت لایه ای برنامه نویسی می کنم.
در لایه Business برنامه من یه تابع Update دارم که ورودی این تابع به آبجت از یک کلاس هستش.
در لایه Presentation من یک تابع دارم که وظیفش خالی کردن متن تکس باکس هاست.
سوال من این هستش که چطور می تونم این تابع را به تابع Update پاس بدم و اونجا تابع را با توجه به شرایط اجرا کنم.
با تشکر

salehbagheri
پنج شنبه 29 اسفند 1387, 09:44 صبح
چه دليلي داره اين دو تابع به هم پاس داده بشند!!! (حتي الامكان توابع خودتون رو اينجا قرار بدهيد!)

در كل سوال شما كمي نامفهوم است! بيشتر و بهتر توضيح بدهيد!

YourWorldToday
پنج شنبه 29 اسفند 1387, 09:49 صبح
این تابع که می خوام به لایه Business پاس بدم اسمش CleanTextBoxs هستش که وظیفه اش پاک کردن متن داخلی تکس باکس ها فرم هستش.

چون در لایه Business اعتبار سنجی صورت می گیره می خوام چک کنم که ابجتی که به لایه Business پاس داده شده آیا داریه مقدار هستش یا خیر اگر مقدار داشت که عملیات به روز رسانی صورت می گیره و بعد باید تکس باکس ها خالی بشه. و درصورتی که مقدار نداشت نباید تکس باکس ها خالی بشه.

salehbagheri
پنج شنبه 29 اسفند 1387, 09:56 صبح
خوب دوست من، اول اعتبار سنجي كن و ببين مقداري پاس داده شده يا نه و اگر مقدار داشت، تابع CleanTextBox رو فراخواني كن!

من نفهميدم كه شما در فراخواني اين تابع چه مشكلي داريد؟؟؟ :متفکر:

YourWorldToday
پنج شنبه 29 اسفند 1387, 10:04 صبح
خوب من تابع CleanTextBox را چطور می تونم از لایه Business فراخوانی کنم.

YourWorldToday
پنج شنبه 29 اسفند 1387, 10:09 صبح
الان من تو لایه Business یه نمونه از کلاس فرم ساختم.به این صورت می تونم تابع CleanTextBox رو فراخونی کنم-
آیا این روش با برنامه نویسی چند لایه مقایرت نداره؟

احمد سامعی
پنج شنبه 29 اسفند 1387, 12:20 عصر
الان من تو لایه Business یه نمونه از کلاس فرم ساختم.به این صورت می تونم تابع CleanTextBox رو فراخونی کنم-
آیا این روش با برنامه نویسی چند لایه مقایرت نداره؟

من فكر ميكنم شما بايد Clean TextBox تو لايه Interface قرار بدين و از لايه Business فرمان اجراي اين تابع بدين به اين صورت كه بعد از اعتبار سنجي و UpData يك Result به لايه Interface برگرده و اگر شرط برقرار بود Clean كنه و اگر نه پيغام مناصب بده.

چون شما كه از لايه Business به كنترل هاي فرم نبايد دسترسي داشته باشي...
اگر اشتباه مي گم دوستان راهنمايي كنند.:تشویق:

salehbagheri
پنج شنبه 29 اسفند 1387, 13:51 عصر
خوب من تابع CleanTextBox را چطور می تونم از لایه Business فراخوانی کنم.

به اين صورت:


VB:
Import YourProject.BusinessLogicLayer

C#:
using YourProject.BusinessLogicLayer


و سپس به راحتي توابع و كلاسهاي تعريف شده خودتون رو فراخواني كرده و از آنها استفاده كنيد!