PDA

View Full Version : تعریف یک متغیر سراسری (عمومی)



nanocycle
پنج شنبه 13 خرداد 1389, 17:08 عصر
سلام

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


با تشکر

Pr0grammer
پنج شنبه 13 خرداد 1389, 17:21 عصر
Dim a As Double

Private Sub Command1_Click()
a = a + 0.1
Text1 = a
End Sub

Private Sub Command2_Click()
a = a - 0.1
Text1 = a
End Sub

Private Sub Form_Load()
a = 5
Text1 = 5
End Sub

nanocycle
پنج شنبه 13 خرداد 1389, 17:39 عصر
خیلی متشکرم از راهنماییتون.
من تو بعضی سورسها دیدم که متغیر رو تو Module تعریف میکنند.
چه زمانی باید تو مدول تعریف کنیم و چه زمانی تو خود فرم؟

یه مورد دیگه.اگر بخوام که با کلیک کردن روی دکمه (بدون رها کردن کلیک موس) اتوماتیک با زمان قابل تنظیم این مقدار بالا یا پایین بره باید چطور برنامه رو تغییر بدم؟

با تشکر

M.T.P
پنج شنبه 13 خرداد 1389, 17:43 عصر
من تو بعضی سورسها دیدم که متغیر رو تو Module تعریف میکنند.
چه زمانی باید تو مدول تعریف کنیم و چه زمانی تو خود فرم؟
با تشکر

وقتی میخوایی از یک متغیر در کل فرم ها و برنامه ازش استفاده کنی باید تو Module (ماژول ) تعریفش کنی



یه مورد دیگه.اگر بخوام که با کلیک کردن روی دکمه (بدون رها کردن کلیک موس) اتوماتیک با زمان قابل تنظیم این مقدار بالا یا پایین بره باید چطور برنامه رو تغییر بدم؟
با تشکر

باید اون کد رو در رویداد MouseDown دکمه نوشت.

REZADG
پنج شنبه 13 خرداد 1389, 23:11 عصر
دوستان ایشون گفتن ورژن 2005 عزیز اون ویژوال استادیو 6 نیست اون دات نت هست شما ویژوال استادیو 2000 رو نصب کنید

Pr0grammer
جمعه 14 خرداد 1389, 23:16 عصر
دوستان ایشون گفتن ورژن 2005 عزیز اون ویژوال استادیو 6 نیست اون دات نت هست شما ویژوال استادیو 2000 رو نصب کنید

بله... سوال های مربوط به برنامه نویسی در VS باید در تالار مربوط به خودشون مطرح بشن...
اما سوال ایشون در همین جا هم قابل حل بود... به همین خاطر مشکلی نداره...

ali_habibi1384
یک شنبه 16 خرداد 1389, 07:41 صبح
واسه سوال دوم : یه متغیر سراسری واسه فرم تعریف کن که وقتی رویداد MouseDown اتفاق افتاد اونو true کنی و در غیر اینصورت false کنی سپس در فرمت یک تایمر بزار و اون متغیر رو چک کن و هر بار که اون true بود می تونی یکی به اون متغیرت اضافه کنی. عددی که در interval تایمر مینویسی نشانگر مدت زمان توقف در انجام هر بار شمردن است هر 1000 تا برابر 1 ثانیه است.

hajmasiha
چهارشنبه 02 اسفند 1391, 16:47 عصر
اقایون مهندسین من یه مشکلی دارم اینجا مطرح کنم ببینم مشکل ما حل میشه یا نه
من یه تابع api دارم استفاده میکنم که اسمش خیلی طولانی میخوام به ی روشی به جای اینکه اسم کامل تابع api رو بنویسم یه x رو به جای اون بزارم کسی حالا میتونه مارو کمک کنه یا نه

m2011kh
چهارشنبه 02 اسفند 1391, 20:29 عصر
داداش من تابع برا خودش اسم داره،فک نکنم راهی داشته باشه.

آها نه چرا حالا که فکر میکنم یه راهی داره.یه ماژول باز کن و تابع API رو داخلش تعریف کن بعد یه Function ایجاد کن که یه ورودی داشته باشه اونم همون ورودی هست که میخوای به تابع بدی.و نوع خروجی تابع هم متناسب با نوع خروجی API تعریف کن.اسم تابعتم بزار مثلا X اسم Module تون رو هم بزارید مثلا x.
بعد ورودی رو با استفاده از تابع بگیر بده به API و خروجیشو بزار به خروجی تابعت و به جای فراخوانی اسم بلند API اسم کوچیک تابع خودتو فراخوان کن.مثلا:
Print x.x(Input)

ولی اینکار دقیقا مثلا اینه که قاشقو از پس کلت رد کنی و بعد بخوری.خب چه کاریه همون اسم API رو بنویس و الکی خودتو اذیت نکن.

MMD

meys34
پنج شنبه 03 اسفند 1391, 10:33 صبح
روش m2011kh روش جالبی بود... ولی راه ساده تری هم داره:

اسم واقعی تابع رو در قسمت Alias (به معنای نام مستعار) قرار میدیم

و مثلا به جای استفاده از MsgWaitForMultipleObjects که خیلی طولانی هست از یه اسم دلخواه X استفاده میکنیم...

Public Declare Function X Lib "user32" Alias "MsgWaitForMultipleObjects" (...) As Long

mehran901
پنج شنبه 03 اسفند 1391, 10:34 صبح
اقایون مهندسین من یه مشکلی دارم اینجا مطرح کنم ببینم مشکل ما حل میشه یا نه
من یه تابع api دارم استفاده میکنم که اسمش خیلی طولانی میخوام به ی روشی به جای اینکه اسم کامل تابع api رو بنویسم یه x رو به جای اون بزارم کسی حالا میتونه مارو کمک کنه یا نه

خب دستور Alias واسه همینه دیگه ، البته تو ویبی هنوز نیاز نشده بود استفاده کنم ولی یادمه تو ویبی یک شرط دارشت واسه استفاده فک کنم وقتی میشد استفاده کرد که یک تابع همنامش رو ایجاد کنی! یا ایجاد شده باشه!

بعد از مرور صفحه متوجه شدم آقای meys34 هم به همین نحو پاسخ دادن ... منظورم همون بود که فرمودن