Modul Analiza sistema: Razlika med redakcijama

Iz SDMS
Jump to navigationJump to search
(New page: Klic Sub UsageReport Sub UsageReport Dim I, J, K As Long, D As DateTime, Usg, Rpt As TStringList Dim FL, SL As TStringlist FL = CreateStringlist Usg = CreateStringlist ...)
 
Vrstica 14: Vrstica 14:
 
     SL.Load (FL.Strings (I))
 
     SL.Load (FL.Strings (I))
 
     J = Length (FL.Strings (I))
 
     J = Length (FL.Strings (I))
     D = EncodeDate (StrToInt (Copy (FL.Strings (I), J-13, 4)), StrToInt (Copy (FL.Strings (I), J-8, 2)), StrToInt (Copy (FL.Strings (I), J-5, 2)))
+
     D = EncodeDate (StrToInt (Copy (FL.Strings (I), J-13, 4)),  
 +
                    StrToInt (Copy (FL.Strings (I), J-8, 2)),  
 +
                    StrToInt (Copy (FL.Strings (I), J-5, 2)))
 
     For J = 0 To SL.Count - 1
 
     For J = 0 To SL.Count - 1
 
       K = Pos ('$', SL.Strings (J))
 
       K = Pos ('$', SL.Strings (J))
Vrstica 41: Vrstica 43:
 
   Rpt.Add ('  pre  { margin: 0; padding: 0; background: #F0F0F7; font-family: "Courier New"; font-size: 8pt; }')
 
   Rpt.Add ('  pre  { margin: 0; padding: 0; background: #F0F0F7; font-family: "Courier New"; font-size: 8pt; }')
 
   Rpt.Add ('  table { margin: 0; padding: 0; font-size: 8pt; }')
 
   Rpt.Add ('  table { margin: 0; padding: 0; font-size: 8pt; }')
   Rpt.Add ('  th    { margin: 0; border: 0 solid #FFFFFF; border-top: 1 solid #FFFFFF; padding: 4; background: #E0E0F0; text-align: left; }')
+
   Rpt.Add ('  th    { margin: 0; border: 0 solid #FFFFFF; border-top: 1 solid #FFFFFF; padding: 4;' +
 +
            ' background: #E0E0F0; text-align: left; }')
 
   Rpt.Add ('  th.l  { border-left: 1 solid #FFFFFF; }')
 
   Rpt.Add ('  th.l  { border-left: 1 solid #FFFFFF; }')
 
   Rpt.Add ('  td    { margin: 0; border: 0 solid #FFFFFF; border-top: 1 solid #FFFFFF; padding: 2; background: #F0F0F7; }')
 
   Rpt.Add ('  td    { margin: 0; border: 0 solid #FFFFFF; border-top: 1 solid #FFFFFF; padding: 2; background: #F0F0F7; }')
Vrstica 52: Vrstica 55:
 
   Rpt.Add ('<body>')
 
   Rpt.Add ('<body>')
 
   Rpt.Add ('<H1>Analiza uporabe objektov v sistemu dne ' + DateTimeToStr (Now) + '</H1>')
 
   Rpt.Add ('<H1>Analiza uporabe objektov v sistemu dne ' + DateTimeToStr (Now) + '</H1>')
   Rpt.Add ('<table><tr><th>Ime</th><th>Uporabljen zadnjih 7</th><th>14</th><th>30</th><th>90</th><th>180 dni</th><th>360 dni</th><th>vse dni</th></tr></table>')
+
   Rpt.Add ('<table><tr><th>Ime<th>Uporabljen zadnjih 7<th>14<th>30<th>90<th>180 dni<th>360 dni<th>vse dni</tr></table>')
 
   UsageReportObject ('', Usg, Rpt, Root.SelectFolder('Izberi mapo za analizo'))
 
   UsageReportObject ('', Usg, Rpt, Root.SelectFolder('Izberi mapo za analizo'))
 
   Rpt.Add ('</body>')
 
   Rpt.Add ('</body>')
