Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Any) As Long
Const EM_UNDO = &HC7
Private Declare Function OSWinHelp% Lib "user32" Alias "WinHelpA" (ByVal hwnd&, ByVal HelpFile$, ByVal wCommand%, dwData As Any)
Public d As Integer
Dim sF, Red, Red1, Linija, fo, pocni, Mgc As Integer
Public DaNe As Boolean
Public vF As Integer
Public rr As Integer
Dim Dan, Eur, xx As String
Dim Ub, Ib As String
Dim cmxx As Integer
Public Novi As String
Public Vlasnik As String

    'PROCEDURA ZA NALAZENJE REDNOG BROJA U BAZI
    'Primer pozivanja :     Call RedniIzBaze(Fakt.FaktB, "fbr")
                            '_________________________________
'Private Sub RedniIzBaze(db As Data, fi As String)
'Dim Nr$
    'Nalazenje rednog broja računa
    'db Baza
    'fi Fields
'db.Recordset.MoveFirst
'If Right(db.Recordset.Fields(fi), 2) <> Right(Date$, 2) Then Nr = "1" & "_" & Right(Date$, 2): GoTo KrajRbr
'Nr = Left(db.Recordset.Fields(fi), Len(db.Recordset.Fields(fi)) - 3)
'Nr = Trim(CStr(Val(Nr) + 1))
'Nr = Nr & "_" & Right(Date$, 2)
'KrajRbr:
    '********************
'End Sub
    'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Private Sub ArtS_Click()
    On Error Resume Next
DopIA_Click
Manipulacija.Tdobavljac.Clear
    Fakt.KlijentiD.Recordset.MoveFirst
    Do While Not (Fakt.KlijentiD.Recordset.EOF)
Manipulacija.Tdobavljac.AddItem Fakt.KlijentiD.Recordset.Fields("Ime_Prezime_Naziv")
Fakt.KlijentiD.Recordset.MoveNext
Loop
Fakt.KlijentiD.Recordset.MoveFirst
End Sub

Private Sub cm1_Click()
If d <> 3 Then
If d <> 0 Then
MsgBox "U OVOM MOMENTU OVU NAREDBU NIJE MOGUĆE IZVRŠITI", 64, "O B A V E Š T E NJ E"
Exit Sub
End If
End If
Call Vrati
cmxx = 1
CenovnikLista.st = 1
Str1.Text = "1"
CenovnikLista.Show
Call CenovnikLista.ListajCenovnik(cmxx, Val(frmMain.Str1))
ListaTrueFalse
End Sub
Private Sub cm2_Click()
If d <> 3 Then
If d <> 0 Then
MsgBox "U OVOM MOMENTU OVU NAREDBU NIJE MOGUĆE IZVRŠITI", 64, "O B A V E Š T E NJ E"
Exit Sub
End If
End If
Call Vrati
cmxx = 2
CenovnikLista.st = 1
Str1.Text = "1"
CenovnikLista.Show
Call CenovnikLista.ListajCenovnik(cmxx, Val(frmMain.Str1))
ListaTrueFalse
End Sub

Private Sub cm3_Click()
If d <> 3 Then
If d <> 0 Then
MsgBox "U OVOM MOMENTU OVU NAREDBU NIJE MOGUĆE IZVRŠITI", 64, "O B A V E Š T E NJ E"
Exit Sub
End If
End If
Call Vrati
cmxx = 3
CenovnikLista.st = 1
Str1.Text = "1"
CenovnikLista.Show
Call CenovnikLista.ListajCenovnik(cmxx, Val(frmMain.Str1))
ListaTrueFalse
End Sub

Private Sub cm4_Click()
If d <> 3 Then
If d <> 0 Then
MsgBox "U OVOM MOMENTU OVU NAREDBU NIJE MOGUĆE IZVRŠITI", 64, "O B A V E Š T E NJ E"
Exit Sub
End If
End If
Call Vrati
cmxx = 4
CenovnikLista.st = 1
Str1.Text = "1"
CenovnikLista.Show
Call CenovnikLista.ListajCenovnik(cmxx, Val(frmMain.Str1))
ListaTrueFalse
End Sub

Private Sub cm5x_Click()
If d <> 3 Then
If d <> 0 Then
MsgBox "U OVOM MOMENTU OVU NAREDBU NIJE MOGUĆE IZVRŠITI", 64, "O B A V E Š T E NJ E"
Exit Sub
End If
End If
cmxx = 0
CenovnikLista.st = 1
Str1.Text = "1"
CenovnikLista.Show
Call CenovnikLista.ListajCenovnik(cmxx, Val(frmMain.Str1))
ListaTrueFalse
End Sub

Private Sub Command1_Click()
If d = 200 Then
Call Faktura.Command1_Click
End If
If d = 202 Then
Call IntFakt.Command1_Click
End If
End Sub
Public Sub Command11_Click()
If CenovnikLista.stx = 1 Then Exit Sub
CenovnikLista.st = CenovnikLista.st + 1
Str1.Text = CStr(CenovnikLista.st)
If CenovnikLista.st > 1 And CenovnikLista.FrameX.Visible = True Then
End If
End Sub

Private Sub Command2_Click()
If d = 200 Then
Call Faktura.Command2_Click
Str.Text = Faktura.Str.Text
End If
If d = 202 Then
Call IntFakt.Command2_Click
Str.Text = IntFakt.Str.Text
End If
End Sub

Private Sub Command22_Click()
If CenovnikLista.st > 1 Then
CenovnikLista.stx = 0
CenovnikLista.st = CenovnikLista.st - 1
Str1.Text = CStr(CenovnikLista.st)
If CenovnikLista.st < 2 And CenovnikLista.FrameY.Visible = True Then
End If
End If
End Sub

Private Sub Command4_Click()
EvroData.Refresh
PdvData.Refresh
Manipulacija.Vv.Refresh
Manipulacija.Vpdvv.Refresh
nx = MsgBox("DA LI ŽELITE DA SVE DINARSKE CENE BUDU PRILAGOĐENE VREDNOSTI EURA ?", 35, "R A Z M I S L I T E")
If nx = 2 Then
MsgBox "O D U S T A J E M", 64, "KRAJ"
Exit Sub
End If

If nx = 7 Then
Call Manipulacija.Sredi(3)
Exit Sub
End If
Call Manipulacija.Sredi(2)

End Sub

Private Sub Dob_Click()
If d > 0 Then
MsgBox "ZATVORI AKTIVNE DELOVE PROGRAMA", 48, ""
Exit Sub
End If
Saradnici.Status.Text = "Dobavljač"
Saradnici.StatusS.Caption = "DOBAVLJAČI"
Dopis_Click
End Sub

Public Sub DopIA_Click()
If d = 100 Or d = 101 Or d = 102 Then
tbToolBar.Buttons("Back").Enabled = False
Manipulacija.AkoFakt.Visible = True
GoTo Je1
End If
If d > 0 Then
MsgBox "ZATVORI AKTIVNE DELOVE PROGRAMA", 48, ""
Exit Sub
End If
Je: Toolbar1.Visible = False
d = 5
Je1: Unload Kalendar
MDIForm_Resize
Manipulacija.Show
Call Manipulacija.ImaNemaArtikala
Call Manipulacija.ListaP
CenovnikLista.Euro.Recordset.MoveFirst

If Manipulacija.Listax.ListItems.Count > 0 Then
Manipulacija.Listax.ListItems(1).Selected = True
Manipulacija.Listax_Click: Manipulacija.Combo1_Click
Manipulacija.Listax.SetFocus
End If
DopIA.Checked = True
Otvoreno
End Sub

Private Sub DopIR_Click()
If d <> 0 Then
MsgBox "U OVOM MOMENTU OVU NAREDBU NIJE MOGUĆE IZVRŠITI", 64, "O B A V E Š T E NJ E"
Exit Sub
End If
d = 6
Unload Kalendar
MDIForm_Resize
Radnici.Show
Call Radnici.Rad
Call Radnici.Lv1_Click
Call Radnici.SatS
Call Radnici.Lv2_Click
Otvoreno
End Sub

Private Sub Dopis_Click()
If d > 0 Then
MsgBox "ZATVORI AKTIVNE DELOVE PROGRAMA", 48, ""
Exit Sub
End If
d = 4
Toolbar1.Visible = False
Unload Kalendar
MDIForm_Resize
Saradnici.Show
Call Saradnici.Sar
Saradnici.ListView1_Click
Otvoreno
End Sub

Private Sub FintO_Click()
If d <> 0 Then
MsgBox "U OVOM MOMENTU OVU NAREDBU NIJE MOGUĆE IZVRŠITI", 64, "O B A V E Š T E NJ E"
Exit Sub
End If
d = 102
FintO.Checked = True
Unload Kalendar
MDIForm_Resize
Saradnici.Status.Text = "Prodavnica"
Fakt.Option4.Value = True
Fakt.RacunBrojText.Caption = "INTERNA Br."
Fakt.RacunBrojText.ToolTipText = ""
Fakt.Rok.ListIndex = 1
'-----------------------------------------*
Call Procedure.FaktFals
Call Fakt.PuniFakt
Call Fakt.BrisiPriv
Fakt.Command3.Caption = "Potvrdi iop ... ( upisi )"
Procedure.k1.Caption = "3"
Fakt.Show
End Sub

