نقل قول نوشته شده توسط nima_8m مشاهده تاپیک
سلام به اساتید گرامی خصوصا جناب شیری که همیشه به ما لطف دارن
تو پست شماره 5 خروجی ترازو روی هایپرترمینال نمایش داده شده که به اینصورت هست (پست شماره 5 )
=015.120(kg)

کاملا واضح است که سه رقم اول از سمت چپ عدد صحیح و سه رقم بعد از دات رقم اعشاری است و نمایش نماد کیلوگرم
من یه کد میخوام که عدد صحیح با سه رقم اعشاری رو از پورت بخونه و نمایش بده یعنی مساوی و صفر قبل عدد و نماد کیلوگرم حذف بشه
کدی که من درحال حاضر دارم استفاده میکنم تو پست شماره یک هست
سلام خواهش میکنم دوست گرامی!
ببنید این کد جواب میده! فقط به جای ورودی تابع مقدار fread را پاس بدید

*wight_tar = FOPEN('COM1', 12)
*wight_c = FREAD(wight_tar, 8)
*FCLOSE(wight_tar)

*!* if unsigned number
wight_c = "015.120(kg)"
*21.510
?getWeight(wight_c)

*!* if signed number
wight_c ="015.12-(kg)"
*-21.510
?getWeight(wight_c)

FUNCTION getWeight
PARAMETERS wight_c
PUBLIC bufStr[7] as byte,result as double
str_weight = ""
FOR i=1 TO LEN(wight_c)-5
bufStr[i] = SUBSTR(wight_c, AT("(kg)",wight_c)-i, 1)
str_weight = str_weight +bufStr[i]
ENDFOR
result = VAL(str_weight)
RETURN result
ENDFUNC