- Offizieller Beitrag
Dann so:
Spoiler anzeigen
$sData_h = FileRead(@ScriptDir & '\test.h')
$aOut_h = StringRegExp($sData_h, '(?:\A|\r\n)#define\s+(\S+?)\s+(\d+),.+/\*(.+),(.+),.+/', 3)
$sData_c = FileRead(@ScriptDir & '\test.c')
$aOut_c = StringRegExp($sData_c, '.+\((.+?),\s*(\d+)\);', 3)
If IsArray($aOut_h) Then
$hFile = FileOpen(@ScriptDir & '\test_out.csv', 2)
If $hFile <> -1 Then
FileWriteLine($hFile, 'Adresse; Bezeichnung; Faktor; Einheit; akt. Wert; Wert1; Wert2; Wert3')
For $i = 0 To UBound($aOut_h) - 1 Step 4
$sTmp = ''
For $j = 0 To UBound($aOut_c) - 1 Step 2
If $aOut_c[$j] = $aOut_h[$i] Then
$sTmp = ';' & $aOut_c[$j + 1]
ExitLoop
EndIf
Next
FileWriteLine($hFile, $aOut_h[$i + 1] & ';' & $aOut_h[$i] & ';' & StringReplace($aOut_h[$i + 2], '.', ',') & ';' & $aOut_h[$i + 3] & $sTmp)
Next
FileClose($hFile)
EndIf
EndIf