Private Sub FnO_Click()
If d <> 0 Then
MsgBox "U OVOM MOMENTU OVU NAREDBU NIJE MOGUĆE IZVRŠITI", 64, "O B A V E Š T E NJ E"
Exit Sub
End If
d = 101
FnO.Checked = True
Unload Kalendar
MDIForm_Resize
Fakt.RacunBrojText.Caption = "OTPREMNICA Br."
Fakt.Rok.ListIndex = 1
'-----------------------------------------*
Call Procedure.FaktFals
Call Fakt.PuniFakt
Call Fakt.BrisiPriv
Fakt.Command3.Caption = "Potvrdi otpr ... ( upisi )"
Procedure.k1.Caption = "2"
Fakt.Show
End Sub
Sub FnR_Click()
If d <> 0 Then
MsgBox "U OVOM MOMENTU OVU NAREDBU NIJE MOGUĆE IZVRŠITI", 64, "O B A V E Š T E NJ E"
Exit Sub
End If
Call Vrati
d = 100
FnR.Checked = True
Otvoreno
Unload Kalendar
MDIForm_Resize
Saradnici.Status.Text = "Kupac"
Fakt.Option1.Value = True
Fakt.RacunBrojText.Caption = "R A Č U N   Br ..."
Fakt.RacunBrojText.ToolTipText = ""
Fakt.Rok.ListIndex = 1
Call Fakt.Rok_Click
'*---------------------------*
Call Procedure.FaktTrue
Faktura.Slova.Visible = True
Call Fakt.PuniFakt
Call Fakt.BrisiPriv
Fakt.Command3.Caption = "Potvrdi fakturu ( upisi )"
Procedure.k1.Caption = "1"
Fakt.Show
End Sub

Private Sub Fprdr_Click()
If d <> 0 Then
MsgBox "U OVOM MOMENTU OVU NAREDBU NIJE MOGUĆE IZVRŠITI", 64, "O B A V E Š T E NJ E"
Exit Sub
End If
Call Vrati
d = 987
Fprdr.Checked = True
Otvoreno
Unload Kalendar
MDIForm_Resize
Saradnici.Status.Text = "Kupac"
Fakt.Option1.Value = True
Fakt.RacunBrojText.Caption = "PRED R.  Br ..."
Fakt.Rok.ListIndex = 1
Call Fakt.Rok_Click
'*---------------------------*
Call Procedure.FaktTrue
Faktura.Slova.Visible = True
Call Fakt.PuniFakt
Call Fakt.BrisiPriv
Fakt.Command3.Caption = "Potvrdi pred r. ( upisi )"
Procedure.k1.Caption = "4"
Fakt.Show
End Sub

Private Sub ikr_Click()
Dim iFreeFile, iPos, n As Integer
Dim sDataFrag As String
Dim sFile, a As String
Dim frf, p As Integer
If d <> 0 Then
MsgBox "U OVOM MOMENTU OVU NAREDBU NIJE MOGUĆE IZVRŠITI", 64, "O B A V E Š T E NJ E"
Exit Sub
End If
Call Vrati
d = 844: Unload Kalendar
MDIForm_Resize
Fakt.List2.ListItems.Clear
dlgCommonDialog.InitDir = App.Path & "\Racuni_Fakture": ikr.Checked = True
Otvoreno
dlgCommonDialog.FileName = ""
    With dlgCommonDialog
        .DialogTitle = "OTVORI FAKTURU (*.fkt)"
        .CancelError = False
        .Filter = "Tekst Fajl (*.fkt)|*.fkt"
        .Flags = cdlPDReturnDC
        .ShowOpen
        If Len(.FileName) = 0 Then
        d = 0
        mnuFileClose_Click
        MsgBox "IZLAZIM BEZ PODIZANJA PROGRAMA", 64, "OBAVESTENJE"
        Exit Sub
        End If
        sFile = .FileName
    End With
      For n = 1 To Len(sFile)
    If n < Len(sFile) And Mid(sFile, Len(sFile) - n, 1) = "\" Then GoTo IdiD
    Next
IdiD:
    Text1.Text = Right(sFile, n)
    iFreeFile = FreeFile
    iPos = 1
    Open Text1.Text For Random As iFreeFile
    Do Until EOF(iFreeFile)
        Get #iFreeFile, iPos, sDataFrag
        If iPos = 1 Then Call Fakt.BrisiUvod
        If iPos > 1 Then Fakt.Uvod.Recordset.MoveFirst
        If iPos = 1 Then Fakt.Uvod.Recordset.AddNew
        If iPos > 1 Then Fakt.Uvod.Recordset.Edit
 Call Ip(iPos, sDataFrag)
 Fakt.Uvod.Recordset.Update
        iPos = iPos + 1
    Loop
    Close iFreeFile
    Call TraziJos
Fakt.cu = 3
tbToolBar.Buttons("Back").Enabled = False
Procedure.List1a.ListItems.Clear
Call Fakt.NewPod
Fakt.Command3.Enabled = False
Fakt.FDatumText.Enabled = False
Fakt.Zaglavlje2.Enabled = False
Fakt.Option1.Enabled = False
Fakt.Option2.Enabled = False
Fakt.Option3.Enabled = False
Fakt.Option4.Enabled = False
Fakt.Option5.Enabled = False
Fakt.Option6.Enabled = False
Fakt.Option7.Enabled = False
Fakt.Option8.Enabled = False
Fakt.RacunBrojCifre.Enabled = False
Fakt.Stavku.Enabled = False
Fakt.Listu.Enabled = False
Fakt.List1.Enabled = False
Fakt.UmanjiProc.Enabled = False
Fakt.DodPdv.Enabled = False
Fakt.VelP.Enabled = False
Fakt.Frame1.Enabled = False
'Fakt.Zaglavlje4.Enabled = False
Fakt.Definisi.Visible = True
Fakt.Show

End Sub

Private Sub Kln_Click()
Kalendar.Visible = Not Kalendar.Visible
MDIForm_Resize
End Sub

Private Sub KpI_Click()
VlasnikPrograma.Show
End Sub

Private Sub MDIForm_Load()
On Error Resume Next
    Vlasnik = "Ranđelović Dragan"
Call SetBazeUlaz
Call Kalendar.Kalendari
Call NazivDana(Dan)
CenovnikLista.SortC = "A"
'frmLogin.Show
EvroData.Refresh
PdvData.Refresh
Manipulacija.Vv.Refresh
Manipulacija.Vpdvv.Refresh
End Sub


Public Sub SetBazeUlaz()
   PdvData.DatabaseName = App.Path & "\Baza\ObradaOperativa.mdb"
    PdvData.RecordSource = "PdvVrednost"
    PdvData.Refresh
EvroData.DatabaseName = App.Path & "\Baza\ObradaOperativa.mdb"
EvroData.RecordSource = "Euro"
EvroData.Refresh
End Sub

Private Sub NazivDana(Dan)
Select Case Kalendar.MonthView1.DayOfWeek
Case 1: Dan = "Nedelja"
Case 2: Dan = "Ponedeljak"
Case 3: Dan = "Utorak"
Case 4: Dan = "Sreda"
Case 5: Dan = "Cetvrtak"
Case 6: Dan = "Petak"
Case 7: Dan = "Subota"
End Select
sbStatusBar.Panels(3) = Dan & "  " & Mid$(Date$, 4, 2) & "-" & Left$(Date$, 2) & "-" & Right$(Date$, 4)
End Sub
Private Sub LoadNewDoc()
    Static lDocumentCount As Long
    Dim frmD As frmDocument
    lDocumentCount = lDocumentCount + 1
    Set frmD = New frmDocument
    frmD.Caption = "Document " & lDocumentCount
    frmD.Show
End Sub

Private Sub MDIForm_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = vbPopupMenuRightButton Then
PopupMenu mnuFile, vbPopupMenulefttAlign
End If
End Sub

Public Sub MDIForm_Resize()
On Error Resume Next
Evro.Left = Me.ScaleWidth - Evro.Width
EvroText.Left = Evro.Left - EvroText.Width
Command4.Left = EvroText.Left - Command4.Width - 40
Command4.Top = 50
Pdv.Left = Command4.Left - Pdv.Width - 50
PDVtext.Left = Pdv.Left - PDVtext.Width - 20
Command1.Left = PDVtext.Left - Command1.Width - 20
Str.Left = Command1.Left - Str.Width
Command2.Left = Str.Left - Command2.Width
frmDocument.Top = 0
frmDocument.Left = (Me.ScaleWidth / 2) - (frmDocument.Width / 2)
Saradnici.Left = 0
Saradnici.Top = 0
Saradnici.Height = Me.ScaleHeight
Saradnici.Width = Me.ScaleWidth
KlObaveze.Left = 0
KlObaveze.Top = 0
KlObaveze.Height = Me.ScaleHeight
KlObaveze.Width = Me.ScaleWidth
Prodavnica.Left = 0
Prodavnica.Top = 0
Prodavnica.Height = Me.ScaleHeight
Prodavnica.Width = Me.ScaleWidth
Radnici.Top = 0
Radnici.Left = 0
Radnici.Height = Me.ScaleHeight
Radnici.Width = Me.ScaleWidth
PromLog.Left = Me.ScaleWidth / 3
PromLog.Top = Me.ScaleHeight / 3
CenovnikLista.Top = 20
CenovnikLista.Left = (Me.ScaleWidth / 2) - (CenovnikLista.Width / 2)
Manipulacija.Left = 0
Manipulacija.Top = 0
Manipulacija.Width = Me.ScaleWidth
Fakt.Top = 20
Fakt.Left = (Me.ScaleWidth / 2) - (Fakt.Width / 2)
Faktura.Top = 20
Faktura.Left = (Me.ScaleWidth / 2) - (Faktura.Width / 2)
IntFakt.Top = 20
IntFakt.Left = (Me.ScaleWidth / 2) - (IntFakt.Width / 2)
Kalendar.Top = 120
Kalendar.Left = Me.ScaleWidth - Kalendar.Width - 120
PanoStr.Left = PDVtext.Left - (PanoStr.Width + 40)
End Sub

