نمایش نتایج 1 تا 5 از 5

نام تاپیک: فراخوانی دستورات از تکست باکس یا ...

  1. #1

    فراخوانی دستورات از تکست باکس یا ...

    سلام بر برنامه نویسان عزیز
    من میخوام یه قفل نرم افزاری خاص بسازم در صورت امکان راهنمایی بفرمایید .
    آیا امکان فراخوانی دستورات از تکست باکس وجود داره ؟ یعنی بفرض من بجای اینکه بنویسم Form1.show بنویسم Form1.Text1.text
    و متن درون Text مساوی show. باشه ?
    لطفا راهنمایی بفرمایید .


  2. #2

    نقل قول: ،راخوانی دستورات از تکست باکس یا ...

    نقل قول نوشته شده توسط Behrouz3363 مشاهده تاپیک
    سلام بر برنامه نویسان عزیز
    من میخوام یه قفل نرم افزاری خاص بسازم در صورت امکان راهنمایی بفرمایید .
    آیا امکان فراخوانی دستورات از تکست باکس وجود داره ؟ یعنی بفرض من بجای اینکه بنویسم Form1.show بنویسم Form1.Text1.text
    و متن درون Text مساوی show. باشه ?
    لطفا راهنمایی بفرمایید .
    شاید فکر کنید اینطوری دارید امنیت رو بیشتر می کنید ولی در نظر بگیرید که هر چقدر اجزاء خارجی (کتابخانه ها، کمپوننت ها، فایل ها) دخیل در ماجرا رو بیشتر کنید احتمال لو رفتن روتین تون بیشتر میشه.
    یکی از روش های اجرای کد پویای ویژوال بیسیک، استفاده از Script Control ئه. در منوی Project ویژوال بیسیک با گزینه Components (ترکیب کلیدی Ctrl + T) کمپوننت Microsoft Script Control رو پیدا کنید و تیک بزنید و OK کنید.
    کمپوننت اش به Toolbox اضافه میشه، از داخل Toolbox (از همونجا که TextBox و CommandButton رو برمیدارید) یک نمونه اش رو روی فرم برنامه تون قرار بدید که اسم پیشفرض اش ScriptControl1 میشه.
    حالا اول اون اشیاء ای که در دستورهاتون لازم میشن رو برایش تعریف کنید، مثلا :

    ScriptControl1.AddObject Form2.Name, Form2

    این سطر بالا میگه ما شیء Form2 رو با نام "Form2" در اون ScriptControl1 معرفی کردیم. حالا ScriptControl1 در هر فرمانی که اجرا کنه، میدونه که معنی عبارت "Form2" چیه و به Form2 اشاره می کنه.

    بعد می توانید دستوری رو اجرا کنید، مثلا :

    ScriptControl1.ExecuteStatement Text1.Text


    دقت کنید که ScriptControl1 مستقل از برنامه شما است، مثلا اگه قبلا با AddObject بهش Command1 رو معرفی نکنید، نمیدونه Command1 چه معنی ای داره و اگر در دستورتون اسمی از Command1 برده بشه، به عنوان یک عبارت ناشناخته شناسایی اش می کنه :

    ScriptControl1.AddObject Comman1.Name, Command1

  3. #3

    نقل قول: ،راخوانی دستورات از تکست باکس یا ...

    نقل قول نوشته شده توسط the king مشاهده تاپیک
    شاید فکر کنید اینطوری دارید امنیت رو بیشتر می کنید ولی در نظر بگیرید که هر چقدر اجزاء خارجی (کتابخانه ها، کمپوننت ها، فایل ها) دخیل در ماجرا رو بیشتر کنید احتمال لو رفتن روتین تون بیشتر میشه.
    یکی از روش های اجرای کد پویای ویژوال بیسیک، استفاده از Script Control ئه. در منوی Project ویژوال بیسیک با گزینه Components (ترکیب کلیدی Ctrl + T) کمپوننت Microsoft Script Control رو پیدا کنید و تیک بزنید و OK کنید.
    کمپوننت اش به Toolbox اضافه میشه، از داخل Toolbox (از همونجا که TextBox و CommandButton رو برمیدارید) یک نمونه اش رو روی فرم برنامه تون قرار بدید که اسم پیشفرض اش ScriptControl1 میشه.
    حالا اول اون اشیاء ای که در دستورهاتون لازم میشن رو برایش تعریف کنید، مثلا :

    ScriptControl1.AddObject Form2.Name, Form2

    این سطر بالا میگه ما شیء Form2 رو با نام "Form2" در اون ScriptControl1 معرفی کردیم. حالا ScriptControl1 در هر فرمانی که اجرا کنه، میدونه که معنی عبارت "Form2" چیه و به Form2 اشاره می کنه.

    بعد می توانید دستوری رو اجرا کنید، مثلا :

    ScriptControl1.ExecuteStatement Text1.Text


    دقت کنید که ScriptControl1 مستقل از برنامه شما است، مثلا اگه قبلا با AddObject بهش Command1 رو معرفی نکنید، نمیدونه Command1 چه معنی ای داره و اگر در دستورتون اسمی از Command1 برده بشه، به عنوان یک عبارت ناشناخته شناسایی اش می کنه :

    ScriptControl1.AddObject Comman1.Name, Command1
    ممنونم از راهنمایی کاملتون . اما خیلی برام سنگین بود یعنی من باید برای نمایش فرم دوم در قسمت کدنویسی ScriptControl1 برای اینکه فرم 2 نمایش داده بشه اول باید کد ScriptControl1.AddObject Form2.Name, Form2 معرفی کنم بعد در Command1 بنویسم ScriptControl1.ExecuteStatement Text1.Text که متن درون Text1 برابر با Form2.show هست ؟

  4. #4

    نقل قول: ،راخوانی دستورات از تکست باکس یا ...

    نقل قول نوشته شده توسط Behrouz3363 مشاهده تاپیک
    ممنونم از راهنمایی کاملتون . اما خیلی برام سنگین بود یعنی من باید برای نمایش فرم دوم در قسمت کدنویسی ScriptControl1 برای اینکه فرم 2 نمایش داده بشه اول باید کد ScriptControl1.AddObject Form2.Name, Form2 معرفی کنم بعد در Command1 بنویسم ScriptControl1.ExecuteStatement Text1.Text که متن درون Text1 برابر با Form2.show هست ؟
    بله. البته فقط یکبار Form2 رو تعریف می کنید. ممکنه صد بار هم بهش دستوراتی بدید که اجرا کنه، ولی Form2 رو همون یکبار قبل از اینکه دستوری رو بهش بدید تعریف می کنید و دیگه بعد از اون میدونه Form2 یعنی چی.
    وقتی دستور Form2.Show رو اجرا می کنید، میگرده در دستورات ویژوال بیسیک و می بینه چیزی به نام Form2 تعریف نشده و نمیشناسه. برای همین می توانید همون اول کار که فرم تون باز شده و قبل از اینکه دستوری رو اجرا کنید، Form2 رو برای ScriptControl1 تعریف کنید تا اگر در دستوری اسمی از Form2 اومد بدونه منظور کدوم شیء ئه.

  5. #5

    نقل قول: ،راخوانی دستورات از تکست باکس یا ...

    نقل قول نوشته شده توسط the king مشاهده تاپیک
    بله. البته فقط یکبار Form2 رو تعریف می کنید. ممکنه صد بار هم بهش دستوراتی بدید که اجرا کنه، ولی Form2 رو همون یکبار قبل از اینکه دستوری رو بهش بدید تعریف می کنید و دیگه بعد از اون میدونه Form2 یعنی چی.
    وقتی دستور Form2.Show رو اجرا می کنید، میگرده در دستورات ویژوال بیسیک و می بینه چیزی به نام Form2 تعریف نشده و نمیشناسه. برای همین می توانید همون اول کار که فرم تون باز شده و قبل از اینکه دستوری رو اجرا کنید، Form2 رو برای ScriptControl1 تعریف کنید تا اگر در دستوری اسمی از Form2 اومد بدونه منظور کدوم شیء ئه.
    هرکار میکنم پیام خطا میده و اجرا نمیشه میشه لطفا کد ها رو برام بفرستید؟

تاپیک های مشابه

  1. سوال: قالب دستورات مبتنی بر hook چگونه است و این دستورات چگونه عمل می کنند؟
    نوشته شده توسط deopen در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 1
    آخرین پست: چهارشنبه 15 دی 1389, 18:54 عصر
  2. سوال: كامپوننت farsi components shdate چه دستوري دارد كه چك كنم كه تاريخ شمسي درست است يا غلط
    نوشته شده توسط ali_abbasi22145 در بخش کامپوننت های سایر شرکت ها، و توسعه کامپوننت
    پاسخ: 1
    آخرین پست: یک شنبه 24 آبان 1388, 13:01 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •