;export_X31.au3 #include Global $sIn = "FTTX_KIS_GWG_Zaisenhofen_AR_01.b_.txt" Global $sOut = "Abrechnung.X31" ; 1) GAEB-X31-Header (XML-Start) Local $sXML = '' & @CRLF $sXML &= '' & @CRLF $sXML &= '
' & @CRLF $sXML &= ' 3.1' & @CRLF $sXML &= ' ' & @YEAR & "-" & StringFormat("%02d", @MON) & "-" & StringFormat("%02d", @MDAY) & '' & @CRLF $sXML &= ' X31' & @CRLF $sXML &= '
' & @CRLF $sXML &= ' ' & @CRLF $sXML &= ' Bauprojekt' & @CRLF $sXML &= ' Baustelle Muster' & @CRLF ; 2) Quelldatei einlesen Local $aLines = FileReadToArray($sIn) If @error Then Exit MsgBox(16, "Fehler", "Quelldatei nicht gefunden") ; 3) Aufmaßdaten einlesen Local $iSection = 0 $sXML &= ' ' & @CRLF For $i = 1 To $aLines[0] Local $s = StringStripWS($aLines[$i], 3) If $s = "[Aufmaßdaten]" Then $iSection = 1 ElseIf $iSection = 1 And StringLeft($s, 1) = "|" Then ; CSV-Linie in Felder aufsplitten Local $a = StringSplit($s, "|", 12) ; GAEB-Positionen erzeugen $sXML &= ' ' & @CRLF $sXML &= ' ' & StringStripWS($a[2], 3) & '' & @CRLF $sXML &= ' ' & StringStripWS($a[9], 3) & '' & @CRLF $sXML &= ' ' & StringReplace($a[10], ",", ".") & '' & @CRLF $sXML &= ' ' & $a[8] & '' & @CRLF $sXML &= ' ' & StringReplace($a[11], ",", ".") & '' & @CRLF $sXML &= ' ' & @CRLF EndIf Next $sXML &= ' ' & @CRLF $sXML &= ' ' & @CRLF ; 4) GAEB-X31-Footer $sXML &= '
' ; 5) XML-Datei speichern If _FileWriteFromArray($sOut, StringSplit($sXML, @CRLF, 1)) Then MsgBox(64, "Erfolgreich", "GAEB-X31-Datei '" & $sOut & "' wurde erstellt.") Else MsgBox(16, "Fehler", "GAEB-X31-Datei konnte nicht erstellt werden.") EndIf