Sub CekM()
Mg1.Checked = False
Mg2.Checked = False
Mg3.Checked = False
Mg4.Checked = False
End Sub
Sub MagacinF()
Select Case Mgc
Case 1: Fakt.Text1.Text = "Magacin 1"
Case 2: Fakt.Text1.Text = "Magacin 2"
Case 3: Fakt.Text1.Text = "Magacin 3"
Case 4: Fakt.Text1.Text = "Magacin 4"
Case 5: Fakt.Text1.Text = "Magacin 5"
Case 6: Fakt.Text1.Text = "Magacin 6"
Case 7: Fakt.Text1.Text = "Magacin 7"
Case 8: Fakt.Text1.Text = "Magacin 8"
Case 9: Fakt.Text1.Text = "Magacin 9"
Case 10: Fakt.Text1.Text = "Magacin 10"
End Select
If d = 100 Or d = 101 Or d = 102 Or d = 844 Or d = 987 Then
'Ubaci artikle u listu za prikaz artikala
Call Fakt.CitPod
On Error Resume Next
Fakt.List1.ListItems(1).Selected = True
Call Fakt.List1_Click
End If
End Sub

Sub Mg1_Click()
Call CekM: Mg1.Checked = True
If Fakt.Option5.Value = False Then Fakt.Option5.Value = True
Mgc = 1: Call MagacinF
Fakt.Nacinp.ListIndex = 0
Fakt.VelP.Value = 0
Fakt.VelP.ForeColor = &H80000012
End Sub

Sub Mg2_Click()
Call CekM: Mg2.Checked = True
If Fakt.Option6.Value = False Then Fakt.Option6.Value = True
Mgc = 2: Call MagacinF
End Sub

Sub Mg3_Click()
Call CekM: Mg3.Checked = True
If Fakt.Option7.Value = False Then Fakt.Option7.Value = True
Mgc = 3: Call MagacinF
Fakt.Nacinp.ListIndex = 0
Fakt.VelP.Value = 0
Fakt.VelP.ForeColor = &H80000012
End Sub

Sub Mg4_Click()
Call CekM: Mg4.Checked = True
If Fakt.Option8.Value = False Then Fakt.Option8.Value = True
Mgc = 4: Call MagacinF
Fakt.Nacinp.ListIndex = 0
Fakt.VelP.Value = 0
Fakt.VelP.ForeColor = &H80000012
End Sub

Private Sub NoviPods_Click()
If d > 0 Then
MsgBox "U OVOM MOMENTU OVU NAREDBU NIJE MOGUĆE IZVRŠITI", 64, "O B A V E Š T E NJ E"
Exit Sub
End If
d = 11: MDIForm_Resize
Unload Kalendar
frmDocument.Show
NoviPods.Checked = True
Otvoreno
End Sub

Private Sub OintO_Click()
If d <> 0 Then
MsgBox "U OVOM MOMENTU OVU NAREDBU NIJE MOGUĆE IZVRŠITI", 64, "O B A V E Š T E NJ E"
Exit Sub
End If
Procedure.k1.Caption = "23"
OnR_Click
End Sub

Private Sub OnR_Click()
Dim iFreeFile, iPos, n As Integer
Dim sDataFrag As String
Dim sFile, a As String
Dim frf, p As Integer
If d <> 0 Then
MsgBox "U OVOM MOMENTU OVU NAREDBU NIJE MOGUĆE IZVRŠITI", 64, "O B A V E Š T E NJ E"
Exit Sub
End If
Call Vrati
d = 200: Unload Kalendar
Str.Text = "1"
If Procedure.k1.Caption = "23" Then d = 202
If Procedure.k1.Caption = "24" Then d = 987
MDIForm_Resize
Fakt.List2.ListItems.Clear
If Procedure.k1.Caption < "22" Then dlgCommonDialog.InitDir = App.Path & "\Racuni_Fakture": OnR.Checked = True
If Procedure.k1.Caption = "22" Then dlgCommonDialog.InitDir = App.Path & "\Otpremnice": OsO.Checked = True
If Procedure.k1.Caption = "23" Then dlgCommonDialog.InitDir = App.Path & "\InterneOtpremnice": OintO.Checked = True
If Procedure.k1.Caption = "24" Then dlgCommonDialog.InitDir = App.Path & "\Pred-Racun": Oprdr.Checked = True
Otvoreno
dlgCommonDialog.FileName = ""
    With dlgCommonDialog
        If Procedure.k1.Caption < "22" Then .DialogTitle = "OTVORI FAKTURU (*.fkt)"
        If Procedure.k1.Caption = "22" Then .DialogTitle = "OTVORI OTPREMNICU (*.otp)"
        If Procedure.k1.Caption = "23" Then .DialogTitle = "OTVORI INTERNU OTPREMNICU (*.iop)"
        If Procedure.k1.Caption = "24" Then .DialogTitle = "OTVORI PRED RAČUN (*.prr)"
        .CancelError = False
        If Procedure.k1.Caption < "22" Then .Filter = "Račun - faktura (*.fkt)|*.fkt"
        If Procedure.k1.Caption = "22" Then .Filter = "Tekst Fajl (*.otp)|*.otp"
        If Procedure.k1.Caption = "23" Then .Filter = "Tekst Fajl (*.iop)|*.iop"
        If Procedure.k1.Caption = "24" Then .Filter = "Pred račun (*.prr)|*.prr"
        .Flags = cdlPDReturnDC
        .ShowOpen
        If Len(.FileName) = 0 Then
        d = 0
        mnuFileClose_Click
        MsgBox "IZLAZIM BEZ PODIZANJA PROGRAMA", 64, "OBAVESTENJE"
        Exit Sub
        End If
        sFile = .FileName
    End With
      For n = 1 To Len(sFile)
    If n < Len(sFile) And Mid(sFile, Len(sFile) - n, 1) = "\" Then GoTo IdiD
    Next
IdiD:
    Text1.Text = Right(sFile, n)
    iFreeFile = FreeFile
    iPos = 1
    Open Text1.Text For Random As iFreeFile
    Do Until EOF(iFreeFile)
        Get #iFreeFile, iPos, sDataFrag
        If iPos = 1 Then Call Fakt.BrisiUvod
        If iPos > 1 Then Fakt.Uvod.Recordset.MoveFirst
        If iPos = 1 Then Fakt.Uvod.Recordset.AddNew
        If iPos > 1 Then Fakt.Uvod.Recordset.Edit
 Call Ip(iPos, sDataFrag)
 Fakt.Uvod.Recordset.Update
        iPos = iPos + 1
    Loop
    Close iFreeFile
    Call TraziJos
    Fakt.Hide
                If Procedure.k1.Caption = 24 Then Faktura.ROtext.Caption = "PRED RAČUN  Br ..."
                If Procedure.k1.Caption < 23 Or Procedure.k1.Caption = 24 Then Call Faktura.PrikF_
                If Procedure.k1.Caption = 23 Then Call IntFakt.PrikOt_
                
Command1.Visible = True
Command2.Visible = True
Str.Visible = True
Procedure.k1.Caption = "0"
If Left(Text1.Text, 10) = "Stornirano" Then
Faktura.Storno.Caption = "[ " & Left(Text1.Text, 21) & " ]"
Faktura.Storno.Visible = True
End If
Faktura.Rokt.Visible = True
Faktura.Rokd.Visible = True
End Sub

Sub TraziJos()
    On Error GoTo Greska
    GoTo Dobro
