مشاهده نسخه کامل
: یه سوال ساده!
Jeff hardy M
21-03-2013, 20:07
سلام
من یک TextBox تو فرمم گذاشتم و یک Button
textbox: قابلیت چند خطی نوشتن رو داره
کاربر یک متنی رو تو این تکست باکس می نویسه و می خوام وقتی روی دکمه کلیک کرد
هر چی متن با نام VISUAL وجود داشت، به XXX تغییر کنه
نمونه
متن کاربر:
about visual basic 2008
free download visual version 9.0
بعد از زدن دکمه:
about XXX basic 2008
free download XXX version 9.0
ممنون میشم کد این پروژه بالا رو بدید بهم.
و اینکه برای ذخیره خودکار باید از چه کدی استفاده کنم ؟ :n16:
Jeff hardy M
22-03-2013, 11:55
لطفا این سوال اولی رو جواب بدید :n03:
samasara
22-03-2013, 19:59
از تابع replase استفاده کن
مثال :(تست شده در vs 2005)
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
Jeff hardy M
22-03-2013, 23:35
از تابع replase استفاده کن
مثال :(تست شده در vs 2005)
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
ممنون جواب داد:n01:
برای ذخیره متن تکست باکس چطور ؟ می خوام کدش رو توی (نخ)thread بزارم تا خودکار متن رو ذخیره کنید و کدی هم که بالا دادی رو توی یه (نخ)thread دیگه بزارم تا هنگام تایپ، کلمه رو جایگزین کنه
samasara
23-03-2013, 17:53
برای ذخیره متن تکست باکس چطور ؟
تنها راهی که به نظر من میرسه ذخیره در هارد هست و هنگامی که از برنامه خرارج شدید یت رویداد خروج اتفاق افتاد اون فایل رو پاک کنه یعنی:
1- ایجاد یک فایل و باز کردن اون با دستور FileOpen
2- اضافه کردن کارکتر فشورده شده با دستور های fileput به فایل (اینجا انتخاب با خودت هست که بخوای اونو داخل یک timer یا رویداد یا thread قرار بدی)
3- حذف فایل با دستور kill هنگام خروج
اما به صورت کلی به نظر من اگر می خوای از thread یا چند ریسمانی استفاده کنی یک ریسمان رو نیازه که کد کنی و همون کد هایی تبدیل رو به اون بده
threading بیشتر شبه به تامیر یعنی خیلی شبه به شی تایمر هستند و هر دوی اینها هم در یک مورد با رویداد ها شبه هستند و اونم اینکه از کلاک سیستم تغزیه می کنند کار می کنند
در Vb6 همین طور که خودتون بهتر از من می دونید این کار ها بیشتر توسط DoEvent انجام می شد
راستش حالا که من فقط thread ها رو در مواقعی که پردازه ی سیستم چند هسته ای هست و نیاز به استفاده از چند هسته در پردازش هست و بخواهیم به صورت دستی به هر هسته دسترسی داشته باشیم دیدم که استفاده میشه در vs2010 که این کار بهصورت خود کار انجام میشه و نیازی به درگیری به این مسائل نیست
بازم یاد آوری می کنم که من دستوری برای ذخیره به صورت موقت ندیدم و با کار با فال میشه این مورد رو حل کنی اگر مشکلت حل نشد بگو با کد ذخیره کردن اطلاعات و پاک کردن اون رو برات بنویسیم.
Jeff hardy M
24-03-2013, 10:14
پیام خصوصی توضیح دادم
samasara
24-03-2013, 17:17
من این برنامه رو با توجه به کد های شما نوشتم و کاملا ساده و برای همه قابل فهمه و مشکلی نداره.. ولی می شد همین برنامه رو یکم با سلیقه تر درستش کرد..
اول از همه کل کد ها رو می زارم(بر خلاف میلم این کار رو می کنم چون که این برنامه ها باعث میشه که کسی که سوال رو می پرسه به جا اینکه خودش یاد بگیره فقط به دنبال یک جواب حاضر آماده سوق پیدا می کنه که این خیلی بده اما به هر حال ...)
1- یک تکس باکس باید اضافه کنید
2- یک باتون اضافه کنید و عنوان اون رو Start انتخاب کنید
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
یک نکته ای هست که معمولا تازه کار ها خیلی با اون مشکل دارند اونم اینکه برای برنامه نویسی چند ریسمانی در .net 2 امکان تغییر راحت و سالم رو نداریم برای اطلاعات بیشتر به لینک زیر مراجعه کنید
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
که اونم با اضافه کردن کلمه ی کلیدی Delegate می تونید مشکل رو حل کنید
Delegate در مواقعی که قبل از کامپایل, عملیاتی که رو داده های باید انجام بشه رو نمی دونید (به معنای وکیل گرفتن یا حواله کردن)
نحوه ی استفاده کردن اونم مثل datatype می مونه چیز خاصی نداره
یک نکته دیگه ای هم که هست SetTextCallback فقط اسمی که برای dekegate گذاشتیم نه یک تابع یا متغییر بلکه متغیر داخل این تغریف میشه
توضیح اینکه چرا از این استفاده شده مفصل هست ..
دوستانی هم که با #.C این مشکل رو دارند می تونند معادل این خط رو استفاده کنند
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
--------------
اما برای برنامه نوسی thread ها یک قالب کلی و ساده هست که اگر اونو توی ذهن داشته باشید دیگه برنامه های پیچیده ش رو خیلی را می فهمید
1-اونم اینه که اول باید thearding رو به برنامه اضافه کنید
Imports System.Threading
2- متغیر از نوع ریسمان درست کنید
Private trd As Thread
3- داخل یک سابوتین کد های مورد نظر رو بنویسد
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
4- سابوتین رو به به متغیر ریسمان اتصاب بین
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
5-اونو راه اندازی کنید
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
6- اونو خاموش کنید
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
این چار و چوب خیلی ساده رو همشه به یاد داشته باشید بعد در هر برنامه ای حلی برنامه های حرفه ای هم این چار چوب راعایت می شه برای این کار..
ولی من کاربرد درست حسابی ای جز اون موردی که در پست قبلی گفتم پیدا نکردم
گفتم شاید سوالی پیش بیاد :
دستور
TextBox1.SelectionStart = TextBox1.TextLength
برای اینه که به انهای خط نشانگر بره کل طول متن رو یک عددیه و نقطه ی شروع هم به اون نقطه پاس میشه
دستور
name = LCase(Me.TextBox1.Text)
برای کوجک کردن تمام متن هست که مشکلی با visual Visual یا ViSual نباشه
پروژه رو برای دانلود می زارم
samasara
25-03-2013, 17:55
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
براي متوقف کردن ريسمان ---- زمان بر حسب ميلي ثانيه يعني 1000 = 1 ثانيه
اما در رابطه با invoke همين جوري توضيح دادنش سخته ولي اگر يک تعريف کتابي براش بخواهيم بگيم خواص هاي هدر رو يکي مي کنه و اونها رو يک پارچه مي کنه .. صد البته و هزار البته که توضيحش که چرا در اينجا استفاده شده بر مي گرده به بررسي کامل Delegate ..
توضيحي هم که من براي Delegate به شما دادم يک توضيح تحت الفظي ست و تعريف دقيق و درست تر و کارهايي که در حقيقت انجام مي ده به همين توضيح محدود
نمي شه مثلا در event ها و.. کار برد هاش بيشترمعلوم ميشه اما يکي از کاربرد هاي اون در همين thread هاست که يک مثال ساده در بالا هست
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
vBulletin , Copyright ©2000-2025, Jelsoft Enterprises Ltd.