Primer 15b: Klasni modul (definicija klase) Titl
Option Explicit
'Klasni modul Titl
'Svojstva objekta. Private znaci da nisu dostupna drugim objektima
Private m_vPocetak As Vreme
Private m_vKraj As Vreme
Private m_sPrevod As String
'Konstruktor - dodeljuje vrednosti svojstvima objekta (inicijalizuje ih)
Public Sub init(sPocetak As String, sKraj As String, sPrevod As String)
'donja granica vremenskog intervala
Set m_vPocetak = New Vreme
m_vPocetak.init sPocetak
'gornja granica vremenskog intervala
Set m_vKraj = New Vreme
m_vKraj.init sKraj
'tekst prevoda
m_sPrevod = sPrevod
End Sub
'Konstruktor2 - dodeljuje vrednosti svojstvima objekta (inicijalizuje ih)
Public Sub init2(vPocetak As Vreme, vKraj As Vreme, sPrevod As String)
'donja granica vremenskog intervala
Set m_vPocetak = vPocetak
'gornja granica vremenskog intervala
Set m_vKraj = vKraj
'tekst prevoda
m_sPrevod = sPrevod
End Sub
'Azuriranje vremenskih granica prevoda za pozitivan ili negativan pomeraj
'u formatu "+00:01:05" ili "-00:02:34"
Public Sub azuriraj(ByVal sKasnjenje As String)
Dim sZnak As String
Dim vKasnjenje As New Vreme
sZnak = Left(sKasnjenje, 1) ' + ili -
'odbacujemo znak, dodajemo milisekunde i kreiramo odgovarajuci objekat klase Vreme
sKasnjenje = Mid(sKasnjenje, 2) & ",000"
vKasnjenje.init sKasnjenje
'negativni pomeraj zahteva da drugi sabirak bude negativan
If sZnak = "-" Then
Set vKasnjenje = vKasnjenje.promenaZnaka()
End If
'azuriranje donje i gornje vremenske granice
Set m_vPocetak = vKasnjenje.zbir(m_vPocetak, vKasnjenje)
Set m_vKraj = vKasnjenje.zbir(m_vKraj, vKasnjenje)
End Sub
'Na osnovu vrednosti donje i gornje granice vremenskog intervala i teksta prevoda
'generise se niska koja predstavlja prevod. Npr:
'00:03:06 --> 00:03:09
'The End
Public Function formatiraj() As String
formatiraj = m_vPocetak.formatiraj & " --> " & m_vKraj.formatiraj & vbNewLine
formatiraj = formatiraj & m_sPrevod
End Function
'Na osnovu vrednosti donje i gornje granice vremenskog intervala
'generise se niska koja predstavlja vremenski interval
'00:03:06 --> 00:03:09
Public Function formatirajVreme() As String
formatirajVreme = m_vPocetak.formatiraj & " --> " & m_vKraj.formatiraj & vbNewLine
End Function