Greska:
Exit Sub
Dobro:
    Dim iLoop, iFreeFile, iPos, n, a1 As Integer
    Dim sDataFrag As String
    Dim a, b, c, e, f, g, d As String
    Dim e1, e2, e3, e4, e5, e6, e7 As String
    Call Fakt.CistiFakt
    iFreeFile = FreeFile
    iPos = 1
    Open Text1.Text For Random As iFreeFile
    While Not EOF(iFreeFile)
        Get #iFreeFile, iPos, sDataFrag
        If iPos > 24 Then
    a = "": b = "": c = ""
    e = "": f = "": g = ""
    e1 = "": e2 = "": e3 = ""
    e4 = "": e5 = "": e6 = "": e7 = ""
    a1 = 0
    d = sDataFrag
       For n = 1 To Len(d)
       If Mid(d, n, 1) = "@" Then a1 = a1 + 1
       If a1 = 1 And Mid(d, n, 1) <> "@" Then a = a & Mid(d, n, 1)
       If a1 = 2 And Mid(d, n, 1) <> "@" Then b = b & Mid(d, n, 1)
       If a1 = 3 And Mid(d, n, 1) <> "@" Then c = c & Mid(d, n, 1)
       If a1 = 4 And Mid(d, n, 1) <> "@" Then e = e & Mid(d, n, 1)
       If a1 = 5 And Mid(d, n, 1) <> "@" Then f = f & Mid(d, n, 1)
       If a1 = 6 And Mid(d, n, 1) <> "@" Then g = g & Mid(d, n, 1)
       If a1 = 7 And Mid(d, n, 1) <> "@" Then e1 = e1 & Mid(d, n, 1)
       If a1 = 8 And Mid(d, n, 1) <> "@" Then e2 = e2 & Mid(d, n, 1)
       If a1 = 9 And Mid(d, n, 1) <> "@" Then e3 = e3 & Mid(d, n, 1)
       If a1 = 10 And Mid(d, n, 1) <> "@" Then e4 = e4 & Mid(d, n, 1)
       If a1 = 11 And Mid(d, n, 1) <> "@" Then e5 = e5 & Mid(d, n, 1)
       If a1 = 12 And Mid(d, n, 1) <> "@" Then e6 = e6 & Mid(d, n, 1)
       If a1 = 13 And Mid(d, n, 1) <> "@" Then e7 = e7 & Mid(d, n, 1)
       Next
 Fakt.Priv1.Recordset.AddNew
 Fakt.Priv1.Recordset.Fields("Sifra") = a
 Fakt.Priv1.Recordset.Fields("Naziv") = b
 Fakt.Priv1.Recordset.Fields("Jm") = c
 Fakt.Priv1.Recordset.Fields("Kolicina") = e
 Fakt.Priv1.Recordset.Fields("Cena") = f
 Fakt.Priv1.Recordset.Fields("Bruto") = g
 Fakt.Priv1.Recordset.Fields("Rabat") = e1
 Fakt.Priv1.Recordset.Fields("Rabati") = e2
 Fakt.Priv1.Recordset.Fields("Osnovica") = e3
 Fakt.Priv1.Recordset.Fields("Pdv") = e4
 Fakt.Priv1.Recordset.Fields("Pdvi") = e5
 Fakt.Priv1.Recordset.Fields("Konacno") = e6
 Fakt.Priv1.Recordset.Fields("Izvor") = e7
 Fakt.Priv1.Recordset.Update
        End If
        iPos = iPos + 1
        Wend
    Close iFreeFile
End Sub

Private Sub OpdSar_Click()
If d > 0 Then Exit Sub
d = 444
Unload Kalendar
MDIForm_Resize
Call KlObaveze.SarL1
Call KlObaveze.SarL3
Call KlObaveze.Velicine(1)
Call KlObaveze.Plus
KlObaveze.Show
Otvoreno
End Sub

Private Sub Oprdr_Click()
If d <> 0 Then
MsgBox "U OVOM MOMENTU OVU NAREDBU NIJE MOGUĆE IZVRŠITI", 64, "O B A V E Š T E NJ E"
Exit Sub
End If
Procedure.k1.Caption = "24"
OnR_Click
End Sub

Private Sub OsO_Click()
Procedure.k1.Caption = "22"
OnR_Click
Faktura.ROtext.Caption = "OTPREMNICA ...:"
'-----------------------------------------*
Call Procedure.FaktFals
'*****************************************-
Call Procedure.FaktFals1
Faktura.Npl.Visible = False
Faktura.Npbr.Visible = False
Faktura.Napol.Visible = False
Faktura.Napon.Visible = False
Procedure.k1.Caption = "0"
End Sub

Sub CekP()
Pr1.Checked = False
Pr2.Checked = False
Pr3.Checked = False
Pr4.Checked = False
Pr5.Checked = False
Pr6.Checked = False
Pr7.Checked = False
Pr8.Checked = False
Pr9.Checked = False
Pr10.Checked = False
End Sub

Private Sub Osta_Click()
If d > 0 Then
MsgBox "ZATVORI AKTIVNE DELOVE PROGRAMA", 48, ""
Exit Sub
End If
Saradnici.Status.Text = "Ostalo"
Saradnici.StatusS.Caption = "O S T A L O"
Dopis_Click
End Sub

Private Sub Prod_Click()
If d > 0 Then
MsgBox "ZATVORI AKTIVNE DELOVE PROGRAMA", 48, ""
Exit Sub
End If
Saradnici.Status.Text = "Prodavnica"
Saradnici.StatusS.Caption = "SOPSTVENI OBJEKTI"
Dopis_Click
End Sub

Private Sub Saradnja_Click()
If d > 0 Then
MsgBox "ZATVORI AKTIVNE DELOVE PROGRAMA", 48, ""
Exit Sub
End If
Saradnici.Status.Text = "Kupac"
Saradnici.StatusS.Caption = "KUPCI"
Dopis_Click
End Sub

Private Sub sbStatusBar_PanelClick(ByVal Panel As MSComctlLib.Panel)

End Sub

Private Sub SnimiO_Click()
SnimiR_Click
End Sub

Public Sub SnimiR_Click()
Dim iLoop, iListCount, iFreeFile As Integer
    Dim sDataFrag As String
    Dim f As Double
        If d = 202 Or d = 987 Then GoTo qe
    If d <> 200 Then
    MsgBox "U OVOM MOMENTU OVU NAREDBU NIJE MOGUĆE IZVRŠITI", 64, "O B A V E Š T E NJ E"
    Exit Sub
    End If
qe:
'On Error GoTo q
GoTo q1
q: MsgBox "N E M A  S N I M A NJ A", 64, "OBAVESTENJE"
Exit Sub
q1: Fakt.Uvod.Recordset.MoveLast
Fakt.Hide
If Fakt.Uvod.Recordset.RecordCount < 1 Then
MsgBox "N E M A  S N I M A NJ A", 64, "OBAVESTENJE"
Exit Sub
End If
Dalje:
  Fakt.Priv1.Recordset.MoveLast
  f = Fakt.Priv1.Recordset.RecordCount
  Fakt.Priv1.Recordset.MoveFirst
  Fakt.Uvod.Recordset.MoveFirst
  If Procedure.k1.Caption = "1" Then Text2.Text = Fakt.Uvod.Recordset.Fields("BrojR") & ".fkt"
  If Procedure.k1.Caption = "2" Then Text2.Text = Fakt.Uvod.Recordset.Fields("BrojR") & ".otp"
  If Procedure.k1.Caption = "3" Then Text2.Text = Fakt.Uvod.Recordset.Fields("BrojR") & ".iop"
  If Procedure.k1.Caption = "4" Then Text2.Text = Fakt.Uvod.Recordset.Fields("BrojR") & ".prr"
  For iLoop = 1 To (f + 24)
  If iLoop < 25 Then
  Fakt.Uvod.Recordset.MoveFirst
  Call Il(iLoop)
  End If
 If iLoop > 24 Then Text1.Text = "@" & Trim(Fakt.Priv1.Recordset.Fields("Sifra")) & "@" & Trim(Fakt.Priv1.Recordset.Fields("Naziv")) & _
 "@" & Trim(Fakt.Priv1.Recordset.Fields("Jm")) & "@" & Trim(Fakt.Priv1.Recordset.Fields("Kolicina")) & _
 "@" & Trim(Fakt.Priv1.Recordset.Fields("Cena")) & "@" & Trim(Fakt.Priv1.Recordset.Fields("Bruto")) & _
 "@" & Trim(Fakt.Priv1.Recordset.Fields("Rabat")) & "@" & Trim(Fakt.Priv1.Recordset.Fields("Rabati")) & _
 "@" & Trim(Fakt.Priv1.Recordset.Fields("Osnovica")) & "@" & Trim(Fakt.Priv1.Recordset.Fields("Pdv")) & _
 "@" & Trim(Fakt.Priv1.Recordset.Fields("Pdvi")) & "@" & Trim(Fakt.Priv1.Recordset.Fields("Konacno")) & "@" & Trim(Fakt.Priv1.Recordset.Fields("Izvor"))
 If iLoop > 24 Then Fakt.Priv1.Recordset.MoveNext
    iFreeFile = FreeFile
    Open App.Path & "\Privr.rda" For Random As iFreeFile
        sDataFrag = MakeString(iLoop)
        Put #iFreeFile, iLoop, sDataFrag
        Close iFreeFile
        Next iLoop
SnimiFajl
End Sub

Public Function MakeString(ByVal iListItemNum As Integer) As String
    Dim iListNum, iLoop As Integer
    Dim sTmpStr, pPod As String
    pPod = Text1.Text
    sTmpStr = pPod
MakeString = sTmpStr
End Function

