18:38

Подскажите, пожалуйста, если кто знает, как сделать в Delphi 7 бегущую строку?

@темы: Вопрос, Delphi, Подскажите глупому студенту...

Комментарии
02.03.2012 в 19:12

After silence that which comes nearest to expressing the inexpressible is music.
Ну я не дельфиец, но алгоритм может быть таким :
Кладётся на форму Label, и по таймеру (смотря как быстро нужно крутить).

Вот примерный алгоритм на C# написанный только что на коленке :

int currentShowingCharPosition = 0; //текущий шаг показа фразы по буквам
int maxLabelCharCount = 100; //тут нужно установить максимально допустимое количество букв, показываемых одновременно
string message = "hello world"; //ваша фраза

public void TimerTick() //метод таймера, который вызывается раз в n секунд/милисекунд
{
string resultString = message;
if(message.length - currentShowingCharPosition,currentShowingCharPosition >= 0) //если еще не вся строка показана то
{
resultString = message.SubString(message.length - currentShowingCharPosition,currentShowingCharPosition) // отрезаем на одну букву меньше чтобы показать на одну букву больше в строке
}

if(resultString.length > message.length) //если итоговая строчка больше заданной то заполняем начало пробелом чтобы сделать эффект движения вправо
{
resultString=" "+resultString;
}

if(resultString.length>maxLabelCharCount)
resultString = resultString.SubString(0,maxLabelCharCount); //обрезаем конец,если есть.


label.text = resultString; //выводим в label

if(resultString.length > maxLabelCharCount+message.length) //если мы показали уже всю строку,
{
currentShowingCharPosition = 0; //обнуляем счетчик и начинаем все сначала
}

currentShowingCharPosition++;//увеличиваем счетчик
}
02.03.2012 в 19:31

Хм, большое спасибо. мне правда ни хрена не понятно, но всё равно спасибо за старание...
02.03.2012 в 19:33

After silence that which comes nearest to expressing the inexpressible is music.
x Lenore x, а что не понятно, я же специально к каждой строке поместил комментарий ) Спрашивайте
02.03.2012 в 19:35

Всё не понятно. Я в программировании практически 0. Просто это домашнее задание, хотелось хоть немного создать вид бурной деятельности... >.<
02.03.2012 в 19:43

After silence that which comes nearest to expressing the inexpressible is music.
x Lenore x, А, ну если "создать вид бурной деятельности", то это вам нужен дельфист, который от а до я всё напишет и проект выложит.

Вот запустил у себя - работает. Предыдущий Код с парочкой логических ошибок

вот рабочий :

читать дальше

Если кто захочет, переведите на дельфи.
02.03.2012 в 19:50

Kakou ECTb, в любом случае, спасибо Вам. Извините, если что(
02.03.2012 в 19:51

After silence that which comes nearest to expressing the inexpressible is music.
02.03.2012 в 20:17

Kakou ECTb, спасиииибо ^_^