View Full Version : تبدیل مبنا در بدو ورود اطلاعات در editbox
omidan321
دوشنبه 04 شهریور 1392, 11:01 صبح
سلام به همگی
وقتی من یک دکمه ای رو بزنم رشته 'a10cabe12' وارد editbox میشه رویدادی که میتونه دیتا وارد شده از طریق فشار دادن دکمه تبدیل به یه مبنای(دسیمال) دیگه بکنه چیه
(به طور کلی با ورود اطلاعات به editbox یه کاری انجام بده)
Mahmood_M
سه شنبه 05 شهریور 1392, 11:59 صبح
اگه منظورتون رو درست فهمید باشم ، رویداد OnChange مشکلتون رو حل می کنه ، این رویداد با هر بار تغییر در مقدار درون Edit اجرا میشه
omidan321
سه شنبه 05 شهریور 1392, 19:01 عصر
من دارم از پورت سریال دیتا دریافت می کنم و میریزم توی editbox میخام منطق شبه کد زیر رو با دلفی پیاده سازی کنم
com1.readstr(rx_data,count)
edit1.onchange=rx_data
توی رویدادonchange هم یه تابع بزارم که اعداد ورودی رو به هگز تبدیل کنه
با این کد قصد دارم که دیتای وارد شده از پورت سریال رو در ادیت باکس به هگز تبدیل کنم
Mahmood_M
سه شنبه 05 شهریور 1392, 22:50 عصر
TEdit ابزاری برای نمایش اطلاعات هست ، برای کار روی یک داده نیازی به قرار دادن اون در Edit نیست ، شما می تونید مقادیر مورد نظر رو از پورت بخونید ، بعد مقدار دریافت شده رو به هگز تبدیل کنید و نتیجه رو در Edit قرار بدید
در هر صورت چیزی که در Edit قرار می گیره یک مقدار معلوم و مشخص هست ( به عنوان مثال در کد بالا rx_data ) ، می تونید قبل از قرار دادن درون Edit محاسبات خودتون رو روش انجام بدید و نتیجه رو در خاصیت Text مربوط به Edit قرار بدید
onChange یک رویداد هست ، نمی تونید به اون صورت بهش مقدار بدید ، اول باید مقدار Text مربوط به Edit رو مقداردهی کنید ( مقدار خوانده شده از پورت ) ، بعد در رویداد onChange مقدار درون Edit رو که همون مقدار خاصیت Text هست ، بگیرید و به هگز تبدیل کنید و در نهایت اون رو دوباره در Text مربوط به Edit قرار بدید ، با هر بار مقداردهی خاصیت Text ، رویداد OnChange هم اجرا میشه ، پس شما باید یک متغیر عمومی تعریف کنید و به وسیله ی اون مشخص کنید که مقدار وارد شده در Edit مقدار نهایی ( هگز ) هست یا مقدار اولیه ی خوانده شده از پورت
این روش اصلا اصولی نیست ! مگر اینکه دلیل خاصی برای انجامش وجود داشته باشه
من نقش Edit رو در برنامه ی شما درک نمی کنم ، اگر اشتباه می کنم ، لطفا توضیح واضحتری بدید
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.