batigol1112
Goto Top

Tracefiles ABC.tr auslesen

ich will ein Trace File (ähnlich wie textdatei) analysieren und daraus Diagramme erstellen

hallo,

ich arbeite im bereich sensornetwork und habe eine tracefile , der wie unten aussieht

s -t 0.001560381 -Hs 0 -Hd -1 -Ni 0 -Nx 5.00 -Ny 2.00 -Nz 0.00 -Ne 1000.000000 -Nl RTR -Nw --- -Ma 0 -Md 0 -Ms 0 -Mt 0 -Is 0.255 -Id -1.255 -It message -Il 32 -If 0 -Ii 0 -Iv 32
N -t 0.001636 -n 1 -e 999.999280
N -t 0.001636 -n 2 -e 999.999280
r -t 0.002380514 -Hs 1 -Hd -1 -Ni 1 -Nx 45.00 -Ny 2.00 -Nz 0.00 -Ne 999.999280 -Nl RTR -Nw --- -Ma 0 -Md ffffffff -Ms 0 -Mt 800 -Is 0.255 -Id -1.255 -It message -Il 32 -If 0 -Ii 0 -Iv 32
r -t 0.002380648 -Hs 2 -Hd -1 -Ni 2 -Nx 85.00 -Ny 2.00 -Nz 0.00 -Ne 999.999280 -Nl RTR -Nw --- -Ma 0 -Md ffffffff -Ms 0 -Mt 800 -Is 0.255 -Id -1.255 -It message -Il 32 -If 0 -Ii 0 -Iv 32
s -t 0.036574082 -Hs 2 -Hd -1 -Ni 2 -Nx 85.00 -Ny 2.00 -Nz 0.00 -Ne 999.999280 -Nl RTR -Nw --- -Ma 0 -Md 0 -Ms 0 -Mt 0 -Is 2.255 -Id -1.255 -It message -Il 32 -If 0 -Ii 1 -Iv 32
N -t 0.037009 -n 1 -e 999.998560
N -t 0.037009 -n 0 -e 999.998560
r -t 0.037754215 -Hs 1 -Hd -1 -Ni 1 -Nx 45.00 -Ny 2.00 -Nz 0.00 -Ne 999.998560 -Nl RTR -Nw --- -Ma 0 -Md ffffffff -Ms 2 -Mt 800 -Is 2.255 -Id -1.255 -It message -Il 32 -If 0 -Ii 1 -Iv 32
r -t 0.037754348 -Hs 0 -Hd -1 -Ni 0 -Nx 5.00 -Ny 2.00 -Nz 0.00 -Ne 999.998560 -Nl RTR -Nw --- -Ma 0 -Md ffffffff -Ms 2 -Mt 800 -Is 2.255 -Id -1.255 -It message -Il 32 -If 0 -Ii 1 -Iv 32
s -t 1.120124667 -Hs 1 -Hd -1 -Ni 1 -Nx 45.00 -Ny 2.00 -Nz 0.00 -Ne 999.998560 -Nl RTR -Nw --- -Ma 0 -Md 0 -Ms 0 -Mt 0 -Is 1.255 -Id -1.255 -It message -Il 32 -If 0 -Ii 2 -Iv 32
N -t 1.120740 -n 0 -e 999.997840
N -t 1.120740 -n 2 -e 999.997840

kurze Anleitung
r , received
s , sent
-t , time
N ,Energie
Ni, NodeId
ll , size

Also will zu einem bestimmten NODEID für einen Bestimmten Zeitpunkt, wissen,wieviel Pakete ein Node empfangen _ODER_ gesendet hat.

kann ich diese Informationen mit Hilfe von Visual Basic auslesen??
Die Datei ist etwa 800 Zeilen lang, hat aber immer die gleiche obige Format?

für jede Codehilfe mit beispiele bin ich sehr dankbar.

PS: bin Anfänger in Visual Basic , also d.h jede Kleinskeiten ist für mich hilfreich,

MfG

Content-Key: 158109

Url: https://administrator.de/contentid/158109

Printed on: April 24, 2024 at 08:04 o'clock

Member: RDiller
RDiller Jan 06, 2011 at 15:45:58 (UTC)
Goto Top
Hi,

hier ein Code den ich für ähnliche Aufgaben in Access benutze. Funktioniert auch in Excel, ...

Option Compare Database

'Deklarationen zum Path-Open Dialog
Private Type BROWSEINFO
hOwner As Long
pidlRoot As Long
pszDisplayName As String
lpszTitle As String
ulFlags As Long
lpfn As Long
lParam As Long
iImage As Long
End Type