Vrstica 65: Vrstica 68:
 
   Dim I, J, K, C1, C2, C3, C4, C5, C6, C7 as Long, F1 As TFolder, S As String
 
   Dim I, J, K, C1, C2, C3, C4, C5, C6, C7 as Long, F1 As TFolder, S As String
 
   Hint ('Analizing: ' + Level + F.Name )
 
   Hint ('Analizing: ' + Level + F.Name )
   Rpt.Add ('<H2><img border=0 src="' + ProgramPath + 'htm\' + Copy (IntToHex (K), 7, 2) + '.gif"> ' + Level + F.Name + '/' + '</H2>')
+
   Rpt.Add ('<H2><img border=0 src="' + ProgramPath + 'htm\' + Copy (IntToHex (K), 7, 2) + '.gif"> ' +  
 +
            Level + F.Name + '/' + '</H2>')
 
   Rpt.Add ('<table>')
 
   Rpt.Add ('<table>')
 
   For I = 0 To F.Count - 1
 
   For I = 0 To F.Count - 1
 
     F1 = F.Items (I)
 
     F1 = F.Items (I)
 
     If F1.IsObject Then
 
     If F1.IsObject Then
       S = '<tr><td><img border=0 src="' + ProgramPath + 'htm\' + Copy (IntToHex (F1.ObjectType), 7, 2) + '.gif"> ' + F1.Name + '</td>'
+
       S = '<tr><td><img border=0 src="' + ProgramPath + 'htm\' + Copy (IntToHex (F1.ObjectType), 7, 2) + '.gif"> ' +  
 +
          F1.Name + '</td>'
 
       J = Usg.Find (IntToHex (F1.ID))
 
       J = Usg.Find (IntToHex (F1.ID))
 
       If J >= 0 Then
 
       If J >= 0 Then
Vrstica 85: Vrstica 90:
 
           If J = Usg.Count Then Break EndIf
 
           If J = Usg.Count Then Break EndIf
 
         Wend
 
         Wend
         Rpt.Add (S + '<td>' + FormatFloat ('#', C1) + '</td><td>' + FormatFloat ('#', C2) + '</td><td>' + FormatFloat ('#', C3) + '</td><td>' +
+
         Rpt.Add (S + '<td>' + FormatFloat ('#', C1) + '</td><td>' + FormatFloat ('#', C2) + '</td><td>' +  
          FormatFloat ('#', C4) + '</td><td>' + FormatFloat ('#', C5) + '</td><td>' + FormatFloat ('#', C6) + '</td><td>' + FormatFloat ('#', C7) + '</td></tr>')
+
                              FormatFloat ('#', C3) + '</td><td>' + FormatFloat ('#', C4) + '</td><td>' +  
 +
                              FormatFloat ('#', C5) + '</td><td>' + FormatFloat ('#', C6) + '</td><td>' +  
 +
                              FormatFloat ('#', C7) + '</td></tr>')
 
       Else
 
       Else
 
         Rpt.Add (S + '<td Colspan=5>Ni uporabljen</td></tr>')
 
         Rpt.Add (S + '<td Colspan=5>Ni uporabljen</td></tr>')

Redakcija: 16:29, 2. oktober 2007

Klic

Sub UsageReport


Sub UsageReport
  Dim I, J, K As Long, D As DateTime, Usg, Rpt As TStringList
  Dim FL, SL As TStringlist
  FL = CreateStringlist
  Usg = CreateStringlist
  FL.FindFiles (Datapath + 'logs\usage\', '*.ini', True)
  For I = 0 To FL.Count - 1
    Hint ('Reading: ' + IntToStr (I+1) + '/' + IntToStr (FL.Count))
    SL = CreateStringlist
    SL.Load (FL.Strings (I))
    J = Length (FL.Strings (I))
    D = EncodeDate (StrToInt (Copy (FL.Strings (I), J-13, 4)), 
                    StrToInt (Copy (FL.Strings (I), J-8, 2)), 
                    StrToInt (Copy (FL.Strings (I), J-5, 2)))
    For J = 0 To SL.Count - 1
      K = Pos ('$', SL.Strings (J))
      If K > 0 Then
        Usg.Add (Copy (SL.Strings (J), K+1, 8))
        Usg.Data (Usg.Count-1) = Trunc (Date - D)
      EndIf
    Next
    Destroy (SL)
  Next
  Destroy (FL)
  Usg.Sorted = True
  Rpt = CreateStringlist
  Rpt.Add ('<html>')
  Rpt.Add ('<head>')
  Rpt.Add ('<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">')
  Rpt.Add ('<meta http-equiv="Content-Language" content="sl">')
  Rpt.Add ('<meta http-equiv="Expires" CONTENT="0">')
  Rpt.Add ('<title></title>')
  Rpt.Add ('<style>')
  Rpt.Add ()
  Rpt.Add ('</style>')
  Rpt.Add ('</head>')
  Rpt.Add ('<body>')

Rpt.Add ('

Analiza uporabe objektov v sistemu dne ' + DateTimeToStr (Now) + '

') Rpt.Add ('

ImeUporabljen zadnjih 7143090180 dni360 dnivse dni

')

  UsageReportObject (, Usg, Rpt, Root.SelectFolder('Izberi mapo za analizo'))
  Rpt.Add ('</body>')
  Rpt.Add ('</html>')
  Rpt.Save (Datapath + 'Analiza.htm')
  ShowHTML('Analiza uporabe', Datapath + 'Analiza.htm')
  Destroy (Rpt)
  Destroy (Usg)
EndSub
Sub UsageReportObject (Level As String, Usg, Rpt As TStringList, F As TFolder)
  Dim I, J, K, C1, C2, C3, C4, C5, C6, C7 as Long, F1 As TFolder, S As String
  Hint ('Analizing: ' + Level + F.Name )

Rpt.Add ('

<img border=0 src="' + ProgramPath + 'htm\' + Copy (IntToHex (K), 7, 2) + '.gif"> ' + Level + F.Name + '/' + '

') Rpt.Add ('

') For I = 0 To F.Count - 1 F1 = F.Items (I) If F1.IsObject Then S = '' J = Usg.Find (IntToHex (F1.ID)) If J >= 0 Then C1 = 0 C2 = 0 C3 = 0 C4 = 0 C5 = 0 C6 = 0 C7 = 0 While Usg.Strings(J) = IntToHex (F1.ID) If Usg.Data(J) <= 7 Then C1 = C1 + 1 EndIf If Usg.Data(J) <= 14 Then C2 = C2 + 1 EndIf If Usg.Data(J) <= 30 Then C3 = C3 + 1 EndIf If Usg.Data(J) <= 90 Then C4 = C4 + 1 EndIf If Usg.Data(J) <= 180 Then C5 = C5 + 1 EndIf If Usg.Data(J) <= 360 Then C6 = C6 + 1 EndIf C7 = C7 + 1 J = J + 1 If J = Usg.Count Then Break EndIf Wend Rpt.Add (S + '') Else Rpt.Add (S + '')
      EndIf
    EndIf
  Next
Rpt.Add ('
<img border=0 src="' + ProgramPath + 'htm\' + Copy (IntToHex (F1.ObjectType), 7, 2) + '.gif"> ' + F1.Name + '' + FormatFloat ('#', C1) + '' + FormatFloat ('#', C2) + '' + FormatFloat ('#', C3) + '' + FormatFloat ('#', C4) + '' + FormatFloat ('#', C5) + '' + FormatFloat ('#', C6) + '' + FormatFloat ('#', C7) + '
Ni uporabljen

')

  For I = 0 To F.Count - 1
    F1 = F.Items (I)
    If F1.IsFolder Then
      UsageReportObject (Level + F.Name + '/', Usg, Rpt, F1)
    EndIf
  Next
EndSub