Hallo,
ich habe folgende beliebig lange Datei, in der die folgenden ersten 2 Steps mal aufgelistet sind (ist eine Datei ohne Dateiendung - vlt ist das auch schon das Problem)
dt of cycle 1 is controlled by solid element 38505
time........................... 0.00000E+000
time step...................... 4.71656E-009
kinetic energy................. 0.00000E+000
internal energy................ 1.00000E-020
spring and damper energy....... 1.00000E-020
hourglass energy .............. 0.00000E+000
system damping energy.......... 0.00000E+000
sliding interface energy....... 0.00000E+000
external work.................. 0.00000E+000
eroded kinetic energy.......... 0.00000E+000
eroded internal energy......... 0.00000E+000
total energy................... 1.00000E-020
total energy / initial energy.. 1.00000E+000
energy ratio w/o eroded energy. 1.00000E+000
global x velocity.............. 0.00000E+000
global y velocity.............. 0.00000E+000
global z velocity.............. 0.00000E+000
time per zone cycle.(nanosec).. 0
dt of cycle 25443 is controlled by solid element 17121
time........................... 1.19999E-004
time step...................... 4.71656E-009
kinetic energy................. 7.21069E-005
internal energy................ 6.37156E-004
spring and damper energy....... 1.00000E-020
hourglass energy .............. 1.32979E-004
system damping energy.......... 1.74355E-004
sliding interface energy....... 4.28727E-006
external work.................. 1.02093E-003
eroded kinetic energy.......... 0.00000E+000
eroded internal energy......... 0.00000E+000
total energy................... 1.02088E-003
total energy / initial energy.. 9.99954E-001
energy ratio w/o eroded energy. 9.99954E-001
global x velocity.............. -1.21242E-001
global y velocity.............. -6.43292E-002
global z velocity.............. -5.80735E+000
time per zone cycle.(nanosec).. 0
Ich möchte nun die Zeit, kinetische, innnere, etc. Energie eines jeden Steps in eine Zeile schreiben mit den jeweiligen Spaltenüberschriften wie im Code ersichtlich.
Ich bin blutiger anfänger - von daher wundert euch bitte nicht über die eventuelle Schwachsinnigkeit des Codes - aber VB ist irgendwie für einen Einsteiger verwirrend.
Mein bisheriger - nicht arbeitender Code:
Sub textlesen()
Dim zeile As String
Dim r As Long
Dim s As Long
Open "C:\vb_test_Auslesen\glstat" For Input As #1
Cells(1, 1).Formula = "time"
Cells(1, 3).Formula = "kin"
Cells(1, 4).Formula = "internal"
Cells(1, 5).Formula = "HG"
Cells(1, 6).Formula = "damp"
Cells(1, 7).Formula = "total"
s = 1
Do While Not EOF(1)
If s = 1 Then
r = Cells(Rows.Count, 1).End(xlUp).Row + 1 'next free row
End If
Line Input #1, zeile
If Len(zeile) Then
If InStr(0, "time..", Left$(zeile, 1), 1) Then
Print Cells(r, 1), Trim$(Mid$(zeile, 33, 11)); 'Time
s = 0
End If
If InStr(0, "kinetic energy..", Left$(zeile, 1), 1) Then
Print Cells(r, 3), Trim$(Mid$(zeile, 33, 11)); 'kinetic energy
s = 0
End If
If InStr(0, "internal energy..", Left$(zeile, 1), 1) Then
Print Cells(r, 4), Trim$(Mid$(zeile, 33, 11)); 'internal energy
s = 0
End If
If InStr(0, "hourglass energy ..", Left$(zeile, 1), 1) Then
Print Cells(r, 5), Trim$(Mid$(zeile, 33, 11)); 'hourglass energy
s = 0
End If
If InStr(0, "system damping energy..", Left$(zeile, 1), 1) Then
Print Cells(r, 6), Trim$(Mid$(zeile, 33, 11)); 'damping energy..
s = 0
End If
If InStr(0, "total energy..", Left$(zeile, 1), 1) Then
Print Cells(r, 7), Trim$(Mid$(zeile, 33, 11)); 'total energy
s = 1
End If
End If
Loop
Close
End Sub
Bin jeder Hilfe dankbar - desshalb von mir schon mal ein großes Danke im voraus.
* Topic verschoben *
ich habe folgende beliebig lange Datei, in der die folgenden ersten 2 Steps mal aufgelistet sind (ist eine Datei ohne Dateiendung - vlt ist das auch schon das Problem)
dt of cycle 1 is controlled by solid element 38505
time........................... 0.00000E+000
time step...................... 4.71656E-009
kinetic energy................. 0.00000E+000
internal energy................ 1.00000E-020
spring and damper energy....... 1.00000E-020
hourglass energy .............. 0.00000E+000
system damping energy.......... 0.00000E+000
sliding interface energy....... 0.00000E+000
external work.................. 0.00000E+000
eroded kinetic energy.......... 0.00000E+000
eroded internal energy......... 0.00000E+000
total energy................... 1.00000E-020
total energy / initial energy.. 1.00000E+000
energy ratio w/o eroded energy. 1.00000E+000
global x velocity.............. 0.00000E+000
global y velocity.............. 0.00000E+000
global z velocity.............. 0.00000E+000
time per zone cycle.(nanosec).. 0
dt of cycle 25443 is controlled by solid element 17121
time........................... 1.19999E-004
time step...................... 4.71656E-009
kinetic energy................. 7.21069E-005
internal energy................ 6.37156E-004
spring and damper energy....... 1.00000E-020
hourglass energy .............. 1.32979E-004
system damping energy.......... 1.74355E-004
sliding interface energy....... 4.28727E-006
external work.................. 1.02093E-003
eroded kinetic energy.......... 0.00000E+000
eroded internal energy......... 0.00000E+000
total energy................... 1.02088E-003
total energy / initial energy.. 9.99954E-001
energy ratio w/o eroded energy. 9.99954E-001
global x velocity.............. -1.21242E-001
global y velocity.............. -6.43292E-002
global z velocity.............. -5.80735E+000
time per zone cycle.(nanosec).. 0
Ich möchte nun die Zeit, kinetische, innnere, etc. Energie eines jeden Steps in eine Zeile schreiben mit den jeweiligen Spaltenüberschriften wie im Code ersichtlich.
Ich bin blutiger anfänger - von daher wundert euch bitte nicht über die eventuelle Schwachsinnigkeit des Codes - aber VB ist irgendwie für einen Einsteiger verwirrend.
Mein bisheriger - nicht arbeitender Code:
Sub textlesen()
Dim zeile As String
Dim r As Long
Dim s As Long
Open "C:\vb_test_Auslesen\glstat" For Input As #1
Cells(1, 1).Formula = "time"
Cells(1, 3).Formula = "kin"
Cells(1, 4).Formula = "internal"
Cells(1, 5).Formula = "HG"
Cells(1, 6).Formula = "damp"
Cells(1, 7).Formula = "total"
s = 1
Do While Not EOF(1)
If s = 1 Then
r = Cells(Rows.Count, 1).End(xlUp).Row + 1 'next free row
End If
Line Input #1, zeile
If Len(zeile) Then
If InStr(0, "time..", Left$(zeile, 1), 1) Then
Print Cells(r, 1), Trim$(Mid$(zeile, 33, 11)); 'Time
s = 0
End If
If InStr(0, "kinetic energy..", Left$(zeile, 1), 1) Then
Print Cells(r, 3), Trim$(Mid$(zeile, 33, 11)); 'kinetic energy
s = 0
End If
If InStr(0, "internal energy..", Left$(zeile, 1), 1) Then
Print Cells(r, 4), Trim$(Mid$(zeile, 33, 11)); 'internal energy
s = 0
End If
If InStr(0, "hourglass energy ..", Left$(zeile, 1), 1) Then
Print Cells(r, 5), Trim$(Mid$(zeile, 33, 11)); 'hourglass energy
s = 0
End If
If InStr(0, "system damping energy..", Left$(zeile, 1), 1) Then
Print Cells(r, 6), Trim$(Mid$(zeile, 33, 11)); 'damping energy..
s = 0
End If
If InStr(0, "total energy..", Left$(zeile, 1), 1) Then
Print Cells(r, 7), Trim$(Mid$(zeile, 33, 11)); 'total energy
s = 1
End If
End If
Loop
Close
End Sub
Bin jeder Hilfe dankbar - desshalb von mir schon mal ein großes Danke im voraus.
* Topic verschoben *
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „hal2000“ ()