Private Sub SnimiFajl()
    Dim sFile As String
    Dim n As Integer
    If Procedure.k1.Caption = "1" Then dlgCommonDialog.InitDir = App.Path & "\Racuni_Fakture"
    If Procedure.k1.Caption = "2" Then dlgCommonDialog.InitDir = App.Path & "\Otpremnice"
    If Procedure.k1.Caption = "3" Then dlgCommonDialog.InitDir = App.Path & "\InterneOtpremnice"
    If Procedure.k1.Caption = "4" Then dlgCommonDialog.InitDir = App.Path & "\Pred-Racun"
    dlgCommonDialog.FileName = Text2.Text
        With dlgCommonDialog
        .DialogTitle = "Klikni na SAVE i snimi program / CANCEL - Ne!!!"
        .CancelError = False
        If Procedure.k1.Caption = "1" Then .Filter = "Račun - otpremnica (*.fkt)|*.fkt"
        If Procedure.k1.Caption = "2" Then .Filter = "All Files (*.otp)|*.otp"
        If Procedure.k1.Caption = "3" Then .Filter = "Interna otpremnica (*.iop)|*.iop"
        If Procedure.k1.Caption = "4" Then .Filter = "Pred račun (*.prr)|*.prr"
        .ShowSave
                
        If Len(.FileName) = 0 Then
            Exit Sub
            End If
        sFile = .FileName
        
        End With
    For n = 1 To Len(sFile)
    If n < Len(sFile) And Mid(sFile, Len(sFile) - n, 1) = "\" Then GoTo IdiD
    Next
IdiD:
    Text1.Text = Right(sFile, n)
    If Procedure.k1.Caption = "1" Or Procedure.k1.Caption = "2" Then
    If Right(Faktura.ROb.Caption, 3) = "/Vp" Then Text1.Text = "Vp" & Text1.Text
    End If
    If Procedure.k1.Caption = "3" Then
    If Right(IntFakt.ROb.Caption, 3) = "/Vp" Then Text1.Text = "Vp" & Text1.Text
    End If
    If Right(sFile, n) = "" Then Text1.Text = Text2.Text
    If Procedure.k1.Caption = 3 And Right(Text1.Text, 4) = ".prr" Then Text1.Text = Left(Text1.Text, (Len(Text1.Text) - 4))
        Name App.Path & "\Privr.rda" As Text1.Text
    Procedure.k1.Caption = "0"
End Sub

Sub Il(iLoop)
 If iLoop = 1 Then Text1.Text = Fakt.Uvod.Recordset.Fields("Naziv")
 If iLoop = 2 Then Text1.Text = Fakt.Uvod.Recordset.Fields("Ulica")
 If iLoop = 3 Then Text1.Text = Fakt.Uvod.Recordset.Fields("Broj")
 If iLoop = 4 Then Text1.Text = Fakt.Uvod.Recordset.Fields("Mesto")
 If iLoop = 5 Then Text1.Text = Fakt.Uvod.Recordset.Fields("Pib1")
 If iLoop = 6 Then Text1.Text = Fakt.Uvod.Recordset.Fields("Vnaziv")
 If iLoop = 7 Then Text1.Text = Fakt.Uvod.Recordset.Fields("Vnaziv1")
 If iLoop = 8 Then Text1.Text = Fakt.Uvod.Recordset.Fields("Vnaziv2")
 If iLoop = 9 Then Text1.Text = Fakt.Uvod.Recordset.Fields("Vmesto")
 If iLoop = 10 Then Text1.Text = Fakt.Uvod.Recordset.Fields("Vulicaibr")
 If iLoop = 11 Then Text1.Text = Fakt.Uvod.Recordset.Fields("Vtekracun")
 If iLoop = 12 Then Text1.Text = Fakt.Uvod.Recordset.Fields("Vpib")
 If iLoop = 13 Then Text1.Text = Fakt.Uvod.Recordset.Fields("Vsifdel")
 If iLoop = 14 Then Text1.Text = Fakt.Uvod.Recordset.Fields("Vtel")
 If iLoop = 15 Then Text1.Text = Fakt.Uvod.Recordset.Fields("Vfax")
 If iLoop = 16 Then Text1.Text = Fakt.Uvod.Recordset.Fields("Mesidat")
 If iLoop = 17 Then Text1.Text = Fakt.Uvod.Recordset.Fields("Brojr")
 If iLoop = 18 Then Text1.Text = Fakt.Uvod.Recordset.Fields("Datpd")
 If iLoop = 19 Then Text1.Text = Fakt.Uvod.Recordset.Fields("Rok")
 If iLoop = 20 Then Text1.Text = Fakt.Uvod.Recordset.Fields("Nacinp")
 If iLoop = 21 Then Text1.Text = Fakt.Uvod.Recordset.Fields("Napomenaoos")
 If iLoop = 22 Then Text1.Text = Fakt.Uvod.Recordset.Fields("Izdao")
 If iLoop = 23 Then Text1.Text = Fakt.Uvod.Recordset.Fields("Primio")
 If iLoop = 24 Then Text1.Text = Fakt.Uvod.Recordset.Fields("Vmatb")
 End Sub

Sub Ip(iPos, sDataFrag)
 If iPos = 1 Then Fakt.Uvod.Recordset.Fields("Naziv") = Trim(sDataFrag)
 If iPos = 2 Then Fakt.Uvod.Recordset.Fields("Ulica") = Trim(sDataFrag)
 If iPos = 3 Then Fakt.Uvod.Recordset.Fields("Broj") = Trim(sDataFrag)
 If iPos = 4 Then Fakt.Uvod.Recordset.Fields("Mesto") = Trim(sDataFrag)
 If iPos = 5 Then Fakt.Uvod.Recordset.Fields("Pib1") = Trim(sDataFrag)
 If iPos = 6 Then Fakt.Uvod.Recordset.Fields("Vnaziv") = Trim(sDataFrag)
 If iPos = 7 Then Fakt.Uvod.Recordset.Fields("Vnaziv1") = Trim(sDataFrag)
 If iPos = 8 Then Fakt.Uvod.Recordset.Fields("Vnaziv2") = Trim(sDataFrag)
 If iPos = 9 Then Fakt.Uvod.Recordset.Fields("Vmesto") = Trim(sDataFrag)
 If iPos = 10 Then Fakt.Uvod.Recordset.Fields("Vulicaibr") = Trim(sDataFrag)
 If iPos = 11 Then Fakt.Uvod.Recordset.Fields("Vtekracun") = Trim(sDataFrag)
 If iPos = 12 Then Fakt.Uvod.Recordset.Fields("Vpib") = Trim(sDataFrag)
 If iPos = 13 Then Fakt.Uvod.Recordset.Fields("Vsifdel") = Trim(sDataFrag)
 If iPos = 14 Then Fakt.Uvod.Recordset.Fields("Vtel") = Trim(sDataFrag)
 If iPos = 15 Then Fakt.Uvod.Recordset.Fields("Vfax") = Trim(sDataFrag)
 If iPos = 16 Then Fakt.Uvod.Recordset.Fields("Mesidat") = Trim(sDataFrag)
 If iPos = 17 Then Fakt.Uvod.Recordset.Fields("Brojr") = Trim(sDataFrag)
 If iPos = 18 Then Fakt.Uvod.Recordset.Fields("Datpd") = Trim(sDataFrag)
 If iPos = 19 Then Fakt.Uvod.Recordset.Fields("Rok") = Trim(sDataFrag)
 If iPos = 20 Then Fakt.Uvod.Recordset.Fields("Nacinp") = Trim(sDataFrag)
 If iPos = 21 Then Fakt.Uvod.Recordset.Fields("Napomenaoos") = Trim(sDataFrag)
 If iPos = 22 Then Fakt.Uvod.Recordset.Fields("Izdao") = Trim(sDataFrag)
 If iPos = 23 Then Fakt.Uvod.Recordset.Fields("Primio") = Trim(sDataFrag)
 If iPos = 24 Then Fakt.Uvod.Recordset.Fields("Vmatb") = Trim(sDataFrag)
 End Sub

Private Sub Str_KeyPress(KeyAscii As Integer)
KeyAscii = 0
End Sub

Private Sub Str1_Change()
CenovnikLista.Strana.Text = "Strana " & Str1.Text & "."
CenovnikLista.StranaX.Text = "Strana " & Str1.Text & "."
Call CenovnikLista.ListajCenovnik(cmxx, Val(frmMain.Str1))
ListaTrueFalse
End Sub
Private Sub ListaTrueFalse()
If Str1.Text = 1 And CenovnikLista.FrameX.Visible = False Then
CenovnikLista.FrameY.Visible = False
CenovnikLista.FrameX.Visible = True
End If
If Str1.Text <> 1 And CenovnikLista.FrameY.Visible = False Then
CenovnikLista.FrameX.Visible = False
CenovnikLista.FrameY.Visible = True
End If
End Sub

Private Sub Str1_KeyPress(KeyAscii As Integer)
KeyAscii = 0
End Sub

Private Sub tbToolBar_ButtonClick(ByVal Button As MSComctlLib.Button)
    On Error Resume Next
Select Case Button.Key
Case "Calc"
    Shell "c:\windows\system32\calc.exe"
