* * *    
Главная » Статьи » Код PB

Просмотров: 1560 | Дата: 25.04.2024 | Коментарии (0)

Бегущий текст



Code
Global crtOut.s
Global crtWdt, crtRows, crtHgt, crtMs  

crtWdt = 300
crtRows = 25
crtHgt = 20
crtMs = 25
#CRT = 1
Global Dim crtId(crtRows)

Procedure openCRT(p)
  Shared crtId()
  flags = #PB_Window_ScreenCentered | #PB_Window_BorderLess  
  OpenWindow(#CRT, 0, 0, crtWdt, crtRows * crtHgt, "OUTPUT", flags)
  StickyWindow(#CRT, 1)
  SetWindowColor(#CRT, RGB(0, 0, 0))  

  ;If createGadgetList(WindowID(#CRT))
  font = LoadFont(#PB_Any, "courier new", 12, #PB_Font_Bold)
  SetGadgetFont(#PB_Default, FontID(font))

  flags = #PB_String_ReadOnly ! #PB_String_BorderLess

  For i = 0 To crtRows - 1
  crtId(i) = StringGadget(#PB_Any, 0, crtHgt * i, crtWdt, crtHgt, "", flags)
  SetGadgetColor(crtId(i), #PB_Gadget_FrontColor, RGB(64, 255, 64))
  SetGadgetColor(crtId(i), #PB_Gadget_BackColor, RGB(0, 0, 0))
  Next i
  ;EndIf

  Repeat
  WindowEvent()
  Until crtOut = "close"  

  CloseWindow(#CRT)
EndProcedure  

Procedure crtList(line.s)
  Shared crtId()
  crtOut = line
  For id = 0 To crtRows - 2
  SetGadgetText(crtId(id), GetGadgetText(crtId(id + 1)))
  Next id
   
  If crtOut = #CR$
  SetGadgetText(crtId(id), "")
  ProcedureReturn
  EndIf

  For col = 1 To Len(crtOut)
  txt.s = Left(crtOut, col)
  SetGadgetText(crtId(id), txt + "_")
; setGadgetText(crtId(id), txt + chr(449))
  Delay(crtMs)
  WindowEvent()
  Next col

  ;remove cursor
  Delay(crtMs * 10)
  SetGadgetText(crtId(id), crtOut)
EndProcedure

flags = #PB_Window_SystemMenu ! #PB_Window_Minimize
OpenWindow(0, 0, 0, 300, 20, "MAIN WINDOW", flags)

;open output screen
CreateThread(@openCRT(), 0)  
Delay(25)

;output messages
For i = 1 To 19
crtList(Right("0000" + Str(i), 4) + Mid(" asjka dk2 61 xyz dff dg", 1 , Random(24)))
If (i % 10) = 0
  crtList(#CR$)
EndIf
Next i
crtList(#CR$)
crtList("STOP")
   
Repeat
Until WindowEvent() = #PB_Event_CloseWindow

crtOut = "close"
end










Сайт посвящён языку программирования PureBasic — коммерческий компилятор языка программирования, использующего синтаксис BASIC. Предназначен для создания кроссплатформенных приложений для AmigaOS, Linux, Microsoft Windows, Windows NT и Mac OS X. Разработан компанией Fantaisie Software.