اطلاعیه

Collapse
No announcement yet.

آیا کسی با این نوع call کردن کار کرده ؟

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    آیا کسی با این نوع call کردن کار کرده ؟

    سلام به همه دوستان

    من میخوام اسم زیر برنامه رو در جلوی دستور call به صورت یک متغیر بدم . یعنی با یک دستور call بتونم هر زیر برنامه ای که خواستم صدا برنم . آیا کسی میتونه کمک کنه ؟

    Call XXX این XXX را بصورت متغیر بدهم

    #2
    پاسخ : آیا کسی با این نوع call کردن کار کرده ؟

    داخل برنامه اسمبلی؟
    من اسمبلی AVR رو مستقیما کار نکردم ولی نمی دونم امکانی شبیه ماکرو توی اسمبلر AVR پشتیبانی شده یا نه
    من همچنین کاری نکردم ولی کاری شبیه به چیزی که شما می خوای رو فکر کنم بشه توی سی ( توش کد اسمبلی بنویسی ) انجام داد یعنی اول یه ماکرو رو با یه اسم خواص اگه define کردید یه سری کدهای مخصوص رو بتونید فراخوانی بکنید ( خوب منظور از فراخوانی ... فراخوانی تابع است یه چیزی شبیه call اسمبلی :smile: )

    موفق باشی

    دیدگاه


      #3
      پاسخ : آیا کسی با این نوع call کردن کار کرده ؟

      ممنون از راهنمایهای شما

      نه توی بسکام



      من میخوام جلوی call یک متغیر بذارم

      دیدگاه


        #4
        پاسخ : آیا کسی با این نوع call کردن کار کرده ؟

        اینو باید بیسیک کارای حرفه ای جواب بدن

        دیدگاه


          #5
          پاسخ : آیا کسی با این نوع call کردن کار کرده ؟

          سلام
          خیلی ساده بپرون به یه لیبل که زیرش نوشتی select case که میگه بپر فلان جا یا از دستور if استفاده کن و...
          هزارتا راه دیگه متوجه نشدی واضه تر بگم
          انجام پروژه هاي برنامه نويسي اندرويد
          [glow=red,2,300]نرم افزار نقشه هاي پاور کامپيوتر اندوريد[/glow]
          http://cafebazaar.ir/app/?id=com.atxdroid

          دیدگاه


            #6
            پاسخ : آیا کسی با این نوع call کردن کار کرده ؟

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

            کد:
            Var = LOADLABEL(label )

            با این دستور یک Label رو که تعریف کردی می تونی آدرس قرارگیری اونو در حافظه در متغیر Var که باید از نوع Word باشه بریزی. خوب با این کار می شه به هر آدرسی که خصوصا در زمان اجرا متغیر هم باشه، پرش کرد. اگر خواستی که متغیر هم پاس کنی می تونی از دستورهای Push و Pop استفاده کنی یا اونارو قبل از پرش ببری تو E2PROM و بعد از پرش از اونجا بخونی. یا متغیر سراسری تعریف کنی از اونها استفاده کنی و یا راه حلهای دیگه. برای اینکه رفتار پرش هم بیشتر شبیه تابع معمولی بشه می تونی از دستور های Pushall و Popall استفاده کنی که بتونی وضعیت ثباتها رو هم بعد از پرش به حالت اولش برگردونی. فقط یه مشکل که نتونستم از دستور Goto با آدرس متغیر استفاده کنم. رفتار مشابه Call رو انجام داد. شاید دوستان دیگه بتونن در رابطه با این موضوع کمک کنن. به دستور gotosub هم یه نگاه بنداز.
            موفق باشی

            دیدگاه


              #7
              پاسخ : آیا کسی با این نوع call کردن کار کرده ؟

              این مثالی هست که تو کتاب کاهه اومده:

              Dim A As Byte
              Declare Sub Test(b1 As Byte , Byval B2 As Byte)
              A = 65
              Call Test(a , 5) 'call test with parameter A and constant


              Test A , 5 'alternative call


              Print A
              End

              Sub Test(b1 As Byte , Byval B2 As Byte)


              End Sub


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

              دیدگاه

              لطفا صبر کنید...
              X