Case "NotP"
    Shell App.Path & "\Tekst_Dokumenti\Notepad.exe"
        MsgBox "TEKST EDITOR VAM JE U STATUSNOJ LINIJI _ MOŽETE GA PODIĆI I RADITI DALJE", 64, "OBAVEŠTENJE"
Case "Writ"
    Shell App.Path & "\Tekst_Dokumenti\WRITE.EXE"
        MsgBox "WordPad EDITOR VAM JE U STATUSNOJ LINIJI _ MOŽETE GA PODIĆI I RADITI DALJE", 64, "OBAVEŠTENJE"
Case "NoviRacun"
    Call FnR_Click
Case "New"
    mnuFileNew_Click
Case "Open"
    mnuFileOpen_Click
Case "Save"
    mnuFileSave_Click
Case "Print"
    If d = 0 Then Exit Sub
        mnuFilePrint_Click
Case "Bold"
    ActiveForm.rtfText.SelBold = Not ActiveForm.rtfText.SelBold
        Button.Value = IIf(ActiveForm.rtfText.SelBold, tbrPressed, tbrUnpressed)
Case "Italic"
    ActiveForm.rtfText.SelItalic = Not ActiveForm.rtfText.SelItalic
        Button.Value = IIf(ActiveForm.rtfText.SelItalic, tbrPressed, tbrUnpressed)
Case "Underline"
    ActiveForm.rtfText.SelUnderline = Not ActiveForm.rtfText.SelUnderline
        Button.Value = IIf(ActiveForm.rtfText.SelUnderline, tbrPressed, tbrUnpressed)
Case "Font"
    DajFont
Case "Sort Ascending"
    If PanoStr.Visible = True Then MsgBox "ZATVORI CENOVNIK PA DEFINIŠI OPCIJU", 16, " ODBIJENO": Exit Sub
        If CenovnikLista.SortC = "A" Then CenovnikLista.SortC = "B": GoTo AB
            If CenovnikLista.SortC = "B" Then CenovnikLista.SortC = "A": GoTo AB
AB:
                If CenovnikLista.SortC = "A" Then MsgBox "A - Z  REDOSLED", 64, "CENOVNIK"
                    If CenovnikLista.SortC = "B" Then MsgBox "Š I F A R N I K", 64, "CENOVNIK"
Case "Align Left"
    ActiveForm.rtfText.SelAlignment = rtfLeft
Case "Align Right"
    ActiveForm.rtfText.SelAlignment = rtfRight
Case "Center"
    ActiveForm.rtfText.SelAlignment = rtfCenter
Case "Back"

    If Fakt.List2.ListItems.Count > 0 And Fakt.cu <> 3 Then
        Fakt.bDn = 2: Call Fakt.DelList_Click
            If Fakt.IzlazDn.Caption = "N" Then Exit Sub
                End If
                    Vrati
Case "To"
        
Case "BackupClick"
    Shell App.Path & "\Backup.bat"
        MsgBox "AKO JE DISK UKLJUČEN _ KOPIRANJE JE ZAVRŠENO", 64, "KRAJ"
End Select
End Sub

Private Sub mnuHelpAbout_Click()
    MsgBox "Verzija programa " & App.Major & "." & App.Minor & "." & App.Revision & "+" & Chr(13) & Chr(13) & _
    "Program je predvidjen za rezoluciju" & Chr(13) & "1024 x 768 ili vecu od ove" & Chr(13) & Chr(13) & _
    "e_mail [email protected]", , "   Programi S O K O"
End Sub
Private Sub DajFont()
Dim TextColor As Long
Dim Bold As Boolean
Dim Italic As Boolean
Dim Underline As Boolean
Dim Strikethru As Boolean
Dim Font As String
Dim Size As Integer
'________________________________________________
dlgCommonDialog.Flags = cdlCFEffects Or cdlCFBoth
dlgCommonDialog.ShowFont
'________________________________________________
TextColor = dlgCommonDialog.Color
Bold = dlgCommonDialog.FontBold
Italic = dlgCommonDialog.FontItalic
Underline = dlgCommonDialog.FontUnderline
Strikethru = dlgCommonDialog.FontStrikethru
Font = dlgCommonDialog.FontName
Size = dlgCommonDialog.FontSize
'________________________________________________
frmDocument.rtfText.SelFontName = Font
frmDocument.rtfText.SelFontSize = Size
frmDocument.rtfText.SelColor = TextColor
End Sub


Private Sub mnuWindowArrangeIcons_Click()
    Me.Arrange vbArrangeIcons
End Sub

Private Sub mnuViewOptions_Click()
    'ToDo: Add 'mnuViewOptions_Click' code.
    MsgBox "Add 'mnuViewOptions_Click' code."
End Sub

Private Sub mnuViewRefresh_Click()
CenovnikLista.dataExcDB1.Refresh
Fakt.KlijentiQ.Refresh
End Sub

Private Sub mnuViewStatusBar_Click()
    mnuViewStatusBar.Checked = Not mnuViewStatusBar.Checked
    sbStatusBar.Visible = mnuViewStatusBar.Checked
End Sub

Private Sub mnuViewToolbar_Click()
    mnuViewToolbar.Checked = Not mnuViewToolbar.Checked
    tbToolBar.Visible = mnuViewToolbar.Checked
End Sub

Sub mnuFileExit_Click()
    'unload the form
    Unload Me
End Sub

Private Sub mnuFileSend_Click()
    'ToDo: Add 'mnuFileSend_Click' code.
    MsgBox "Add 'mnuFileSend_Click' code."
End Sub

Private Sub mnuFilePrint_Click()
    If d = 0 Then
    MsgBox "U OVOM MOMENTU NEMA PRINTANJA", 16, "NEMOGUĆE"
    Exit Sub
    End If
    Dim bk, cp As Integer
If d = 7 Then
'Stampa vezana za izvestaj prodavnice
Exit Sub
End If
If d = 3 Or d = 100 Or d = 101 Or d = 200 Or d = 202 Or d = 987 Then GoTo StampaFaktO
                If d = 1 Or d = 2 Then
                If ActiveForm Is Nothing Then Exit Sub
                End If
With dlgCommonDialog
.DialogTitle = "Print"
.CancelError = True
.Flags = cdlPDReturnDC + cdlPDNoPageNums
                If d = 1 Or d = 2 Then
                If ActiveForm.rtfText.SelLength = 0 Then
                .Flags = .Flags + cdlPDAllPages
                Else
                .Flags = .Flags + cdlPDSelection
                End If
                End If
.ShowPrinter
If Err = MSComDlg.cdlCancel Then Exit Sub
If Err <> MSComDlg.cdlCancel Then
cp = .Copies
For bk = 1 To .Copies
        If d = 1 Or d = 2 Then ActiveForm.rtfText.SelPrint .hDC
Next bk
End If
End With
Exit Sub
StampaFaktO:
Stampac.Text3.Text = CStr(d)
Stampac.Show
End Sub

Private Sub mnuFilePageSetup_Click()
    On Error Resume Next
    With dlgCommonDialog
    .Flags = cdlPDReturnDC
        .DialogTitle = "Podesavanje stampe"
        .CancelError = True
        .ShowPrinter
    End With
End Sub

Private Sub mnuFileSaveAs_Click()
    Dim sFile As String
    If d = 0 Then
    MsgBox "U OVOM MOMENTU OVU NAREDBU NIJE MOGUĆE IZVRŠITI", 64, "O B A V E Š T E NJ E"
    Exit Sub
    End If
    If d = 1 Or d = 2 Or d = 11 Then
        If d = 1 Or d = 2 Then dlgCommonDialog.InitDir = App.Path & "\Tekst_Dokumenti"
        If d = 11 Then dlgCommonDialog.InitDir = App.Path & "\Podsetnik"
        With dlgCommonDialog
        .DialogTitle = "SNIMI POD NOVIM IMENOM"
        .CancelError = False
        'ToDo: set the flags and attributes of the common dialog control
        If d = 1 Or d = 2 Or d = 11 Then .Filter = "All Files (*.txt)|*.txt"
        .ShowSave
        If Len(.FileName) = 0 Then
            Exit Sub
        End If
        sFile = .FileName
    End With
    ActiveForm.Caption = sFile
    ActiveForm.rtfText.SaveFile sFile
    
    Else
    
    MsgBox "U OVOM MOMENTU OVU NAREDBU NIJE MOGUĆE IZVRŠITI", 64, "O B A V E Š T E NJ E"
  
End If
End Sub

Private Sub mnuFileSave_Click()
    Dim sFile As String
    If d = 1 Then
    MsgBox "OTVORI >SNIMI KAO ...< I DAJ NAZIV"
    Exit Sub
    End If
    If d <> 2 Then
    MsgBox "N E M A  S N I M A NJ A", 64, "OBAVESTENJE"
    Exit Sub
    End If
    If d = 2 Then
    If Left$(ActiveForm.Caption, 8) = "Document" Then
        With dlgCommonDialog
            .DialogTitle = "Snimi"
            .CancelError = False
            'ToDo: set the flags and attributes of the common dialog control
            .Filter = "All Files (*.txt)|*.txt"
            .ShowSave
            If Len(.FileName) = 0 Then
                Exit Sub
            End If
            sFile = .FileName
        End With
        ActiveForm.rtfText.SaveFile sFile
    Else
        sFile = ActiveForm.Caption
        ActiveForm.rtfText.SaveFile sFile
    End If
