Главная страница
    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.48 MB
Время: 0.034 c
11-1132301273
BaryVetaL
2005-11-18 11:07
2006.09.03
TKOLTCPClient и TKOLTCPServer вопрос не для новичков...


3-1151472452
Mishenka
2006-06-28 09:27
2006.09.03
Как сделать сортировку по вычисляемому и подстановочному полям?


15-1154940290
Александр Иванов
2006-08-07 12:44
2006.09.03
Продолжение темы "Без комментариев"


3-1151136746
Karburator
2006-06-24 12:12
2006.09.03
вырубить клиента


3-1150924109
makvell
2006-06-22 01:08
2006.09.03
Запрет вставки





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский