PDA

View Full Version : اجرا کردن یک رشته از کد



mehrnoosh_al62
سه شنبه 29 مرداد 1387, 17:01 عصر
سلام دوستان این بحث قبلا در تالار C# ایجاد شده بود اما به نتیجه نرسید. میخوام بدونم چطور میشه یک رشته رو اجرا کرد. یعنی اگه یک متغیر string داشته باشیم که محتوای آن کد باشد مثلا:

Dim S As String = "Form1.Show"
چطور میشه این رشته رو اجرا کرد...؟

ALI TT
سه شنبه 29 مرداد 1387, 17:53 عصر
این کار فکر کنم غیر ممکن باشه ، چون نیاز به یک کامپایلر هستش .

اَرژنگ
سه شنبه 29 مرداد 1387, 18:01 عصر
http://www.barnamenevis.org/forum/

سلام دوستان این بحث قبلا در تالار C# ایجاد شده بود اما به نتیجه نرسید. میخوام بدونم چطور میشه یک رشته رو اجرا کرد. یعنی اگه یک متغیر string داشته باشیم که محتوای آن کد باشد مثلا:

Dim S As String = "Form1.Show" چطور میشه این رشته رو اجرا کرد...؟
در تالار سی شارپ جواب داده شده بود و به نتیجه هم رسیده بود. ولی این نوع برنامه نویسی اشتباه است، مشکلی که میخواهید حل کنید چی هست که به این نوع روش متوسل میشید؟


این کار فکر کنم غیر ممکن باشه ، چون نیاز به یک کامپایلر هستش .
CODE DOM را مطالعه کنید

ALI TT
سه شنبه 29 مرداد 1387, 18:16 عصر
CODE DOM را مطالعه کنید

ممنون . این فقط یه نظر کاملا شخصی بود !!!!

اَرژنگ
سه شنبه 29 مرداد 1387, 18:39 عصر
ممنون . این فقط یه نظر کاملا شخصی بود !!!!
خوبی گفتن نظرات شخصی این است که اگر کسی دیگری چیزی متفاوتی در مورد نظر بتواند در اختیار بزارد که شاید بدرد بخوره میزارد!
به رفلکشن هم نگاه بندازید، شاید خوشتان بیاد.

مخلصیم

