Écran principal des rapports
Client: BSB Design (États-Unis)
Date: Décembre 2015
Technlogie: AutoCAD, VB .Net, SQLite, Excel
Cette application permet de calculer le temps réel que les utilisateurs passent à la réalisation de leur dessin. Les données sont sauvegardées dans une base de données locales SQLite et les résultats de tous les utilisateurs peuvent être combinés dans une base de données réseau du même type. Des rapports sont extraits selon la période, le dessinateur et le dessin. Ces rapports peuvent aussi être exportés vers un classeur Excel.
Échantillons de code
La première fonction intercepte toutes modifications au dessin et appelle la seconde fonction qui traite le temps passé dans le dessin. La seconde fonction fait appel à une classe d'objets personnalisée (TimeTrackingData) qui contient les propriétés et méthodes requises pour le traitement de l'information.
Private Sub docObjectModified(ByVal senderObj As Object, _
ByVal ObjectModifiedEvtArgs As ObjectEventArgs)
ProcessTimeTracking()
End Sub
Private Sub ProcessTimeTracking()
Dim ed As Editor = Application.DocumentManager.MdiActiveDocument.Editor
If m_TimeTrackingData Is Nothing Then
m_TimeTrackingData = SetTimeTrackingData()
m_dtLastSavedTime = m_TimeTrackingData.EndTime
m_TimeTrackingData.Save(m_TimeTrackingInfo.LocalDBName)
Else
If Now - m_TimeTrackingData.EndTime > m_TimeTrackingInfo.IdleTime Then
m_TimeTrackingData = SetTimeTrackingData()
m_dtLastSavedTime = m_TimeTrackingData.EndTime
m_TimeTrackingData.Save(m_TimeTrackingInfo.LocalDBName)
Else
m_TimeTrackingData.DrawingName = GetActiveDrawingFullName()
m_TimeTrackingData.EndTime = Now
If m_TimeTrackingData.EndTime - m_dtLastSavedTime > m_TimeTrackingInfo.IdleTime Then
m_TimeTrackingData.Save(m_TimeTrackingInfo.LocalDBName)
m_dtLastSavedTime = m_TimeTrackingData.EndTime()
End If
End If
End If
End Sub