PDA

View Full Version : حرکت زیر نویس در زیر کادر برنامه



spenans
پنج شنبه 19 آبان 1384, 19:48 عصر
با سلام من برنامه ای دارم میخوام یک label به عنوان زیر نویس در زیر کادر برنامه حرکت کنه از چپ به راست و از راست به چپ یعنی مثا اینکه به کار پنجره برخورد بکنه برگرده
با تشکر

Touska
پنج شنبه 19 آبان 1384, 19:58 عصر
می تونی از کامپوننتهای آماده و رایگان JVC استفاده کنید.

spenans
پنج شنبه 19 آبان 1384, 21:58 عصر
می تونی از کامپوننتهای آماده و رایگان JVC استفاده کنید.
ممنون ولی میشه دانلود کرد اگه میشه از کدام آدرس
باز هم تشکر

babak869
پنج شنبه 19 آبان 1384, 22:37 عصر
خیلی راحته که
یه لیبل و یه تایمر بزار و در تایمر بنویس


Label1.left:=Label1.left+1;

و یه شرط بزار که اگه خاصیت Left اون لیبل به آخر فرم رسیده مجددا از اول شروع کنه یعنی مثلا :


Label1.left:=1;

PalizeSoftware
پنج شنبه 19 آبان 1384, 23:53 عصر
می تونی از کامپوننتهای آماده و رایگان JVC استفاده کنید.
این درست نیست که فقط مصرف کننده باشیم. اگه اینجا سایت برنامه‌نویسی است پس چه بهتر که بجای توصیه در استفاده از کامپوننت و سایر ابزارها حتی‌المقدور راه‌کاری ارائه شود تا دوستان ما به سمت برنامه‌نویسی حرفه‌ای گرایش پیدا کنند.

نظیر این پیشنهاد سازنده:

خیلی راحته که
یه لیبل و یه تایمر بزار و در تایمر بنویس


Label1.left:=Label1.left+1;

و یه شرط بزار که اگه خاصیت Left اون لیبل به آخر فرم رسیده مجددا از اول شروع کنه یعنی مثلا :


Label1.left:=1;

parhizkar2000
جمعه 20 آبان 1384, 00:27 صبح
اگه بخواهی بصورت رفت وبرگشت باشه باید از دو تایمر استفاده کنی یکی حرکت چپ به راست رو کنترل می کنه و دیگری حرکت راست به چپ . وقتی که لیبل به انتهای فرم رسید تایمر اول خاموش میشه و تایمر دومی شروع بکار می کنهو بالعکس.
تو تایمر اول مینویسی


lable1.left:=lable1.left+1;
if left >400 then
begin
timer1.enabled:=false;
timer2.enabled:=true;
end;

تو تایمر دوم


lable1.right:=lable1.right+1;
if right <1 then
begin
timer2.enabled:=false;
timer1.enabled:=true;
end;

PalizeSoftware
جمعه 20 آبان 1384, 00:58 صبح
اگه بخواهی بصورت رفت وبرگشت باشه باید از دو تایمر استفاده کنی یکی حرکت چپ به راست رو کنترل می کنه و دیگری حرکت راست به چپ . وقتی که لیبل به انتهای فرم رسید تایمر اول خاموش میشه و تایمر دومی شروع بکار می کنهو بالعکس.
دوست عزیز اگه شما یه متغیر بگیری بنام inc که حاویه مقدار 1 باشه، وقتی که به انتهای فرم و اول فرم رسید مقدار inc رو در -1 ضرب کنی دیگه نیازی نیست که از دو تایمر استفاده کنی. یعنی:


lable1.left:=lable1.left+inc;
If Left = 0 Or Left > 400 Then inc:=inc*-1;

موفق باشی