End If
End Sub

Private Sub mnuFileClose_Click()
    Vrati
End Sub

Private Sub mnuFileOpen_Click()
    Dim sFile As String
    If d > 0 Then
    MsgBox "U OVOM MOMENTU OVU NAREDBU NIJE MOGUĆE IZVRŠITI", 64, "O B A V E Š T E NJ E"
    Exit Sub
    End If
    dlgCommonDialog.InitDir = App.Path & "\Tekst_Dokumenti"
    With dlgCommonDialog
    .FileName = ""
        .DialogTitle = "OTVORI DOKUMENT"
        .CancelError = False
        .Filter = "All Files (*.txt)|*.txt"
        .ShowOpen
        If Len(.FileName) = 0 Then
        Unload frmDocument
            Exit Sub
        End If
        d = 2
        mnuFileOpen.Checked = True
        Otvoreno
        sFile = .FileName
    End With
    MDIForm_Resize
    Unload Kalendar
    frmDocument.Show
    frmDocument.rtfText.LoadFile sFile
    frmDocument.Caption = sFile
    End Sub

Private Sub mnuFileNew_Click()
If d > 0 Then
MsgBox "U OVOM MOMENTU OVU NAREDBU NIJE MOGUĆE IZVRŠITI", 64, "O B A V E Š T E NJ E"
Exit Sub
End If
d = 1
MDIForm_Resize
Unload Kalendar
frmDocument.Show
frmDocument.rtfText.SelFontSize = 10
mnuFileNew.Checked = True
Otvoreno
End Sub
Private Sub Vrati()
CenovnikLista.Visible = False
frmMain.PanoStr.Visible = False
If d = 1 Or d = 2 Or d = 11 Then Unload frmDocument
If d = 4 Then Unload Saradnici
If d = 444 Then Unload KlObaveze: Unload Fk
If d = 5 Then Unload Manipulacija
If d = 6 Then Unload Radnici
If d = 7 Then Unload Prodavnica
If d = 10 Then Unload PromLog
If Kalendar.dx > 0 Then Unload frmDocument: Kalendar.dx = 0
If d = 100 Or d = 101 Or d = 102 Or d = 987 Then Fakt.IzlazDn.Caption = "": Unload Fakt: MDIForm_Resize
If d = 987 Then Unload Faktura: MDIForm_Resize
If d = 200 Then Unload Faktura: MDIForm_Resize
If d = 202 Then Unload IntFakt: MDIForm_Resize
d = 0
Command1.Visible = False
Command2.Visible = False
Str.Visible = False
Faktura.Str.Text = "1"
mnuFileNew.Checked = False
mnuFileOpen.Checked = False
FnR.Checked = False
OnR.Checked = False
Oprdr.Checked = False
OintO.Checked = False
FnO.Checked = False
Fprdr.Checked = False
FintO.Checked = False
OsO.Checked = False
   cm1.Checked = False
   cm2.Checked = False
   cm3.Checked = False
   cm4.Checked = False
   cm5x.Checked = False
DopIA.Checked = False
IzmenaS.Checked = False
Storn.Checked = False
mnuFileClose.Checked = True
NoviPods.Checked = False
End Sub

Private Sub tbToolBar_ButtonMenuClick(ByVal ButtonMenu As MSComctlLib.ButtonMenu)
If d = 444 Then
MsgBox "VEC STE U PROGRAMU I KORISTITE DESNU PALETU KOMANDI", 48, ""
Exit Sub
End If
If d <> 0 Then
MsgBox "ZATVORI AKTIVNE DELOVE PROGRAMA", 48, ""
Exit Sub
End If

Select Case ButtonMenu.Key
Case "Prvi"
        Call Vrati
        Call l1
Case "Drugi"
        Call Vrati
        Call L2
Case "Kupz"
        Call Vrati
        KlObaveze.Opcija = "2"
        OpdSar_Click
        KlObaveze.Upt
        KlObaveze.Option1.Value = True
        KlObaveze.Option1_Click
Case "Gorz"
        Call Vrati
        KlObaveze.Opcija = "2"
        OpdSar_Click
        KlObaveze.Upt
        KlObaveze.Option2.Value = True
        KlObaveze.Option2_Click
Case "UplataGor"
        Call Vrati
        KlObaveze.Opcija = "2"
        OpdSar_Click
        Call KlObaveze.Opt
KlObaveze.Option22.Value = True
Call KlObaveze.Option22_Click
Case "UplataKup"
        Call Vrati
        KlObaveze.Opcija = "2"
        OpdSar_Click
        Call KlObaveze.Opt
KlObaveze.Option11.Value = True
Call KlObaveze.Option11_Click
End Select
End Sub
Sub l1()
KlObaveze.Opcija = "1"
KlObaveze.ListaS1.Visible = False
KlObaveze.ListaS4.Visible = False
    KlObaveze.Naslov.Visible = False
    KlObaveze.Naslov0.Visible = False
    KlObaveze.Toolbar1.Buttons("DelBr").Enabled = False
    KlObaveze.Toolbar1.Buttons("Kartica").Enabled = False
        Call OpdSar_Click
        Call KlObaveze.Sabiraj
    KlObaveze.ListaS1.Visible = True
    KlObaveze.Naslov.Visible = True
    KlObaveze.Naslov0.Visible = True
    KlObaveze.ListaS4.Visible = True
    KlObaveze.Toolbar1.Buttons("DelBr").Enabled = True
    KlObaveze.Toolbar1.Buttons("Kartica").Enabled = True
End Sub

Sub L2()
KlObaveze.Opcija = "2"
    Call OpdSar_Click
    KlObaveze.ListaS4.Visible = True
    KlObaveze.Naslov.Visible = True
    KlObaveze.Naslov0.Visible = True
    KlObaveze.Toolbar1.Buttons("DelBr").Enabled = True
    Call KlObaveze.Sabiraj
End Sub
Private Sub Timer1_Timer()
sbStatusBar.Panels(4) = Time$
If Val(Left(Time$, 2)) = 0 And Val(Mid(Time$, 4, 2)) = 0 And Val(Right(Time$, 1)) = 1 Then Call NazivDana(Dan)
    'If Kalendar.dx = 2 And frmDocument.Height <> Me.ScaleHeight / 2 Then
    'MDIForm_Resize
    'End If
'Posle uradjene fakture ili otpremnice po potvrdi upisa podici izvestaj ( prikaz ) spreman za snimanje
If d = 100 Or d = 101 Or d = 102 Or d = 987 Then
'*****************************************

If Fakt.of = 1 Then
    Call MDIForm_Resize
d = 200
Faktura.ROtext.Caption = "RAČUN_OTPREMNICA br... :"
Procedure.k1.Caption = "1"
'*---------------------------*
Call Procedure.FaktTrue
Faktura.Slova.Visible = True
Call Faktura.PrikF_
Command1.Visible = True
Command2.Visible = True
Str.Visible = True
Call SnimiR_Click
mnuFilePrint_Click
End If
'*****************************************
If Fakt.of = 2 Then
Call MDIForm_Resize
d = 200
Faktura.ROtext.Caption = "OTPREMNICA ...:"
Procedure.k1.Caption = "2"
Call Faktura.PrikF_
'-----------------------------------------*
Call Procedure.FaktFals
'*****************************************-
Call Procedure.FaktFals1
Command1.Visible = True
Command2.Visible = True
Str.Visible = True
Call SnimiR_Click
mnuFilePrint_Click
End If

If Fakt.of = 3 Then
Call MDIForm_Resize
d = 202
Faktura.ROtext.Caption = "INTERNA OTPREMNICA ...:"
Call IntFakt.PrikOt_
Command1.Visible = True
Command2.Visible = True
Str.Visible = True
    Call SnimiR_Click
    mnuFilePrint_Click
End If

If Fakt.of = 4 Then
    Call MDIForm_Resize
d = 987
 'Or RacunBrojText.Caption = "OTPREMNICA Br"
 '"PRED R.  Br ..."

If rr = 0 Then Faktura.ROtext.Caption = "PRED RAČUN  Br ..."
If rr = 1 Then Faktura.ROtext.Caption = "OTPREMNICA Br ......."

Procedure.k1.Caption = "4"
'*---------------------------*
Call Procedure.FaktTrue
Faktura.Slova.Visible = True
Call Faktura.PrikF_
Command1.Visible = True
Command2.Visible = True
Str.Visible = True
Call SnimiR_Click
mnuFilePrint_Click
End If

End If
If PromLog.NoKontrola.Caption = "1" Then Vrati: PromLog.NoKontrola.Caption = "0"
'*****************************************************************************************************
If d <> 0 And Toolbar1.Visible = True Then Toolbar1.Visible = False
End Sub
Sub Otvoreno()
mnuFileClose.Checked = False
End Sub
'**********************

