مشاهده نسخه کامل
: لود فرم
YAHYA-PRO
28-05-2009, 12:15
سلام دوستان
من چند تا سوال داشتم ممنون میشم جواب بدید
اولیش من یه برنامه نوشتم چند تا فرم داره بعدش یه فرم برای صفحه اولش طراحی کردم که دو تا دکمه دارم
حالا من میخوام برای این دکمه تعریف کنم که هر کدوم فرم جداگانه ای که ساختم رو باز کنن ولی نمیدونم چجوری میشه این کار رو کرد
بعدش در مورد تکست باکس هست میخوام برای این تکست باکس تعریف کنم اگه کاربر چیز خاصی رو وارد کرد بالافاصه و بدون زدن باتون یا زدن اینتر یه صفحه دیگه باز بشه :31
واقعا ممنون میشم زود جواب منو بدید :10:
roya_borhany
28-05-2009, 13:53
برای اولین سوالت که باید از خاصیت show و hide فرم استفاده کنی. مثلا اگه می خوای فرم 2 رو باز کنی:
me.hide
form2.show
برای سوال دومت هم که باید در خصوصیت change یک textbox دستورات رو وارد کنی. با کوچکترین تغییر در text دستورات نوشته شده اجرا میشوند. موفق باشید
YAHYA-PRO
28-05-2009, 19:50
ممنون بابات راهنمایی قبلی به دادم رسیدی
میگم من یه سوال دیگه برام پیش اومد !
من با استفاده از این کد Run رو باز میکنم خوب حالا میخوام خود برنامه چیزی رو که قبلا براش تعریف کردم رو تو Run بنویسه و اجرا بشه مثلا بنویسه cmd و cmd اجرا بشه
a = Shell("cmd", vbNormalFocus)
ممنون میشم بازم راهنمایی کنید
راستی دستوری هست که هم run و هم cmd رو پوشش بده اگه نیست بی زحمت برای هر دوش بگین
YAHYA-PRO
29-05-2009, 11:24
کسی نمیدونه من چیکار کنم ؟
برای cmd خودم راحش رو فهمیدم ولی Run رو نمیشه توش چیزی نوشت و اجرا کرد !
سلام
شخصاً درست متوجه منظور شما نمیشوم!
چیزی که شما در shell مینویسید حکم همان run ویندوز را دارد، یعنی هر چه در run بنویسید و جواب دهد، میتوانید با تابع shell در VB اجرا کنید.
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
YAHYA-PRO
29-05-2009, 12:29
ببینید من دقیقا میخوام خود برنامه ران رو باز کنه خودش دستور مثلا CMD رو بدون دخالت من بنویسه و اجرا کنه یعنی کل کارها رو خودش انجام بده
ممنون
shalineh
29-05-2009, 15:55
خیلی وقته با VB6 کار نکردم. کدش در دات نت این میشه. زحمت تبدیلش با خودتون.
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
YAHYA-PRO
30-05-2009, 18:23
ممنون shalineh :10:
دوستان لطفا این کدها رو برام به وبی 6 برگردونید
Dim oshellapp As New Object
oshellapp = CreateObject("Shell.Application")
oshellapp.filerun()
SendKeys.SendWait("cmd.exe")
SendKeys.SendWait("{Enter}")
دوستان دو تا سوال دیگه دارم :31:
من یه Cmd و Regedit و Taskmgr دارم که اگه این سرویس ها تو ویندوز غیر فعال هم باشن کار میکنه میخواستم ببینم من چطوری میتونم این فایلها که اجرایی هستن و کدشون رو ندارم وارد برنامه کنم
خودم فکر می کنم اول باید این برنامه ها رو یه جایی اکسترکت کرد بعد اجرا بشه ؟ (امکان داره خود ویژوال وارد فایل اجرایی آخر کنه و اجرا کنه و دیگه نیازی به اکسترکت کردن نباشه)
بعدش من یه قسمت از برنامه من اینجوریه که با زدن تیک چک باکس یه تنظیماتی تو ریجستری اعمال میشه من میخوام این تغییرات رو آخر کار سیو کنم خودم این طوری الگوریتم نوشتم که هر کدوم از تیک ها که اجرا شد اسمش رو بزاره تو یه متغییر و جلوش بنویسه اعمال شد
حالا این درسته یا راه ساده تری هم هست ؟
نمیشه با آرایه این قسمت رو انجام داد ؟
بعدش حالا فرض میگیریم این کارو کردیم من چجوری بگم اینو تو یه فایل تکست استخراج کنه ؟
سوالام زیاد شد ولی خوب من یه خورده ضعیفم :20: ببخشید
ممنون
YAHYA-PRO
30-05-2009, 18:31
آقا فقط یه سوال دیگه دارم
من این باتون رو طراحی کردم برای فرمم ولی نمیدونم چرا گوشه های باتون قبلی مونده !
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
چیکارش کنم اینو ؟
سلام
دوستان لطفا این کدها رو برام به وبی 6 برگردونید
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
1- دستورات SendKey در صورت نداشتن فوکس تاثیری نخواند داشت.
2- در کد اولیه هم نیازی به نوشتن کلمه New نبوده.
=====
من چطوری میتونم این فایلها که اجرایی هستن و کدشون رو ندارم وارد برنامه کنم خودم فکر می کنم اول باید این برنامه ها رو یه جایی اکسترکت کرد بعد اجرا بشه ؟
باید Resource Editor را در VB بارگذاری کنید و یک فایل res به پروژه اضافه کنید و فایلهای مورد نظر را در آن embed کنید و با توابعی مثل LoadResData اطلاعات را خوانده و با دستور Open-Put-Close نتیجه را ذخیره کنید:
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ])
=====
بعدش من یه قسمت از برنامه من اینجوریه که با زدن تیک چک باکس یه تنظیماتی تو ریجستری اعمال میشه من میخوام این تغییرات رو آخر کار سیو کنم خودم این طوری الگوریتم نوشتم که هر کدوم از تیک ها که اجرا شد اسمش رو بزاره تو یه متغییر و جلوش بنویسه اعمال شد
حالا این درسته یا راه ساده تری هم هست ؟
نمیشه با آرایه این قسمت رو انجام داد ؟
من درست متوجه نشدم!
یعنی فقط میخواهید ذات بودن/نبودن آن تیک ثبت شود؟
دو دستور قدیمی برای این کار وجود داشت...
گمانم GetSetting و SetSetting (یا شبیه این) به نظرم بهتر است هر اپشن را به صورت یک Bollean مستقل ذخیره کنید.
=====
بعدش حالا فرض میگیریم این کارو کردیم من چجوری بگم اینو تو یه فایل تکست استخراج کنه ؟
برای کار با فایلها و ریختن اطلاعات باید از ساختار Open-Put-Close استفاده کنید.
YAHYA-PRO
30-05-2009, 22:47
آقا از همه ممنون
من مشکلاتم بالاخره تموم شده بود و برنامه تموم شده بود ولی ....
من از این نمونه کد برای دسترسی به ریجستری استفاده کردم
If Check5.Value = 1 Then
c = MsgBox("hlh;hk fhc'vnhkd fi phgj h,gdi hdk 'cdki ,[,n knhvn hnhli ld nidn ?", vbOKCancel)
If c = 0 Then End
reg2 = InputBox("ÚäæÇä ãæÑÏ äÙÑ ", "Enter Windows Name", "")
Reg1.HKey = HKEY_LOCAL_MACHINE
Reg1.path = "Software /Windows NT/CurrentVersion"
Reg1.ValueName = "RegistredOwer"
Reg1.Data = Val(reg2)
Reg1.SetValue
End If
این کد ها قبلا کار میکردن چندین بار امتحان کردم ولی نمیدونم چرا از وقتی برنامه رو بستم و الان بازش کردم که exe نهایی رو بگیریم از همین قسمت اشکال میگیره (سیوش هم کرده بودم
در ضمن OCX رو هم باز کردم
اینم عکس : تو رو خدا کمکم کنید نمیتونم این همه کد رو دوباره بنویسم این پروژه رو باید دوشنبه ببرم توضیح بدم به استادمون
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
سلام
فقط میتوانم پیشنهاد کنم به سادگی و با یک خط کدنویسی از GetSetting و SetSetting استفاده کنید.
YAHYA-PRO
31-05-2009, 00:17
میشه یه مثال از حذف کپی تغییر مقدار برام بزنی
این دستورات دیگه چیزی لازم ندارن تو جنرال بنویسی ؟
سلام
متاسفانه گذاشتن کد VB6 ساده نیست و فراموشی در طی سالیان دراز غالب میشود ... !
نام تابع تنظیمی SetSetting نیست و SaveSetting است ولی GetSetting درست است.
برای شما که میخواهید Boolean ذخیره کنید دو تابع پیشنهاد میکنم بنویسید تا خواندن/ذخیره تان در طول کد شفاف تر و ساده تر شود و گرنه کد همان یک خطی است!
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
1- به جای متن App.ProductName میتوانید یا نام برنامه را درج کنید و یا نام برنامه را در تنظیمات پروژه وارد کنید و از خود دستور App.ProductName استفاده کنید.
2- مقدار defaultvalue برای وقتی است که مقدار در رجیستری از قبل موجود نباشد. یعنی اگر رجیستری خالی باشد، کد این مقدار را پس خواهد داد. (یک نوع پیش فرض)
موفق باشید.
shalineh
31-05-2009, 14:42
دستورات SendKey در صورت نداشتن فوکس تاثیری نخواند داشت.
با دستور Shell.Application فوکوس بصورت خود بخود میره به روی برنامه فرا خوانده شده.
و با هر بار فراخوانی این دستور نیز، باز هم فوکوس میره به پنجره هدف.
vBulletin , Copyright ©2000-2025, Jelsoft Enterprises Ltd.