Функция выводит текст по буквам (написана для проекта "Часовёнок")
Dim currenttext$(99)
Dim position(99)
Dim oldtexttime(99)
;...
Function writetext(id,txt$,x,y,delayt)
If position(id)=0 position(id)=1
If position(id)<=Len(txt) And MilliSecs()-oldtexttime(id)>delayt
currenttext(id)=currenttext(id)+Mid(txt,position(id),1)
position(id)=position(id)+1
oldtexttime(id)=MilliSecs()
EndIf
Text(x,y,currenttext(id))
If position(id)>Len(txt) Return 1
End Function
txt - текст, id - id текста, x,y - координаты, delayt - задержка между выводом букв. Функция возвращает 1, если тект выведен полностью
Пример использования:
Dim currenttext$(99)
Dim position(99)
Dim oldtexttime(99)
Repeat
writetext(1,"Привет! :)",20,20,100)
writetext(2,"Этот текст ниже",20,40,100)
If writetext(3,"После того, как выведется этот текст",20,60,100)
writetext(4,"Будет выведен этот",250,60,100)
EndIf
Until KeyHit(1)
Function writetext(id,txt$,x,y,delayt)
If position(id)=0 position(id)=1
If position(id)<=Len(txt) And MilliSecs()-oldtexttime(id)>delayt
currenttext(id)=currenttext(id)+Mid(txt,position(id),1)
position(id)=position(id)+1
oldtexttime(id)=MilliSecs()
EndIf
Text(x,y,currenttext(id))
If position(id)>Len(txt) Return 1
End Function
P.S. Если кому-то надо, могу выложить вариант с типами вместо массивов