Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.09.03;
Скачать: [xml.tar.bz2];

Вниз

Canvas   Найти похожие ветки 

 
ArtemESC ©   (2006-08-09 23:49) [0]

Написал так

for i := 1 to length(str) do
begin
 Canvas.TextOut(i * 20, 100, str[i]);
 Sleep(30);
 Application.ProcessMessages;
end;

Потом убрал   Application.ProcessMessages; результат один -
выводиться только первая буква...


 
Джо ©   (2006-08-09 23:59) [1]

Ошибка где-то в ином месте.


 
ArtemESC ©   (2006-08-10 00:07) [2]

Джо ©   (09.08.06 23:59) [1]

Вот привожу всю часть после, которой это должно быть видно полностью...
str := "WORD";
len := length(str);
for i := 1 to len do
begin
 Canvas.TextOut(i * 50, 100, str[i]);
 Sleep(30);
 Application.ProcessMessages;
end;
Sleep(5000);


 
ASoft   (2006-08-10 03:17) [3]

нормально все работает, проверил :-)


 
ASoft   (2006-08-10 03:20) [4]

ну, мож не совсем, с не ровной задержкой, но печатет все буквы


 
ArtemESC ©   (2006-08-10 12:02) [5]

ASoft   (10.08.06 03:20) [4]
Сначала печатается W
А после Sleep(5000); все остальное...


 
Сергей М. ©   (2006-08-10 12:08) [6]


> ArtemESC ©   (10.08.06 12:02) [5]


А зачем вся эта беда с Proceswsmessages() понадобилась ?

Телетайп пытаешься изобразить что ли ?


 
ArtemESC ©   (2006-08-10 12:37) [7]

Сергей М. ©   (10.08.06 12:08) [6]
Телетайп - не знаю что-такое, хочу просто анимацию напечатывания
слова на канвасе, сделал так, вроде должно работать, но ..


 
Wood   (2006-08-10 12:38) [8]

ttimer?


 
Сергей М. ©   (2006-08-10 12:38) [9]

Таймер тебе в руки)


 
ArtemESC ©   (2006-08-10 12:41) [10]

Сергей М. ©   (10.08.06 12:38) [9]
А че без таймера никак...


 
Сергей М. ©   (2006-08-10 13:00) [11]


> ArtemESC ©   (10.08.06 12:41) [10]


А че на sleep"е свет клином сошелся ...


 
ArtemESC ©   (2006-08-10 13:01) [12]

Сергей М. ©   (10.08.06 13:00) [11]
Все понял в чем баг, слишком маленький промежуток в параметре Sleep(30);, видимо не успевает отрисовываться...


 
Сергей М. ©   (2006-08-10 13:04) [13]

Ну-ну


 
ASoft   (2006-08-10 13:26) [14]

идеальный вариант в этом случае (смотря на каком компе) Sleep(5000). :-) последний sleep убрать.
Рисует ровно, но ме-едленно :-)
а проще [9]


 
ArtemESC ©   (2006-08-10 15:39) [15]

Ну таймер так таймер...


 
antonn ©   (2006-08-10 18:02) [16]

ArtemESC ©   (10.08.06 0:07) [2]
len := length(str);
for i := 1 to len do
begin

можно просто for i := 1 to length(str) do


 
Loginov Dmitry ©   (2006-08-10 20:35) [17]

Выполняй необходимую отрисовку на TBitmap, а после (или до :) Sleep и ProcessMessages копируй на канву формы (Form1.Canvas.Draw(X, Y, Bitmap)). Попробуй также Form1.Update вместо ProcessMessages.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2006.09.03;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.039 c
15-1155035637
Vaitek__
2006-08-08 15:13
2006.09.03
А у вас есть шрифт Arial Narrow?


2-1155237353
ArtemESC
2006-08-10 23:15
2006.09.03
Как убрать Beep при нажатии Enter при вводе в TEdit?


1-1153547589
alek_1
2006-07-22 09:53
2006.09.03
RSS


3-1150956012
-=alive=-
2006-06-22 10:00
2006.09.03
Перекодировать DBF таблицу


2-1155732275
XTD
2006-08-16 16:44
2006.09.03
Передать параметры WEB странице.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский