PDA

View Full Version : سوال: دو سؤال مختلف



hr0694
یک شنبه 03 مهر 1390, 20:30 عصر
سلام خدمت همه دوستان

1- من میخام سه تا دکمه کامند و یک تکست روی فرم باشن و دکمه کامند اولی متن تکست1 را کپی کند و دکمه کامند دومی متن را در تکست1 پیست کند و دکمه کامند سومی متن تکست1 را پرینت کند؟

2- چکار کنم که وقتی برنامه اجرا میشود فوکوس (خط چشمک زن) در تکست1 قرار گرفته باشد؟

vbhamed
یک شنبه 03 مهر 1390, 20:37 عصر
سلام

Private Sub Command1_Click()

Clipboard.Clear
Clipboard.SetText Text1

End Sub

Private Sub Command2_Click()

Text1 = Clipboard.GetText

End Sub

Private Sub Command3_Click()

Printer.Print Text1
Printer.EndDoc

End Sub

براي قرارگيري فوكوس در Text1 خاصيت TabIndex اون رو برابر 0 قرار بده

MohammadGh2011
یک شنبه 03 مهر 1390, 20:43 عصر
سلام عليکم

2- چکار کنم که وقتی برنامه اجرا میشود فوکوس (خط چشمک زن) در تکست1 قرار گرفته باشد؟
سلام دوتا تکست باکس رو فورمت بيار و با يک تايمر و کدهاي زير رو تو تايمر کپي کن و Interval تايمر را هم از قسمت Properties رو 1 تنظيم کن

Text2.SetFocus

Timer1.Enabled = False


و اگه از کد نويسي نميخوايد باشه همون طور که جناب VBhamed فرمودند tabindex اون تکست رو برابر 0 کنيد.
---------------
موفق باشيد

hr0694
یک شنبه 03 مهر 1390, 20:51 عصر
اگه میشه جناب MohammadGh2011 دقیقا توضیح دهید که چکار کنم برای سؤال دومم و خودتان برایم دقیقا بگویید این کدها را چطوری بنویسم یعنی داخل چه چیزی من در برنامه نویسی مبتدی هستم

hr0694
یک شنبه 03 مهر 1390, 20:56 عصر
جناب vbhamed حالا این سه کد رو که در پست 1 جوری تغییر بدید که وقتی فوکوس داخل هر تکستی قرار گرفت این سه دکمه واسه اون تکستی که فوکوس داخلشه عمل کنه

MohammadGh2011
یک شنبه 03 مهر 1390, 21:04 عصر
اگه میشه جناب MohammadGh2011 دقیقا توضیح دهید که چکار کنم برای سؤال دومم و خودتان برایم دقیقا بگویید این کدها را چطوری بنویسم یعنی داخل چه چیزی من در برنامه نویسی مبتدی هستم
1-از جعبه ابزار سمت چپ يک تايمر روي فورم اضافه کنيد.(آيکون شبيه يک ساعت)
2- بعد دو عدد تکست باکس هم اضافه کنيد تا فوکوس روي تکست 2 بيفتد.(اگر يک عدد تکست باکس باشد بدون هيچ تايمر و کدي فوکوس روي تکست1 ميرود براي اين ميگويم که دو عدد تکست باکس روي فورم بياوريد که فوکوس روي تکست2 برود.)
3-روي تايمر دوبار کليک کنيد که در فورم اضافه کرديد و اين کدها را داخل تايمر کپي کنيد.
Text2.SetFocus
Timer1.Enabled = False

و بعد بايد به تايمر زمان داد براي اين کار ميتوانيد از قسمت properties اينتروال تايمر را برابر با 1 کنيد و يا اگر اين کار را نجام نداديد روي فورم دوبار کليک کنيد و داخل فورم لود کد زير راکپي کنيد.
Timer1.Interval = 1

حال برنامه را اجرا کرده و خواهيد ديد که خط چشمک زن روي تکست 2 افتاده است.

-------------
موفق باشيد

hr0694
یک شنبه 03 مهر 1390, 21:14 عصر
خیلی ممنون جناب MohammadGh2011 که زحمت کشیدید و برام کامل نوشتید مشکلم برطرف شد حالا اگه میشه بسؤال پست 5 پاسخ اون رو هم بدید ممنون میشم

MohammadGh2011
یک شنبه 03 مهر 1390, 21:26 عصر
جناب vbhamed حالا این سه کد رو که در پست 1 جوری تغییر بدید که وقتی فوکوس داخل هر تکستی قرار گرفت این سه دکمه واسه اون تکستی که فوکوس داخلشه عمل کنه
مگه شما چند تا تکست باکس دارين
من میخام سه تا دکمه کامند و یک تکست روی فرم باشن شما اينجا يدونه تکست باکس بيشتر که ندارين فوکوس رو اون باشه!

hr0694
یک شنبه 03 مهر 1390, 21:34 عصر
اون کد پست2 رو واسه چیزه دیگه ای میخواستم الآن میخام این سه کد پست2 رو جوری تغییر بدید که تعداد تکستها اگه زیاد بودند این سه دکمه واسه اون تکستی عمل کنند که فوکوس داخل اون تکست است مثلا اگه فوکوس داخل تکست 10 بود این سه دکمه واسه تکست10 عمل کنند یا تکستهای دیگه اگه فوکوس داخلشون بود واسه اون تکست عمل کنند

vbhamed
پنج شنبه 07 مهر 1390, 08:10 صبح
سلام

1 - يك متغير عمومي به نام مثلا CurrentText تعريف كنيد و در Form_Load مقدارش رو 0 بزاريد (اگر تكست باكس ديگري اول فعال است انديس اون تكست باكس رو بزاريد)
2 - چند تا تكست باكس انديس دار به اسم txt روي فرم بزاريد
3 - تو متد txt_GotFocus تكست باكس ها بنويسيد CurrentText = Index
4 - تو دستورات مربوط به كامندها كه در بالا نوشته شده به جاي Text1 بنويسيد txt(CurrentText)
5 - اين دستور رو انتهاي همشون اضافه كنيد
txt(CurrentText).SetFocus