Private Declare Function SHGetPathFromIDList Lib "shell32.dll" Alias _
"SHGetPathFromIDListA" (ByVal pidl As Long, _
ByVal pszPath As String) As Long

Private Declare Function SHBrowseForFolder Lib "shell32.dll" Alias _
"SHBrowseForFolderA" (lpBrowseInfo As BROWSEINFO) _
As Long

Private Declare Function SendMessage Lib "user32.dll" Alias "SendMessageA" _
(ByVal hWnd As Long, ByVal Msg As Long, wParam As Any, _
lParam As Any) As Long

Private Const BIF_RETURNONLYFSDIRS = &H1
Private Const BFFM_SETSELECTION = &H466
Private Const BFFM_INITIALIZED = 1

Global StartDir As String


'Deklarationen für der File-Open Dialog

Type DateiDialogStruktur
lStructSize As Long
hwndOwner As Long
hInstance As Long
lpstrFilter As String
lpstrCustomFilter As String
nMaxCustFilter As Long
nFilterIndex As Long
lpstrFile As String
nMaxFile As Long
lpstrFileTitle As String
nMaxFileTitle As Long
lpstrInitialDir As String
lpstrTitle As String
flags As Long
nFileOffset As Integer
nFileExtension As Integer
lpstrDefExt As String
lCustData As Long
lpfnHook As Long
lpTemplateName As String
End Type

Declare Function GetOpenFileName Lib "comdlg32.dll" Alias "GetOpenFileNameA" (DateiDialogStruktur As DateiDialogStruktur) As Long
Declare Function GetSaveFileName Lib "comdlg32.dll" Alias "GetSaveFileNameA" (DateiDialogStruktur As DateiDialogStruktur) As Long

Public Const OFN_ALLOWMULTISELECT = &H200
Public Const OFN_CREATEPROMPT = &H2000
Public Const OFN_ENABLEHOOK = &H20
Public Const OFN_ENABLETEMPLATE = &H40
Public Const OFN_ENABLETEMPLATEHANDLE = &H80
Public Const OFN_EXPLORER = &H80000
Public Const OFN_EXTENSIONDIFFERENT = &H400
Public Const OFN_FILEMUSTEXIST = &H1000
Public Const OFN_HIDEREADONLY = &H4
Public Const OFN_LONGNAMES = &H200000
Public Const OFN_NOCHANGEDIR = &H8
Public Const OFN_NODEREFERENCELINKS = &H100000
Public Const OFN_NOLONGNAMES = &H40000
Public Const OFN_NONETWORKBUTTON = &H20000
Public Const OFN_NOREADONLYRETURN = &H8000
Public Const OFN_NOTESTFILECREATE = &H10000
Public Const OFN_NOVALIDATE = &H100
Public Const OFN_OVERWRITEPROMPT = &H2
Public Const OFN_PATHMUSTEXIST = &H800
Public Const OFN_READONLY = &H1
Public Const OFN_SHAREAWARE = &H4000
Public Const OFN_SHAREFALLTHROUGH = 2
Public Const OFN_SHARENOWARN = 1
Public Const OFN_SHAREWARN = 0
Public Const OFN_SHOWHELP = &H10
Dim DateiDialogStruktur As DateiDialogStruktur

Public Function tracefile_auslesen()
Dim File As Integer
Dim TextOfLine As String
Dim Path As String
'r , received
's , sent
Path = "X:\XXX\ABC.tr"
'
'Das File öffnen und auslesen
File = FreeFile

Open Path For Input As File
'Jede Zeile einzeln Auslesen
While Not EOF(File)
Line Input #File, TextOfLine '
Select Case Left(TextOfLine, 1) 'Schauen ob es eine sent oder receive Zeile ist
Case "r", "s"
Parameter = Split(TextOfLine, "-") ' Die Zeile über die vorangestellten "-" trennen und in ein Array laden
For x = 1 To UBound(Parameter) 'Im Array Parameter(0) steht der Typ, deshalb ab 1. Ubound(Parameter) liefert die Anzahl der Array's
Parameterwerte = Split(Parameter(x), " ") 'Zwischen parameter und Wert stehet immer ein Leerzeichen, deshalb wieder in ein Arry laden mit dem Leerzeichen als Trenner
If UBound(Parameterwerte) > -1 Then 'Nur wenn Daten vorhanden sind Ausgeben
'Hier kannst Du die einzelenen Daten in eine Tabelle speichern, bzw. weiter bearbeiten
Debug.Print " Typ: "; Left(TextOfLine, 1); " Parameter: "; Parameterwerte(0); " Wert: "; Parameterwerte(1)
End If
Next x
End Select
Wend
Close File
End Function


LG

Ralf