اَرژنگ
پنج شنبه 31 مرداد 1387, 10:23 صبح
ببخشید منظورم یه پست (http://barnamenevis.org/forum/showthread.php?t=110526) تو همین تالار Vb.net بود... تو تالار C# چیزی پیدا نکردم. ممکنه لینکشو برام بذارید؟

بله، اون توپیک نتیجه‌گیریش کالا اشتباه بود.
این لینکهایه پائین مربوط به روش درست انجام دادن سوالی هستند که در این توپیک به شکل اشتباه پرسیده شده:

Activator.CreateInstanceFrom
http://barnamenevis.org/forum/showthread.php?t=69264

http://barnamenevis.org/forum/showthread.php?t=61453

در مورد ساختن وا اجرا کردن کد (هنوز توضیح ندادید که هدفتان از اینکار چی هست چونکه در برنامه نویسی معمولی هیچ وقت به اینکار متوسل نشدیم)، کلی موارد در این مورد میتوانید پیدا کنید.
http://www.google.com.au/search?q=CodeDOM&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-GB:official&client=firefox-a



اگر هدفتان اجرا کردن یک فرم با داشتن اسمش هست روشهایه بهتر دیگری وجود دارند

mehrnoosh_al62
پنج شنبه 31 مرداد 1387, 10:37 صبح
ببینید فرض کنید من نام فرم و نام یکی از کنترل های اون فرم رو به صورت string دارم حالا میخوام خاصیت visible این کنترل رو false کنم... راستش مشکلم مربوط میشه به این پست (http://barnamenevis.org/forum/showthread.php?t=118660). گفتم شاید بتونم مشکلمو اینجوری حل کنم...

اَرژنگ
پنج شنبه 31 مرداد 1387, 18:01 عصر
ببینید فرض کنید من نام فرم و نام یکی از کنترل های اون فرم رو به صورت string دارم حالا میخوام خاصیت visible این کنترل رو false کنم... راستش مشکلم مربوط میشه به این پست (http://barnamenevis.org/forum/showthread.php?t=118660). گفتم شاید بتونم مشکلمو اینجوری حل کنم...
یک پروژه کوچک که فقط برایه این مسعله باشد درست کنید و بفرستید، ما درستش میکنیم

mehrnoosh_al62
جمعه 01 شهریور 1387, 10:30 صبح
یک پروژه کوچک که فقط برایه این مسعله باشد درست کنید و بفرستید، ما درستش میکنیم

ممنونم . اینم برنامه به همراه دیتابیس ...

مشخصات جداول:

tblgroup: مشخصات گروه ها - نام گروه به همراه id
tbllevel: مشخص کننده سطح دسترسی هر گروه - اینکه هر گروه به چه کنترل هایی میتواند دسترسی داشته باشد...
در این جدول فیلد name شامل نام فرم، نام کنترل میباشد.

tbluser: مشخصات کاربران به همراه آی دی گروهی که در آن عضو میباشد.

مشکل برنامم اینه که وقتی کاربری لاگین میشود با توجه به گروهی که عضوه و سطح دسترسی در آن گروه (طبق جدول tbllevel) باید کنترل های فوق به حالت invisible در بیان. ولی این عمل اتفاق نمیفته...

Microsoft.net
جمعه 01 شهریور 1387, 11:56 صبح
http://www.barnamenevis.org/forum/

در تالار سی شارپ جواب داده شده بود و به نتیجه هم رسیده بود. ولی این نوع برنامه نویسی اشتباه است، مشکلی که میخواهید حل کنید چی هست که به این نوع روش متوسل میشید؟




دوست عزیز این حرفت علمی نیست . امروزه با رشد صنعت نرم افزار فرمولی کردن (بومی سازی) کد ها یکی از بحث های داغ هست . فرض کنید 10 مشتری بزرگ دارید که در قستمهایی از برنامه کدتون باید بومی بشه برای هرکدوم از اونها . اونوقت چه میکنید ؟ 10 سورس کد متفاوت و پشتیبانی هر 10 تا ؟ یا یک Core اصلی و 10 سورس Customize شده توسط end user ؟ اینجوری هزینه های پشتیبانیتون به شدت کاهش پیدا میکنه . شما یک Core اصلی دارید که کارهای پایه ای رو انجام میده و با یک آموزش سطحی به end user دست اون رو برای تغییرات باز میگزارید بدون اینکه تمام سورستون رو در اختیارش قرار بدید


این کار فکر کنم غیر ممکن باشه ، چون نیاز به یک کامپایلر هستش .

امکان پذیره !

Dariuosh
جمعه 01 شهریور 1387, 12:36 عصر
کدتو تغيير دادم فقط چون اصرار داري که اينطوري کار کني !!


يه تجربه شخصي : هر موقع احساس کردي برا نوشتن يه تيکه برنامه ميخواي کارايه عجيب غريب انجام بدي ، بدون يه جايه کارت ميلنگه

Dariuosh
جمعه 01 شهریور 1387, 13:12 عصر
يه چند تا پيشنهاد
1- استفاده از کلاسها خيلي خوبه و برايه ساده تر ، کاربردي تر و خوانا تر شدنه !!!
2- تو ديتابيست بجايه اينکه يه فيلد در نظر گرفتي برا اسم فرم و اسم کنترل ، از هم جداشون کن
* ديگه هر دفعه نميخواد که همه جدول رو Load کني ، فقط همون فرم مورد نظرت رو لود ميکني
* تازه مجبور نيستي که يه بارم تو برنامه اونارو از هم جدا کني
3- Quary هاتو پارامتري کن
4- برا خالي کردن متغيرهات از Nothing استفاده کن
5- سعي کن تا جايي که ميشه متن تو کدتت ننويسي ، مخصوصاً فارسي ( منظورم کلاً مطالبيه که تو " " ميذاري)
6- دستورات و محاسباتي رو که با ديتابيس در ارتباط هستن رو بزارش تو خوده ديتابيست (با استفاده از SPها ، Fnها و Triggerها)

موفق باشي

mehrnoosh_al62
جمعه 01 شهریور 1387, 13:39 عصر
يه تجربه شخصي : هر موقع احساس کردي برا نوشتن يه تيکه برنامه ميخواي کارايه عجيب غريب انجام بدي ، بدون يه جايه کارت ميلنگه

خوب به نظر شما چیکار میتونم بکنم؟ راهی که اول استفاده کردم جواب نداده... میشه همونو یه طوری دستکاریش کنم که درست شه؟ ایراد از کجاست؟

Dariuosh
جمعه 01 شهریور 1387, 13:41 عصر
خوب به نظر شما چیکار میتونم بکنم؟ راهی که اول استفاده کردم جواب نداده... میشه همونو یه طوری دستکاریش کنم که درست شه؟ ایراد از کجاست؟
مگه مشکلت حل نشد ؟

mehrnoosh_al62
جمعه 01 شهریور 1387, 13:55 عصر
چرابا راه حل شما حل شد .ممنون. خیلی لطف کردین . منظورم راهی بود که خودم رفته بودم. ولی من متوجه روشتون نشدم. چطور این کارو کردید...!!! میشه یه خورده توضیح بدین؟

Dariuosh
جمعه 01 شهریور 1387, 15:34 عصر
چرابا راه حل شما حل شد .ممنون. خیلی لطف کردین . منظورم راهی بود که خودم رفته بودم. ولی من متوجه روشتون نشدم. چطور این کارو کردید...!!! میشه یه خورده توضیح بدین؟

قبلاً گفته بودم (http://barnamenevis.org/forum/showpost.php?p=577655&postcount=6) که اين کارو از طريق فرم لود انجام بده
الان من همين کارو کردم
فقط نکتش اينجاس که من يه فرم پايه درست کردم و تو Load اون نوشتم برايه جلوگيري از تکراره کد ، و همه فرمهارو از اون به ارث بردم
از اين به بعدم شما هر فرمي به پروژتون اضافه کنيد فقط کافيه که از اين فرم پايه ارث بري کنيد تا شامل اين خاصيت بشه

اَرژنگ
جمعه 01 شهریور 1387, 16:49 عصر
دوست عزیز این حرفت علمی نیست . امروزه با رشد صنعت نرم افزار فرمولی کردن (بومی سازی) کد ها یکی از بحث های داغ هست . فرض کنید 10 مشتری بزرگ دارید که در قستمهایی از برنامه کدتون باید بومی بشه برای هرکدوم از اونها . اونوقت چه میکنید ؟ 10 سورس کد متفاوت و پشتیبانی هر 10 تا ؟ یا یک Core اصلی و 10 سورس Customize شده توسط end user ؟ اینجوری هزینه های پشتیبانیتون به شدت کاهش پیدا میکنه . شما یک Core اصلی دارید که کارهای پایه ای رو انجام میده و با یک آموزش سطحی به end user دست اون رو برای تغییرات باز میگزارید بدون اینکه تمام سورستون رو در اختیارش قرار بدید



امکان پذیره !
استفاده از اینترفیسها و پلاگین آرکیتچر برایه customisation است، این روش اجرا کردن هیلی پیلی یک رشته کد روش درست حل کردن این مسئله نیست.

نمیدانم منظورتان از "فرمولی کردن " کدها چیست ولی بومی سازی (Localisation) چیزه دیگریست.

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


پی‌اچ‌پی برایه همینگونه روشهایه اشتباه بدانه کمپایلر است. دات‌نت روشهایه داینامیک کد جنریشسن دارد و به این کلکها احتیاجی ندارد.

به جایه این روشهایه من درآوردی این توپیک اول یکمی مطالعه و جستجو برایه راههایه استاندارد مفیدتر است:
Introduction to Role-Based Security (http://msdn.microsoft.com/en-us/library/aa720542.aspx)
http://msdn.microsoft.com/en-us/library/aa480723.aspx

Microsoft.net
جمعه 01 شهریور 1387, 18:51 عصر
استفاده از اینترفیسها و پلاگین آرکیتچر برایه customisation است، این روش اجرا کردن هیلی پیلی یک رشته کد روش درست حل کردن این مسئله نیست.

نمیدانم منظورتان از "فرمولی کردن " کدها چیست ولی بومی سازی (Localisation) چیزه دیگریست.

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


پی‌اچ‌پی برایه همینگونه روشهایه اشتباه بدانه کمپایلر است. دات‌نت روشهایه داینامیک کد جنریشسن دارد و به این کلکها احتیاجی ندارد.

به جایه این روشهایه من درآوردی این توپیک اول یکمی مطالعه و جستجو برایه راههایه استاندارد مفیدتر است:
Introduction to Role-Based Security (http://msdn.microsoft.com/en-us/library/aa720542.aspx)
http://msdn.microsoft.com/en-us/library/aa480723.aspx


منظورم از بومی سازی انتخاب زبان نیست دوست عزیز ! مشکل اینگونه سیستمهای بزرگ هم با جنریشن ها حل نمی شه !
این آدرسی هم که نوشتی مربوط میشه به Role Base Security که اصلا ربطی به بحث ما نداره . احتمالا کل موضوع رو متوجه نشدی . در هر صورت Role Base Security مربوط میشه به اینکه مثلا یوزر A زمانی که به برنامه ورود پیدا میکنه به یک نقش اصطلاحا Assign میشه حالا تو این نقش یکسری از Object ها و فانکشن ها ممکنه براش Hidden باشن و همینطور در UI . حال بحث اینکه که چگونه بدون کد نویسی این کار رو سیستماتیک کنیم . همونطور که میبینید هیچ ربطی به بحث ما نداره . دوست عزیزمون آقا / خانم آرژنگ از بحث برداشت غلطی داشتن به خاطر همین جوابشون موضوع رو به حاشیه برد .
از شما یک سوال دارم شما 3 مشتری دارید و یکی از فرمهایتان به اسم فرم 1 است .
مشتری 1 مایل است فرم 1 رو تغییر بده مثلا یک گرید به اون اضافه کنه (در نتیجه فانکش جدیدی باید به لایه بیزینس اضافه شود) و یکی از کمبو باکس ها رو حذف کنه
مشتری 2 میخواهد فرمول محاسبه یکی از گرید ها رو تغییر دهد (تغییر کد نویسی)
مشتری 3 اصلا به این فرم احتیاج نداره . در عوض فرمی با ظاهری متفاوت و فانکش های متفاوت میخواد که فقط و فقط مخصوص این مشتری است و اگه به قول خودت با جنریشن ها و ... کدی بزنی فقط وقتت رو تلف کردی و کدت رو شلوغ .
حالا بگو چه میکنی ؟ احتمالا 3 تا سورس خاهی داشت با این روش ! بومی سازی به این میگن . یعنی قسمتی از سیستم به صورت کاملا باز (منظورم استفاده از Store proc ها برای این منظور نیست !) و قابل تغییر بر مبنای نیاز مشتری . اصطلاحا به قسمت کد نویسی اون formula Manager هم میگن و به قسمت UI اون Form Generator ها و Report Generator ها و ...
نمی دونم شاید تجربه چنین پروژه های بزرگی رو نداشته باشی . مطمین هستم دوستان زیادی در این سایت هستند که تجربه و نیاز به این موضوع رو حس کردند . منظورم نیاز به کامپایل قسمتی از کد به صورت Run time . به همین خاطر هم هست که مایکروسافت پیشبینی چنین چیزی رو کرده .
به هر حال بحث جالبی هست و جاش اینجا نیست . امیدوارم جای دیگری تخصصی تر بشه روش بحث کرد

Microsoft.net
جمعه 01 شهریور 1387, 20:43 عصر
خیر به جایه ۳ تا سورس ، ۳حداقل ۳ تا اسمبلی مختلف میسازیم و با روش پلاگین با همشان در یک روش همسان کار میکنیم.


جالبه ! یعنی اگه 1 میلیون مشتری داشتم و 10 درصد اینها نیازهای متفاوت داشتند 100 هزار اسمبلی داشته باشم ؟ بعد تو یکی از اینها خواستم تغییر ورژن داشته باشم باید 100 هزار سورس مختلف رو edit کنم ؟!
باشه ممنون پیشنهاد میکنم حتما از این روشی که داری استفاده کنی (;

اَرژنگ
شنبه 02 شهریور 1387, 18:46 عصر
جالبه ! یعنی اگه 1 میلیون مشتری داشتم و 10 درصد اینها نیازهای متفاوت داشتند 100 هزار اسمبلی داشته باشم ؟ بعد تو یکی از اینها خواستم تغییر ورژن داشته باشم باید 100 هزار سورس مختلف رو edit کنم ؟!
باشه ممنون پیشنهاد میکنم حتما از این روشی که داری استفاده کنی (;
با تشکر از پیشنهادتان، ترجیح میدم روشهایی که معتبر هستند را استفاده کنم تا روشهایه هیلی پیلی من درآوردی، لاقل من ۲ تا لینک در سایت مایکراسافت به موضوع اصلی این توپیک دادم، اگر ممکن است لطفا یک لینک به یک سایت معتبر به هر روشی که دارید در موردش حرف میزنید بفرستید که من هم یک سودی از این توپیک ببرم و یک یک چیزه جدیدی یاد بگیرم.

اَرژنگ
یک شنبه 03 شهریور 1387, 14:48 عصر
دوست عزیزمون آقا / خانم آرژنگ از بحث برداشت غلطی داشتن به خاطر همین جوابشون موضوع رو به حاشیه برد .
متوجه شدم که موضوع این بحث ربطی به این چیزی که شما میگید ندارد:


دوست عزیز این حرفت علمی نیست . امروزه با رشد صنعت نرم افزار فرمولی کردن (بومی سازی) کد ها یکی از بحث های داغ هست . فرض کنید 10 مشتری بزرگ دارید که در قستمهایی از برنامه کدتون باید بومی بشه برای هرکدوم از اونها . اونوقت چه میکنید ؟ 10 سورس کد متفاوت و پشتیبانی هر 10 تا ؟ یا یک Core اصلی و 10 سورس Customize شده توسط end user ؟ اینجوری هزینه های پشتیبانیتون به شدت کاهش پیدا میکنه . شما یک Core اصلی دارید که کارهای پایه ای رو انجام میده و با یک آموزش سطحی به end user دست اون رو برای تغییرات باز میگزارید بدون اینکه تمام سورستون رو در اختیارش قرار بدید


این چیزی که میگید در مایروسافت اکساپتا پیاده ریزی شده، منتها موضوع اصی این توپیک ربطی به این گفته شما نداشت بنابر چیزی که mehrnoosh گفت:


ممنونم . اینم برنامه به همراه دیتابیس ...

مشخصات جداول:

tblgroup: مشخصات گروه ها - نام گروه به همراه id
tbllevel: مشخص کننده سطح دسترسی هر گروه - اینکه هر گروه به چه کنترل هایی میتواند دسترسی داشته باشد...
در این جدول فیلد name شامل نام فرم، نام کنترل میباشد.

tbluser: مشخصات کاربران به همراه آی دی گروهی که در آن عضو میباشد.

مشکل برنامم اینه که وقتی کاربری لاگین میشود با توجه به گروهی که عضوه و سطح دسترسی در آن گروه (طبق جدول tbllevel) باید کنترل های فوق به حالت invisible در بیان. ولی این عمل اتفاق نمیفته...

این توپیک در مورد قسمتی است که زیرش را قرمز خط کشیدم و در پستم هم بهش جواب کاملا با ربط و درست دادم Role Based Security

حالا اگر بعد از فرستادن تمام دلایل برایه برداشت و جوابی که به این موضوع فرستادم اگر هنوز هم متغائد نشدید که موضوع این توپیک همین هست و من به حاشیه کشیدم لطفا با دلیل بفرمائید که ما هم یک چیزی یاد بگیریم،

چیزی که در مورد بومی کردن کد فرستادید به نظرم جالب آمد و دنبال یک مقاله یا یک منبع معتبر که در موردش باشد گشتم ولی هنوز چیزی پیدا نکردنم. اگر منبع یا لینکی در موردش دارید لطفا بفرستید.

mehrnoosh_al62
شنبه 09 شهریور 1387, 11:33 صبح
قبلاً گفته بودم (http://barnamenevis.org/forum/showpost.php?p=577655&postcount=6) که اين کارو از طريق فرم لود انجام بده
الان من همين کارو کردم
فقط نکتش اينجاس که من يه فرم پايه درست کردم و تو Load اون نوشتم برايه جلوگيري از تکراره کد ، و همه فرمهارو از اون به ارث بردم
از اين به بعدم شما هر فرمي به پروژتون اضافه کنيد فقط کافيه که از اين فرم پايه ارث بري کنيد تا شامل اين خاصيت بشه


من چطور میتونم فرم هایی که به پروژم اضافه میشه رو از این فرم پایه ارث بری کنم؟

Dariuosh
شنبه 09 شهریور 1387, 15:08 عصر
من چطور میتونم فرم هایی که به پروژم اضافه میشه رو از این فرم پایه ارث بری کنم؟
بالايه Solution Explorer دکمه Show All File رو بزنيد بعد به فرماتون 2 تا آيتم اضافه ميشه تو Designer از اون فرم پايه Inherits کن به جايه

Inherits System.Windows.Forms.Form

Dariuosh
شنبه 09 شهریور 1387, 15:45 عصر
ببخشید. من Show All Files نمیبینم. کجاست؟!!! کدوم قسمت باید این کدو وارد کنم؟
یعنی برای هر فرمی که تو برنامم اضافه میشه باید این کدو بنویسم؟
ميتوني بري تو دايرکتوري پروژت اونجا به اسمه هر فرمت 3تا فايل هست انتهايه يکيشون نوشته Designer اونو بازش کن

mehrnoosh_al62
شنبه 09 شهریور 1387, 16:02 عصر
ممنون
ولی اگه برناممو تو یه پروژه ای بذارم که تعداد فرماش زیاد باشه یه خورده سخت میشه...
راهی نیست که به صورت داینامیک این ارث بری شامل همه فرمام بشه؟

اَرژنگ
یک شنبه 10 شهریور 1387, 16:03 عصر
ممنون
ولی اگه برناممو تو یه پروژه ای بذارم که تعداد فرماش زیاد باشه یه خورده سخت میشه...
راهی نیست که به صورت داینامیک این ارث بری شامل همه فرمام بشه؟
ارث بری یک چکش نیست که هر مشکلی را باهاش مانند میخ‌کوبید.
استفاده نرمال ارث بری محدودیتهایه زیادی دارد که همینطوری نمیشه نادیده‌شان گرفت.
مشکل فعلی شما همانطوری که متوجه شدید بخاطر کمبودهایی است که با ارث بری برطرف نمیشند.
باید فریم ورک برنامه را گسترش بدید که این مشکل را در نظر بگیرد. به جایه استفاده از ارث بری به روش استفاده از پلاگین نگاه بندازید. اگر از حرفهام سر در نمیارید یک پروژه کوچک با ۳ تا فرم که مشکلتان و روشی که میخواهید حل بشد بفرستید (فرض میکنیم که ۳ تا فرم همان پروژه بزرگ است، یک فرم از ارث بری استفاده کند و اگر مشکل را برایه ۲ تا دیگر از فرمها حل کنیم که مانند همان فرم اول رفتار کنند، مشکل را برایه n تا فرم حل شده حساب میکنیم.). (منتها من با کار کردن در سی‌شارپ عادت دارم و از وی‌بی استفاده نخواهم کرد).

mehrnoosh_al62
دوشنبه 11 شهریور 1387, 10:45 صبح
ممنون. برناممو تو همین تاپیک ضمیمه کردم... اگه ممکنه یه نگاه بهش بندازید... مرسی

اَرژنگ
دوشنبه 11 شهریور 1387, 18:09 عصر
ممنون. برناممو تو همین تاپیک ضمیمه کردم... اگه ممکنه یه نگاه بهش بندازید... مرسی
با سلام،
همانطوری که قبلا گفتم کاری که در این پروژه میخواهید انجام بدید با Role-Based Security (http://msdn.microsoft.com/en-us/library/aa720542.aspx)انجام داده میشه.
یک پروژه کوچک که فقط مشکل را نشان بده بفرستید، یک پروژه ۳ فرمی که از داتابیس استفاده نمیکنند، یکیش فرمی که کاری را که میخواهید با درستی به هر روشی انجام بده و ۲ تا فرم دیگر را به عنوان تمام فرمهایه دیگر در یک پروژه طلقی میکنیم. مشکل را برایه یک مثال کوچک حل میکنیم نه برایه یک پروژه کامل.

mehrnoosh_al62
سه شنبه 12 شهریور 1387, 09:15 صبح
سلام دوست غزیز
من متوجه منظورتون نمیشم مشکل اساسی من اینه که چطور فرم هایی که از بانک استخراج میکنم رو بر اساس نامشون به حالت Invisible در آرم. چطور یه برنامه بدون دیتابیس براتون بفرستم؟؟؟!!! یه نگاه به تاپیک 7 بندازید...