View Full Version : خواندن از پورت
omidan321
پنج شنبه 03 اسفند 1391, 12:29 عصر
یه روتین یا تابعی میخام که از پورت سریال دیتا رو دریافت کنه
برنامه ای که الان دارم مینویسم اینکاررو انجام میده ولی یه مشکل داره که وقتی تعداد بایت های ارسالی زیاد بشه فقط 14 بایت رو دریافت داره و اینکار چون برنامه فوتر برنامه رو نمینوته پیدا کنه تو لو میافته و برنامه هنگ میمکنه
دوستان راه حلی به هنشون میرسه که انجام بدم برا حل این مشکل ؟
gbg
پنج شنبه 03 اسفند 1391, 13:44 عصر
بافرت کوچیک نیست
سوالت مربوط به دلفیه یا پریسم؟
omidan321
شنبه 05 اسفند 1391, 14:22 عصر
سلام مربوط به دلفيه
اگه بدونم خوندن از پين rts پورت سريال چه رفتاري داره (يعني با چه الگوريتمي دريافت ميكنه )احساس ميكنم مشكل رو بتونيم با هم حل كنيم
درباره بافر هم اطلاعات دقيقي ندارم (منظورتو متوجه نشدم)
gbg
یک شنبه 06 اسفند 1391, 12:55 عصر
تو اینجا بپرس "مباحث عمومی دلفی و پاسکال"
بافر هم متغییر یا آرایه ایی هست که اطلاعاتی رو که می خونی توش ذخیره میشه
بهتر کدت رو بزاری یه نگاه بندازم
omidan321
دوشنبه 07 اسفند 1391, 09:27 صبح
رشته ای که ارسال میکنم اینه :
str:='aaaaaaaaaaaaaaaUUUUUUUUUUU0051123456789U'
پورت سریال 11 تا 11 تا دریافت داره و یه مشکل دیگه اینه که تو الگوریتم ورود داده من معیار ورود تشخیص انتهای بسته هست که یه تک U هست که تو ورود اینو با 11 تا U ابتدایی اشتباه میگیره راه حلی داری که بشه اینو کامل دریافت کنه رشته ورودی رو استاد گفته ثابت همین هست نباید تغییر کنه حالا با این تفاسیر چه راه حلی پیشنهاد میکنی این قطعه کدیه که برا تعیین انتهای بسته در نظر گرفتم
40:
sr_pos:=pos('U',str_recive);
if sr_pos>0 then
begin
str:=str_om+copy(str_recive,1,sr_pos+2);
if (sr_pos+2)=length(str_recive) then str_om:='' else str_om:=copy(str_recive,sr_pos+3,length(str_recive )-sr_pos-2);
str_recive:='';
end else
begin
str_om:=str_om+str_recive;
str_recive:='';
if pos('U',str_om)<>0 then
begin
str_recive:=str_om;
str_om:='';
goto 40;
end;
goto 10;
end;
10:
gbg
دوشنبه 07 اسفند 1391, 09:51 صبح
اول اینکه تو قسمتی که گفتم بپرس
دوم کدت رو در تگ code قرار بده
سوم استفاده از goto منسوخ شده
جهارم گفتی روتین خواندن از پرت ولی اینی که گذاشتی روتین پروسس اطلاعات دریافتیی هستش
پنجم مشکلت رو درست و کا مل توضیح بده
omidan321
دوشنبه 07 اسفند 1391, 10:53 صبح
اول اینکه تو قسمتی که گفتم بپرس پرسیدم جواب ندادند یعنی کسی نبود جواب بده در طول یک هفته
روتین خواندن از پرت ولی اینی که گذاشتی روتین پروسس اطلاعات دریافتیی هستش وقتی پردازش اطلاعات درست انجام بشه همراهش روتینش هم انجام میشه خب
الان مشکل من پیدا کردن فوتر رشته ای هست که در ورودی میاد (در بالا ذکرکردم)
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.