Sub ProveriBp()
Call CekP
Select Case Val(Prodavnica.Text5.Text)
Case 1: Pr1.Checked = True
Case 2: Pr2.Checked = True
Case 3: Pr3.Checked = True
Case 4: Pr4.Checked = True
Case 5: Pr5.Checked = True
Case 6: Pr6.Checked = True
Case 7: Pr7.Checked = True
Case 8: Pr8.Checked = True
Case 9: Pr9.Checked = True
Case 10: Pr10.Checked = True
End Select
End Sub

Sub ProveriBp1()
If Pr1.Checked = True Then Prodavnica.Text5.Text = "1"
If Pr2.Checked = True Then Prodavnica.Text5.Text = "2"
If Pr3.Checked = True Then Prodavnica.Text5.Text = "3"
If Pr4.Checked = True Then Prodavnica.Text5.Text = "4"
If Pr5.Checked = True Then Prodavnica.Text5.Text = "5"
If Pr6.Checked = True Then Prodavnica.Text5.Text = "6"
If Pr7.Checked = True Then Prodavnica.Text5.Text = "7"
If Pr8.Checked = True Then Prodavnica.Text5.Text = "8"
If Pr9.Checked = True Then Prodavnica.Text5.Text = "9"
If Pr10.Checked = True Then Prodavnica.Text5.Text = "10"
End Sub

Private Sub IzmenaS_Click()
If d > 0 Then Exit Sub
d = 10
MDIForm_Resize
PromLog.Prva.Text = ""
PromLog.Druga.Text = ""
PromLog.Treca.Text = ""
PromLog.Show
PromLog.Prva.SetFocus
IzmenaS.Checked = True
Otvoreno
End Sub
'Stornirati
Private Sub Storn_Click()
If d <> 0 Then
MsgBox "U OVOM MOMENTU OVU NAREDBU NIJE MOGUĆE IZVRŠITI", 64, "O B A V E Š T E NJ E"
Exit Sub
End If
Call OnR_Click
If d = 0 Then mnuFileClose_Click: Exit Sub
On Error Resume Next

If Left(Text1.Text, 10) = "Stornirano" Then MsgBox "OVAJ RAČUN JE VEC STORNIRAN", , "OBAVESTENJE": Exit Sub
Dim Nr$
Dim Nr1$
Dim Nr2$
Nr2 = ""
Fakt.FaktB.Recordset.MoveFirst
Nr = Fakt.FaktB.Recordset.Fields("Fbr")
If Left(Text1.Text, 2) = "Vp" Then Nr2 = "Vp"
If Left(Text1.Text, 2) = "Vp" Then Text1.Text = Right(Text1.Text, Len(Text1.Text) - 2)

'If Left(Text1.Text, Len(Text1.Text) - 4) <> Nr Then
'MsgBox "DOZVOLJENO VAM JE STORNIRATI SAMO POSLEDNJI RAČUN (Racun br. " & CStr(Nr) & ")", 16, "S T O P"
'Exit Sub
'End If

'If Left(Text1.Text, Len(Text1.Text) - 4) = Nr Then

'Nr = CStr(Val(Fakt.FaktB.Recordset.Fields("Fbr") - 1))
'Fakt.FaktB.Recordset.Edit
'Fakt.FaktB.Recordset.Fields("Fbr") = Nr
'Fakt.FaktB.Recordset.Update
'End If

Nr1 = Left(Text1.Text, Len(Text1.Text) - 4)
KlObaveze.Zs.Recordset.FindFirst ("Razlog = '" & Left(Text1.Text, Len(Text1.Text) - 4) & "'")
Call frmMain.JesNo(KlObaveze.Zs.Recordset.Fields("Razlog"), Left(Text1.Text, Len(Text1.Text) - 4))
'******************////////////////////////
If DaNe = True Then
KlObaveze.Ispl.Recordset.MoveFirst
Do While Not (KlObaveze.Ispl.Recordset.EOF)
'___****************************************
If KlObaveze.Ispl.Recordset.Fields("BrZaduzenja") = KlObaveze.Zs.Recordset.Fields("ZaduzenjeBr") Then
KlObaveze.Ispl.Recordset.Delete
End If
'___****************************************
KlObaveze.Ispl.Recordset.MoveNext
Loop
End If
'******************////////////////////////
If DaNe = True Then KlObaveze.Zs.Recordset.Delete
KlObaveze.ZsQ.Refresh
IdiDalje:
If Nr2 = "Vp" Then Text1.Text = Nr2 + Text1.Text
Name Text1.Text As "Stornirano " & Mid(Date$, 4, 2) & "-" & Left(Date$, 2) & "-" & Right(Date$, 4) & " " & Text1.Text
Faktura.Storno.Caption = "[ Stornirano " & Mid(Date$, 4, 2) & "-" & Left(Date$, 2) & "-" & Right(Date$, 4) & " ]"
Faktura.Storno.Visible = True
Storn.Checked = True
Call Fakt.VratiSve
Fakt.FaktB.Recordset.MoveFirst
Call frmMain.JesNo(Nr1, Fakt.FaktB.Recordset.Fields("Fbr"))
If DaNe = True Then
Nr = CStr(Val(Left(Fakt.FaktB.Recordset.Fields("Fbr"), Len(Fakt.FaktB.Recordset.Fields("Fbr")) - 3) - 1))
Nr = Nr + "_" + Right(Date$, 2)
Fakt.FaktB.Recordset.Edit
Fakt.FaktB.Recordset.Fields("Fbr") = Nr
Fakt.FaktB.Recordset.Update
End If

Call Fakt.RedniIzBazeMin(Fakt.FaktB, "Fbr")
Fakt.FaktB.Recordset.Edit
Fakt.FaktB.Recordset.Fields("Fbr") = Novi
Fakt.FaktB.Recordset.Update
'********************

Nr = "": Nr1 = "": Nr2 = ""
KrajSub:
End Sub
Public Function JesNo(Podatak1 As String, Podatak2 As String)
DaNe = False
If Podatak1 = Podatak2 Then DaNe = True
End Function 
by

Visual basic (VB.net) Online Compiler

Write, Run & Share VB.net code online using OneCompiler's VB.net online compiler for free. It's one of the robust, feature-rich online compilers for VB.net language, running on the latest version 16. Getting started with the OneCompiler's VB.net compiler is simple and pretty fast. The editor shows sample boilerplate code when you choose language as VB.net. OneCompiler also has reference programs, where you can look for the sample code to get started with.

Read input from STDIN in VB.net

OneCompiler's VB.net online editor supports stdin and users can give inputs to programs using the STDIN textbox under the I/O tab. Following is a sample VB.net program which takes name as input and prints hello message with your name.

Public Module Program
	Public Sub Main(args() As string)
	 Dim name as String = Console.ReadLine()    ' Reading input from STDIN
   Console.WriteLine("Hello " & name)           ' Writing output to STDOUT
	End Sub
End Module

About VB.net

Visual Basic is a event driven programming language by Microsoft, first released in the year 1991.

Key Features

  • Beginner's friendly language.
  • Simple and object oriented programming language.
  • User friendly language and easy to develop GUI based applications.

Syntax help

Variables

Variable is a name given to the storage area in order to identify them in our programs.

Simple syntax of Variable declaration is as follows

Dim variableName [ As [ New ] dataType ] [ = initializer ]

Variable initialization

variableName = value

Conditional Statements

1. If

If condition-expression Then 
    'code
End If

2. If-else

If(conditional-expression)Then
   'code if the conditional-expression is true 
Else
  'code if the conditional-expression is false 
End If

3. If-else-if ladder

If(conditional-expression)Then
   'code if the above conditional-expression is true 
Else If(conditional-expression) Then
        'code if the above conditional-expression is true 
    Else
        'code if the above conditional-expression is false 
End If

4. Nested-If

If(conditional-expression)Then
   'code if the above conditional-expression is true
   If(conditional-expression)Then
         'code if the above conditional-expression is true 
   End If
End If

5. Select Case

Select [ Case ] expression
   [ Case expressionlist
      'code ]
   [ Case Else
      'code ]
End Select

Loops

1. For..Next

For counter [ As datatype ] = begin To end [ Step step ]
   'code
   [ Continue For ]
   'code
   [ Exit For ]
   'code
Next [ counter ]

2. For..Each

For Each element [ As datatype ] In group
   'code
   [ Continue For ]
   'code
   [ Exit For ]
   'code
Next [ element ]

3. While

While conditional-expression
   'Code 
   [ Continue While ]
   'Code
   [ Exit While ]
   'Code
End While

4. Do-while

Do { While | Until } conditional-expression
   'Code
   [ Continue Do ]
   'Code
   [ Exit Do ]
   'Code
Loop
Do
   'Code
   [ Continue Do ]
   'Code
   [ Exit Do ]
   'Code
Loop { While | Until } conditional-expression

Procedures

Procedure is a sub-routine which contains set of statements. Usually Procedures are written when multiple calls are required to same set of statements which increases re-usuability and modularity.

Procedures are of two types.

1. Functions

Functions return a value when they are called.

[accessModifiers] Function functionName [(parameterList)] As returnType
   'code
End Function

2. Sub-Procedures

Sub-procedures are similar to functions but they don't return any value.

Sub ProcedureName (parameterList)
'Code
End Sub