;inc_amh.au3
#include <Array.au3>
#include <Debug.au3>

Global $aAngaben_graben[2][10] = [["Abschnitt", "Länge", "Breite", "Tiefe", "Bemerkung", "Asphaltstärke", "AsphaltRestlänge", "AsphaltRestBreite", "Anzahl Einzeiler", "Einzeiler Meter"]]
Global $aAngaben_gruben[2][10] = [["Abschnitt", "Länge", "Breite", "Tiefe", "Bemerkung", "Asphaltstärke", "AsphaltRestlänge", "AsphaltRestBreite", "Anzahl Einzeiler", "Einzeiler Meter"]]
Global $aAngaben_ZVRV[2][10] = [["Abschnitt", "Länge", "Breite", "Tiefe", "Bemerkung", "Asphaltstärke", "AsphaltRestlänge", "AsphaltRestBreite", "Anzahl Einzeiler", "Einzeiler Meter"]]
Global $aPosVertrag = ""

Func _ReadInputs2Array_graben()
	;Array Angaben
	$sAbschnitt = GUICtrlRead($tab1_txt_abschnitt)
	$sLeange = GUICtrlRead($tab1_txt_leange)
	$sBreite = GUICtrlRead($tab1_txt_breite)
	$sTiefe = GUICtrlRead($tab1_txt_tiefe)
	$sBemerkung = GUICtrlRead($tab1_txt_bemerkung)
	$sAsphaltstark = GUICtrlRead($tab1_txt_asphaltstark)
	$sAsphaltRestLang = GUICtrlRead($tab1_txt_rest_laenge)
	$sAsphaltRestBreit = GUICtrlRead($tab1_txt_rest_breite)
	$sAnzEinzeiler = GUICtrlRead($tab1_txt_anz_einz)
	$sEinzeilerMeter = GUICtrlRead($tab1_txt_lm_bre)

	$aAngaben_graben[1][0] = $sAbschnitt ;abeschnitt
	$aAngaben_graben[1][1] = _replaceKom2Punkt($sLeange) ;länge
	$aAngaben_graben[1][2] = _replaceKom2Punkt($sBreite) ;Breite
	$aAngaben_graben[1][3] = _replaceKom2Punkt($sTiefe) ; Tiefe
	$aAngaben_graben[1][4] = $sBemerkung ;Bemerkung
	$aAngaben_graben[1][5] = _replaceKom2Punkt($sAsphaltstark)
	$aAngaben_graben[1][6] = _replaceKom2Punkt($sAsphaltRestLang)
	$aAngaben_graben[1][7] = _replaceKom2Punkt($sAsphaltRestBreit)
	$aAngaben_graben[1][8] = _replaceKom2Punkt($sAnzEinzeiler)
	$aAngaben_graben[1][9] = _replaceKom2Punkt($sEinzeilerMeter)

EndFunc   ;==>_ReadInputs2Array_graben

func _ReadInputs2Array_ZV() ; Gui Read auf neue Gui anpassen.
	;Array Angaben
	$sAbschnitt = GUICtrlRead($tab_zw_rv_txt_abschnitt)
	$sLeange = GUICtrlRead($tab_zw_rv_txt_meter)
	$sBreite = GUICtrlRead($tab1_txt_breite)
	$sTiefe = GUICtrlRead($tab1_txt_tiefe)
	$sBemerkung = GUICtrlRead($tab1_txt_bemerkung)
	$sAsphaltstark = GUICtrlRead($tab1_txt_asphaltstark)
	$sAsphaltRestLang = GUICtrlRead($tab1_txt_rest_laenge)
	$sAsphaltRestBreit = GUICtrlRead($tab1_txt_rest_breite)
	$sAnzEinzeiler = GUICtrlRead($tab1_txt_anz_einz)
	$sEinzeilerMeter = GUICtrlRead($tab1_txt_lm_bre)

	$aAngaben_graben[1][0] = $sAbschnitt ;abeschnitt
	$aAngaben_graben[1][1] = _replaceKom2Punkt($sLeange) ;länge
	$aAngaben_graben[1][2] = _replaceKom2Punkt($sBreite) ;Breite
	$aAngaben_graben[1][3] = _replaceKom2Punkt($sTiefe) ; Tiefe
	$aAngaben_graben[1][4] = $sBemerkung ;Bemerkung
	$aAngaben_graben[1][5] = _replaceKom2Punkt($sAsphaltstark)
	$aAngaben_graben[1][6] = _replaceKom2Punkt($sAsphaltRestLang)
	$aAngaben_graben[1][7] = _replaceKom2Punkt($sAsphaltRestBreit)
	$aAngaben_graben[1][8] = _replaceKom2Punkt($sAnzEinzeiler)
	$aAngaben_graben[1][9] = _replaceKom2Punkt($sEinzeilerMeter)
EndFunc

Func _add_Graben()
;~ 	Global $sIniDatei = GUICtrlRead($LVE_TAB_chb_Vertrag)
	_ReadInputs2Array_graben()

	Global $aVertragsPos = _read_VertragsPositionen2Array()

	;grundgraben 37+38er
	_graben_grundbreite($aVertragsPos)
	;Zulage Asphalt je Grabenbreite +0,1
	If GUICtrlRead($tab1_chb_asphalt) = $GUI_CHECKED Or GUICtrlRead($tab1_chb_pflaster) = $GUI_CHECKED Or GUICtrlRead($tab1_chb_pflaster_gr) = $GUI_CHECKED Or GUICtrlRead($tab1_chb_mosaik) = $GUI_CHECKED Then
		$sText_Bemerkung = "Grabenprofil " & _replacePunkt2Koma($aAngaben_graben[1][1]) & " x " & _replacePunkt2Koma($aAngaben_graben[1][2])
		$sAbschnitt = $aAngaben_graben[1][0]  ;Abschnitt
		$sLeange = _replaceKom2Punkt($aAngaben_graben[1][1])
		$sBreite = _replaceKom2Punkt($aAngaben_graben[1][2])
		$sTiefe = _replaceKom2Punkt($aAngaben_graben[1][3])



		If GUICtrlRead($tab1_chb_asphalt) = $GUI_CHECKED Then
			Dim $aPosNr = ["10037152", "10037153"]
			_Find_Pos_From_Array($aPosNr, $aVertragsPos)
		EndIf
		If GUICtrlRead($tab1_chb_pflaster) = $GUI_CHECKED Then
			;Zulage Gräben Pflaster, Platten
			Dim $aPosNr = ["10037072", "10037073"]
			_Find_Pos_From_Array($aPosNr, $aVertragsPos)
		EndIf

		If GUICtrlRead($tab1_chb_pflaster_gr) = $GUI_CHECKED Then
			;Zulage Gräben Großpfl./Natursteinpl.
			Dim $aPosNr = ["10037092", "10037093"]
			_Find_Pos_From_Array($aPosNr, $aVertragsPos)
		EndIf

		If GUICtrlRead($tab1_chb_mosaik) = $GUI_CHECKED Then
			;Zulage Gräben Großpfl./Natursteinpl.
			Dim $aPosNr = ["10037112", "10037113"]
			_Find_Pos_From_Array($aPosNr, $aVertragsPos)
		EndIf

		If $sBreite >= 0.30 And $sBreite < 0.40 Then
			If $sIPosNr <> "" Then
				$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|1,0|" & _replacePunkt2Koma($sLeange) & "|" & _replacePunkt2Koma($sBreite) & "|" & _replacePunkt2Koma($sTiefe) & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
			Else
				$sINI_String = $sNotImVer
			EndIf
			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		EndIf
		If $sBreite >= 0.40 And $sBreite < 0.50 Then
			If $sIPosNr <> "" Then
				$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|1,1|" & _replacePunkt2Koma($sLeange) & "|" & _replacePunkt2Koma($sBreite) & "|" & _replacePunkt2Koma($sTiefe) & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
			Else
				$sINI_String = $sNotImVer
			EndIf
			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		EndIf
		If $sBreite >= 0.50 And $sBreite < 0.60 Then
			If $sIPosNr <> "" Then
				$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|1,2|" & _replacePunkt2Koma($sLeange) & "|" & _replacePunkt2Koma($sBreite) & "|" & _replacePunkt2Koma($sTiefe) & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
			Else
				$sINI_String = $sNotImVer
			EndIf
			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		EndIf
		If $sBreite >= 0.60 And $sBreite < 0.70 Then
			If $sIPosNr <> "" Then
				$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|1,3|" & _replacePunkt2Koma($sLeange) & "|" & _replacePunkt2Koma($sBreite) & "|" & _replacePunkt2Koma($sTiefe) & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
			Else
				$sINI_String = $sNotImVer
			EndIf
			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		EndIf
		If $sBreite >= 0.70 And $sBreite < 0.80 Then
			If $sIPosNr <> "" Then
				$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|1,4|" & _replacePunkt2Koma($sLeange) & "|" & _replacePunkt2Koma($sBreite) & "|" & _replacePunkt2Koma($sTiefe) & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
			Else
				$sINI_String = $sNotImVer
			EndIf
			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		EndIf
		If $sBreite >= 0.80 And $sBreite < 0.90 Then
			If $sIPosNr <> "" Then
				$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|1,5|" & _replacePunkt2Koma($sLeange) & "|" & _replacePunkt2Koma($sBreite) & "|" & _replacePunkt2Koma($sTiefe) & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
			Else
				$sINI_String = $sNotImVer
			EndIf
			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		EndIf
		If $sBreite >= 0.90 And $sBreite < 1.00 Then
			If $sIPosNr <> "" Then
				$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|1,6|" & _replacePunkt2Koma($sLeange) & "|" & _replacePunkt2Koma($sBreite) & "|" & _replacePunkt2Koma($sTiefe) & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
			Else
				$sINI_String = $sNotImVer
			EndIf
			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		EndIf
	
		If GUICtrlRead($chb_g_mind_L) = $GUI_CHECKED Then 
			_graben_mindertiefe_oberflache($aVertragsPos)
		EndIf 

		_graben_Asphalt_jeXcm($aVertragsPos)

		_graben_reststreifen_neu($aVertragsPos)

		;Bodenklasse 7
		_graben_bodenklassen7($aVertragsPos)

		;Mehrtiefe für gräben
		_graben_mehrtiefe($aVertragsPos)

;~ 		;winterbau graben
		_graben_winterbau($aVertragsPos)
	EndIf


		;Arbeitsraum instandsetzten
;~ 	_check_Arbeitsrauminstand_graben() ; erstmal entfernt nicht mehr regelkomform

;~ 		;Bodenaustausch für Gräben
		If GUICtrlRead($tab1_chb_bodentausch) = $GUI_CHECKED Then

			_graben_bodenaustausch($aVertragsPos)
		EndIf
		If GUICtrlRead($tab1_chb_bodentausch) = $GUI_CHECKED Then
;~ 		;Zulage Bodenautausch Tiefer
			_graben_bodenaustausch_mehrtiefe($aVertragsPos)
		EndIf
		;Medien
		;CU-Kabel bis 100 DA
		If GUICtrlRead($tab1_chb_cu_kabel) = $GUI_CHECKED Then
			_AnzahlCUKabelb100DA($aVertragsPos)
		EndIf
		;CU-Kabel über 100 DA
		If GUICtrlRead($tab1_chb_anz_g_100CU) = $GUI_CHECKED Then
			_AnzahlCUKabelu100DA($aVertragsPos)
		EndIf

		;DN50 Anzahl
		If GUICtrlRead($tab1_chb_dn50) = $GUI_CHECKED Then
			$sRest_Bemerkung = "x DN50 auslegen"
			$iAnzahl = GUICtrlRead($tab1_txt_anz_dn50)
			_AnzahlDN50($aVertragsPos, $sRest_Bemerkung, $iAnzahl)
		EndIf

		;2FachDN50 Anzahl
		If GUICtrlRead($tab1_chb_2xdn50) = $GUI_CHECKED Then
			$sRest_Bemerkung = "x 2xDN50 auslegen"
			$iAnzahl = GUICtrlRead($tab1_txt_anz_2xdn50)
			_AnzahlDN50($aVertragsPos, $sRest_Bemerkung, $iAnzahl)
		EndIf
		;3FachDN50 Anzahl
		If GUICtrlRead($tab1_chb_3xdn50) = $GUI_CHECKED Then
			$sRest_Bemerkung = "x 3xDN50 auslegen"
			$iAnzahl = GUICtrlRead($tab1_txt_anz_3xdn50)
			_AnzahlDN50($aVertragsPos, $sRest_Bemerkung, $iAnzahl)
		EndIf
		;7x12 Anzahl
		If GUICtrlRead($tab1_chb_snrve7x12) = $GUI_CHECKED Then
			$sRest_Bemerkung = "x 7x12 SNRVe auslegen"
			$iAnzahl = GUICtrlRead($tab1_txt_anz_snrve712)
			_AnzahlDN50($aVertragsPos, $sRest_Bemerkung, $iAnzahl)
		EndIf
		;22x7 Anzahl
		If GUICtrlRead($tab1_chb_snrve22x7) = $GUI_CHECKED Then
			$sRest_Bemerkung = "x 22x7 SNRVe auslegen"
			$iAnzahl = GUICtrlRead($tab1_txt_anz_snrve22x7)
			_AnzahlDN50($aVertragsPos, $sRest_Bemerkung, $iAnzahl)
		EndIf
		;8x7 Anzahl
		If GUICtrlRead($tab1_chb_snrve8x7) = $GUI_CHECKED Then
			$sRest_Bemerkung = "x 8x7 SNRVe auslegen"
			$iAnzahl = GUICtrlRead($tab1_txt_anz_snrve_8x7)
			_AnzahlDN50($aVertragsPos, $sRest_Bemerkung, $iAnzahl)
		EndIf
		;1x7 Anzahl
		If GUICtrlRead($tab1_chb_1x7) = $GUI_CHECKED Then
			$sRest_Bemerkung = "x 1x7 SNRVe auslegen"
			$iAnzahl = GUICtrlRead($tab1_txt_anz_1x7)
			_AnzahlDN50($aVertragsPos, $sRest_Bemerkung, $iAnzahl)
		EndIf
		
		;Anzahl DN110
		If GUICtrlRead($tab1_chb_dn110) = $GUI_CHECKED Then
			_AnzahlDN110($aVertragsPos)
		EndIf

		;Boardstein
		If GUICtrlRead($tab1_chb_bord) = $GUI_CHECKED Then
			_graben_boardstein($aVertragsPos)
		EndIf

	_ArrayDelete($aLVListe, 0)
	$iCount = -1
	_GUIListViewEx_InsertSpec($iLV_Aufma_Index, $iCount, $aLVListe)
	Global $aLVListe[1][13]

EndFunc   ;==>_add_Graben

Func _add_Gruben()
	_ReadInputs2Array_gruben()
	$aVertragsPos = _read_VertragsPositionen2Array()


	;Grube in der Wiese (UB)
	If GUICtrlRead($tab2_chb_wiese) = $GUI_CHECKED Then
		_grube_Wiese($aVertragsPos)
	EndIf

	;grube im Kies
	If GUICtrlRead($tab2_chb_kies) = $GUI_CHECKED Then
		_grube_Kies($aVertragsPos)
	EndIf
	;grube im Asphalt
	If GUICtrlRead($tab2_chb_asphalt) = $GUI_CHECKED Then
		_grube_Geb_Ober($aVertragsPos)
		_grube_Asphalt($aVertragsPos)
	EndIf
;~ 	;grube im Pflaster
	If GUICtrlRead($tab2_chb_pflaster) = $GUI_CHECKED Then
		_grube_Geb_Ober($aVertragsPos)
		_grube_pflaster($aVertragsPos)
	EndIf

	If GUICtrlRead($tab2_chb_mosaik) = $GUI_CHECKED Then
		_grube_Geb_Ober($aVertragsPos)
		_grube_Mosaik($aVertragsPos)
	EndIf

	If GUICtrlRead($tab2_chb_grnaturpfl) = $GUI_CHECKED Then
		_grube_Geb_Ober($aVertragsPos)
		_grube_NaturGro($aVertragsPos)
	EndIf


;~ 	_check_bodenklasse7_grube()
;~ 	_check_winterbau_grube()
;~ 	_check_bodentausch_grube()
	If GUICtrlRead($tab2_chb_fels) = $GUI_CHECKED Then
		_grube_bodenklasse7($aVertragsPos)
	EndIf

	If GUICtrlRead($tab2_chb_winterbau) = $GUI_CHECKED Then
		_grube_winterbau($aVertragsPos)
	EndIf

	If GUICtrlRead($tab2_chb_bodentausch) = $GUI_CHECKED Then
		_grube_bodenaustausch($aVertragsPos)
	EndIf

	If GUICtrlRead($tab2_chb_bord) = $GUI_CHECKED Then
		_graben_boardstein($aVertragsPos)
	EndIf

	_ArrayDelete($aLVListe, 0)
	$iCount = -1
	_GUIListViewEx_InsertSpec($iLV_Aufma_Index, $iCount, $aLVListe)
	Global $aLVListe[1][13]
EndFunc   ;==>_add_Gruben

Func _Find_Pos_From_Array($aMoeglichPos, $aPosVertrag)
	Global $sIPosNr = ""
	Global $sIKurztext = ""
	Global $sIEinheit = ""
	Global $sIPReis = ""
	For $i = 0 To UBound($aMoeglichPos) - 1
		$aiResult = _ArrayFindAll($aPosVertrag, $aMoeglichPos[$i], 0)
		If IsArray($aiResult) Then
;~ 				_DebugArrayDisplay($aiResult)
			Global $sIPosNr = $aPosVertrag[$aiResult[0]][0]
			Global $sIKurztext = $aPosVertrag[$aiResult[0]][1]
			Global $sIEinheit = $aPosVertrag[$aiResult[0]][2]
			Global $sIPReis = $aPosVertrag[$aiResult[0]][3]
			ConsoleWrite($sIPosNr & "|" & $sIKurztext & "|" & $sIEinheit & "|" & $sIPReis & @CRLF)
			ExitLoop
		Else
		EndIf
		If $i = UBound($aMoeglichPos) Then
			MsgBox(64, "", "nicht im Vertrag")
		EndIf
	Next
EndFunc   ;==>_Find_Pos_From_Array

Func _read_VertragsPositionen2Array()
;~ 	Row|Col 0|Col 1|Col 2|Col 3
;~ 	Row 0|10010423|Rohrvortrieb 110 mm|M|59,89
;~ 	Row 1|10010483|Start- oder Zielgrube herstellen(?160)|ST|110,74
	$sChb_rv = GUICtrlRead($LVE_TAB_chb_Vertrag)
;~ 	MsgBox(64, "", $sChb_rv)
	Local $sFilePath = @ScriptDir & "\daten\LV\" & $sChb_rv & ".txt"
	Local $aArray
	_FileReadToArray($sFilePath, $aArray, 0, "|")
	_ArrayDelete($aArray, 0)
	_ArraySort($aArray)
;~ 	_DebugArrayDisplay($aArray)
	Return $aArray
EndFunc   ;==>_read_VertragsPositionen2Array

Func _Gen_String_for_Listview($sString)

	$aSplittString = StringSplit($sString, "|")
	$sINI_String = ""

	For $i = 3 To 7
		$aSplittString[$i] = _replacePunkt2Koma($aSplittString[$i])
	Next

	$sINI_String = _ArrayToString($aSplittString, "|", 1)
;~ 	ConsoleWrite($sINI_String & @CRLF)
	Return $sINI_String

EndFunc   ;==>_Gen_String_for_Listview

Func _graben_grundbreite($aPosVertrag)
	Dim $aArrayDaten[10]

	$sText_Bemerkung = "Grabenprofil " & _replacePunkt2Koma($aAngaben_graben[1][1]) & " x " & _replacePunkt2Koma($aAngaben_graben[1][2]) & " x " & _replacePunkt2Koma($aAngaben_graben[1][3]) ;$sText_Bemerkung
	$sAbschnitt = $aAngaben_graben[1][0] ;Abschnitt
	$sLeange = $aAngaben_graben[1][1] ;Länge
	$sBreite = $aAngaben_graben[1][2] ;Breite
	$sTiefe = $aAngaben_graben[1][3] ;Tiefe
	;Graben Wiese
	If GUICtrlRead($tab1_chb_wiese) = $GUI_CHECKED Then
		;mindertiefe Breite 0,15-30 und Tiefe 0,30-0,45
		_graben_mindertiefe($sBreite, $sTiefe, "Wiese", $aPosVertrag) ;Breite,Tiefe,Oberfläche,AlleVertragsPos

		Dim $aPosNr = ["10037002", "10037003"]
		_Find_Pos_From_Array($aPosNr, $aPosVertrag)
		;Breite wiese von 0,3 bis 0,6 je 0,10cm
		If $sBreite >= 0.30 And $sBreite < 0.40 And $sTiefe >= 0.60 Then
			$sIFakotr = "1,0"
			If $sIPosNr <> "" Then
				$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
				$sINI_String = _Gen_String_for_Listview($sINI_String)
			Else
				$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||" & $sIEinheit & "|" & $sIKurztext & "|%Bemerkung%||0,00|"
			EndIf
			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		EndIf
		If $sBreite >= 0.40 And $sBreite < 0.50 And $sTiefe >= 0.60 Then
			$sIFakotr = "1,1" ;Faktor
			$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
			$sINI_String = _Gen_String_for_Listview($sINI_String)
			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		EndIf
		If $sBreite >= 0.50 And $sBreite < 0.60 And $sTiefe >= 0.60 Then
			$sIFakotr = "1,2" ;Faktor
			$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
			$sINI_String = _Gen_String_for_Listview($sINI_String)
			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		EndIf
		If $sBreite >= 0.60 And $sBreite < 0.70 And $sTiefe >= 0.60 Then
			$sIFakotr = "1,3" ;Faktor
			$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
			$sINI_String = _Gen_String_for_Listview($sINI_String)
			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		EndIf
		If $sBreite >= 0.70 And $sBreite < 0.80 And $sTiefe >= 0.60 Then
			$sIFakotr = "1,4" ;Faktor
			$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
			$sINI_String = _Gen_String_for_Listview($sINI_String)
			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		EndIf
		If $sBreite >= 0.80 And $sBreite < 0.90 And $sTiefe >= 0.60 Then
			$sIFakotr = "1,5" ;Faktor
			$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
			$sINI_String = _Gen_String_for_Listview($sINI_String)
			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		EndIf
		If $sBreite >= 0.90 And $sBreite < 1.00 And $sTiefe >= 0.60 Then
			$sIFakotr = "1,6" ;Faktor
			$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
			$sINI_String = _Gen_String_for_Listview($sINI_String)
			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		EndIf


	EndIf
	;Graben Kies
	If GUICtrlRead($tab1_chb_kies) = $GUI_CHECKED Then
		;mindertiefe Breite 0,15-30 und Tiefe 0,30-0,45
		_graben_mindertiefe($sBreite, $sTiefe, "Kies", $aPosVertrag)

		Dim $aPosNr = ["10037022", "10037023"]
		_Find_Pos_From_Array($aPosNr, $aPosVertrag)
		$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||" & $sIEinheit & "|" & $sIKurztext & "|%Bemerkung%||0,00|"
		;Breite Kies von 0,3 bis 0,6 je 0,10cm
		If $sBreite >= 0.30 And $sBreite < 0.40 And $sTiefe >= 0.60 Then
			$sIFakotr = "1,0" ;Faktor
			$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
			$sINI_String = _Gen_String_for_Listview($sINI_String)
			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		EndIf
		If $sBreite >= 0.40 And $sBreite < 0.50 And $sTiefe >= 0.60 Then
			$sIFakotr = "1,1" ;Faktor
			$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
			$sINI_String = _Gen_String_for_Listview($sINI_String)
			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		EndIf
		If $sBreite >= 0.50 And $sBreite < 0.60 And $sTiefe >= 0.60 Then
			$sIFakotr = "1,2" ;Faktor
			$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
			$sINI_String = _Gen_String_for_Listview($sINI_String)
			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		EndIf
		If $sBreite >= 0.60 And $sBreite < 0.70 And $sTiefe >= 0.60 Then
			$sIFakotr = "1,3" ;Faktor
			$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
			$sINI_String = _Gen_String_for_Listview($sINI_String)
			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		EndIf
		If $sBreite >= 0.70 And $sBreite < 0.80 And $sTiefe >= 0.60 Then
			$sIFakotr = "1,4" ;Faktor
			$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
			$sINI_String = _Gen_String_for_Listview($sINI_String)
			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		EndIf
		If $sBreite >= 0.80 And $sBreite < 0.90 And $sTiefe >= 0.60 Then
			$sIFakotr = "1,5" ;Faktor
			$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
			$sINI_String = _Gen_String_for_Listview($sINI_String)
			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		EndIf
		If $sBreite >= 0.90 And $sBreite < 1.00 And $sTiefe >= 0.60 Then
			$sIFakotr = "1,6" ;Faktor
			$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
			$sINI_String = _Gen_String_for_Listview($sINI_String)
			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		EndIf
	EndIf
	;Graben Asphalt, Pflaster, Mosaik
	If GUICtrlRead($tab1_chb_asphalt) = $GUI_CHECKED Or GUICtrlRead($tab1_chb_pflaster) = $GUI_CHECKED Or GUICtrlRead($tab1_chb_mosaik) = $GUI_CHECKED Or GUICtrlRead($tab1_chb_pflaster_gr) = $GUI_CHECKED Then
		;mindertiefe Breite 0,15-30 und Tiefe 0,30-0,45
		_graben_mindertiefe($sBreite, $sTiefe, "fürGebundenOB", $aPosVertrag)

		Dim $aPosNr = ["10037042", "10037043"]
		_Find_Pos_From_Array($aPosNr, $aPosVertrag)
		$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||" & $sIEinheit & "|" & $sIKurztext & "|%Bemerkung%||0,00|"
		;Breite Asphalt von 0,3 bis 0,6 je 0,10cm
		If $sBreite >= 0.30 And $sBreite < 0.40 And $sTiefe >= 0.60 Then
			$sIFakotr = "1,0" ;Faktor
			$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
			$sINI_String = _Gen_String_for_Listview($sINI_String)
			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		EndIf
		If $sBreite >= 0.40 And $sBreite < 0.50 And $sTiefe >= 0.60 Then
			$sIFakotr = "1,1" ;Faktor
			$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
			$sINI_String = _Gen_String_for_Listview($sINI_String)
			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		EndIf
		If $sBreite >= 0.50 And $sBreite < 0.60 And $sTiefe >= 0.60 Then
			$sIFakotr = "1,2" ;Faktor
			$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
			$sINI_String = _Gen_String_for_Listview($sINI_String)
			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		EndIf
		If $sBreite >= 0.60 And $sBreite < 0.70 And $sTiefe >= 0.60 Then
			$sIFakotr = "1,3" ;Faktor
			$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
			$sINI_String = _Gen_String_for_Listview($sINI_String)
			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		EndIf
		If $sBreite >= 0.70 And $sBreite < 0.80 And $sTiefe >= 0.60 Then
			$sIFakotr = "1,4" ;Faktor
			$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
			$sINI_String = _Gen_String_for_Listview($sINI_String)
			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		EndIf
		If $sBreite >= 0.80 And $sBreite < 0.90 And $sTiefe >= 0.60 Then
			$sIFakotr = "1,5" ;Faktor
			$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
			$sINI_String = _Gen_String_for_Listview($sINI_String)
			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		EndIf
		If $sBreite >= 0.90 And $sBreite < 1.00 And $sTiefe >= 0.60 Then
			$sIFakotr = "1,6" ;Faktor
			$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
			$sINI_String = _Gen_String_for_Listview($sINI_String)
			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		EndIf
	EndIf


EndFunc   ;==>_graben_grundbreite

Func _graben_mindertiefe($sBreite, $sTiefe, $sOberfl, $aPosVertrag)
	$sText_Bemerkung = "Grabenprofil " & _replacePunkt2Koma($aAngaben_graben[1][1]) & " x " & _replacePunkt2Koma($aAngaben_graben[1][2]) & " x " & _replacePunkt2Koma($aAngaben_graben[1][3]) ;$sText_Bemerkung
	$sAbschnitt = $aAngaben_graben[1][0] ;Abschnitt
	$sLeange = $aAngaben_graben[1][1] ;Länge
	$sBreite = $aAngaben_graben[1][2] ;Breite
	$sTiefe = $aAngaben_graben[1][3] ;Tiefe

	If $sOberfl = "Wiese" Then
		If GUICtrlRead($chb_g_mind_L) = $GUI_CHECKED Then
			If $sBreite = 0.15 And $sTiefe = 0.30 Then
				Dim $aPosNr = ["10038500"]
				_Find_Pos_From_Array($aPosNr, $aPosVertrag)
				$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||" & $sIEinheit & "|" & $sIKurztext & "|%Bemerkung%||0,00|"
				If $sIPosNr <> "" Then
					$sIFakotr = "1,0" ;Faktor
					$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
					$sINI_String = _Gen_String_for_Listview($sINI_String)
				Else
					$sINI_String = $sNotImVer
				EndIf
				_ArrayAdd($aLVListe, $sINI_String, 0, "|")
			EndIf
			If $sBreite = 0.15 And $sTiefe = 0.45 Then
				Dim $aPosNr = ["10038510"]
				_Find_Pos_From_Array($aPosNr, $aPosVertrag)
				$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||" & $sIEinheit & "|" & $sIKurztext & "|%Bemerkung%||0,00|"
				$sIFakotr = "1,0" ;Faktor
				$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
				$sINI_String = _Gen_String_for_Listview($sINI_String)
				_ArrayAdd($aLVListe, $sINI_String, 0, "|")
			EndIf
			If $sBreite = 0.30 And $sTiefe = 0.45 Then
				Dim $aPosNr = ["10038760"]
				_Find_Pos_From_Array($aPosNr, $aPosVertrag)
				$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||" & $sIEinheit & "|" & $sIKurztext & "|%Bemerkung%||0,00|"
				If $sIPosNr <> "" Then
					$sIFakotr = "1,0" ;Faktor
					$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
					$sINI_String = _Gen_String_for_Listview($sINI_String)
				Else
					$sINI_String = $sNotImVer
				EndIf
				_ArrayAdd($aLVListe, $sINI_String, 0, "|")
			EndIf
		EndIf
		If GUICtrlRead($chb_g_mind_ftth) = $GUI_CHECKED Then
			If $sBreite = 0.15 And $sTiefe = 0.30 Then
				Dim $aPosNr = ["10038560"]
				_Find_Pos_From_Array($aPosNr, $aPosVertrag)
				$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||" & $sIEinheit & "|" & $sIKurztext & "|%Bemerkung%||0,00|"
				If $sIPosNr <> "" Then
					$sIFakotr = "1,0" ;Faktor
					$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
					$sINI_String = _Gen_String_for_Listview($sINI_String)
				Else
					$sINI_String = $sNotImVer
				EndIf
				_ArrayAdd($aLVListe, $sINI_String, 0, "|")
			EndIf
			If $sBreite = 0.15 And $sTiefe = 0.45 Then
				Dim $aPosNr = ["10038570"]
				_Find_Pos_From_Array($aPosNr, $aPosVertrag)
				$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||" & $sIEinheit & "|" & $sIKurztext & "|%Bemerkung%||0,00|"
				If $sIPosNr <> "" Then
					$sIFakotr = "1,0" ;Faktor
					$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
					$sINI_String = _Gen_String_for_Listview($sINI_String)
				Else
					$sINI_String = $sNotImVer
				EndIf
				_ArrayAdd($aLVListe, $sINI_String, 0, "|")
			EndIf
			If $sBreite = 0.30 And $sTiefe = 0.45 Then
				Dim $aPosNr = ["10038790"]
				_Find_Pos_From_Array($aPosNr, $aPosVertrag)
				$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||" & $sIEinheit & "|" & $sIKurztext & "|%Bemerkung%||0,00|"
				If $sIPosNr <> "" Then
					$sIFakotr = "1,0" ;Faktor
					$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
					$sINI_String = _Gen_String_for_Listview($sINI_String)
				Else
					$sINI_String = $sNotImVer
				EndIf
				_ArrayAdd($aLVListe, $sINI_String, 0, "|")
			EndIf
		EndIf



	EndIf
	If $sOberfl = "Kies" Then
		If GUICtrlRead($chb_g_mind_L) = $GUI_CHECKED Then
			If $sBreite = 0.15 And $sTiefe = 0.30 Then
				Dim $aPosNr = ["10038520"]
				_Find_Pos_From_Array($aPosNr, $aPosVertrag)
				$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||" & $sIEinheit & "|" & $sIKurztext & "|%Bemerkung%||0,00|"
				If $sIPosNr <> "" Then
					$sIFakotr = "1,0" ;Faktor
					$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
					$sINI_String = _Gen_String_for_Listview($sINI_String)
				Else
					$sINI_String = $sNotImVer
				EndIf
				_ArrayAdd($aLVListe, $sINI_String, 0, "|")
			EndIf
			If $sBreite = 0.15 And $sTiefe = 0.45 Then
				Dim $aPosNr = ["10038530"]
				_Find_Pos_From_Array($aPosNr, $aPosVertrag)
				$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||" & $sIEinheit & "|" & $sIKurztext & "|%Bemerkung%||0,00|"
				If $sIPosNr <> "" Then
					$sIFakotr = "1,0" ;Faktor
					$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
					$sINI_String = _Gen_String_for_Listview($sINI_String)
				Else
					$sINI_String = $sNotImVer
				EndIf
				_ArrayAdd($aLVListe, $sINI_String, 0, "|")
			EndIf
			If $sBreite = 0.30 And $sTiefe = 0.45 Then
				Dim $aPosNr = ["10038770"]
				_Find_Pos_From_Array($aPosNr, $aPosVertrag)
				$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||" & $sIEinheit & "|" & $sIKurztext & "|%Bemerkung%||0,00|"
				If $sIPosNr <> "" Then
					$sIFakotr = "1,0" ;Faktor
					$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
					$sINI_String = _Gen_String_for_Listview($sINI_String)
				Else
					$sINI_String = $sNotImVer
				EndIf
				_ArrayAdd($aLVListe, $sINI_String, 0, "|")
			EndIf
		EndIf

		If GUICtrlRead($chb_g_mind_ftth) = $GUI_CHECKED Then
			If $sBreite = 0.15 And $sTiefe = 0.30 Then
				Dim $aPosNr = ["10038580"]
				_Find_Pos_From_Array($aPosNr, $aPosVertrag)
				$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||" & $sIEinheit & "|" & $sIKurztext & "|%Bemerkung%||0,00|"
				If $sIPosNr <> "" Then
					$sIFakotr = "1,0" ;Faktor
					$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
					$sINI_String = _Gen_String_for_Listview($sINI_String)
				Else
					$sINI_String = $sNotImVer
				EndIf
				_ArrayAdd($aLVListe, $sINI_String, 0, "|")
			EndIf
			If $sBreite = 0.15 And $sTiefe = 0.45 Then
				Dim $aPosNr = ["10038590"]
				_Find_Pos_From_Array($aPosNr, $aPosVertrag)
				$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||" & $sIEinheit & "|" & $sIKurztext & "|%Bemerkung%||0,00|"
				If $sIPosNr <> "" Then
					$sIFakotr = "1,0" ;Faktor
					$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
					$sINI_String = _Gen_String_for_Listview($sINI_String)
				Else
					$sINI_String = $sNotImVer
				EndIf
				_ArrayAdd($aLVListe, $sINI_String, 0, "|")
			EndIf
			If $sBreite = 0.30 And $sTiefe = 0.45 Then
				Dim $aPosNr = ["10038800"]
				_Find_Pos_From_Array($aPosNr, $aPosVertrag)
				$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||" & $sIEinheit & "|" & $sIKurztext & "|%Bemerkung%||0,00|"
				If $sIPosNr <> "" Then
					$sIFakotr = "1,0" ;Faktor
					$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
					$sINI_String = _Gen_String_for_Listview($sINI_String)
				Else
					$sINI_String = $sNotImVer
				EndIf
				_ArrayAdd($aLVListe, $sINI_String, 0, "|")
			EndIf
		EndIf


	EndIf
	If $sOberfl = "fürGebundenOB" Then
		$sAbschnitt
		If GUICtrlRead($chb_g_mind_L) = $GUI_CHECKED Then
			If $sBreite = 0.15 And $sTiefe = 0.30 Then
				Dim $aPosNr = ["10038540"]
				_Find_Pos_From_Array($aPosNr, $aPosVertrag)
				$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||" & $sIEinheit & "|" & $sIKurztext & "|%Bemerkung%||0,00|"
				If $sIPosNr <> "" Then
					$sIFakotr = "1,0" ;Faktor
					$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
					$sINI_String = _Gen_String_for_Listview($sINI_String)
				Else
					$sINI_String = $sNotImVer
				EndIf
				_ArrayAdd($aLVListe, $sINI_String, 0, "|")
			EndIf
			If $sBreite = 0.15 And $sTiefe = 0.45 Then
				Dim $aPosNr = ["10038550"]
				_Find_Pos_From_Array($aPosNr, $aPosVertrag)
				$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||" & $sIEinheit & "|" & $sIKurztext & "|%Bemerkung%||0,00|"
				If $sIPosNr <> "" Then
					$sIFakotr = "1,0" ;Faktor
					$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
					$sINI_String = _Gen_String_for_Listview($sINI_String)
				Else
					$sINI_String = $sNotImVer
				EndIf
				_ArrayAdd($aLVListe, $sINI_String, 0, "|")
			EndIf
			If $sBreite = 0.30 And $sTiefe = 0.45 Then
				Dim $aPosNr = ["10038780"]
				_Find_Pos_From_Array($aPosNr, $aPosVertrag)
				$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||" & $sIEinheit & "|" & $sIKurztext & "|%Bemerkung%||0,00|"
				If $sIPosNr <> "" Then
					$sIFakotr = "1,0" ;Faktor
					$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
					$sINI_String = _Gen_String_for_Listview($sINI_String)
				Else
					$sINI_String = $sNotImVer
				EndIf
				_ArrayAdd($aLVListe, $sINI_String, 0, "|")
			EndIf
		EndIf

		If GUICtrlRead($chb_g_mind_ftth) = $GUI_CHECKED Then
			If $sBreite = 0.15 And $sTiefe = 0.30 Then
				Dim $aPosNr = ["10038600"]
				_Find_Pos_From_Array($aPosNr, $aPosVertrag)
				$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||" & $sIEinheit & "|" & $sIKurztext & "|%Bemerkung%||0,00|"
				If $sIPosNr <> "" Then
					$sIFakotr = "1,0" ;Faktor
					$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
					$sINI_String = _Gen_String_for_Listview($sINI_String)
				Else
					$sINI_String = $sNotImVer
				EndIf
				_ArrayAdd($aLVListe, $sINI_String, 0, "|")
			EndIf
			If $sBreite = 0.15 And $sTiefe = 0.45 Then
				Dim $aPosNr = ["10038610"]
				_Find_Pos_From_Array($aPosNr, $aPosVertrag)
				$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||" & $sIEinheit & "|" & $sIKurztext & "|%Bemerkung%||0,00|"
				If $sIPosNr <> "" Then
					$sIFakotr = "1,0" ;Faktor
					$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
					$sINI_String = _Gen_String_for_Listview($sINI_String)
				Else
					$sINI_String = $sNotImVer
				EndIf
				_ArrayAdd($aLVListe, $sINI_String, 0, "|")
			EndIf
			If $sBreite = 0.30 And $sTiefe = 0.45 Then
				Dim $aPosNr = ["10038810"]
				_Find_Pos_From_Array($aPosNr, $aPosVertrag)
				$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||" & $sIEinheit & "|" & $sIKurztext & "|%Bemerkung%||0,00|"
				If $sIPosNr <> "" Then
					$sIFakotr = "1,0" ;Faktor
					$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
					$sINI_String = _Gen_String_for_Listview($sINI_String)
				Else
					$sINI_String = $sNotImVer
				EndIf
				_ArrayAdd($aLVListe, $sINI_String, 0, "|")
			EndIf
		EndIf


	EndIf


EndFunc   ;==>_graben_mindertiefe

Func _graben_mindertiefe_oberflache($aVertragsPos)
	$sText_Bemerkung = "Grabenprofil " & _replacePunkt2Koma($aAngaben_graben[1][1]) & " x " & _replacePunkt2Koma($aAngaben_graben[1][2]) & " x " & _replacePunkt2Koma($aAngaben_graben[1][3]) ;$sText_Bemerkung
	$sAbschnitt = $aAngaben_graben[1][0] ;Abschnitt
	$sLeange = $aAngaben_graben[1][1] ;Länge
	$sBreite = $aAngaben_graben[1][2] ;Breite
	$sTiefe = $aAngaben_graben[1][3] ;Tiefe

	If GUICtrlRead($tab1_chb_asphalt) = $GUI_CHECKED Then
		Dim $aPosNr = ["10038670"]
		_Find_Pos_From_Array($aPosNr, $aVertragsPos)
		If $sIPosNr <> "" Then
			$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|1,0|" & _replacePunkt2Koma($sLeange) & "|" & _replacePunkt2Koma($sBreite) & "|" & _replacePunkt2Koma($sTiefe) & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
		Else
			$sINI_String = $sNotImVer
		EndIf
		_ArrayAdd($aLVListe, $sINI_String, 0, "|")
	EndIf
	If GUICtrlRead($tab1_chb_pflaster) = $GUI_CHECKED Then
		;Zulage Gräben Pflaster, Platten
		Dim $aPosNr = ["10038630"]
		_Find_Pos_From_Array($aPosNr, $aVertragsPos)
		If $sIPosNr <> "" Then
			$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|1,0|" & _replacePunkt2Koma($sLeange) & "|" & _replacePunkt2Koma($sBreite) & "|" & _replacePunkt2Koma($sTiefe) & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
		Else
			$sINI_String = $sNotImVer
		EndIf
		_ArrayAdd($aLVListe, $sINI_String, 0, "|")
	EndIf

	If GUICtrlRead($tab1_chb_pflaster_gr) = $GUI_CHECKED Then
		;Zulage Gräben Großpfl./Natursteinpl.
		Dim $aPosNr = ["10038640"
		_Find_Pos_From_Array($aPosNr, $aVertragsPos)
		If $sIPosNr <> "" Then
			$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|1,0|" & _replacePunkt2Koma($sLeange) & "|" & _replacePunkt2Koma($sBreite) & "|" & _replacePunkt2Koma($sTiefe) & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
		Else
			$sINI_String = $sNotImVer
		EndIf
		_ArrayAdd($aLVListe, $sINI_String, 0, "|")
	EndIf

	If GUICtrlRead($tab1_chb_mosaik) = $GUI_CHECKED Then
		;Zulage Gräben Großpfl./Natursteinpl.
		Dim $aPosNr = ["10038650"]
		_Find_Pos_From_Array($aPosNr, $aVertragsPos)
		If $sIPosNr <> "" Then
			$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|1,0|" & _replacePunkt2Koma($sLeange) & "|" & _replacePunkt2Koma($sBreite) & "|" & _replacePunkt2Koma($sTiefe) & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
		Else
			$sINI_String = $sNotImVer
		EndIf
		_ArrayAdd($aLVListe, $sINI_String, 0, "|")
	EndIf
EndFunc   ;==>_graben_mindertiefe_oberflache

Func _graben_bodenklassen7($aPosVertrag)
	;Bodenkl. 7 oder Frost f. Gräben
	$sText_Bemerkung = "Grabenprofil " & _replacePunkt2Koma($aAngaben_graben[1][1]) & " x " & _replacePunkt2Koma($aAngaben_graben[1][2]) & " x " & _replacePunkt2Koma($aAngaben_graben[1][3])
	$sAbschnitt = $aAngaben_graben[1][0]  ;Abschnitt
	$sLeange = _replaceKom2Punkt($aAngaben_graben[1][1])
	$sBreite = _replaceKom2Punkt($aAngaben_graben[1][2])
	$sTiefe = _replaceKom2Punkt($aAngaben_graben[1][3])

	If GUICtrlRead($tab1_chb_fels) = $GUI_CHECKED Then


		;mindertiefe Breite 0,15-30
		If $sBreite >= 0.15 And $sBreite < 0.30 Then
			Dim $aPosNr = ["10038730"]
			_Find_Pos_From_Array($aPosNr, $aPosVertrag)
			$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||" & $sIEinheit & "|" & $sIKurztext & "|%Bemerkung%||0,00|"
			If $sIPosNr <> "" Then
				$sIFakotr = "1,0" ;Faktor
				$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
				$sINI_String = _Gen_String_for_Listview($sINI_String)
			Else
				$sINI_String = $sNotImVer
			EndIf
			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		EndIf

		;1xBodenklasse7 in m
		If $sBreite >= 0.30 And $sBreite < 0.40 Then
			Dim $aPosNr = ["10037282", "10037283"]
			_Find_Pos_From_Array($aPosNr, $aPosVertrag)
			$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||" & $sIEinheit & "|" & $sIKurztext & "|%Bemerkung%||0,00|"
			If $sIPosNr <> "" Then
				$sIFakotr = "1,0" ;Faktor
				$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
				$sINI_String = _Gen_String_for_Listview($sINI_String)
			Else
				$sINI_String = $sNotImVer
			EndIf
			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		EndIf
		If $sBreite >= 0.40 And $sBreite < 0.50 Then
			Dim $aPosNr = ["10037282", "10037283"]
			_Find_Pos_From_Array($aPosNr, $aPosVertrag)
			$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||" & $sIEinheit & "|" & $sIKurztext & "|%Bemerkung%||0,00|"
			If $sIPosNr <> "" Then
				$sIFakotr = "1,1" ;Faktor
				$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
				$sINI_String = _Gen_String_for_Listview($sINI_String)
			Else
				$sINI_String = $sNotImVer
			EndIf
			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		EndIf
		If $sBreite >= 0.50 And $sBreite < 0.60 Then
			Dim $aPosNr = ["10037282", "10037283"]
			_Find_Pos_From_Array($aPosNr, $aPosVertrag)
			$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||" & $sIEinheit & "|" & $sIKurztext & "|%Bemerkung%||0,00|"
			If $sIPosNr <> "" Then
				$sIFakotr = "1,2" ;Faktor
				$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
				$sINI_String = _Gen_String_for_Listview($sINI_String)
			Else
				$sINI_String = $sNotImVer
			EndIf
			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		EndIf
		If $sBreite >= 0.60 And $sBreite < 0.70 Then
			Dim $aPosNr = ["10037282", "10037283"]
			_Find_Pos_From_Array($aPosNr, $aPosVertrag)
			$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||" & $sIEinheit & "|" & $sIKurztext & "|%Bemerkung%||0,00|"
			If $sIPosNr <> "" Then
				$sIFakotr = "1,3" ;Faktor
				$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
				$sINI_String = _Gen_String_for_Listview($sINI_String)
			Else
				$sINI_String = $sNotImVer
			EndIf
			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		EndIf
		If $sBreite >= 0.70 And $sBreite < 0.80 Then
			Dim $aPosNr = ["10037282", "10037283"]
			_Find_Pos_From_Array($aPosNr, $aPosVertrag)
			$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||" & $sIEinheit & "|" & $sIKurztext & "|%Bemerkung%||0,00|"
			If $sIPosNr <> "" Then
				$sIFakotr = "1,4" ;Faktor
				$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
				$sINI_String = _Gen_String_for_Listview($sINI_String)
			Else
				$sINI_String = $sNotImVer
			EndIf
			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		EndIf
		If $sBreite >= 0.80 And $sBreite < 0.90 Then
			Dim $aPosNr = ["10037282", "10037283"]
			_Find_Pos_From_Array($aPosNr, $aPosVertrag)
			$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||" & $sIEinheit & "|" & $sIKurztext & "|%Bemerkung%||0,00|"
			If $sIPosNr <> "" Then
				$sIFakotr = "1,5" ;Faktor
				$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
				$sINI_String = _Gen_String_for_Listview($sINI_String)
			Else
				$sINI_String = $sNotImVer
			EndIf
			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		EndIf
		If $sBreite >= 0.90 And $sBreite < 1.00 Then
			Dim $aPosNr = ["10037282", "10037283"]
			_Find_Pos_From_Array($aPosNr, $aPosVertrag)
			$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||" & $sIEinheit & "|" & $sIKurztext & "|%Bemerkung%||0,00|"
			If $sIPosNr <> "" Then
				$sIFakotr = "1,6" ;Faktor
				$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
				$sINI_String = _Gen_String_for_Listview($sINI_String)
			Else
				$sINI_String = $sNotImVer
			EndIf
			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		EndIf

	EndIf

EndFunc   ;==>_graben_bodenklassen7

Func _graben_mehrtiefe($aPosVertrag)

	$sText_Bemerkung = "Grabentiefe " & _replacePunkt2Koma($aAngaben_graben[1][3]) & " m"
	$sAbschnitt = $aAngaben_graben[1][0]  ;Abschnitt
	$sLeange = _replaceKom2Punkt($aAngaben_graben[1][1])
	$sBreite = _replaceKom2Punkt($aAngaben_graben[1][2])
	$sTiefe = _replaceKom2Punkt($aAngaben_graben[1][3])


	;mindertiefe Breite 0,15-30
	If $sBreite = 0.15 Then

		If $sTiefe > 0.45 Then
;~ 			MsgBox(64, $sTiefe, "tiefe")
			Dim $aPosNr = ["10038620"]
			_Find_Pos_From_Array($aPosNr, $aPosVertrag)
			$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||" & $sIEinheit & "|" & $sIKurztext & "|%Bemerkung%||0,00|"
			If $sIPosNr <> "" Then
				$sIFakotr = "1,0" ;Faktor
				$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
				$sINI_String = _Gen_String_for_Listview($sINI_String)
			Else
				$sINI_String = $sNotImVer
			EndIf
			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		EndIf
	EndIf

	If $sTiefe >= 0.70 And $sTiefe < 0.80 Then
		Dim $aPosNr = ["10037062", "10037063"]
		_Find_Pos_From_Array($aPosNr, $aPosVertrag)
		$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||" & $sIEinheit & "|" & $sIKurztext & "|%Bemerkung%||0,00|"
		If $sIPosNr <> "" Then
			$sIFakotr = "1,0" ;Faktor
			$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
			$sINI_String = _Gen_String_for_Listview($sINI_String)
		Else
			$sINI_String = $sNotImVer
		EndIf
		_ArrayAdd($aLVListe, $sINI_String, 0, "|")
	EndIf
	If $sTiefe >= 0.80 And $sTiefe < 0.90 Then
		Dim $aPosNr = ["10037062", "10037063"]
		_Find_Pos_From_Array($aPosNr, $aPosVertrag)
		$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||" & $sIEinheit & "|" & $sIKurztext & "|%Bemerkung%||0,00|"
		If $sIPosNr <> "" Then
			$sIFakotr = "2,0" ;Faktor
			$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
			$sINI_String = _Gen_String_for_Listview($sINI_String)
		Else
			$sINI_String = $sNotImVer
		EndIf
		_ArrayAdd($aLVListe, $sINI_String, 0, "|")
	EndIf
	If $sTiefe >= 0.90 And $sTiefe < 1.00 Then
		Dim $aPosNr = ["10037062", "10037063"]
		_Find_Pos_From_Array($aPosNr, $aPosVertrag)
		$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||" & $sIEinheit & "|" & $sIKurztext & "|%Bemerkung%||0,00|"
		If $sIPosNr <> "" Then
			$sIFakotr = "3,0" ;Faktor
			$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
			$sINI_String = _Gen_String_for_Listview($sINI_String)
		Else
			$sINI_String = $sNotImVer
		EndIf
		_ArrayAdd($aLVListe, $sINI_String, 0, "|")
	EndIf
	If $sTiefe >= 1.00 And $sTiefe < 1.10 Then
		Dim $aPosNr = ["10037062", "10037063"]
		_Find_Pos_From_Array($aPosNr, $aPosVertrag)
		$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||" & $sIEinheit & "|" & $sIKurztext & "|%Bemerkung%||0,00|"
		If $sIPosNr <> "" Then
			$sIFakotr = "4,0" ;Faktor
			$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
			$sINI_String = _Gen_String_for_Listview($sINI_String)
		Else
			$sINI_String = $sNotImVer
		EndIf
		_ArrayAdd($aLVListe, $sINI_String, 0, "|")
	EndIf
	If $sTiefe >= 1.10 And $sTiefe < 1.20 Then
		Dim $aPosNr = ["10037062", "10037063"]
		_Find_Pos_From_Array($aPosNr, $aPosVertrag)
		$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||" & $sIEinheit & "|" & $sIKurztext & "|%Bemerkung%||0,00|"
		If $sIPosNr <> "" Then
			$sIFakotr = "5,0" ;Faktor
			$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
			$sINI_String = _Gen_String_for_Listview($sINI_String)
		Else
			$sINI_String = $sNotImVer
		EndIf
		_ArrayAdd($aLVListe, $sINI_String, 0, "|")
	EndIf
	If $sTiefe >= 1.20 And $sTiefe < 1.30 Then
		Dim $aPosNr = ["10037062", "10037063"]
		_Find_Pos_From_Array($aPosNr, $aPosVertrag)
		$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||" & $sIEinheit & "|" & $sIKurztext & "|%Bemerkung%||0,00|"
		If $sIPosNr <> "" Then
			$sIFakotr = "6,0" ;Faktor
			$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
			$sINI_String = _Gen_String_for_Listview($sINI_String)
		Else
			$sINI_String = $sNotImVer
		EndIf
		_ArrayAdd($aLVListe, $sINI_String, 0, "|")
	EndIf



EndFunc   ;==>_graben_mehrtiefe

Func _graben_winterbau($aPosVertrag)


	$sText_Bemerkung = "Oberfläche wird  im Frühjahr instandgesetzt"
	$sAbschnitt = $aAngaben_graben[1][0]  ;Abschnitt
	$sLeange = _replaceKom2Punkt($aAngaben_graben[1][1])
	$sBreite = _replaceKom2Punkt($aAngaben_graben[1][2])
	$sTiefe = _replaceKom2Punkt($aAngaben_graben[1][3])

	If GUICtrlRead($tab1_chb_winterbau) = $GUI_CHECKED Then
		;mindertiefe Breite 0,15-30
		If $sBreite >= 0.15 And $sBreite < 0.30 Then

			Dim $aPosNr = ["10038750"]
			_Find_Pos_From_Array($aPosNr, $aPosVertrag)
			$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||" & $sIEinheit & "|" & $sIKurztext & "|%Bemerkung%||0,00|"
			If $sIPosNr <> "" Then
				$sIFakotr = "1,0" ;Faktor
				$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
				$sINI_String = _Gen_String_for_Listview($sINI_String)
			Else
				$sINI_String = $sNotImVer
			EndIf
			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		EndIf

		Dim $aPosNr = ["10037442", "10037443"]
		_Find_Pos_From_Array($aPosNr, $aPosVertrag)
		$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||" & $sIEinheit & "|" & $sIKurztext & "|%Bemerkung%||0,00|"

		If $sBreite >= 0.30 And $sBreite < 0.40 Then
			If $sIPosNr <> "" Then
				$sIFakotr = "1,0" ;Faktor
				$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
				$sINI_String = _Gen_String_for_Listview($sINI_String)
			Else
				$sINI_String = $sNotImVer
			EndIf

			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		EndIf
		If $sBreite >= 0.40 And $sBreite < 0.50 Then
			If $sIPosNr <> "" Then
				$sIFakotr = "1,1" ;Faktor
				$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
				$sINI_String = _Gen_String_for_Listview($sINI_String)
			Else
				$sINI_String = $sNotImVer
			EndIf

			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		EndIf
		If $sBreite >= 0.50 And $sBreite < 0.60 Then
			If $sIPosNr <> "" Then
				$sIFakotr = "1,2" ;Faktor
				$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
				$sINI_String = _Gen_String_for_Listview($sINI_String)
			Else
				$sINI_String = $sNotImVer
			EndIf

			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		EndIf
		If $sBreite >= 0.60 And $sBreite < 0.70 Then
			If $sIPosNr <> "" Then
				$sIFakotr = "1,3" ;Faktor
				$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
				$sINI_String = _Gen_String_for_Listview($sINI_String)
			Else
				$sINI_String = $sNotImVer
			EndIf

			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		EndIf
		If $sBreite >= 0.70 And $sBreite < 0.80 Then
			If $sIPosNr <> "" Then
				$sIFakotr = "1,4" ;Faktor
				$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
				$sINI_String = _Gen_String_for_Listview($sINI_String)
			Else
				$sINI_String = $sNotImVer
			EndIf

			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		EndIf
		If $sBreite >= 0.80 And $sBreite < 0.90 Then
			If $sIPosNr <> "" Then
				$sIFakotr = "1,5" ;Faktor
				$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
				$sINI_String = _Gen_String_for_Listview($sINI_String)
			Else
				$sINI_String = $sNotImVer
			EndIf

			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		EndIf
		If $sBreite >= 0.90 And $sBreite < 1.00 Then
			If $sIPosNr <> "" Then
				$sIFakotr = "1,6" ;Faktor
				$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
				$sINI_String = _Gen_String_for_Listview($sINI_String)
			Else
				$sINI_String = $sNotImVer
			EndIf

			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		EndIf

	EndIf
EndFunc   ;==>_graben_winterbau

Func _graben_bodenaustausch($aPosVertrag)

	$sText_Bemerkung = "Aushub nicht verdichtungsfähig nach ZTV"
	$sAbschnitt = ""  ;Abschnitt
	$sLeange = _replaceKom2Punkt($aAngaben_graben[1][1])
	$sBreite = _replaceKom2Punkt($aAngaben_graben[1][2])
	$sTiefe = _replaceKom2Punkt($aAngaben_graben[1][3])

	If GUICtrlRead($tab1_chb_bodentausch) = $GUI_CHECKED Then

		;mindertiefe Breite 0,15-30
		If $sBreite >= 0.15 And $sBreite < 0.30 Then
			Dim $aPosNr = ["10038740"]
			_Find_Pos_From_Array($aPosNr, $aPosVertrag)
			$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||" & $sIEinheit & "|" & $sIKurztext & "|%Bemerkung%||0,00|"
			If $sIPosNr <> "" Then
				$sIFakotr = "1,0" ;Faktor
				$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
				$sINI_String = _Gen_String_for_Listview($sINI_String)
			Else
				$sINI_String = $sNotImVer
			EndIf

			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		EndIf

		Dim $aPosNr = ["10037302", "10037303"]
		_Find_Pos_From_Array($aPosNr, $aPosVertrag)
		$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||" & $sIEinheit & "|" & $sIKurztext & "|%Bemerkung%||0,00|"

		If $sBreite >= 0.30 And $sBreite < 0.40 Then
			If $sIPosNr <> "" Then
				$sIFakotr = "1,0" ;Faktor
				$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
				$sINI_String = _Gen_String_for_Listview($sINI_String)
			Else
				$sINI_String = $sNotImVer
			EndIf
			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		EndIf
		If $sBreite >= 0.40 And $sBreite < 0.50 Then
			If $sIPosNr <> "" Then
				$sIFakotr = "1,1" ;Faktor
				$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
				$sINI_String = _Gen_String_for_Listview($sINI_String)
			Else
				$sINI_String = $sNotImVer
			EndIf
			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		EndIf
		If $sBreite >= 0.50 And $sBreite < 0.60 Then
			If $sIPosNr <> "" Then
				$sIFakotr = "1,2" ;Faktor
				$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
				$sINI_String = _Gen_String_for_Listview($sINI_String)
			Else
				$sINI_String = $sNotImVer
			EndIf
			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		EndIf
		If $sBreite >= 0.60 And $sBreite < 0.70 Then
			If $sIPosNr <> "" Then
				$sIFakotr = "1,3" ;Faktor
				$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
				$sINI_String = _Gen_String_for_Listview($sINI_String)
			Else
				$sINI_String = $sNotImVer
			EndIf
			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		EndIf
		If $sBreite >= 0.70 And $sBreite < 0.80 Then
			If $sIPosNr <> "" Then
				$sIFakotr = "1,4" ;Faktor
				$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
				$sINI_String = _Gen_String_for_Listview($sINI_String)
			Else
				$sINI_String = $sNotImVer
			EndIf
			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		EndIf
		If $sBreite >= 0.80 And $sBreite < 0.90 Then
			If $sIPosNr <> "" Then
				$sIFakotr = "1,5" ;Faktor
				$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
				$sINI_String = _Gen_String_for_Listview($sINI_String)
			Else
				$sINI_String = $sNotImVer
			EndIf
			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		EndIf
		If $sBreite >= 0.90 And $sBreite < 1.00 Then
			If $sIPosNr <> "" Then
				$sIFakotr = "1,6" ;Faktor
				$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
				$sINI_String = _Gen_String_for_Listview($sINI_String)
			Else
				$sINI_String = $sNotImVer
			EndIf
			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		EndIf
	EndIf
EndFunc   ;==>_graben_bodenaustausch

Func _graben_bodenaustausch_mehrtiefe($aPosVertrag)

	$sText_Bemerkung = "Aushub nicht verdichtungsfähig nach ZTV"
	$sAbschnitt = ""  ;Abschnitt
	$sLeange = _replaceKom2Punkt($aAngaben_graben[1][1])
	$sBreite = _replaceKom2Punkt($aAngaben_graben[1][2])
	$sTiefe = _replaceKom2Punkt($aAngaben_graben[1][3])

	;mindertiefe Breite 0,15-30
	If $sBreite >= 0.15 And $sBreite < 0.30 Then
		Dim $aPosNr = ["10038620"]
		_Find_Pos_From_Array($aPosNr, $aPosVertrag)
		$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||" & $sIEinheit & "|" & $sIKurztext & "|%Bemerkung%||0,00|"
		If $sIPosNr <> "" Then
			$sIFakotr = "1,0" ;Faktor
			$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
			$sINI_String = _Gen_String_for_Listview($sINI_String)
		Else
			$sINI_String = $sNotImVer
		EndIf
		_ArrayAdd($aLVListe, $sINI_String, 0, "|")
	EndIf

	Dim $aPosNr = ["10037312", "10037313"]
	_Find_Pos_From_Array($aPosNr, $aPosVertrag)
	$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||" & $sIEinheit & "|" & $sIKurztext & "|%Bemerkung%||0,00|"

	If $sTiefe >= 0.70 And $sTiefe < 0.80 Then
		If $sIPosNr <> "" Then
			$sIFakotr = "1,0" ;Faktor
			$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
			$sINI_String = _Gen_String_for_Listview($sINI_String)
		Else
			$sINI_String = $sNotImVer
		EndIf
		_ArrayAdd($aLVListe, $sINI_String, 0, "|")
	EndIf
	If $sTiefe >= 0.80 And $sTiefe < 0.90 Then
		If $sIPosNr <> "" Then
			$sIFakotr = "2,0" ;Faktor
			$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
			$sINI_String = _Gen_String_for_Listview($sINI_String)
		Else
			$sINI_String = $sNotImVer
		EndIf
		_ArrayAdd($aLVListe, $sINI_String, 0, "|")
	EndIf
	If $sTiefe >= 0.90 And $sTiefe < 1.00 Then
		If $sIPosNr <> "" Then
			$sIFakotr = "3,0" ;Faktor
			$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
			$sINI_String = _Gen_String_for_Listview($sINI_String)
		Else
			$sINI_String = $sNotImVer
		EndIf
		_ArrayAdd($aLVListe, $sINI_String, 0, "|")
	EndIf
	If $sTiefe >= 1.00 And $sTiefe < 1.10 Then
		If $sIPosNr <> "" Then
			$sIFakotr = "4,0" ;Faktor
			$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
			$sINI_String = _Gen_String_for_Listview($sINI_String)
		Else
			$sINI_String = $sNotImVer
		EndIf
		_ArrayAdd($aLVListe, $sINI_String, 0, "|")
	EndIf
	If $sTiefe >= 1.10 And $sTiefe < 1.20 Then
		If $sIPosNr <> "" Then
			$sIFakotr = "5,0" ;Faktor
			$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
			$sINI_String = _Gen_String_for_Listview($sINI_String)
		Else
			$sINI_String = $sNotImVer
		EndIf
		_ArrayAdd($aLVListe, $sINI_String, 0, "|")
	EndIf
	If $sTiefe >= 1.20 And $sTiefe < 1.30 Then
		If $sIPosNr <> "" Then
			$sIFakotr = "6,0" ;Faktor
			$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
			$sINI_String = _Gen_String_for_Listview($sINI_String)
		Else
			$sINI_String = $sNotImVer
		EndIf
		_ArrayAdd($aLVListe, $sINI_String, 0, "|")
	EndIf
EndFunc   ;==>_graben_bodenaustausch_mehrtiefe

Func _graben_reststreifen_neu($aPosVertrag)

	$sAbschitt = $aAngaben_graben[1][0]
	$sBreite = $aAngaben_graben[1][7]
	$sLeange = $aAngaben_graben[1][6]
	$sAsphaltstark = $aAngaben_graben[1][5]

	If GUICtrlRead($tab1_chb_asphalt) = $GUI_CHECKED Then

		If GUICtrlRead($tab1_txt_rest_laenge) <> "" And GUICtrlRead($tab1_txt_rest_breite) <> "" Then
			If $sAsphaltstark <= 0.10 Then
;~ 			MsgBox(64, "<= 0.10", $sAsphaltstark)
				; Reststreifen bis 10 cm 13 Pos
				_Reststreifen_graben_bis10cm($aAngaben_graben[1][0], $sLeange, $sBreite, $aPosVertrag)

				;18 Pos
				_Reststreifen_graben_bis10liefern($sLeange, $sBreite, $aPosVertrag)
			EndIf
			If $sAsphaltstark >= 0.11 Then
;~ 			MsgBox(64, "   >= 0.11", $sAsphaltstark)
				;Reststreifen über 10 cm 13 Pos
				_Reststreifen_graben_bis10cm($aAngaben_graben[1][0], $sLeange, $sBreite, $aPosVertrag)
				_reststreifen_graben_13ueber10cm($sAsphaltstark, $sLeange, $sBreite, $aPosVertrag)
				_reststreifen_graben_13_v11b15($sLeange, $sBreite, $aPosVertrag)
				_reststreifen_graben_13_gr16($sAsphaltstark, $sLeange, $sBreite, $aPosVertrag)

				;Reststreifen über 10 cm 18 Pos
				_Reststreifen_graben_bis10liefern($sLeange, $sBreite, $aPosVertrag)
				_Reststreifen_graben_18ueber10cm($sAsphaltstark, $sLeange, $sBreite, $aPosVertrag)
				; Reststreifen von 11 - 15 cm 18 Pos
				_reststreifen_graben_18_v11b15($sLeange, $sBreite, $aPosVertrag)
				;Reststreifen über 16cm 18 Pos
				_reststreifen_graben_18_gr16($sAsphaltstark, $sLeange, $sBreite, $aPosVertrag)
			EndIf
		EndIf
	EndIf

	If GUICtrlRead($tab1_chb_pflaster) = $GUI_CHECKED Then
		If GUICtrlRead($tab1_txt_rest_laenge) <> "" And GUICtrlRead($tab1_txt_rest_breite) <> "" Then
			_Reststreifen_graben_Pflaster($aAngaben_graben[1][0], $sLeange, $sBreite, $aPosVertrag)
		EndIf
	EndIf
;~ 	_DebugArrayDisplay($aLVListe)
EndFunc   ;==>_graben_reststreifen_neu

Func _Reststreifen_graben_Pflaster($sAbschnitt, $sLeange, $sBreite, $aPosVertrag)
	$sTiefe = ""
	$sIFakotr = "1,0" ;Faktor
	$sText_Bemerkung = "Restreifenausbau mit BVT & Gemeinde abgesprochen"

	Dim $aPosNr = ["10013999", "10037602"]
	_Find_Pos_From_Array($aPosNr, $aPosVertrag)
	$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||" & $sIEinheit & "|" & $sIKurztext & "|%Bemerkung%||0,00|"
	If $sIPosNr <> "" Then
		$sIFakotr = "1,0" ;Faktor
		$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
		$sINI_String = _Gen_String_for_Listview($sINI_String)
		_ArrayAdd($aLVListe, $sINI_String, 0, "|")
	Else
	EndIf
EndFunc   ;==>_Reststreifen_graben_Pflaster

Func _Reststreifen_graben_bis10cm($sAbschnitt, $sLeange, $sBreite, $aPosVertrag)
	$sTiefe = ""
	$sIFakotr = "1,0" ;Faktor
	$sText_Bemerkung = "Restreifenausbau mit BVT & Gemeinde abgesprochen"

	Dim $aPosNr = ["10013520", "10037612"]
	_Find_Pos_From_Array($aPosNr, $aPosVertrag)
	$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||" & $sIEinheit & "|" & $sIKurztext & "|%Bemerkung%||0,00|"
	If $sIPosNr <> "" Then
		$sIFakotr = "1,0" ;Faktor
		$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
		$sINI_String = _Gen_String_for_Listview($sINI_String)
		_ArrayAdd($aLVListe, $sINI_String, 0, "|")
	Else
	EndIf

EndFunc   ;==>_Reststreifen_graben_bis10cm

Func _Reststreifen_graben_bis10liefern($sLeange, $sBreite, $aPosVertrag)
	;10018180|Asphalt bis 10 cm liefern/einbauen|M2|63,20
	$sAbschnitt = ""
	$sTiefe = ""
	$sIFakotr = "1,0" ;Faktor
	$sText_Bemerkung = ""


	Dim $aPosNr = ["10018180"]
	_Find_Pos_From_Array($aPosNr, $aPosVertrag)
	$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||" & $sIEinheit & "|" & $sIKurztext & "|%Bemerkung%||0,00|"
	If $sIPosNr <> "" Then
		$sIFakotr = "1,0" ;Faktor
		$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
		$sINI_String = _Gen_String_for_Listview($sINI_String)
		_ArrayAdd($aLVListe, $sINI_String, 0, "|")
	EndIf

EndFunc   ;==>_Reststreifen_graben_bis10liefern

Func _reststreifen_graben_13ueber10cm($sAsphaltstark, $sLeange, $sBreite, $aPosVertrag)
	$sAbschnitt = ""
	$sTiefe = ""
	$sIFakotr = "1,0" ;Faktor
	$sText_Bemerkung = ""


	Dim $aPosNr = ["10013533"]
	_Find_Pos_From_Array($aPosNr, $aPosVertrag)

	If $sAsphaltstark >= 0.11 And $sAsphaltstark <= 0.16 Then
		If $sIPosNr <> "" Then
			$sIFakotr = "1,0" ;Faktor
			$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
			$sINI_String = _Gen_String_for_Listview($sINI_String)
			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		EndIf
	EndIf
	If $sAsphaltstark >= 0.17 And $sAsphaltstark <= 0.21 Then
		If $sIPosNr <> "" Then
			$sIFakotr = "2,0" ;Faktor
			$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
			$sINI_String = _Gen_String_for_Listview($sINI_String)
			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		EndIf
	EndIf
	If $sAsphaltstark >= 0.22 And $sAsphaltstark <= 0.28 Then
		If $sIPosNr <> "" Then
			$sIFakotr = "3,0" ;Faktor
			$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
			$sINI_String = _Gen_String_for_Listview($sINI_String)
			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		EndIf
	EndIf
	If $sAsphaltstark >= 0.29 And $sAsphaltstark <= 0.34 Then
		If $sIPosNr <> "" Then
			$sIFakotr = "4,0" ;Faktor
			$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
			$sINI_String = _Gen_String_for_Listview($sINI_String)
			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		EndIf
	EndIf
	If $sAsphaltstark >= 0.35 And $sAsphaltstark <= 0.40 Then
		If $sIPosNr <> "" Then
			$sIFakotr = "5,0" ;Faktor
			$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
			$sINI_String = _Gen_String_for_Listview($sINI_String)
			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		EndIf
	EndIf
EndFunc   ;==>_reststreifen_graben_13ueber10cm

Func _reststreifen_graben_13_v11b15($sLeange, $sBreite, $aPosVertrag)
	$sAbschnitt = ""
	$sTiefe = ""
	$sIFakotr = "1,0" ;Faktor
	$sText_Bemerkung = "Restreifenausbau mit BVT & Gemeinde abgesprochen"
	Dim $aPosNr = ["10013530"]
	_Find_Pos_From_Array($aPosNr, $aPosVertrag)
	$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||" & $sIEinheit & "|" & $sIKurztext & "|%Bemerkung%||0,00|"
	If $sIPosNr <> "" Then
		$sIFakotr = "1,0" ;Faktor
		$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
		$sINI_String = _Gen_String_for_Listview($sINI_String)
		_ArrayAdd($aLVListe, $sINI_String, 0, "|")
	EndIf

EndFunc   ;==>_reststreifen_graben_13_v11b15

Func _reststreifen_graben_13_gr16($sAsphaltstark, $sLeange, $sBreite, $aPosVertrag)
	$sAbschnitt = ""
	$sTiefe = ""
	$sIFakotr = "1,0" ;Faktor
	$sText_Bemerkung = ""


	Dim $aPosNr = ["10013540"]
	_Find_Pos_From_Array($aPosNr, $aPosVertrag)
	If $sAsphaltstark >= 0.16 And $sAsphaltstark <= 0.21 Then
		If $sIPosNr <> "" Then
			$sIFakotr = "1,0" ;Faktor
			$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
			$sINI_String = _Gen_String_for_Listview($sINI_String)
			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		EndIf
	EndIf
	If $sAsphaltstark >= 0.22 And $sAsphaltstark <= 0.28 Then
		If $sIPosNr <> "" Then
			$sIFakotr = "2,0" ;Faktor
			$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
			$sINI_String = _Gen_String_for_Listview($sINI_String)
			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		EndIf
	EndIf
	If $sAsphaltstark >= 0.29 And $sAsphaltstark <= 0.34 Then
		If $sIPosNr <> "" Then
			$sIFakotr = "3,0" ;Faktor
			$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
			$sINI_String = _Gen_String_for_Listview($sINI_String)
			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		EndIf
	EndIf
	If $sAsphaltstark >= 0.35 And $sAsphaltstark <= 0.40 Then
		If $sIPosNr <> "" Then
			$sIFakotr = "4,0" ;Faktor
			$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
			$sINI_String = _Gen_String_for_Listview($sINI_String)
			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		EndIf
	EndIf
EndFunc   ;==>_reststreifen_graben_13_gr16

Func _Reststreifen_graben_18ueber10cm($sAsphaltstark, $sLeange, $sBreite, $aPosVertrag)
	$sAbschnitt = ""
	$sTiefe = ""
	$sIFakotr = "1,0" ;Faktor
	$sText_Bemerkung = "Asphaltstärke " & _replacePunkt2Koma($aAngaben_graben[1][5]) & " m."


	Dim $aPosNr = ["10018213", "10037172"]
	_Find_Pos_From_Array($aPosNr, $aPosVertrag)
	If $sAsphaltstark >= 0.11 And $sAsphaltstark <= 0.16 Then
		If $sIPosNr <> "" Then
			$sIFakotr = "1,0" ;Faktor
			$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
			$sINI_String = _Gen_String_for_Listview($sINI_String)
			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		EndIf
	EndIf
	If $sAsphaltstark >= 0.17 And $sAsphaltstark <= 0.21 Then
		If $sIPosNr <> "" Then
			$sIFakotr = "2,0" ;Faktor
			$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
			$sINI_String = _Gen_String_for_Listview($sINI_String)
			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		EndIf
	EndIf
	If $sAsphaltstark >= 0.22 And $sAsphaltstark <= 0.28 Then
		If $sIPosNr <> "" Then
			$sIFakotr = "3,0" ;Faktor
			$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
			$sINI_String = _Gen_String_for_Listview($sINI_String)
			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		EndIf
	EndIf
	If $sAsphaltstark >= 0.29 And $sAsphaltstark <= 0.34 Then
		If $sIPosNr <> "" Then
			$sIFakotr = "4,0" ;Faktor
			$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
			$sINI_String = _Gen_String_for_Listview($sINI_String)
			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		EndIf
	EndIf
	If $sAsphaltstark >= 0.35 And $sAsphaltstark <= 0.40 Then
		If $sIPosNr <> "" Then
			$sIFakotr = "5,0" ;Faktor
			$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
			$sINI_String = _Gen_String_for_Listview($sINI_String)
			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		EndIf
	EndIf
EndFunc   ;==>_Reststreifen_graben_18ueber10cm

Func _reststreifen_graben_18_v11b15($sLeange, $sBreite, $aPosVertrag)
	$sAbschnitt = ""
	$sTiefe = ""
	$sIFakotr = "1,0" ;Faktor
	$sText_Bemerkung = ""
	Dim $aPosNr = ["10018210"]
	_Find_Pos_From_Array($aPosNr, $aPosVertrag)
	$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||" & $sIEinheit & "|" & $sIKurztext & "|%Bemerkung%||0,00|"
	If $sIPosNr <> "" Then
		$sIFakotr = "1,0" ;Faktor
		$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
		$sINI_String = _Gen_String_for_Listview($sINI_String)
		_ArrayAdd($aLVListe, $sINI_String, 0, "|")
	EndIf

EndFunc   ;==>_reststreifen_graben_18_v11b15

Func _reststreifen_graben_18_gr16($sAsphaltstark, $sLeange, $sBreite, $aPosVertrag)
	$sAbschnitt = ""
	$sTiefe = ""
	$sIFakotr = "1,0" ;Faktor
	$sText_Bemerkung = ""


	Dim $aPosNr = ["10018210"]
	_Find_Pos_From_Array($aPosNr, $aPosVertrag)
	If $sAsphaltstark >= 0.16 And $sAsphaltstark <= 0.21 Then
		If $sIPosNr <> "" Then
			$sIFakotr = "1,0" ;Faktor
			$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
			$sINI_String = _Gen_String_for_Listview($sINI_String)
			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		EndIf
	EndIf
	If $sAsphaltstark >= 0.22 And $sAsphaltstark <= 0.28 Then
		If $sIPosNr <> "" Then
			$sIFakotr = "2,0" ;Faktor
			$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
			$sINI_String = _Gen_String_for_Listview($sINI_String)
			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		EndIf
	EndIf
	If $sAsphaltstark >= 0.29 And $sAsphaltstark <= 0.34 Then
		If $sIPosNr <> "" Then
			$sIFakotr = "3,0" ;Faktor
			$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
			$sINI_String = _Gen_String_for_Listview($sINI_String)
			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		EndIf
	EndIf
	If $sAsphaltstark >= 0.35 And $sAsphaltstark <= 0.40 Then
		If $sIPosNr <> "" Then
			$sIFakotr = "4,0" ;Faktor
			$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
			$sINI_String = _Gen_String_for_Listview($sINI_String)
			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		EndIf
	EndIf
EndFunc   ;==>_reststreifen_graben_18_gr16

Func _reststreifen_graben_Fugen($sLeange, $sBreite)
	$sIni_Kategorie = "graebenOberflaeche"
	; Fugen schnitte
	Dim $aProzent[6]
	$s1 = _replaceKom2Punkt($sBreite)
	$s2 = _replaceKom2Punkt($sBreite)
	$s3 = _replaceKom2Punkt($sLeange)
	$sFugenleange = $s1 + $s2 + $s3
	$aProzent[1] = ""
	$aProzent[2] = ""
	$aProzent[3] = _replacePunkt2Koma($sFugenleange)
	$aProzent[4] = ""
	$aProzent[5] = ""
	$sINI_String = IniRead($sIniDateiPfad & $sIniDatei, $sIni_Kategorie, "RestFugen", "NA_RestFugen")
	$sINI_String = _string_replace_Prozent($sINI_String, $aProzent)
	_ArrayAdd($aLVListe, $sINI_String, 0, "|")
EndFunc   ;==>_reststreifen_graben_Fugen

Func _graben_Asphalt_jeXcm($aPosVertrag)
	If GUICtrlRead($tab1_chb_asphalt) = $GUI_CHECKED Then
		$sAbschnitt = "" ;Abschnitt
		$sLeange = _replaceKom2Punkt($aAngaben_graben[1][1])
		$sBreite = _replaceKom2Punkt($aAngaben_graben[1][2])
		$sTiefe = _replaceKom2Punkt($aAngaben_graben[1][3])
		$sText_Bemerkung = "Asphaltstärke " & _replacePunkt2Koma($aAngaben_graben[1][5]) & " m."

;~ 		$sBreite_temp = $aAngaben_graben[1][2] + 0.3
;~ 		$sBreite_test = _replacePunkt2Koma($sBreite_temp)
;~ 		$sBreite = _replacePunkt2Koma($aAngaben_graben[1][2] + 0.3);warum plus 0,3???
		$sBreite = _replaceKom2Punkt($aAngaben_graben[1][2])
		$sAsphaltstark = $aAngaben_graben[1][5]
;~ 		MsgBox(64, "Mindertiefe breite", $sBreite)
		;mindertiefe Breite 0,15-30 je 4cm
		If $sBreite >= 0.15 And $sBreite < 0.30 Then
			;Zulage zu Asphalt je 4 cm
			Dim $aPosNr = ["10038680"]
			_Find_Pos_From_Array($aPosNr, $aPosVertrag)
			
			$sBreite = _replacePunkt2Koma($aAngaben_graben[1][2] + 0.3);warum plus 0,3???
			If $sAsphaltstark >= 0.13 And $sAsphaltstark <= 0.16 Then
			$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||" & $sIEinheit & "|" & $sIKurztext & "|%Bemerkung%||0,00|"
			If $sIPosNr <> "" Then
				$sIFakotr = "1,0" ;Faktor
				$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
				$sINI_String = _Gen_String_for_Listview($sINI_String)
			Else
				$sINI_String = $sNotImVer
			EndIf
			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
			EndIf 
			If $sAsphaltstark >= 0.17 And $sAsphaltstark <= 0.20 Then

				$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||" & $sIEinheit & "|" & $sIKurztext & "|%Bemerkung%||0,00|"
				If $sIPosNr <> "" Then
					$sIFakotr = "2,0" ;Faktor
					$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
					$sINI_String = _Gen_String_for_Listview($sINI_String)
				Else
					$sINI_String = $sNotImVer
				EndIf
				_ArrayAdd($aLVListe, $sINI_String, 0, "|")
			EndIf
			If $sAsphaltstark >= 0.21 And $sAsphaltstark <= 0.24 Then

				$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||" & $sIEinheit & "|" & $sIKurztext & "|%Bemerkung%||0,00|"
				If $sIPosNr <> "" Then
					$sIFakotr = "3,0" ;Faktor
					$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
					$sINI_String = _Gen_String_for_Listview($sINI_String)
				Else
					$sINI_String = $sNotImVer
				EndIf
				_ArrayAdd($aLVListe, $sINI_String, 0, "|")
			EndIf
			If $sAsphaltstark >= 0.25 And $sAsphaltstark <= 0.28 Then

				$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||" & $sIEinheit & "|" & $sIKurztext & "|%Bemerkung%||0,00|"
				If $sIPosNr <> "" Then
					$sIFakotr = "4,0" ;Faktor
					$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
					$sINI_String = _Gen_String_for_Listview($sINI_String)
				Else
					$sINI_String = $sNotImVer
				EndIf
				_ArrayAdd($aLVListe, $sINI_String, 0, "|")
			EndIf
			If $sAsphaltstark >= 0.29 And $sAsphaltstark <= 0.32 Then

				$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||" & $sIEinheit & "|" & $sIKurztext & "|%Bemerkung%||0,00|"
				If $sIPosNr <> "" Then
					$sIFakotr = "5,0" ;Faktor
					$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
					$sINI_String = _Gen_String_for_Listview($sINI_String)
				Else
					$sINI_String = $sNotImVer
				EndIf
				_ArrayAdd($aLVListe, $sINI_String, 0, "|")
			EndIf
			If $sAsphaltstark >= 0.33 Then

				$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||" & $sIEinheit & "|" & $sIKurztext & "|%Bemerkung%||0,00|"
				If $sIPosNr <> "" Then
					$sIFakotr = "6,0" ;Faktor
					$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
					$sINI_String = _Gen_String_for_Listview($sINI_String)
				Else
					$sINI_String = $sNotImVer
				EndIf
				_ArrayAdd($aLVListe, $sINI_String, 0, "|")
			EndIf
		Else
			; keine Mindertiefe/breite


			Dim $aPosNr = ["10037172"]
			_Find_Pos_From_Array($aPosNr, $aPosVertrag)
			;keine Mindertiefe
			$sBreite = _replacePunkt2Koma($aAngaben_graben[1][2] + 0.3);warum plus 0,3???
			
			If $sAsphaltstark >= 0.11 And $sAsphaltstark <= 0.16 Then
				$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||" & $sIEinheit & "|" & $sIKurztext & "|%Bemerkung%||0,00|"
				If $sIPosNr <> "" Then
					$sIFakotr = "1,0" ;Faktor
					$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
					$sINI_String = _Gen_String_for_Listview($sINI_String)
				Else
					$sINI_String = $sNotImVer
				EndIf
				_ArrayAdd($aLVListe, $sINI_String, 0, "|")
			EndIf
			If $sAsphaltstark >= 0.17 And $sAsphaltstark <= 0.21 Then
				$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||" & $sIEinheit & "|" & $sIKurztext & "|%Bemerkung%||0,00|"
				If $sIPosNr <> "" Then
					$sIFakotr = "2,0" ;Faktor
					$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
					$sINI_String = _Gen_String_for_Listview($sINI_String)
				Else
					$sINI_String = $sNotImVer
				EndIf
				_ArrayAdd($aLVListe, $sINI_String, 0, "|")
			EndIf
			If $sAsphaltstark >= 0.22 And $sAsphaltstark <= 0.28 Then
				$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||" & $sIEinheit & "|" & $sIKurztext & "|%Bemerkung%||0,00|"
				If $sIPosNr <> "" Then
					$sIFakotr = "3,0" ;Faktor
					$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
					$sINI_String = _Gen_String_for_Listview($sINI_String)
				Else
					$sINI_String = $sNotImVer
				EndIf
				_ArrayAdd($aLVListe, $sINI_String, 0, "|")
			EndIf
			If $sAsphaltstark >= 0.29 And $sAsphaltstark <= 0.34 Then
				$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||" & $sIEinheit & "|" & $sIKurztext & "|%Bemerkung%||0,00|"
				If $sIPosNr <> "" Then
					$sIFakotr = "4,0" ;Faktor
					$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
					$sINI_String = _Gen_String_for_Listview($sINI_String)
				Else
					$sINI_String = $sNotImVer
				EndIf
				_ArrayAdd($aLVListe, $sINI_String, 0, "|")
			EndIf
			If $sAsphaltstark >= 0.35 And $sAsphaltstark <= 0.40 Then
				$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||" & $sIEinheit & "|" & $sIKurztext & "|%Bemerkung%||0,00|"
				If $sIPosNr <> "" Then
					$sIFakotr = "5,0" ;Faktor
					$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
					$sINI_String = _Gen_String_for_Listview($sINI_String)
				Else
					$sINI_String = $sNotImVer
				EndIf
				_ArrayAdd($aLVListe, $sINI_String, 0, "|")
			EndIf
			If $sAsphaltstark >= 0.41 Then
				$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||" & $sIEinheit & "|" & $sIKurztext & "|%Bemerkung%||0,00|"
				If $sIPosNr <> "" Then
					$sIFakotr = "6,0" ;Faktor
					$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
					$sINI_String = _Gen_String_for_Listview($sINI_String)
				Else
					$sINI_String = $sNotImVer
				EndIf
				_ArrayAdd($aLVListe, $sINI_String, 0, "|")
			EndIf
		EndIf
	EndIf
EndFunc   ;==>_graben_Asphalt_jeXcm

Func _graben_boardstein($aPosVertrag)
;~ bauf=%Abschnitt%|10037073|0,5|%Leange%|%Breite%|%Tiefe%||M|Zulage Gräben Pflaster, Platten|siehe ZTV 9 Seite 15 Punkt .21||48,96|
;~ blief=%Abschnitt%|10015510|1,0|%Leange%|%Breite%|%Tiefe%||M|Bordsteine liefern|%Bemerkung%||30,78|
;~ bein=%Abschnitt%|10018230|1,0|%Leange%|%Breite%|%Tiefe%||M|Bordstein in Beton einbauen|%Bemerkung%||48,60|
	$sText_Bemerkung = "siehe ZTV 9 Seite 15 Punkt .21"
	$sAbschnitt = ""  ;Abschnitt
	$sLeange = _replaceKom2Punkt($aAngaben_graben[1][1])
	$sBreite = ""
	$sTiefe = ""

	Dim $aPosNr = ["10037072", "10037073"]
	_Find_Pos_From_Array($aPosNr, $aPosVertrag)
	$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||" & $sIEinheit & "|" & $sIKurztext & "|%Bemerkung%||0,00|"
	If $sIPosNr <> "" Then
		$sIFakotr = "1,0" ;Faktor
		$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
		$sINI_String = _Gen_String_for_Listview($sINI_String)
	Else
		$sINI_String = $sNotImVer
	EndIf
	_ArrayAdd($aLVListe, $sINI_String, 0, "|")

	;Boardstein liefern Anzahl steine in m
	If GUICtrlRead($tab1_chb_liefern) = $GUI_CHECKED Then
		$sText_Bemerkung = "Bordstein liefern"
		$sAbschnitt = ""  ;Abschnitt
		$sLeange = _replaceKom2Punkt($aAngaben_graben[1][1])
		$sBreite = ""
		$sTiefe = ""
		Dim $aPosNr = ["10015510"]
		_Find_Pos_From_Array($aPosNr, $aPosVertrag)
		$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||" & $sIEinheit & "|" & $sIKurztext & "|%Bemerkung%||0,00|"
		If $sIPosNr <> "" Then
			$sIFakotr = "1,0" ;Faktor
			$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
			$sINI_String = _Gen_String_for_Listview($sINI_String)
		Else
			$sINI_String = $sNotImVer
		EndIf
		_ArrayAdd($aLVListe, $sINI_String, 0, "|")

	EndIf
	;Boardstein eibauen
	$sText_Bemerkung = "Bordstein einbauen"
	$sAbschnitt = ""  ;Abschnitt
	$sLeange = _replaceKom2Punkt($aAngaben_graben[1][1])
	$sBreite = ""
	$sTiefe = ""
	Dim $aPosNr = ["10018230"]
	_Find_Pos_From_Array($aPosNr, $aPosVertrag)
	$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||" & $sIEinheit & "|" & $sIKurztext & "|%Bemerkung%||0,00|"
	If $sIPosNr <> "" Then
		$sIFakotr = "1,0" ;Faktor
		$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
		$sINI_String = _Gen_String_for_Listview($sINI_String)
	Else
		$sINI_String = $sNotImVer
	EndIf
	_ArrayAdd($aLVListe, $sINI_String, 0, "|")
EndFunc   ;==>_graben_boardstein

;Medien Auslegen
Func _AnzahlCUKabelb100DA($aPosVertrag)

	If GUICtrlRead($tab1_chb_cu_kabel) = $GUI_CHECKED Then
		$sAbschnitt = GUICtrlRead($tab1_txt_abschnitt)
		$sLeange = GUICtrlRead($tab1_txt_leange)
		$anzahl = GUICtrlRead($tab1_txt_anz_cu_kabel)
		$sBreite = ""
		$sTiefe = ""


		Dim $aPosNr = ["10037342"]
		_Find_Pos_From_Array($aPosNr, $aPosVertrag)
		$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%||||" & $sIEinheit & "|" & $sIKurztext & "|%Bemerkung%||0,00|"

		Switch $anzahl
			Case "1"
				$sText_Bemerkung = "1x Kabel auslegen"
				If $sIPosNr <> "" Then
					$sIFakotr = "1,0" ;Faktor
					$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
					$sINI_String = _Gen_String_for_Listview($sINI_String)
				Else
					$sINI_String = $sNotImVer
				EndIf
				_ArrayAdd($aLVListe, $sINI_String, 0, "|")
			Case "2"
				$sText_Bemerkung = "2x Kabel auslegen"
				If $sIPosNr <> "" Then
					$sIFakotr = "2,0" ;Faktor
					$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
					$sINI_String = _Gen_String_for_Listview($sINI_String)
				Else
					$sINI_String = $sNotImVer
				EndIf
				_ArrayAdd($aLVListe, $sINI_String, 0, "|")
			Case "3"
				$sText_Bemerkung = "3x Kabel auslegen"
				If $sIPosNr <> "" Then
					$sIFakotr = "3,0" ;Faktor
					$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
					$sINI_String = _Gen_String_for_Listview($sINI_String)
				Else
					$sINI_String = $sNotImVer
				EndIf
				_ArrayAdd($aLVListe, $sINI_String, 0, "|")
			Case "4"
				$sText_Bemerkung = "4x Kabel auslegen"
				If $sIPosNr <> "" Then
					$sIFakotr = "4,0" ;Faktor
					$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
					$sINI_String = _Gen_String_for_Listview($sINI_String)
				Else
					$sINI_String = $sNotImVer
				EndIf
				_ArrayAdd($aLVListe, $sINI_String, 0, "|")
			Case "5"
				$sText_Bemerkung = "5x Kabel auslegen"
				If $sIPosNr <> "" Then
					$sIFakotr = "5,0" ;Faktor
					$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
					$sINI_String = _Gen_String_for_Listview($sINI_String)
				Else
					$sINI_String = $sNotImVer
				EndIf
				_ArrayAdd($aLVListe, $sINI_String, 0, "|")
			Case "6"
				$sText_Bemerkung = "6x Kabel auslegen"
				If $sIPosNr <> "" Then
					$sIFakotr = "6,0" ;Faktor
					$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
					$sINI_String = _Gen_String_for_Listview($sINI_String)
				Else
					$sINI_String = $sNotImVer
				EndIf
				_ArrayAdd($aLVListe, $sINI_String, 0, "|")
			Case "7"
				$sText_Bemerkung = "7x Kabel auslegen"
				If $sIPosNr <> "" Then
					$sIFakotr = "7,0" ;Faktor
					$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
					$sINI_String = _Gen_String_for_Listview($sINI_String)
				Else
					$sINI_String = $sNotImVer
				EndIf
				_ArrayAdd($aLVListe, $sINI_String, 0, "|")
			Case "8"
				$sText_Bemerkung = "8x Kabel auslegen"
				If $sIPosNr <> "" Then
					$sIFakotr = "8,0" ;Faktor
					$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
					$sINI_String = _Gen_String_for_Listview($sINI_String)
				Else
					$sINI_String = $sNotImVer
				EndIf
				_ArrayAdd($aLVListe, $sINI_String, 0, "|")
			case ""
				$sText_Bemerkung = "1x Kabel auslegen"
				If $sIPosNr <> "" Then
					$sIFakotr = "1,0" ;Faktor
					$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
					$sINI_String = _Gen_String_for_Listview($sINI_String)
				Else
					$sINI_String = $sNotImVer
				EndIf
				_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		EndSwitch
	EndIf
EndFunc   ;==>_AnzahlCUKabelb100DA

Func _AnzahlCUKabelu100DA($aPosVertrag)

	If GUICtrlRead($tab1_chb_cu_kabel) = $GUI_CHECKED Then
		$sAbschnitt = GUICtrlRead($tab1_txt_abschnitt)
		$sLeange = GUICtrlRead($tab1_txt_leange)
		$anzahl = GUICtrlRead($tab1_txt_anz_cu_kabel)
		$sBreite = ""
		$sTiefe = ""

		Dim $aPosNr = ["10037352"]
		_Find_Pos_From_Array($aPosNr, $aPosVertrag)
		$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%||||" & $sIEinheit & "|" & $sIKurztext & "|%Bemerkung%||0,00|"

		Switch $anzahl
			Case "1"
				$sText_Bemerkung = "1x Kabel auslegen"
				If $sIPosNr <> "" Then
					$sIFakotr = "1,0" ;Faktor
					$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
					$sINI_String = _Gen_String_for_Listview($sINI_String)
				Else
					$sINI_String = $sNotImVer
				EndIf
				_ArrayAdd($aLVListe, $sINI_String, 0, "|")
			Case "2"
				$sText_Bemerkung = "2x Kabel auslegen"
				If $sIPosNr <> "" Then
					$sIFakotr = "2,0" ;Faktor
					$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
					$sINI_String = _Gen_String_for_Listview($sINI_String)
				Else
					$sINI_String = $sNotImVer
				EndIf
				_ArrayAdd($aLVListe, $sINI_String, 0, "|")
			Case "3"
				$sText_Bemerkung = "3x Kabel auslegen"
				If $sIPosNr <> "" Then
					$sIFakotr = "3,0" ;Faktor
					$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
					$sINI_String = _Gen_String_for_Listview($sINI_String)
				Else
					$sINI_String = $sNotImVer
				EndIf
				_ArrayAdd($aLVListe, $sINI_String, 0, "|")
			Case "4"
				$sText_Bemerkung = "4x Kabel auslegen"
				If $sIPosNr <> "" Then
					$sIFakotr = "4,0" ;Faktor
					$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
					$sINI_String = _Gen_String_for_Listview($sINI_String)
				Else
					$sINI_String = $sNotImVer
				EndIf
				_ArrayAdd($aLVListe, $sINI_String, 0, "|")
			Case "5"
				$sText_Bemerkung = "5x Kabel auslegen"
				If $sIPosNr <> "" Then
					$sIFakotr = "5,0" ;Faktor
					$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
					$sINI_String = _Gen_String_for_Listview($sINI_String)
				Else
					$sINI_String = $sNotImVer
				EndIf
				_ArrayAdd($aLVListe, $sINI_String, 0, "|")
			Case "6"
				$sText_Bemerkung = "6x Kabel auslegen"
				If $sIPosNr <> "" Then
					$sIFakotr = "6,0" ;Faktor
					$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
					$sINI_String = _Gen_String_for_Listview($sINI_String)
				Else
					$sINI_String = $sNotImVer
				EndIf
				_ArrayAdd($aLVListe, $sINI_String, 0, "|")
			Case "7"
				$sText_Bemerkung = "7x Kabel auslegen"
				If $sIPosNr <> "" Then
					$sIFakotr = "7,0" ;Faktor
					$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
					$sINI_String = _Gen_String_for_Listview($sINI_String)
				Else
					$sINI_String = $sNotImVer
				EndIf
				_ArrayAdd($aLVListe, $sINI_String, 0, "|")
			Case "8"
				$sText_Bemerkung = "8x Kabel auslegen"
				If $sIPosNr <> "" Then
					$sIFakotr = "8,0" ;Faktor
					$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
					$sINI_String = _Gen_String_for_Listview($sINI_String)
				Else
					$sINI_String = $sNotImVer
				EndIf
				_ArrayAdd($aLVListe, $sINI_String, 0, "|")
			case ""
				$sText_Bemerkung = "1x Kabel auslegen"
				If $sIPosNr <> "" Then
					$sIFakotr = "1,0" ;Faktor
					$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
					$sINI_String = _Gen_String_for_Listview($sINI_String)
				Else
					$sINI_String = $sNotImVer
				EndIf
				_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		EndSwitch
	EndIf
EndFunc   ;==>_AnzahlCUKabelu100DA

Func _AnzahlDN50($aPosVertrag, $sRest_Bemerkung, $iAnzahl)

	Dim $aPosNr = ["10037362", "10037363"]
	_Find_Pos_From_Array($aPosNr, $aPosVertrag)
	$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%||||" & $sIEinheit & "|" & $sIKurztext & "|%Bemerkung%||0,00|"

	$sAbschnitt = GUICtrlRead($tab1_txt_abschnitt)
	$sLeange = GUICtrlRead($tab1_txt_leange)
	$sBreite = ""
	$sTiefe = ""

	;Anzahl DN50
	Switch $iAnzahl
		Case "1"
			$sText_Bemerkung = $iAnzahl & $sRest_Bemerkung
			If $sIPosNr <> "" Then
				$sIFakotr = "1,0" ;Faktor
				$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
				$sINI_String = _Gen_String_for_Listview($sINI_String)
			Else
				$sINI_String = $sNotImVer
			EndIf
			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		Case "2"
			$sText_Bemerkung = $iAnzahl & $sRest_Bemerkung
			If $sIPosNr <> "" Then
				$sIFakotr = "2,0" ;Faktor
				$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
				$sINI_String = _Gen_String_for_Listview($sINI_String)
			Else
				$sINI_String = $sNotImVer
			EndIf
			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		Case "3"
			$sText_Bemerkung = $iAnzahl & $sRest_Bemerkung
			If $sIPosNr <> "" Then
				$sIFakotr = "3,0" ;Faktor
				$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
				$sINI_String = _Gen_String_for_Listview($sINI_String)
			Else
				$sINI_String = $sNotImVer
			EndIf
			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		Case "4"
			$sText_Bemerkung = $iAnzahl & $sRest_Bemerkung
			If $sIPosNr <> "" Then
				$sIFakotr = "4,0" ;Faktor
				$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
				$sINI_String = _Gen_String_for_Listview($sINI_String)
			Else
				$sINI_String = $sNotImVer
			EndIf
			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		Case "5"
			$sText_Bemerkung = $iAnzahl & $sRest_Bemerkung
			If $sIPosNr <> "" Then
				$sIFakotr = "5,0" ;Faktor
				$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
				$sINI_String = _Gen_String_for_Listview($sINI_String)
			Else
				$sINI_String = $sNotImVer
			EndIf
			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		Case "6"
			$sText_Bemerkung = $iAnzahl & $sRest_Bemerkung
			If $sIPosNr <> "" Then
				$sIFakotr = "6,0" ;Faktor
				$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
				$sINI_String = _Gen_String_for_Listview($sINI_String)
			Else
				$sINI_String = $sNotImVer
			EndIf
			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		Case "7"
			$sText_Bemerkung = $iAnzahl & $sRest_Bemerkung
			If $sIPosNr <> "" Then
				$sIFakotr = "7,0" ;Faktor
				$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
				$sINI_String = _Gen_String_for_Listview($sINI_String)
			Else
				$sINI_String = $sNotImVer
			EndIf
			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		Case "8"
			$sText_Bemerkung = $iAnzahl & $sRest_Bemerkung
			If $sIPosNr <> "" Then
				$sIFakotr = "8,0" ;Faktor
				$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
				$sINI_String = _Gen_String_for_Listview($sINI_String)
			Else
				$sINI_String = $sNotImVer
			EndIf
			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		case "" 
			$sText_Bemerkung = $sRest_Bemerkung
			If $sIPosNr <> "" Then
				$sIFakotr = "1,0" ;Faktor
				$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
				$sINI_String = _Gen_String_for_Listview($sINI_String)
			Else
				$sINI_String = $sNotImVer
			EndIf
	EndSwitch
EndFunc   ;==>_AnzahlDN50

Func _AnzahlDN110($aPosVertrag)

	Dim $aPosNr = ["10037372"]
	_Find_Pos_From_Array($aPosNr, $aPosVertrag)
	$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%||||" & $sIEinheit & "|" & $sIKurztext & "|%Bemerkung%||0,00|"

	$sAbschnitt = GUICtrlRead($tab1_txt_abschnitt)
	$sLeange = GUICtrlRead($tab1_txt_leange)
	$anzahl = GUICtrlRead($tab1_txt_anz_dn110)
	$sBreite = ""
	$sTiefe = ""



	Switch $anzahl
		Case "1"
			$sText_Bemerkung = $anzahl & "x DN110 auslegen"
			If $sIPosNr <> "" Then
				$sIFakotr = "1,0" ;Faktor
				$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
				$sINI_String = _Gen_String_for_Listview($sINI_String)
			Else
				$sINI_String = $sNotImVer
			EndIf
			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		Case "2"
			$sText_Bemerkung = $anzahl & "x DN110 auslegen"
			If $sIPosNr <> "" Then
				$sIFakotr = "2,0" ;Faktor
				$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
				$sINI_String = _Gen_String_for_Listview($sINI_String)
			Else
				$sINI_String = $sNotImVer
			EndIf
			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		Case "3"
			$sText_Bemerkung = $anzahl & "x DN110 auslegen"
			If $sIPosNr <> "" Then
				$sIFakotr = "3,0" ;Faktor
				$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
				$sINI_String = _Gen_String_for_Listview($sINI_String)
			Else
				$sINI_String = $sNotImVer
			EndIf
			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		Case "4"
			$sText_Bemerkung = $anzahl & "x DN110 auslegen"
			If $sIPosNr <> "" Then
				$sIFakotr = "4,0" ;Faktor
				$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
				$sINI_String = _Gen_String_for_Listview($sINI_String)
			Else
				$sINI_String = $sNotImVer
			EndIf
			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		Case "5"
			$sText_Bemerkung = $anzahl & "x DN110 auslegen"
			If $sIPosNr <> "" Then
				$sIFakotr = "5,0" ;Faktor
				$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
				$sINI_String = _Gen_String_for_Listview($sINI_String)
			Else
				$sINI_String = $sNotImVer
			EndIf
			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		Case "6"
			$sText_Bemerkung = $anzahl & "x DN110 auslegen"
			If $sIPosNr <> "" Then
				$sIFakotr = "6,0" ;Faktor
				$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
				$sINI_String = _Gen_String_for_Listview($sINI_String)
			Else
				$sINI_String = $sNotImVer
			EndIf
			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		Case "7"
			$sText_Bemerkung = $anzahl & "x DN110 auslegen"
			If $sIPosNr <> "" Then
				$sIFakotr = "7,0" ;Faktor
				$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
				$sINI_String = _Gen_String_for_Listview($sINI_String)
			Else
				$sINI_String = $sNotImVer
			EndIf
			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		Case "8"
			$sText_Bemerkung = $anzahl & "x DN110 auslegen"
			If $sIPosNr <> "" Then
				$sIFakotr = "8,0" ;Faktor
				$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
				$sINI_String = _Gen_String_for_Listview($sINI_String)
			Else
				$sINI_String = $sNotImVer
			EndIf
			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
		case ""
			$sText_Bemerkung = $anzahl & "1x DN110 auslegen"
			If $sIPosNr <> "" Then
				$sIFakotr = "1,0" ;Faktor
				$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
				$sINI_String = _Gen_String_for_Listview($sINI_String)
			Else
				$sINI_String = $sNotImVer
			EndIf
			_ArrayAdd($aLVListe, $sINI_String, 0, "|")
	EndSwitch
EndFunc   ;==>_AnzahlDN110


;Gruben

;~ Func _ReadInputs2Array_gruben()
;~ 	$sAbschnitt = GUICtrlRead($tab2_txt_abschnitt)
;~ 	$sLeange = GUICtrlRead($tab2_txt_leange)
;~ 	$sBreite = GUICtrlRead($tab2_txt_breite)
;~ 	$sTiefe = GUICtrlRead($tab2_txt_tiefe)
;~ 	$sBemerkung = GUICtrlRead($tab2_txt_bemerkung)
;~ 	$sAsphaltstark = GUICtrlRead($tab2_txt_asphaltstark)
;~ 	$sAsphaltRestLang = GUICtrlRead($tab2_txt_rest_laenge)
;~ 	$sAsphaltRestBreit = GUICtrlRead($tab2_txt_rest_breite)
;~ 	$sAnzEinzeiler = GUICtrlRead($tab2_txt_anz_einz)
;~ 	$sEinzeilerMeter = GUICtrlRead($tab2_txt_lm_bre)

;~ 	$aAngaben_gruben[1][0] = $sAbschnitt ;abeschnitt
;~ 	$aAngaben_gruben[1][1] = _replaceKom2Punkt($sLeange) ;länge
;~ 	$aAngaben_gruben[1][2] = _replaceKom2Punkt($sBreite) ;Breite
;~ 	$aAngaben_gruben[1][3] = _replaceKom2Punkt($sTiefe) ; Tiefe
;~ 	$aAngaben_gruben[1][4] = $sBemerkung ;Bemerkung
;~ 	$aAngaben_gruben[1][5] = _replaceKom2Punkt($sAsphaltstark)
;~ 	$aAngaben_gruben[1][6] = _replaceKom2Punkt($sAsphaltRestLang)
;~ 	$aAngaben_gruben[1][7] = _replaceKom2Punkt($sAsphaltRestBreit)
;~ 	$aAngaben_gruben[1][8] = _replaceKom2Punkt($sAnzEinzeiler)
;~ 	$aAngaben_gruben[1][9] = _replaceKom2Punkt($sEinzeilerMeter)

;~ EndFunc   ;==>_ReadInputs2Array_gruben

;~ Func _grubenfaktorrechner($sLeange, $sBreite)
;~ 	$iNormgrube = 1.2
;~ 	$iSchrittgr = 0.25
;~ 	$iFaktor = 0.1

;~ 	$iLeange = _replaceKom2Punkt($sLeange)
;~ 	$iBreite = _replaceKom2Punkt($sBreite)

;~ 	$iFaktor = ((($iLeange * $iBreite) - $iNormgrube) / $iSchrittgr) * $iFaktor + 1
;~ 	$iFakotrround = _replacePunkt2Koma($iFaktor)
;~ 	$wert = Round(Number(StringReplace($iFakotrround, ",", ".")), 1)
;~ 	Return _replacePunkt2Koma($wert)
;~ EndFunc   ;==>_grubenfaktorrechner

Func _grube_Wiese($aPosVertrag)
	$sText_Bemerkung = "Grubenmaß: " & _replacePunkt2Koma($aAngaben_gruben[1][1]) & " x " & _replacePunkt2Koma($aAngaben_gruben[1][2]) & " x " & _replacePunkt2Koma($aAngaben_gruben[1][3])
	$sBreite = _replacePunkt2Koma($aAngaben_gruben[1][2])
	$sLeange = _replacePunkt2Koma($aAngaben_gruben[1][1])
	$sTiefe = _replacePunkt2Koma($aAngaben_gruben[1][3])
	$sAbschnitt = $aAngaben_gruben[1][0]

	$iFaktor = _grubenfaktorrechner($sLeange, $sBreite)
	Dim $aPosNr = ["10037012"]
	_Find_Pos_From_Array($aPosNr, $aPosVertrag)

	$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||%Einheit%|%Kurztext%|%Bemerkung%||0,00|"
	If $sIPosNr <> "" Then
		$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $iFaktor & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "|1,0|" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"

	Else
		$sINI_String = $sNotImVer
	EndIf

	_ArrayAdd($aLVListe, $sINI_String, 0, "|")

EndFunc   ;==>_grube_Wiese

Func _grube_Kies($aPosVertrag)
	$sText_Bemerkung = "Grubenmaß: " & _replacePunkt2Koma($aAngaben_gruben[1][1]) & " x " & _replacePunkt2Koma($aAngaben_gruben[1][2]) & " x " & _replacePunkt2Koma($aAngaben_gruben[1][3])
	$sBreite = _replacePunkt2Koma($aAngaben_gruben[1][2])
	$sLeange = _replacePunkt2Koma($aAngaben_gruben[1][1])
	$sTiefe = _replacePunkt2Koma($aAngaben_gruben[1][3])
	$sAbschnitt = $aAngaben_gruben[1][0]

	$iFaktor = _grubenfaktorrechner($sLeange, $sBreite)
	Dim $aPosNr = ["10037032"]
	_Find_Pos_From_Array($aPosNr, $aPosVertrag)

	$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||%Einheit%|%Kurztext%|%Bemerkung%||0,00|"
	If $sIPosNr <> "" Then
		$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & _replacePunkt2Koma($iFaktor) & "|" & _replacePunkt2Koma($sLeange) & "|" & _replacePunkt2Koma($sBreite) & "|" & _replacePunkt2Koma($sTiefe) & "|1,0|" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"

	Else
		$sINI_String = $sNotImVer
	EndIf

	_ArrayAdd($aLVListe, $sINI_String, 0, "|")
EndFunc   ;==>_grube_Kies

Func _grube_Geb_Ober($aPosVertrag)
	$sText_Bemerkung = "Grubenmaß: " & _replacePunkt2Koma($aAngaben_gruben[1][1]) & " x " & _replacePunkt2Koma($aAngaben_gruben[1][2]) & " x " & _replacePunkt2Koma($aAngaben_gruben[1][3])
	$sBreite = _replacePunkt2Koma($aAngaben_gruben[1][2])
	$sLeange = _replacePunkt2Koma($aAngaben_gruben[1][1])
	$sTiefe = _replacePunkt2Koma($aAngaben_gruben[1][3])
	$sAbschnitt = $aAngaben_gruben[1][0]
	$sBreite_temp = $aAngaben_gruben[1][2] + 0.3
	$sBreite_test = _replacePunkt2Koma($sBreite_temp)
	$sAsphaltst = $aAngaben_gruben[1][5]
	$sAsphaltstark = _replaceKom2Punkt($aAngaben_gruben[1][5])

	$iFaktor = _grubenfaktorrechner($sLeange, $sBreite)
	;grube für den Gebundenen Oberbau
	Dim $aPosNr = ["10037052", "10037053"]
	_Find_Pos_From_Array($aPosNr, $aPosVertrag)

	$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||%Einheit%|%Kurztext%|%Bemerkung%||0,00|"
	If $sIPosNr <> "" Then
		$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & _replacePunkt2Koma($iFaktor) & "|" & _replacePunkt2Koma($sLeange) & "|" & _replacePunkt2Koma($sBreite) & "|" & _replacePunkt2Koma($sTiefe) & "|1,0|" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"

	Else
		$sINI_String = $sNotImVer
	EndIf
	_ArrayAdd($aLVListe, $sINI_String, 0, "|")
EndFunc   ;==>_grube_Geb_Ober

Func _grube_Asphalt($aPosVertrag)
	$sText_Bemerkung = "Grubenmaß: " & _replacePunkt2Koma($aAngaben_gruben[1][1]) & " x " & _replacePunkt2Koma($aAngaben_gruben[1][2]) & " x " & _replacePunkt2Koma($aAngaben_gruben[1][3])
	$sBreite = _replacePunkt2Koma($aAngaben_gruben[1][2])
	$sLeange = _replacePunkt2Koma($aAngaben_gruben[1][1])
	$sTiefe = _replacePunkt2Koma($aAngaben_gruben[1][3])
	$sAbschnitt = $aAngaben_gruben[1][0]
	$sBreite_temp = $aAngaben_gruben[1][2] + 0.3
	$sBreite_test = _replacePunkt2Koma($sBreite_temp)
	$sAsphaltst = $aAngaben_gruben[1][5]
	$sAsphaltstark = _replaceKom2Punkt($aAngaben_gruben[1][5])
	$iFaktor = _grubenfaktorrechner($sLeange, $sBreite)
;~
;~ 	;grube für den Gebundenen Oberbau
;~ 	Dim $aPosNr = ["10037052", "10037053"]
;~ 	_Find_Pos_From_Array($aPosNr, $aPosVertrag)

;~ 	$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||%Einheit%|%Kurztext%|%Bemerkung%||0,00|"
;~ 	If $sIPosNr <> "" Then
;~ 		$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & _replacePunkt2Koma($iFaktor) & "|" & _replacePunkt2Koma($sLeange) & "|" & _replacePunkt2Koma($sBreite) & "|" & _replacePunkt2Koma($sTiefe) & "|1,0|" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"

;~ 	Else
;~ 		$sINI_String = $sNotImVer
;~ 	EndIf
;~ 	_ArrayAdd($aLVListe, $sINI_String, 0, "|")

	; Zulage Asphalt
	$sText_Bemerkung = "Grubenmaß: " & _replacePunkt2Koma($aAngaben_gruben[1][1]) & " x " & _replacePunkt2Koma($aAngaben_gruben[1][2])
	Dim $aPosNr = ["10037162", "10037163"]
	_Find_Pos_From_Array($aPosNr, $aPosVertrag)

	$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||%Einheit%|%Kurztext%|%Bemerkung%||0,00|"
	If $sIPosNr <> "" Then
		$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & _replacePunkt2Koma($iFaktor) & "|" & _replacePunkt2Koma($sLeange) & "|" & _replacePunkt2Koma($sBreite) & "|" & _replacePunkt2Koma($sTiefe) & "|1,0|" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
	Else
		$sINI_String = $sNotImVer
	EndIf
	_ArrayAdd($aLVListe, $sINI_String, 0, "|")

	;Zulage Asphalt je 6cm
	Dim $aPosNr = ["10037172"]
	_Find_Pos_From_Array($aPosNr, $aPosVertrag)

	$sIFakotr = "1,0" ;Faktor
	$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
	$sINI_String = _Gen_String_for_Listview($sINI_String)

	$sAbschnitt = ""
	$sText_Bemerkung = "Asphaltstärke " & _replacePunkt2Koma($sAsphaltstark) & " m."
	$sTiefe = ""

	If $sAsphaltstark >= 0.11 And $sAsphaltstark <= 0.16 Then
		$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||" & $sIEinheit & "|" & $sIKurztext & "|%Bemerkung%||0,00|"
		If $sIPosNr <> "" Then
			$sIFakotr = "1,0" ;Faktor
			$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
			$sINI_String = _Gen_String_for_Listview($sINI_String)
		Else
			$sINI_String = $sNotImVer
		EndIf
		_ArrayAdd($aLVListe, $sINI_String, 0, "|")
	EndIf
	If $sAsphaltstark >= 0.17 And $sAsphaltstark <= 0.22 Then
		$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||" & $sIEinheit & "|" & $sIKurztext & "|%Bemerkung%||0,00|"
		If $sIPosNr <> "" Then
			$sIFakotr = "2,0" ;Faktor
			$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
			$sINI_String = _Gen_String_for_Listview($sINI_String)
		Else
			$sINI_String = $sNotImVer
		EndIf
		_ArrayAdd($aLVListe, $sINI_String, 0, "|")
	EndIf
	If $sAsphaltstark >= 0.23 And $sAsphaltstark <= 0.28 Then
		$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||" & $sIEinheit & "|" & $sIKurztext & "|%Bemerkung%||0,00|"
		If $sIPosNr <> "" Then
			$sIFakotr = "3,0" ;Faktor
			$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
			$sINI_String = _Gen_String_for_Listview($sINI_String)
		Else
			$sINI_String = $sNotImVer
		EndIf
		_ArrayAdd($aLVListe, $sINI_String, 0, "|")
	EndIf
	If $sAsphaltstark >= 0.29 And $sAsphaltstark <= 0.34 Then
		$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||" & $sIEinheit & "|" & $sIKurztext & "|%Bemerkung%||0,00|"
		If $sIPosNr <> "" Then
			$sIFakotr = "4,0" ;Faktor
			$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
			$sINI_String = _Gen_String_for_Listview($sINI_String)
		Else
			$sINI_String = $sNotImVer
		EndIf
		_ArrayAdd($aLVListe, $sINI_String, 0, "|")
	EndIf
	If $sAsphaltstark >= 0.35 And $sAsphaltstark <= 0.40 Then
		$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||" & $sIEinheit & "|" & $sIKurztext & "|%Bemerkung%||0,00|"
		If $sIPosNr <> "" Then
			$sIFakotr = "5,0" ;Faktor
			$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
			$sINI_String = _Gen_String_for_Listview($sINI_String)
		Else
			$sINI_String = $sNotImVer
		EndIf
		_ArrayAdd($aLVListe, $sINI_String, 0, "|")
	EndIf
	If $sAsphaltstark >= 0.41 Then
		$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||" & $sIEinheit & "|" & $sIKurztext & "|%Bemerkung%||0,00|"
		If $sIPosNr <> "" Then
			$sIFakotr = "6,0" ;Faktor
			$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
			$sINI_String = _Gen_String_for_Listview($sINI_String)
		Else
			$sINI_String = $sNotImVer
		EndIf
		_ArrayAdd($aLVListe, $sINI_String, 0, "|")
	EndIf
EndFunc   ;==>_grube_Asphalt

Func _grube_pflaster($aPosVertrag)
	$sText_Bemerkung = "Grubenmaß: " & _replacePunkt2Koma($aAngaben_gruben[1][1]) & " x " & _replacePunkt2Koma($aAngaben_gruben[1][2]) & " x " & _replacePunkt2Koma($aAngaben_gruben[1][3])
	$sBreite = _replacePunkt2Koma($aAngaben_gruben[1][2])
	$sLeange = _replacePunkt2Koma($aAngaben_gruben[1][1])
	$sTiefe = _replacePunkt2Koma($aAngaben_gruben[1][3])
	$sAbschnitt = $aAngaben_gruben[1][0]
	$sBreite_temp = $aAngaben_gruben[1][2] + 0.3
	$sBreite_test = _replacePunkt2Koma($sBreite_temp)
	$sAsphaltst = $aAngaben_gruben[1][5]
	$sAsphaltstark = _replaceKom2Punkt($aAngaben_gruben[1][5])
	$iFaktor = _grubenfaktorrechner($sLeange, $sBreite)


	$sText_Bemerkung = "Grubenmaß: " & _replacePunkt2Koma($aAngaben_gruben[1][1]) & " x " & _replacePunkt2Koma($aAngaben_gruben[1][2])
	Dim $aPosNr = ["10037082", "10037083"]
	_Find_Pos_From_Array($aPosNr, $aPosVertrag)

	$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||%Einheit%|%Kurztext%|%Bemerkung%||0,00|"
	If $sIPosNr <> "" Then
		$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & _replacePunkt2Koma($iFaktor) & "|" & _replacePunkt2Koma($sLeange) & "|" & _replacePunkt2Koma($sBreite) & "|" & _replacePunkt2Koma($sTiefe) & "|1,0|" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
	Else
		$sINI_String = $sNotImVer
	EndIf
	_ArrayAdd($aLVListe, $sINI_String, 0, "|")
EndFunc   ;==>_grube_pflaster

Func _grube_Mosaik($aPosVertrag)
	$sText_Bemerkung = "Grubenmaß: " & _replacePunkt2Koma($aAngaben_gruben[1][1]) & " x " & _replacePunkt2Koma($aAngaben_gruben[1][2]) & " x " & _replacePunkt2Koma($aAngaben_gruben[1][3])
	$sBreite = _replacePunkt2Koma($aAngaben_gruben[1][2])
	$sLeange = _replacePunkt2Koma($aAngaben_gruben[1][1])
	$sTiefe = _replacePunkt2Koma($aAngaben_gruben[1][3])
	$sAbschnitt = $aAngaben_gruben[1][0]
	$sBreite_temp = $aAngaben_gruben[1][2] + 0.3
	$sBreite_test = _replacePunkt2Koma($sBreite_temp)
	$sAsphaltst = $aAngaben_gruben[1][5]
	$sAsphaltstark = _replaceKom2Punkt($aAngaben_gruben[1][5])
	$iFaktor = _grubenfaktorrechner($sLeange, $sBreite)


	$sText_Bemerkung = "Grubenmaß: " & _replacePunkt2Koma($aAngaben_gruben[1][1]) & " x " & _replacePunkt2Koma($aAngaben_gruben[1][2])
	Dim $aPosNr = ["10037103"]
	_Find_Pos_From_Array($aPosNr, $aPosVertrag)

	$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||%Einheit%|%Kurztext%|%Bemerkung%||0,00|"
	If $sIPosNr <> "" Then
		$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & _replacePunkt2Koma($iFaktor) & "|" & _replacePunkt2Koma($sLeange) & "|" & _replacePunkt2Koma($sBreite) & "|" & _replacePunkt2Koma($sTiefe) & "|1,0|" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
	Else
		$sINI_String = $sNotImVer
	EndIf
	_ArrayAdd($aLVListe, $sINI_String, 0, "|")
EndFunc   ;==>_grube_Mosaik

Func _grube_NaturGro($aPosVertrag)
	$sText_Bemerkung = "Grubenmaß: " & _replacePunkt2Koma($aAngaben_gruben[1][1]) & " x " & _replacePunkt2Koma($aAngaben_gruben[1][2]) & " x " & _replacePunkt2Koma($aAngaben_gruben[1][3])
	$sBreite = _replacePunkt2Koma($aAngaben_gruben[1][2])
	$sLeange = _replacePunkt2Koma($aAngaben_gruben[1][1])
	$sTiefe = _replacePunkt2Koma($aAngaben_gruben[1][3])
	$sAbschnitt = $aAngaben_gruben[1][0]
	$sBreite_temp = $aAngaben_gruben[1][2] + 0.3
	$sBreite_test = _replacePunkt2Koma($sBreite_temp)
	$sAsphaltst = $aAngaben_gruben[1][5]
	$sAsphaltstark = _replaceKom2Punkt($aAngaben_gruben[1][5])
	$iFaktor = _grubenfaktorrechner($sLeange, $sBreite)


	$sText_Bemerkung = "Grubenmaß: " & _replacePunkt2Koma($aAngaben_gruben[1][1]) & " x " & _replacePunkt2Koma($aAngaben_gruben[1][2])
	Dim $aPosNr = ["10037123"]
	_Find_Pos_From_Array($aPosNr, $aPosVertrag)

	$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||%Einheit%|%Kurztext%|%Bemerkung%||0,00|"
	If $sIPosNr <> "" Then
		$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & _replacePunkt2Koma($iFaktor) & "|" & _replacePunkt2Koma($sLeange) & "|" & _replacePunkt2Koma($sBreite) & "|" & _replacePunkt2Koma($sTiefe) & "|1,0|" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
	Else
		$sINI_String = $sNotImVer
	EndIf
	_ArrayAdd($aLVListe, $sINI_String, 0, "|")
EndFunc   ;==>_grube_NaturGro

Func _grube_bodenklasse7($aPosVertrag)
	$sText_Bemerkung = "Grubenmaß: " & _replacePunkt2Koma($aAngaben_gruben[1][1]) & " x " & _replacePunkt2Koma($aAngaben_gruben[1][2]) & " x " & _replacePunkt2Koma($aAngaben_gruben[1][3])
	$sBreite = _replacePunkt2Koma($aAngaben_gruben[1][2])
	$sLeange = _replacePunkt2Koma($aAngaben_gruben[1][1])
	$sTiefe = _replacePunkt2Koma($aAngaben_gruben[1][3])
	$sAbschnitt = $aAngaben_gruben[1][0]
	$sBreite_temp = $aAngaben_gruben[1][2] + 0.3
	$sBreite_test = _replacePunkt2Koma($sBreite_temp)
	$sAsphaltst = $aAngaben_gruben[1][5]
	$sAsphaltstark = _replaceKom2Punkt($aAngaben_gruben[1][5])
	$iFaktor = _grubenfaktorrechner($sLeange, $sBreite)

	$sText_Bemerkung = ""
	Dim $aPosNr = ["10037292"]
	_Find_Pos_From_Array($aPosNr, $aPosVertrag)

	$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||%Einheit%|%Kurztext%|%Bemerkung%||0,00|"
	If $sIPosNr <> "" Then
		$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & _replacePunkt2Koma($iFaktor) & "|" & _replacePunkt2Koma($sLeange) & "|" & _replacePunkt2Koma($sBreite) & "|" & _replacePunkt2Koma($sTiefe) & "|1,0|" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
	Else
		$sINI_String = $sNotImVer
	EndIf
	_ArrayAdd($aLVListe, $sINI_String, 0, "|")
EndFunc   ;==>_grube_bodenklasse7


Func _grube_winterbau($aPosVertrag)
	$sText_Bemerkung = "Grubenmaß: " & _replacePunkt2Koma($aAngaben_gruben[1][1]) & " x " & _replacePunkt2Koma($aAngaben_gruben[1][2]) & " x " & _replacePunkt2Koma($aAngaben_gruben[1][3])
	$sBreite = _replacePunkt2Koma($aAngaben_gruben[1][2])
	$sLeange = _replacePunkt2Koma($aAngaben_gruben[1][1])
	$sTiefe = _replacePunkt2Koma($aAngaben_gruben[1][3])
	$sAbschnitt = $aAngaben_gruben[1][0]
	$sBreite_temp = $aAngaben_gruben[1][2] + 0.3
	$sBreite_test = _replacePunkt2Koma($sBreite_temp)
	$sAsphaltst = $aAngaben_gruben[1][5]
	$sAsphaltstark = _replaceKom2Punkt($aAngaben_gruben[1][5])
	$iFaktor = _grubenfaktorrechner($sLeange, $sBreite)

	;g1=%Abschnitt%|10037452|%Faktor%||||1,0|ST|Zulage Winterbaustelle Gruben|%Bemerkung%||146,90|
	$sText_Bemerkung = "Oberfläche wird  im Frühjahr instandgesetzt"
	Dim $aPosNr = ["10037452"]
	_Find_Pos_From_Array($aPosNr, $aPosVertrag)

	$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||%Einheit%|%Kurztext%|%Bemerkung%||0,00|"
	If $sIPosNr <> "" Then
		$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & _replacePunkt2Koma($iFaktor) & "|" & _replacePunkt2Koma($sLeange) & "|" & _replacePunkt2Koma($sBreite) & "|" & _replacePunkt2Koma($sTiefe) & "|1,0|" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
	Else
		$sINI_String = $sNotImVer
	EndIf
	_ArrayAdd($aLVListe, $sINI_String, 0, "|")
EndFunc   ;==>_grube_winterbau

Func _grube_bodenaustausch($aPosVertrag)
	$sText_Bemerkung = "Grubenmaß: " & _replacePunkt2Koma($aAngaben_gruben[1][1]) & " x " & _replacePunkt2Koma($aAngaben_gruben[1][2]) & " x " & _replacePunkt2Koma($aAngaben_gruben[1][3])
	$sBreite = _replacePunkt2Koma($aAngaben_gruben[1][2])
	$sLeange = _replacePunkt2Koma($aAngaben_gruben[1][1])
	$sTiefe = _replacePunkt2Koma($aAngaben_gruben[1][3])
	$sAbschnitt = $aAngaben_gruben[1][0]
	$sBreite_temp = $aAngaben_gruben[1][2] + 0.3
	$sBreite_test = _replacePunkt2Koma($sBreite_temp)
	$sAsphaltst = $aAngaben_gruben[1][5]
	$sAsphaltstark = _replaceKom2Punkt($aAngaben_gruben[1][5])
	$iFaktor = _grubenfaktorrechner($sLeange, $sBreite)

	$sText_Bemerkung = ""
	Dim $aPosNr = ["10037322", "10037323"]
	_Find_Pos_From_Array($aPosNr, $aPosVertrag)

	$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||%Einheit%|%Kurztext%|%Bemerkung%||0,00|"
	If $sIPosNr <> "" Then
		$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & _replacePunkt2Koma($iFaktor) & "|" & _replacePunkt2Koma($sLeange) & "|" & _replacePunkt2Koma($sBreite) & "|" & _replacePunkt2Koma($sTiefe) & "|1,0|" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
	Else
		$sINI_String = $sNotImVer
	EndIf
	_ArrayAdd($aLVListe, $sINI_String, 0, "|")
EndFunc   ;==>_grube_bodenaustausch

Func _gragrub_kantenstein($aPosVertrag)
;~ bauf=%Abschnitt%|10037073|0,5|%Leange%|%Breite%|%Tiefe%||M|Zulage Gräben Pflaster, Platten|siehe ZTV 9 Seite 15 Punkt .21||48,96|
;~ blief=%Abschnitt%|10015510|1,0|%Leange%|%Breite%|%Tiefe%||M|Bordsteine liefern|%Bemerkung%||30,78|
;~ bein=%Abschnitt%|10018230|1,0|%Leange%|%Breite%|%Tiefe%||M|Bordstein in Beton einbauen|%Bemerkung%||48,60|
	$sText_Bemerkung = "siehe ZTV 9 Seite 15 Punkt .21"
	$sAbschnitt = ""  ;Abschnitt
	$sLeange = _replaceKom2Punkt($aAngaben_graben[1][1])
	$sBreite = ""
	$sTiefe = ""

	Dim $aPosNr = ["10038680"]
	_Find_Pos_From_Array($aPosNr, $aPosVertrag)
	$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||" & $sIEinheit & "|" & $sIKurztext & "|%Bemerkung%||0,00|"
	If $sIPosNr <> "" Then
		$sIFakotr = "1,0" ;Faktor
		$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & $sIFakotr & "|" & $sLeange & "|" & $sBreite & "|" & $sTiefe & "||" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
		$sINI_String = _Gen_String_for_Listview($sINI_String)
	Else
		$sINI_String = $sNotImVer
	EndIf
	_ArrayAdd($aLVListe, $sINI_String, 0, "|")
EndFunc   ;==>_gragrub_kantenstein

;~ bauf=%Abschnitt%|10037073|0,5|%Leange%|%Breite%|%Tiefe%||M|Zulage Gräben Pflaster, Platten|siehe ZTV 9 Seite 15 Punkt .21||49,98|
;~ blief=%Abschnitt%|10015510|1,0|%Leange%|%Breite%|%Tiefe%||M|Bordsteine liefern|%Bemerkung%||24,28|
;~ bein=%Abschnitt%|10018230|1,0|%Leange%|%Breite%|%Tiefe%||M|Bordstein in Beton einbauen|%Bemerkung%||37,93|
;~ [Kantenstein]
;~ kauf=%Abschnitt%|10037073|0,5|%Leange%|%Breite%|%Tiefe%||M|Zulage Gräben Pflaster, Platten|siehe ZTV 9 Seite 15 Punkt .21||49,98|
;~ klief=%Abschnitt%|10015520|1,0|%Leange%|%Breite%|%Tiefe%||M|Kantensteine liefern|%Bemerkung%||14,72|
;~ kein=%Abschnitt%|10018240|1,0|%Leange%|%Breite%|%Tiefe%||M|Kantensteine in Beton einbauen|%Bemerkung%||22,75|
;~ [Rinne]
;~ rauf=%Abschnitt%|10037073|0,5|%Leange%|%Breite%|%Tiefe%||M|Zulage Gräben Pflaster, Platten|siehe ZTV 9 Seite 15 Punkt .21||49,98|
;~ rauf4=%Abschnitt%|10037073|0,5|%Leange%|%Breite%|%Tiefe%||M|Zulage Gräben Pflaster, Platten|siehe ZTV 9 Seite 15 Punkt .21||49,98|
;~ rauf5=%Abschnitt%|10037073|0,5|%Leange%|%Breite%|%Tiefe%||M|Zulage Gräben Pflaster, Platten|siehe ZTV 9 Seite 15 Punkt .21||49,98|
;~ rauf6=%Abschnitt%|10037073|0,5|%Leange%|%Breite%|%Tiefe%||M|Zulage Gräben Pflaster, Platten|siehe ZTV 9 Seite 15 Punkt .21||49,98|
;~ rauf7=%Abschnitt%|10037073|0,5|%Leange%|%Breite%|%Tiefe%||M|Zulage Gräben Pflaster, Platten|siehe ZTV 9 Seite 15 Punkt .21||49,98|
;~ rlief=%Abschnitt%|10015530|1,0|%Leange%|%Breite%|%Tiefe%||M|Rinnensteine 1 und mehrzeilig liefern|%Bemerkung%||21,24|
;~ rlief4=%Abschnitt%|10015530|1,3|%Leange%|%Breite%|%Tiefe%||M|Rinnensteine 1 und mehrzeilig liefern|%Bemerkung%||21,24|
;~ rlief5=%Abschnitt%|10015530|1,6|%Leange%|%Breite%|%Tiefe%||M|Rinnensteine 1 und mehrzeilig liefern|%Bemerkung%||21,24|
;~ rlief6=%Abschnitt%|10015530|1,9|%Leange%|%Breite%|%Tiefe%||M|Rinnensteine 1 und mehrzeilig liefern|%Bemerkung%||21,24|
;~ rlief7=%Abschnitt%|10015530|2,2|%Leange%|%Breite%|%Tiefe%||M|Rinnensteine 1 und mehrzeilig liefern|%Bemerkung%||21,24|
;~ rein=%Abschnitt%|10018250|1,0|%Leange%|%Breite%|%Tiefe%||M|Rinnen 1 und mehrzeilig auf Beton einb.|%Bemerkung%||48,14|
;~ rein4=%Abschnitt%|10018250|1,3|%Leange%|%Breite%|%Tiefe%||M|Rinnen 1 und mehrzeilig auf Beton einb.|%Bemerkung%||45,51|
;~ rein5=%Abschnitt%|10018250|1,6|%Leange%|%Breite%|%Tiefe%||M|Rinnen 1 und mehrzeilig auf Beton einb.|%Bemerkung%||45,51|
;~ rein6=%Abschnitt%|10018250|1,9|%Leange%|%Breite%|%Tiefe%||M|Rinnen 1 und mehrzeilig auf Beton einb.|%Bemerkung%||45,51|
;~ rein7=%Abschnitt%|10018250|2,2|%Leange%|%Breite%|%Tiefe%||M|Rinnen 1 und mehrzeilig auf Beton einb.|%Bemerkung%||45,51|

Func _add_STO_Pos()
	$aVertragsPos = _read_VertragsPositionen2Array()

	If GUICtrlRead($tab_sto_chb_fehlerortun) = $GUI_CHECKED Then
		_mess_fehlerortung($aVertragsPos)
	EndIf

	If GUICtrlRead($tab_sto_chb_zul_instan) = $GUI_CHECKED Then
		_zulage_instand_kabelfehler($aVertragsPos)
	EndIf

	If GUICtrlRead($tab_sto_chb_schaden_bewe) = $GUI_CHECKED Then
		_kr_schaden_beweis($aVertragsPos)
	EndIf

	If GUICtrlRead($tab_sto_chb_instan_beweis) = $GUI_CHECKED Then
		_kr_instand_beweis($aVertragsPos)
	EndIf

	If GUICtrlRead($tab_sto_chb_anfahrt_mon) = $GUI_CHECKED Then
		_sto_anfahrt_los($aVertragsPos)
	EndIf

	If GUICtrlRead($tab_sto_txt_kabelkl30) <> "" Then
		_sto_kb_bis30_auslegen($aVertragsPos)
	EndIf

	If GUICtrlRead($tab_sto_txt_kabelgr30) <> "" Then
		_sto_kb_gr30_auslegen($aVertragsPos)
	EndIf

	If GUICtrlRead($tab_sto_txt_vao_preis) <> "" Then
		_sto_vao_eintragen($aVertragsPos)
	EndIf

	If GUICtrlRead($tab_sto_txt_cu_da_kl) <> "" Then
		_sto_cu_da_kl($aVertragsPos)
	EndIf

	If GUICtrlRead($tab_sto_txt_cu_da_gr) <> "" Then
		_sto_cu_da_gr($aVertragsPos)
	EndIf

	If GUICtrlRead($tab_sto_chb_fehlor_gf) = $GUI_CHECKED Then
		_mess_fehlerortung_GF($aVertragsPos)
	EndIf

	If GUICtrlRead($tab_sto_chb_inst_n_fehl_gf) = $GUI_CHECKED Then
		_instand_Fehl_GF_mit_mess($aVertragsPos)
	EndIf

	If GUICtrlRead($tab_sto_chb_beweis_gf) = $GUI_CHECKED Then
		_kr_schaden_beweis($aVertragsPos)
	EndIf

	If GUICtrlRead($tab_sto_instand_ohne_mess_gf) = $GUI_CHECKED Then
		_instand_Fehl_GF_ohne_mess($aVertragsPos)
	EndIf

	If GUICtrlRead($tab_sto_txt_ausblm) <> "" Then
		_sto_ausblm($aVertragsPos)
	EndIf

	If GUICtrlRead($tab_sto_txt_einblm) <> "" Then
		_sto_einblm($aVertragsPos)
	EndIf

	If GUICtrlRead($tab_sto_txt_unge_Kas_abl) <> "" Then
		_sto_unge_inKaski($aVertragsPos)
	EndIf

	If GUICtrlRead($tab_sto_txt_anz_gf_schw_indoor) <> "" Then
		_sto_GF_verb_indoor($aVertragsPos)
	EndIf

	If GUICtrlRead($tab_sto_txt_anz_gf_schw_outdoor) <> "" Then
		_sto_GF_verb_outdoor(($aVertragsPos)
	EndIf

	_ArrayDelete($aLVListe, 0)
	$iCount = -1
	_GUIListViewEx_InsertSpec($iLV_Aufma_Index, $iCount, $aLVListe)
	Global $aLVListe[1][13]
EndFunc   ;==>_add_STO_Pos

Func _mess_fehlerortung_GF($aPosVertrag)
	$sText_Bemerkung = "Messung Fehlereingrenzung"
	$sAbschnitt = "Messung"  ;Abschnitt
	$iFaktor = "1,0"
	$sLeange = ""
	$sBreite = ""
	$sTiefe = ""

	Dim $aPosNr = ["10036384"]
	_Find_Pos_From_Array($aPosNr, $aPosVertrag)

	$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||%Einheit%|%Kurztext%|%Bemerkung%||0,00|"
	If $sIPosNr <> "" Then
		$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & _replacePunkt2Koma($iFaktor) & "|" & _replacePunkt2Koma($sLeange) & "|" & _replacePunkt2Koma($sBreite) & "|" & _replacePunkt2Koma($sTiefe) & "|1,0|" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
	Else
		$sINI_String = $sNotImVer
	EndIf
;~ 	ConsoleWrite($sINI_String& @CRLF)
	_ArrayAdd($aLVListe, $sINI_String, 0, "|")
EndFunc   ;==>_mess_fehlerortung_GF

Func _mess_fehlerortung($aPosVertrag)
	$sText_Bemerkung = "Messung Fehlereingrenzung"
	$sAbschnitt = "Messung"  ;Abschnitt
	$iFaktor = "1,0"
	$sLeange = ""
	$sBreite = ""
	$sTiefe = ""

	Dim $aPosNr = ["10036303"]
	_Find_Pos_From_Array($aPosNr, $aPosVertrag)

	$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||%Einheit%|%Kurztext%|%Bemerkung%||0,00|"
	If $sIPosNr <> "" Then
		$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & _replacePunkt2Koma($iFaktor) & "|" & _replacePunkt2Koma($sLeange) & "|" & _replacePunkt2Koma($sBreite) & "|" & _replacePunkt2Koma($sTiefe) & "|1,0|" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
	Else
		$sINI_String = $sNotImVer
	EndIf
;~ 	ConsoleWrite($sINI_String& @CRLF)
	_ArrayAdd($aLVListe, $sINI_String, 0, "|")
EndFunc   ;==>_mess_fehlerortung

Func _instand_Fehl_GF_ohne_mess($aPosVertrag)
	$sText_Bemerkung = "Fehler Instandsetzung"
	$sAbschnitt = "Montage"  ;Abschnitt
	$iFaktor = "1,0"
	$sLeange = ""
	$sBreite = ""
	$sTiefe = ""

	Dim $aPosNr = ["10036394"]
	_Find_Pos_From_Array($aPosNr, $aPosVertrag)

	$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||%Einheit%|%Kurztext%|%Bemerkung%||0,00|"
	If $sIPosNr <> "" Then
		$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & _replacePunkt2Koma($iFaktor) & "|" & _replacePunkt2Koma($sLeange) & "|" & _replacePunkt2Koma($sBreite) & "|" & _replacePunkt2Koma($sTiefe) & "|1,0|" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
	Else
		$sINI_String = $sNotImVer
	EndIf
;~ 	ConsoleWrite($sINI_String& @CRLF)
	_ArrayAdd($aLVListe, $sINI_String, 0, "|")
EndFunc   ;==>_instand_Fehl_GF_ohne_mess

Func _instand_Fehl_GF_mit_mess($aPosVertrag)
	$sText_Bemerkung = "Fehler Instandsetzung"
	$sAbschnitt = "Montage"  ;Abschnitt
	$iFaktor = "1,0"
	$sLeange = ""
	$sBreite = ""
	$sTiefe = ""

	Dim $aPosNr = ["10036405"]
	_Find_Pos_From_Array($aPosNr, $aPosVertrag)

	$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||%Einheit%|%Kurztext%|%Bemerkung%||0,00|"
	If $sIPosNr <> "" Then
		$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & _replacePunkt2Koma($iFaktor) & "|" & _replacePunkt2Koma($sLeange) & "|" & _replacePunkt2Koma($sBreite) & "|" & _replacePunkt2Koma($sTiefe) & "|1,0|" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
	Else
		$sINI_String = $sNotImVer
	EndIf
;~ 	ConsoleWrite($sINI_String& @CRLF)
	_ArrayAdd($aLVListe, $sINI_String, 0, "|")
EndFunc   ;==>_instand_Fehl_GF_mit_mess

Func _zulage_instand_kabelfehler($aPosVertrag)
	$sText_Bemerkung = "Fehler Instandsetzung"
	$sAbschnitt = "Montage"  ;Abschnitt
	$iFaktor = "1,0"
	$sLeange = ""
	$sBreite = ""
	$sTiefe = ""

	Dim $aPosNr = ["10036313"]
	_Find_Pos_From_Array($aPosNr, $aPosVertrag)

	$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||%Einheit%|%Kurztext%|%Bemerkung%||0,00|"
	If $sIPosNr <> "" Then
		$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & _replacePunkt2Koma($iFaktor) & "|" & _replacePunkt2Koma($sLeange) & "|" & _replacePunkt2Koma($sBreite) & "|" & _replacePunkt2Koma($sTiefe) & "|1,0|" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
	Else
		$sINI_String = $sNotImVer
	EndIf
;~ 	ConsoleWrite($sINI_String& @CRLF)
	_ArrayAdd($aLVListe, $sINI_String, 0, "|")
EndFunc   ;==>_zulage_instand_kabelfehler

Func _kr_schaden_beweis($aPosVertrag)
	$sText_Bemerkung = "siehe Anlage"
	$sAbschnitt = "Beweisicherung"  ;Abschnitt
	$iFaktor = "1,0"
	$sLeange = ""
	$sBreite = ""
	$sTiefe = ""

	Dim $aPosNr = ["10036323"]
	_Find_Pos_From_Array($aPosNr, $aPosVertrag)

	$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||%Einheit%|%Kurztext%|%Bemerkung%||0,00|"
	If $sIPosNr <> "" Then
		If GUICtrlRead($tab_sto_chb_fehlerortun) = $GUI_CHECKED And GUICtrlRead($tab_sto_chb_zul_instan) = $GUI_CHECKED And GUICtrlRead($tab_sto_chb_schaden_bewe) = $GUI_CHECKED And GUICtrlRead($tab_sto_chb_instan_beweis) = $GUI_CHECKED Then
			$iFaktor = "0,5"
			$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & _replacePunkt2Koma($iFaktor) & "|" & _replacePunkt2Koma($sLeange) & "|" & _replacePunkt2Koma($sBreite) & "|" & _replacePunkt2Koma($sTiefe) & "|1,0|" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
		Else
			$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & _replacePunkt2Koma($iFaktor) & "|" & _replacePunkt2Koma($sLeange) & "|" & _replacePunkt2Koma($sBreite) & "|" & _replacePunkt2Koma($sTiefe) & "|1,0|" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
		EndIf

	Else
		$sINI_String = $sNotImVer
	EndIf
;~ 	ConsoleWrite($sINI_String& @CRLF)
	_ArrayAdd($aLVListe, $sINI_String, 0, "|")
EndFunc   ;==>_kr_schaden_beweis

Func _kr_instand_beweis($aPosVertrag)
	$sText_Bemerkung = "Fehler instandgesetzt."
	$sAbschnitt = "Instandsetzung"  ;Abschnitt
	$iFaktor = "1,0"
	$sLeange = ""
	$sBreite = ""
	$sTiefe = ""

	Dim $aPosNr = ["10036343"]
	_Find_Pos_From_Array($aPosNr, $aPosVertrag)

	$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||%Einheit%|%Kurztext%|%Bemerkung%||0,00|"
	If $sIPosNr <> "" Then
		$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & _replacePunkt2Koma($iFaktor) & "|" & _replacePunkt2Koma($sLeange) & "|" & _replacePunkt2Koma($sBreite) & "|" & _replacePunkt2Koma($sTiefe) & "|1,0|" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
	Else
		$sINI_String = $sNotImVer
	EndIf
;~ 	ConsoleWrite($sINI_String& @CRLF)
	_ArrayAdd($aLVListe, $sINI_String, 0, "|")
EndFunc   ;==>_kr_instand_beweis

Func _sto_einblm($aPosVertrag)
	$sText_Bemerkung = ""
	$sAbschnitt = "einblasen GF-Kabel"  ;Abschnitt
	$iFaktor = "1,0"
	$sLeange = GUICtrlRead($tab_sto_txt_einblm)
	$sBreite = ""
	$sTiefe = ""

	$sText_Bemerkung = ""
	Dim $aPosNr = ["10037483"]
	_Find_Pos_From_Array($aPosNr, $aPosVertrag)

	$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||%Einheit%|%Kurztext%|%Bemerkung%||0,00|"
	If $sIPosNr <> "" Then
		$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & _replacePunkt2Koma($iFaktor) & "|" & _replacePunkt2Koma($sLeange) & "|" & _replacePunkt2Koma($sBreite) & "|" & _replacePunkt2Koma($sTiefe) & "|1,0|" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
	Else
		$sINI_String = $sNotImVer
	EndIf
;~ 	ConsoleWrite($sINI_String& @CRLF)
	_ArrayAdd($aLVListe, $sINI_String, 0, "|")
EndFunc   ;==>_sto_einblm

Func _sto_ausblm($aPosVertrag)
	$sText_Bemerkung = ""
	$sAbschnitt = "ausblasen GF-Kabel"  ;Abschnitt
	$iFaktor = "1,0"
	$sLeange = GUICtrlRead($tab_sto_txt_ausblm)
	$sBreite = ""
	$sTiefe = ""

	$sText_Bemerkung = ""
	Dim $aPosNr = ["10037493"]
	_Find_Pos_From_Array($aPosNr, $aPosVertrag)

	$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||%Einheit%|%Kurztext%|%Bemerkung%||0,00|"
	If $sIPosNr <> "" Then
		$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & _replacePunkt2Koma($iFaktor) & "|" & _replacePunkt2Koma($sLeange) & "|" & _replacePunkt2Koma($sBreite) & "|" & _replacePunkt2Koma($sTiefe) & "|1,0|" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
	Else
		$sINI_String = $sNotImVer
	EndIf
;~ 	ConsoleWrite($sINI_String& @CRLF)
	_ArrayAdd($aLVListe, $sINI_String, 0, "|")
EndFunc   ;==>_sto_ausblm

Func _sto_kb_bis30_auslegen($aPosVertrag)
	$sText_Bemerkung = ""
	$sAbschnitt = ""  ;Abschnitt
	$iFaktor = "1,0"
	$sLeange = GUICtrlRead($tab_sto_txt_kabelkl30)
	$sBreite = ""
	$sTiefe = ""

	$sText_Bemerkung = ""
	Dim $aPosNr = ["10037342"]
	_Find_Pos_From_Array($aPosNr, $aPosVertrag)

	$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||%Einheit%|%Kurztext%|%Bemerkung%||0,00|"
	If $sIPosNr <> "" Then
		$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & _replacePunkt2Koma($iFaktor) & "|" & _replacePunkt2Koma($sLeange) & "|" & _replacePunkt2Koma($sBreite) & "|" & _replacePunkt2Koma($sTiefe) & "|1,0|" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
	Else
		$sINI_String = $sNotImVer
	EndIf
;~ 	ConsoleWrite($sINI_String& @CRLF)
	_ArrayAdd($aLVListe, $sINI_String, 0, "|")
EndFunc   ;==>_sto_kb_bis30_auslegen

Func _sto_kb_gr30_auslegen($aPosVertrag)
	$sText_Bemerkung = ""
	$sAbschnitt = ""  ;Abschnitt
	$iFaktor = "1,0"
	$sLeange = GUICtrlRead($tab_sto_txt_kabelgr30)
	$sBreite = ""
	$sTiefe = ""

	$sText_Bemerkung = ""
	Dim $aPosNr = ["10037352"]
	_Find_Pos_From_Array($aPosNr, $aPosVertrag)

	$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||%Einheit%|%Kurztext%|%Bemerkung%||0,00|"
	If $sIPosNr <> "" Then
		$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & _replacePunkt2Koma($iFaktor) & "|" & _replacePunkt2Koma($sLeange) & "|" & _replacePunkt2Koma($sBreite) & "|" & _replacePunkt2Koma($sTiefe) & "|1,0|" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
	Else
		$sINI_String = $sNotImVer
	EndIf
;~ 	ConsoleWrite($sINI_String& @CRLF)
	_ArrayAdd($aLVListe, $sINI_String, 0, "|")
EndFunc   ;==>_sto_kb_gr30_auslegen

Func _sto_vao_eintragen($aPosVertrag)
	$sText_Bemerkung = "VAO siehe Anlage"
	$sAbschnitt = "VAO"  ;Abschnitt
	$iFaktor = "1,0"
	$sLeange = ""
	$sBreite = ""
	$sTiefe = ""
	$sMenge = GUICtrlRead($tab_sto_txt_vao_preis)


	Dim $aPosNr = ["10099980"]
	_Find_Pos_From_Array($aPosNr, $aPosVertrag)

	$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||%Einheit%|%Kurztext%|%Bemerkung%||0,00|"
	If $sIPosNr <> "" Then

		$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & _replacePunkt2Koma($iFaktor) & "|" & _replacePunkt2Koma($sLeange) & "|" & _replacePunkt2Koma($sBreite) & "|" & _replacePunkt2Koma($sTiefe) & "|" & $sMenge & "|" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"

	Else
		$sINI_String = $sNotImVer
	EndIf
;~ 	ConsoleWrite($sINI_String& @CRLF)
	_ArrayAdd($aLVListe, $sINI_String, 0, "|")
EndFunc   ;==>_sto_vao_eintragen

Func _sto_anfahrt_los($aPosVertrag)
	$sText_Bemerkung = "anfahrt"
	$sAbschnitt = ""  ;Abschnitt
	$iFaktor = "1,0"
	$sLeange = ""
	$sBreite = ""
	$sTiefe = ""

	Dim $aPosNr = ["10081273"]
	_Find_Pos_From_Array($aPosNr, $aPosVertrag)

	$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||%Einheit%|%Kurztext%|%Bemerkung%||0,00|"
	If $sIPosNr <> "" Then
		$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & _replacePunkt2Koma($iFaktor) & "|" & _replacePunkt2Koma($sLeange) & "|" & _replacePunkt2Koma($sBreite) & "|" & _replacePunkt2Koma($sTiefe) & "|1,0|" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
	Else
		$sINI_String = $sNotImVer
	EndIf
;~ 	ConsoleWrite($sINI_String& @CRLF)
	_ArrayAdd($aLVListe, $sINI_String, 0, "|")
EndFunc   ;==>_sto_anfahrt_los

Func _sto_unge_inKas($aPosVertrag)
	$sText_Bemerkung = ""
	$sAbschnitt = ""  ;Abschnitt
	$iFaktor = "1,0"
	$sLeange = ""
	$sBreite = ""
	$sTiefe = ""
	$sMenge = GUICtrlRead($tab_sto_txt_unge_Kas_abl)

	Dim $aPosNr = ["10051162"]
	_Find_Pos_From_Array($aPosNr, $aPosVertrag)

	$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||%Einheit%|%Kurztext%|%Bemerkung%||0,00|"
	If $sIPosNr <> "" Then

		$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & _replacePunkt2Koma($iFaktor) & "|" & _replacePunkt2Koma($sLeange) & "|" & _replacePunkt2Koma($sBreite) & "|" & _replacePunkt2Koma($sTiefe) & "|" & $sMenge & "|" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"

	Else
		$sINI_String = $sNotImVer
	EndIf
;~ 	ConsoleWrite($sINI_String& @CRLF)
	_ArrayAdd($aLVListe, $sINI_String, 0, "|")
EndFunc   ;==>_sto_unge_inKas

Func _sto_GF_verb_indoor($aPosVertrag)
	$sText_Bemerkung = ""
	$sAbschnitt = ""  ;Abschnitt
	$iFaktor = "1,0"
	$sLeange = ""
	$sBreite = ""
	$sTiefe = ""
	$sMenge = GUICtrlRead($tab_sto_txt_anz_gf_schw_indoor)

	Dim $aPosNr = ["10051202"]
	_Find_Pos_From_Array($aPosNr, $aPosVertrag)

	$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||%Einheit%|%Kurztext%|%Bemerkung%||0,00|"
	If $sIPosNr <> "" Then

		$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & _replacePunkt2Koma($iFaktor) & "|" & _replacePunkt2Koma($sLeange) & "|" & _replacePunkt2Koma($sBreite) & "|" & _replacePunkt2Koma($sTiefe) & "|" & $sMenge & "|" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"

	Else
		$sINI_String = $sNotImVer
	EndIf
;~ 	ConsoleWrite($sINI_String& @CRLF)
	_ArrayAdd($aLVListe, $sINI_String, 0, "|")
EndFunc   ;==>_sto_GF_verb_indoor

Func _sto_GF_verb_outdoor($aPosVertrag)
	$sText_Bemerkung = ""
	$sAbschnitt = ""  ;Abschnitt
	$iFaktor = "1,0"
	$sLeange = ""
	$sBreite = ""
	$sTiefe = ""
	$sMenge = GUICtrlRead($tab_sto_txt_anz_gf_schw_outdoor)

	Dim $aPosNr = ["10051212"]
	_Find_Pos_From_Array($aPosNr, $aPosVertrag)

	$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||%Einheit%|%Kurztext%|%Bemerkung%||0,00|"
	If $sIPosNr <> "" Then

		$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & _replacePunkt2Koma($iFaktor) & "|" & _replacePunkt2Koma($sLeange) & "|" & _replacePunkt2Koma($sBreite) & "|" & _replacePunkt2Koma($sTiefe) & "|" & $sMenge & "|" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"

	Else
		$sINI_String = $sNotImVer
	EndIf
;~ 	ConsoleWrite($sINI_String& @CRLF)
	_ArrayAdd($aLVListe, $sINI_String, 0, "|")
EndFunc   ;==>_sto_GF_verb_outdoor

Func _sto_cu_da_kl($aPosVertrag)
	$sText_Bemerkung = "CU-DA verbinden"
	$sAbschnitt = ""  ;Abschnitt
	$iFaktor = "1,0"
	$sLeange = ""
	$sBreite = ""
	$sTiefe = ""
	$sMenge = GUICtrlRead($tab_sto_txt_cu_da_kl)

	Dim $aPosNr = ["10041113"]
	_Find_Pos_From_Array($aPosNr, $aPosVertrag)

	$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||%Einheit%|%Kurztext%|%Bemerkung%||0,00|"
	If $sIPosNr <> "" Then

		$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & _replacePunkt2Koma($iFaktor) & "|" & _replacePunkt2Koma($sLeange) & "|" & _replacePunkt2Koma($sBreite) & "|" & _replacePunkt2Koma($sTiefe) & "|" & $sMenge & "|" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"

	Else
		$sINI_String = $sNotImVer
	EndIf
;~ 	ConsoleWrite($sINI_String& @CRLF)
	_ArrayAdd($aLVListe, $sINI_String, 0, "|")
EndFunc   ;==>_sto_cu_da_kl

Func _sto_cu_da_gr($aPosVertrag)
	$sText_Bemerkung = "CU-DA verbinden"
	$sAbschnitt = ""  ;Abschnitt
	$iFaktor = "1,0"
	$sLeange = ""
	$sBreite = ""
	$sTiefe = ""
	$sMenge = GUICtrlRead($tab_sto_txt_cu_da_gr)

	Dim $aPosNr = ["10041043"]
	_Find_Pos_From_Array($aPosNr, $aPosVertrag)

	$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||%Einheit%|%Kurztext%|%Bemerkung%||0,00|"
	If $sIPosNr <> "" Then

		$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & _replacePunkt2Koma($iFaktor) & "|" & _replacePunkt2Koma($sLeange) & "|" & _replacePunkt2Koma($sBreite) & "|" & _replacePunkt2Koma($sTiefe) & "|" & $sMenge & "|" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"

	Else
		$sINI_String = $sNotImVer
	EndIf
;~ 	ConsoleWrite($sINI_String& @CRLF)
	_ArrayAdd($aLVListe, $sINI_String, 0, "|")
EndFunc   ;==>_sto_cu_da_gr

Func _add_TVUM_Pos()
	$aVertragsPos = _read_VertragsPositionen2Array()

	If GUICtrlRead($tab_tvum_chb_tvumap_mont) = $GUI_CHECKED Then
		_TVUM_mont_AP($aVertragsPos)
	EndIf



	If GUICtrlRead($tab_tvum_txt_instsnr_bef) <> "" Then
		_TVUM_installKanal($aVertragsPos)
	EndIf

	If GUICtrlRead($tab_tvum_txt_gfinnen_bef) <> "" Then
		_TVUM_gfinnen_bef($aVertragsPos)
	EndIf

	If GUICtrlRead($tab_tvum_txt_ftthap_anz_spl) <> "" Then
		_TVUM_FTTH_OB_spl($aVertragsPos)
	EndIf

	If GUICtrlRead($tab_tvum_txt_TVumAP_anz_spl) <> "" Then
		_TVUM_TVUM_AP_spl($aVertragsPos)
	EndIf

	If GUICtrlRead($tab_tvum_anz_mess) <> "" Then
		_TVUM_Messung($aVertragsPos)
	EndIf

	If GUICtrlRead($tab_tvum_nvt_anz_spl) <> "" Then
		_TVUM_NVT_anz_spl($aVertragsPos)
	EndIf

	If GUICtrlRead($tab_tvum_txt_ausblm) <> "" Then
		_TVUM_GFK_ausblm($aVertragsPos)
	EndIf

	If GUICtrlRead($tab_tvum_txt_einblm) <> "" Then
		_TVUM_GFK_einblm($aVertragsPos)
	EndIf



	_ArrayDelete($aLVListe, 0)
	$iCount = -1
	_GUIListViewEx_InsertSpec($iLV_Aufma_Index, $iCount, $aLVListe)
	Global $aLVListe[1][13]
EndFunc   ;==>_add_TVUM_Pos

Func _TVUM_mont_AP($aPosVertrag)
	$sText_Bemerkung = ""
	$sAbschnitt = "TVuM Gf AP"  ;Abschnitt
	$iFaktor = "1,0"
	$sLeange = ""
	$sBreite = ""
	$sTiefe = ""


	Dim $aPosNr = ["10031123"]
	_Find_Pos_From_Array($aPosNr, $aPosVertrag)

	$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||%Einheit%|%Kurztext%|%Bemerkung%||0,00|"
	If $sIPosNr <> "" Then
		$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & _replacePunkt2Koma($iFaktor) & "|" & _replacePunkt2Koma($sLeange) & "|" & _replacePunkt2Koma($sBreite) & "|" & _replacePunkt2Koma($sTiefe) & "|1,0|" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
	Else
		$sINI_String = $sNotImVer
	EndIf
;~ 	ConsoleWrite($sINI_String& @CRLF)
	_ArrayAdd($aLVListe, $sINI_String, 0, "|")
EndFunc   ;==>_TVUM_mont_AP

Func _TVUM_installKanal($aPosVertrag)
	$sText_Bemerkung = GUICtrlRead($tab_tvum_txt_instsnr_bef) & " m Rohr"
	$sAbschnitt = ""  ;Abschnitt
	$iFaktor = "1,0"
	$sLeange = GUICtrlRead($tab_tvum_txt_instsnr_bef)
	$sBreite = ""
	$sTiefe = ""

	$sText_Bemerkung = ""
	Dim $aPosNr = ["10044030"]
	_Find_Pos_From_Array($aPosNr, $aPosVertrag)

	$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||%Einheit%|%Kurztext%|%Bemerkung%||0,00|"
	If $sIPosNr <> "" Then
		$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & _replacePunkt2Koma($iFaktor) & "|" & _replacePunkt2Koma($sLeange) & "|" & _replacePunkt2Koma($sBreite) & "|" & _replacePunkt2Koma($sTiefe) & "|1,0|" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
	Else
		$sINI_String = $sNotImVer
	EndIf
;~ 	ConsoleWrite($sINI_String& @CRLF)
	_ArrayAdd($aLVListe, $sINI_String, 0, "|")
EndFunc   ;==>_TVUM_installKanal

Func _TVUM_gfinnen_bef($aPosVertrag)
	$sText_Bemerkung = ""
	$sAbschnitt = ""  ;Abschnitt
	$iFaktor = "1,0"
	$sLeange = GUICtrlRead($tab_tvum_txt_gfinnen_bef)
	$sBreite = ""
	$sTiefe = ""

	$sText_Bemerkung = ""
	Dim $aPosNr = ["10044100"]
	_Find_Pos_From_Array($aPosNr, $aPosVertrag)

	$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||%Einheit%|%Kurztext%|%Bemerkung%||0,00|"
	If $sIPosNr <> "" Then
		$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & _replacePunkt2Koma($iFaktor) & "|" & _replacePunkt2Koma($sLeange) & "|" & _replacePunkt2Koma($sBreite) & "|" & _replacePunkt2Koma($sTiefe) & "|1,0|" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
	Else
		$sINI_String = $sNotImVer
	EndIf
;~ 	ConsoleWrite($sINI_String& @CRLF)
	_ArrayAdd($aLVListe, $sINI_String, 0, "|")
EndFunc   ;==>_TVUM_gfinnen_bef

Func _TVUM_FTTH_OB_spl($aPosVertrag)
	$sText_Bemerkung = ""
	$sAbschnitt = "FTTH GF-Spleissbox"  ;Abschnitt
	$iFaktor = "1,0"
	$sLeange = ""
	$sBreite = ""
	$sTiefe = ""
	$sMenge = GUICtrlRead($tab_tvum_txt_ftthap_anz_spl)

	Dim $aPosNr = ["10051282"]
	_Find_Pos_From_Array($aPosNr, $aPosVertrag)

	$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||%Einheit%|%Kurztext%|%Bemerkung%||0,00|"
	If $sIPosNr <> "" Then
		$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & _replacePunkt2Koma($iFaktor) & "|" & _replacePunkt2Koma($sLeange) & "|" & _replacePunkt2Koma($sBreite) & "|" & _replacePunkt2Koma($sTiefe) & "|" & $sMenge & "|" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
	Else
		$sINI_String = $sNotImVer
	EndIf
;~ 	ConsoleWrite($sINI_String& @CRLF)
	_ArrayAdd($aLVListe, $sINI_String, 0, "|")

	_TVUM_unge_Kas_abl($aPosVertrag)
EndFunc   ;==>_TVUM_FTTH_OB_spl

Func _TVUM_TVUM_AP_spl($aPosVertrag)
	$sText_Bemerkung = ""
	$sAbschnitt = "ONE-Box TVUM"  ;Abschnitt
	$iFaktor = "1,0"
	$sLeange = ""
	$sBreite = ""
	$sTiefe = ""
	$sMenge = GUICtrlRead($tab_tvum_txt_TVumAP_anz_spl)

	Dim $aPosNr = ["10051282"]
	_Find_Pos_From_Array($aPosNr, $aPosVertrag)

	$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||%Einheit%|%Kurztext%|%Bemerkung%||0,00|"
	If $sIPosNr <> "" Then
		$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & _replacePunkt2Koma($iFaktor) & "|" & _replacePunkt2Koma($sLeange) & "|" & _replacePunkt2Koma($sBreite) & "|" & _replacePunkt2Koma($sTiefe) & "|" & $sMenge & "|" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
	Else
		$sINI_String = $sNotImVer
	EndIf
;~ 	ConsoleWrite($sINI_String& @CRLF)
	_ArrayAdd($aLVListe, $sINI_String, 0, "|")

;~ 	_TVUM_unge_Kas_abl($aPosVertrag)
EndFunc   ;==>_TVUM_TVUM_AP_spl

Func _TVUM_Messung($aPosVertrag)
	$sText_Bemerkung = "Messung"
	$sAbschnitt = ""  ;Abschnitt
	$iFaktor = "1,0"
	$sLeange = ""
	$sBreite = ""
	$sTiefe = ""
	$sMenge = GUICtrlRead($tab_tvum_anz_mess)

	Dim $aPosNr = ["10051733"]
	_Find_Pos_From_Array($aPosNr, $aPosVertrag)

	$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||%Einheit%|%Kurztext%|%Bemerkung%||0,00|"
	If $sIPosNr <> "" Then
		$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & _replacePunkt2Koma($iFaktor) & "|" & _replacePunkt2Koma($sLeange) & "|" & _replacePunkt2Koma($sBreite) & "|" & _replacePunkt2Koma($sTiefe) & "|" & $sMenge & "|" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
	Else
		$sINI_String = $sNotImVer
	EndIf
;~ 	ConsoleWrite($sINI_String& @CRLF)
	_ArrayAdd($aLVListe, $sINI_String, 0, "|")

	_TVUM_unge_Kas_abl($aPosVertrag)
EndFunc   ;==>_TVUM_Messung

Func _TVUM_NVT_anz_spl($aPosVertrag)
	$sText_Bemerkung = ""
	$sAbschnitt = "NVT"  ;Abschnitt
	$iFaktor = "1,0"
	$sLeange = ""
	$sBreite = ""
	$sTiefe = ""
	$sMenge = GUICtrlRead($tab_tvum_nvt_anz_spl)

	Dim $aPosNr = ["10051302"]
	_Find_Pos_From_Array($aPosNr, $aPosVertrag)

	$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||%Einheit%|%Kurztext%|%Bemerkung%||0,00|"
	If $sIPosNr <> "" Then
		$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & _replacePunkt2Koma($iFaktor) & "|" & _replacePunkt2Koma($sLeange) & "|" & _replacePunkt2Koma($sBreite) & "|" & _replacePunkt2Koma($sTiefe) & "|" & $sMenge & "|" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
	Else
		$sINI_String = $sNotImVer
	EndIf
;~ 	ConsoleWrite($sINI_String& @CRLF)
	_ArrayAdd($aLVListe, $sINI_String, 0, "|")

	_TVUM_unge_Kas_abl($aPosVertrag)
EndFunc   ;==>_TVUM_NVT_anz_spl

Func _TVUM_unge_Kas_abl($aPosVertrag)
	$sText_Bemerkung = ""
	$sAbschnitt = ""  ;Abschnitt
	$iFaktor = "1,0"
	$sLeange = ""
	$sBreite = ""
	$sTiefe = ""
	$sMenge = "1"

	Dim $aPosNr = ["10051162"]
	_Find_Pos_From_Array($aPosNr, $aPosVertrag)

	$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||%Einheit%|%Kurztext%|%Bemerkung%||0,00|"
	If $sIPosNr <> "" Then
		$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & _replacePunkt2Koma($iFaktor) & "|" & _replacePunkt2Koma($sLeange) & "|" & _replacePunkt2Koma($sBreite) & "|" & _replacePunkt2Koma($sTiefe) & "|" & $sMenge & "|" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
	Else
		$sINI_String = $sNotImVer
	EndIf
;~ 	ConsoleWrite($sINI_String& @CRLF)
	_ArrayAdd($aLVListe, $sINI_String, 0, "|")
EndFunc   ;==>_TVUM_unge_Kas_abl

Func _TVUM_GFK_einblm($aPosVertrag)
	$sText_Bemerkung = ""
	$sAbschnitt = "einblasen GF-Kabel"  ;Abschnitt
	$iFaktor = "1,0"
	$sLeange = GUICtrlRead($tab_tvum_txt_einblm)
	$sBreite = ""
	$sTiefe = ""

	$sText_Bemerkung = ""
	Dim $aPosNr = ["10037483"]
	_Find_Pos_From_Array($aPosNr, $aPosVertrag)

	$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||%Einheit%|%Kurztext%|%Bemerkung%||0,00|"
	If $sIPosNr <> "" Then
		$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & _replacePunkt2Koma($iFaktor) & "|" & _replacePunkt2Koma($sLeange) & "|" & _replacePunkt2Koma($sBreite) & "|" & _replacePunkt2Koma($sTiefe) & "|1,0|" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
	Else
		$sINI_String = $sNotImVer
	EndIf
;~ 	ConsoleWrite($sINI_String& @CRLF)
	_ArrayAdd($aLVListe, $sINI_String, 0, "|")
EndFunc   ;==>_TVUM_GFK_einblm

Func _TVUM_GFK_ausblm($aPosVertrag)
	$sText_Bemerkung = ""
	$sAbschnitt = "ausblasen GF-Kabel"  ;Abschnitt
	$iFaktor = "1,0"
	$sLeange = GUICtrlRead($tab_tvum_txt_ausblm)
	$sBreite = ""
	$sTiefe = ""

	$sText_Bemerkung = ""
	Dim $aPosNr = ["10037493"]
	_Find_Pos_From_Array($aPosNr, $aPosVertrag)

	$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||%Einheit%|%Kurztext%|%Bemerkung%||0,00|"
	If $sIPosNr <> "" Then
		$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & _replacePunkt2Koma($iFaktor) & "|" & _replacePunkt2Koma($sLeange) & "|" & _replacePunkt2Koma($sBreite) & "|" & _replacePunkt2Koma($sTiefe) & "|1,0|" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
	Else
		$sINI_String = $sNotImVer
	EndIf
;~ 	ConsoleWrite($sINI_String& @CRLF)
	_ArrayAdd($aLVListe, $sINI_String, 0, "|")
EndFunc   ;==>_TVUM_GFK_ausblm

Func _add_Plan_Pos()
	$aVertragsPos = _read_VertragsPositionen2Array()



	;Projektierung S Aufträge
	If GUICtrlRead($tab_plan_ed_SListe) <> "" Then
		_Plan_S_Projektierung($aVertragsPos)
	EndIf



	; Projektierung ML Aufräge
	If GUICtrlRead($tab_plan_chb_ap_sgs) = $GUI_CHECKED Then
		_Plan_ML_GFAP_SGS($aVertragsPos)
	EndIf
	If GUICtrlRead($tab_plan_txt_gfminik) <> "" Then
		_Plan_ML_GFK_imZN($aVertragsPos)
	EndIf
	If GUICtrlRead($tab_plan_txt_ivk) <> "" Then
		_Plan_ML_IVK($aVertragsPos)
	EndIf
	If GUICtrlRead($tab_plan_chb_proj_kl_baum) = $GUI_CHECKED Then
		_Plan_ML_Proj_kl_baum($aVertragsPos)
	EndIf

	If GUICtrlRead($tab_plan_zulage_kl_baum) <> "" Then
		_Plan_ML_Zu_proj_kl_baum($aVertragsPos)
	EndIf
	; Projektedrung FTTH Aufträge
	If GUICtrlRead($tab_plan_proj_n_struk_mTB) = $GUI_CHECKED Then
		_Plan_FTTH_Proj_n_Struk_mTB($aVertragsPos)
	EndIf
	If GUICtrlRead($tab_plan_txt_proj_n_struk_mTB) <> "" Then
		_Plan_FTTH_Proj_n_Struk_mTB_zul($aVertragsPos)
	EndIf
	If GUICtrlRead($tab_plan_zu_proj_n_struk_oTB) = $GUI_CHECKED Then
		_Plan_FTTH_Proj_n_Struk_oTB($aVertragsPos)
	EndIf
	If GUICtrlRead($tab_plan_proj_n_struk_oTB) <> "" Then
		_Plan_FTTH_Proj_n_Struk_mTB_zul($aVertragsPos)
	EndIf
	If GUICtrlRead($tab_plan_mpp_gfk_nvt_ap) = $GUI_CHECKED Then
		_Plan_FTTH_MPP_GFK_NVT_AP($aVertragsPos)
	EndIf
	If GUICtrlRead($tab_plan_txt_mpp_gfk_ZN) <> "" Then
		_Plan_FTTH_MPP_GFK_iZN($aVertragsPos)
	EndIf
	If GUICtrlRead($tab_plan_chb_mpp_gfap) = $GUI_CHECKED Then
		_Plan_FTTH_MP_GFAP($aVertragsPos)
	EndIf
	If GUICtrlRead($tab_plan_txt_mpp_kr) <> "" Then
		_Plan_FTTH_MP_KRAnlagen($aVertragsPos)
	EndIf
	If GUICtrlRead($tab_plan_txt_mpp_snrv) <> "" Then
		_Plan_FTTH_MP_SNRV($aVertragsPos)
	EndIf

	_ArrayDelete($aLVListe, 0)
	$iCount = -1
	_GUIListViewEx_InsertSpec($iLV_Aufma_Index, $iCount, $aLVListe)
	Global $aLVListe[1][13]
EndFunc   ;==>_add_Plan_Pos

Func _Plan_S_Projektierung($aPosVertrag)
	Dim $aPosNr = ["10082043"]
	_Find_Pos_From_Array($aPosNr, $aPosVertrag)


	$aArray = StringSplit(StringReplace(GUICtrlRead($tab_plan_ed_SListe), @CRLF, @LF), @LF)
;~ 	_DebugArrayDisplay($aArray)
	Dim $aListCreate[$aArray[0]][13]
	For $i = 1 To UBound($aArray) - 1
		$aListCreate[$i - 1][0] = $aArray[$i]
		$aListCreate[$i - 1][1] = "10082043"
		If GUICtrlRead($tab_plan_chb_05) = $GUI_CHECKED Then
			$aListCreate[$i - 1][2] = "0,5"
		Else
			$aListCreate[$i - 1][2] = "1,0"
		EndIf

		$aListCreate[$i - 1][6] = "1"
		$aListCreate[$i - 1][7] = "ST"
		$aListCreate[$i - 1][8] = "Projektierung v. kl. Baumaßnahmen u.i."
		$aListCreate[$i - 1][9] = $aArray[$i]
		$aListCreate[$i - 1][10] = "1"
		$aListCreate[$i - 1][11] = "230,00"
		$aListCreate[$i - 1][12] = "230,00"
;~ 		$aListCreate[$i -1][0] = $aArray[$i]
;~ 		_ArrayAdd($aListCreate, $aArray[$i]& ""])
;~ 		Bad Säckingen, Hauensteinstr. 14 SM 208626773|10082043|1,0||||1|ST|Projektierung v. kl. Baumaßnahmen u.i.|Bad Säckingen, Hauensteinstr. 14 SM 208626773|1|230,00|230
;~ 		$aArray[$i]& "|10082043|1,0"||||1|ST|Projektierung v. kl. Baumaßnahmen u.i.|Bad Säckingen, Hauensteinstr. 14 SM 208626773|1|230,00|230


		$sText_Bemerkung = $aArray[$i]
		$sAbschnitt = $aArray[$i]  ;Abschnitt

		If GUICtrlRead($tab_plan_chb_05) = $GUI_CHECKED Then
			$iFaktor = "0,5"
		Else
			$iFaktor = "1,0"
		EndIf


		$sLeange = ""
		$sBreite = ""
		$sTiefe = ""
		$sMenge = "1,0"

		$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||%Einheit%|%Kurztext%|%Bemerkung%||0,00|"
		If $sIPosNr <> "" Then
			$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & _replacePunkt2Koma($iFaktor) & "|" & _replacePunkt2Koma($sLeange) & "|" & _replacePunkt2Koma($sBreite) & "|" & _replacePunkt2Koma($sTiefe) & "|" & $sMenge & "|" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
		Else
			$sINI_String = $sNotImVer
		EndIf
;~ 	ConsoleWrite($sINI_String& @CRLF)
		_ArrayAdd($aLVListe, $sINI_String, 0, "|")
	Next

	If GUICtrlRead($tab_plan_chb_05) = $GUI_CHECKED Then
		GUICtrlSetData($kopf_TAB_txt_baustelle, "Planung")
		GUICtrlSetData($kopf_TAB_txt_bauabschnitt, "20x 0,5 kl. Maßnahmen")
	Else
		GUICtrlSetData($kopf_TAB_txt_baustelle, "Planung")
		GUICtrlSetData($kopf_TAB_txt_bauabschnitt, "10x kl. Maßnahmen")
	EndIf

EndFunc   ;==>_Plan_S_Projektierung

Func _Plan_ML_GFAP_SGS($aPosVertrag)
	$sText_Bemerkung = "GF.AP + Patchfeld"
	$sAbschnitt = "GF.AP + Patchfeld"  ;Abschnitt
	$iFaktor = "1,0"
	$sLeange = ""
	$sBreite = ""
	$sTiefe = ""
	$sMenge = "1" ;GUICtrlRead($tab_tvum_txt_TVumAP_anz_spl)

	Dim $aPosNr = ["10082322"]
	_Find_Pos_From_Array($aPosNr, $aPosVertrag)

	$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||%Einheit%|%Kurztext%|%Bemerkung%||0,00|"
	If $sIPosNr <> "" Then
		$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & _replacePunkt2Koma($iFaktor) & "|" & _replacePunkt2Koma($sLeange) & "|" & _replacePunkt2Koma($sBreite) & "|" & _replacePunkt2Koma($sTiefe) & "|" & $sMenge & "|" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
	Else
		$sINI_String = $sNotImVer
	EndIf
;~ 	ConsoleWrite($sINI_String& @CRLF)
	_ArrayAdd($aLVListe, $sINI_String, 0, "|")
EndFunc   ;==>_Plan_ML_GFAP_SGS

Func _Plan_ML_GFK_imZN($aPosVertrag)
	$sText_Bemerkung = "Minikabel"
	$sAbschnitt = "Minikabel"  ;Abschnitt
	$iFaktor = "1,0"
	$sLeange = GUICtrlRead($tab_plan_txt_gfminik)
	$sBreite = ""
	$sTiefe = ""
	$sMenge = "" ;GUICtrlRead($tab_tvum_txt_TVumAP_anz_spl)

	Dim $aPosNr = ["10082332"]
	_Find_Pos_From_Array($aPosNr, $aPosVertrag)

	$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||%Einheit%|%Kurztext%|%Bemerkung%||0,00|"
	If $sIPosNr <> "" Then
		$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & _replacePunkt2Koma($iFaktor) & "|" & _replacePunkt2Koma($sLeange) & "|" & _replacePunkt2Koma($sBreite) & "|" & _replacePunkt2Koma($sTiefe) & "|" & $sMenge & "|" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
	Else
		$sINI_String = $sNotImVer
	EndIf
;~ 	ConsoleWrite($sINI_String& @CRLF)
	_ArrayAdd($aLVListe, $sINI_String, 0, "|")
EndFunc   ;==>_Plan_ML_GFK_imZN

Func _Plan_ML_IVK($aPosVertrag)
	$sText_Bemerkung = "IVK"
	$sAbschnitt = "IVK"  ;Abschnitt
	$iFaktor = "1,0"
	$sLeange = GUICtrlRead($tab_plan_txt_ivk)
	$sBreite = ""
	$sTiefe = ""
	$sMenge = "" ;GUICtrlRead($tab_tvum_txt_TVumAP_anz_spl)

	Dim $aPosNr = ["10082332"]
	_Find_Pos_From_Array($aPosNr, $aPosVertrag)

	$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||%Einheit%|%Kurztext%|%Bemerkung%||0,00|"
	If $sIPosNr <> "" Then
		$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & _replacePunkt2Koma($iFaktor) & "|" & _replacePunkt2Koma($sLeange) & "|" & _replacePunkt2Koma($sBreite) & "|" & _replacePunkt2Koma($sTiefe) & "|" & $sMenge & "|" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
	Else
		$sINI_String = $sNotImVer
	EndIf
;~ 	ConsoleWrite($sINI_String& @CRLF)
	_ArrayAdd($aLVListe, $sINI_String, 0, "|")
EndFunc   ;==>_Plan_ML_IVK

Func _Plan_ML_Proj_kl_baum($aPosVertrag)
	$sText_Bemerkung = ""
	$sAbschnitt = ""  ;Abschnitt
	$iFaktor = "1,0"
	$sLeange = ""
	$sBreite = ""
	$sTiefe = ""
	$sMenge = "1" ;GUICtrlRead($tab_tvum_txt_TVumAP_anz_spl)

	Dim $aPosNr = ["10082043"]
	_Find_Pos_From_Array($aPosNr, $aPosVertrag)

	$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||%Einheit%|%Kurztext%|%Bemerkung%||0,00|"
	If $sIPosNr <> "" Then
		$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & _replacePunkt2Koma($iFaktor) & "|" & _replacePunkt2Koma($sLeange) & "|" & _replacePunkt2Koma($sBreite) & "|" & _replacePunkt2Koma($sTiefe) & "|" & $sMenge & "|" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
	Else
		$sINI_String = $sNotImVer
	EndIf
;~ 	ConsoleWrite($sINI_String& @CRLF)
	_ArrayAdd($aLVListe, $sINI_String, 0, "|")
EndFunc   ;==>_Plan_ML_Proj_kl_baum

Func _Plan_ML_Zu_proj_kl_baum($aPosVertrag)
	$sText_Bemerkung = "SNRVE "
	$sAbschnitt = ""  ;Abschnitt
	$iFaktor = "1,0"
	$sLeange = GUICtrlRead($tab_plan_zulage_kl_baum)
	$sBreite = ""
	$sTiefe = ""
	$sMenge = "" ;GUICtrlRead($tab_tvum_txt_TVumAP_anz_spl)

	Dim $aPosNr = ["10082053"]
	_Find_Pos_From_Array($aPosNr, $aPosVertrag)

	$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||%Einheit%|%Kurztext%|%Bemerkung%||0,00|"
	If $sIPosNr <> "" Then
		$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & _replacePunkt2Koma($iFaktor) & "|" & _replacePunkt2Koma($sLeange) & "|" & _replacePunkt2Koma($sBreite) & "|" & _replacePunkt2Koma($sTiefe) & "|" & $sMenge & "|" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
	Else
		$sINI_String = $sNotImVer
	EndIf
;~ 	ConsoleWrite($sINI_String& @CRLF)
	_ArrayAdd($aLVListe, $sINI_String, 0, "|")
EndFunc   ;==>_Plan_ML_Zu_proj_kl_baum

Func _Plan_FTTH_Proj_n_Struk_mTB($aPosVertrag)
	$sText_Bemerkung = "projektierung mit TB bis 100m"
	$sAbschnitt = ""  ;Abschnitt
	$iFaktor = "1,0"
	$sLeange = ""
	$sBreite = ""
	$sTiefe = ""
	$sMenge = "1" ;GUICtrlRead($tab_tvum_txt_TVumAP_anz_spl)

	Dim $aPosNr = ["10082153"]
	_Find_Pos_From_Array($aPosNr, $aPosVertrag)

	$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||%Einheit%|%Kurztext%|%Bemerkung%||0,00|"
	If $sIPosNr <> "" Then
		$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & _replacePunkt2Koma($iFaktor) & "|" & _replacePunkt2Koma($sLeange) & "|" & _replacePunkt2Koma($sBreite) & "|" & _replacePunkt2Koma($sTiefe) & "|" & $sMenge & "|" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
	Else
		$sINI_String = $sNotImVer
	EndIf
;~ 	ConsoleWrite($sINI_String& @CRLF)
	_ArrayAdd($aLVListe, $sINI_String, 0, "|")
EndFunc   ;==>_Plan_FTTH_Proj_n_Struk_mTB

Func _Plan_FTTH_Proj_n_Struk_mTB_zul($aPosVertrag)
	$sText_Bemerkung = "projektierung mit TB ab 100m"
	$sAbschnitt = ""  ;Abschnitt
	$iFaktor = "1,0"
	$sLeange = GUICtrlRead($tab_plan_txt_proj_n_struk_mTB)
	$sBreite = ""
	$sTiefe = ""
	$sMenge = "" ;GUICtrlRead($tab_tvum_txt_TVumAP_anz_spl)

	Dim $aPosNr = ["10082163"]
	_Find_Pos_From_Array($aPosNr, $aPosVertrag)

	$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||%Einheit%|%Kurztext%|%Bemerkung%||0,00|"
	If $sIPosNr <> "" Then
		$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & _replacePunkt2Koma($iFaktor) & "|" & _replacePunkt2Koma($sLeange) & "|" & _replacePunkt2Koma($sBreite) & "|" & _replacePunkt2Koma($sTiefe) & "|" & $sMenge & "|" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
	Else
		$sINI_String = $sNotImVer
	EndIf
;~ 	ConsoleWrite($sINI_String& @CRLF)
	_ArrayAdd($aLVListe, $sINI_String, 0, "|")
EndFunc   ;==>_Plan_FTTH_Proj_n_Struk_mTB_zul

Func _Plan_FTTH_Proj_n_Struk_oTB($aPosVertrag)
	$sText_Bemerkung = "projektierung ohne TB bis 100m"
	$sAbschnitt = ""  ;Abschnitt
	$iFaktor = "1,0"
	$sLeange = ""
	$sBreite = ""
	$sTiefe = ""
	$sMenge = "1" ;GUICtrlRead($tab_tvum_txt_TVumAP_anz_spl)

	Dim $aPosNr = ["10082173"]
	_Find_Pos_From_Array($aPosNr, $aPosVertrag)

	$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||%Einheit%|%Kurztext%|%Bemerkung%||0,00|"
	If $sIPosNr <> "" Then
		$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & _replacePunkt2Koma($iFaktor) & "|" & _replacePunkt2Koma($sLeange) & "|" & _replacePunkt2Koma($sBreite) & "|" & _replacePunkt2Koma($sTiefe) & "|" & $sMenge & "|" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
	Else
		$sINI_String = $sNotImVer
	EndIf
;~ 	ConsoleWrite($sINI_String& @CRLF)
	_ArrayAdd($aLVListe, $sINI_String, 0, "|")
EndFunc   ;==>_Plan_FTTH_Proj_n_Struk_oTB

Func _Plan_FTTH_Proj_n_Struk_oTB_zul($aPosVertrag)
	$sText_Bemerkung = "projektierung mit TB ab 100m"
	$sAbschnitt = ""  ;Abschnitt
	$iFaktor = "1,0"
	$sLeange = GUICtrlRead($tab_plan_proj_n_struk_oTB)
	$sBreite = ""
	$sTiefe = ""
	$sMenge = "" ;GUICtrlRead($tab_tvum_txt_TVumAP_anz_spl)

	Dim $aPosNr = ["10082183"]
	_Find_Pos_From_Array($aPosNr, $aPosVertrag)

	$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||%Einheit%|%Kurztext%|%Bemerkung%||0,00|"
	If $sIPosNr <> "" Then
		$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & _replacePunkt2Koma($iFaktor) & "|" & _replacePunkt2Koma($sLeange) & "|" & _replacePunkt2Koma($sBreite) & "|" & _replacePunkt2Koma($sTiefe) & "|" & $sMenge & "|" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
	Else
		$sINI_String = $sNotImVer
	EndIf
;~ 	ConsoleWrite($sINI_String& @CRLF)
	_ArrayAdd($aLVListe, $sINI_String, 0, "|")
EndFunc   ;==>_Plan_FTTH_Proj_n_Struk_oTB_zul

Func _Plan_FTTH_MPP_GFK_NVT_AP($aPosVertrag)
	$sText_Bemerkung = "GF-Kabel von NVT bis GF-AP"
	$sAbschnitt = ""  ;Abschnitt
	$iFaktor = "1,0"
	$sLeange = ""
	$sBreite = ""
	$sTiefe = ""
	$sMenge = "1" ;GUICtrlRead($tab_tvum_txt_TVumAP_anz_spl)

	Dim $aPosNr = ["10082322"]
	_Find_Pos_From_Array($aPosNr, $aPosVertrag)

	$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||%Einheit%|%Kurztext%|%Bemerkung%||0,00|"
	If $sIPosNr <> "" Then
		$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & _replacePunkt2Koma($iFaktor) & "|" & _replacePunkt2Koma($sLeange) & "|" & _replacePunkt2Koma($sBreite) & "|" & _replacePunkt2Koma($sTiefe) & "|" & $sMenge & "|" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
	Else
		$sINI_String = $sNotImVer
	EndIf
;~ 	ConsoleWrite($sINI_String& @CRLF)
	_ArrayAdd($aLVListe, $sINI_String, 0, "|")
EndFunc   ;==>_Plan_FTTH_MPP_GFK_NVT_AP

Func _Plan_FTTH_MPP_GFK_iZN($aPosVertrag)
	$sText_Bemerkung = "GF-Kabel in MP"
	$sAbschnitt = ""  ;Abschnitt
	$iFaktor = "1,0"
	$sLeange = GUICtrlRead($tab_plan_txt_mpp_gfk_ZN)
	$sBreite = ""
	$sTiefe = ""
	$sMenge = "" ;GUICtrlRead($tab_tvum_txt_TVumAP_anz_spl)

	Dim $aPosNr = ["10082183"]
	_Find_Pos_From_Array($aPosNr, $aPosVertrag)

	$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||%Einheit%|%Kurztext%|%Bemerkung%||0,00|"
	If $sIPosNr <> "" Then
		$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & _replacePunkt2Koma($iFaktor) & "|" & _replacePunkt2Koma($sLeange) & "|" & _replacePunkt2Koma($sBreite) & "|" & _replacePunkt2Koma($sTiefe) & "|" & $sMenge & "|" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
	Else
		$sINI_String = $sNotImVer
	EndIf
;~ 	ConsoleWrite($sINI_String& @CRLF)
	_ArrayAdd($aLVListe, $sINI_String, 0, "|")
EndFunc   ;==>_Plan_FTTH_MPP_GFK_iZN

Func _Plan_FTTH_MP_GFAP($aPosVertrag)
	$sText_Bemerkung = "GF-AP"
	$sAbschnitt = ""  ;Abschnitt
	$iFaktor = "1,0"
	$sLeange = ""
	$sBreite = ""
	$sTiefe = ""
	$sMenge = "1" ;GUICtrlRead($tab_tvum_txt_TVumAP_anz_spl)

	Dim $aPosNr = ["10082332"]
	_Find_Pos_From_Array($aPosNr, $aPosVertrag)

	$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||%Einheit%|%Kurztext%|%Bemerkung%||0,00|"
	If $sIPosNr <> "" Then
		$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & _replacePunkt2Koma($iFaktor) & "|" & _replacePunkt2Koma($sLeange) & "|" & _replacePunkt2Koma($sBreite) & "|" & _replacePunkt2Koma($sTiefe) & "|" & $sMenge & "|" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
	Else
		$sINI_String = $sNotImVer
	EndIf
;~ 	ConsoleWrite($sINI_String& @CRLF)
	_ArrayAdd($aLVListe, $sINI_String, 0, "|")
EndFunc   ;==>_Plan_FTTH_MP_GFAP

Func _Plan_FTTH_MP_KRAnlagen($aPosVertrag)
	$sText_Bemerkung = "KR-Anlangen "
	$sAbschnitt = ""  ;Abschnitt
	$iFaktor = "1,0"
	$sLeange = GUICtrlRead($tab_plan_txt_mpp_gfk_ZN)
	$sBreite = ""
	$sTiefe = ""
	$sMenge = "" ;GUICtrlRead($tab_tvum_txt_TVumAP_anz_spl)

	Dim $aPosNr = ["10082183"]
	_Find_Pos_From_Array($aPosNr, $aPosVertrag)

	$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||%Einheit%|%Kurztext%|%Bemerkung%||0,00|"
	If $sIPosNr <> "" Then
		$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & _replacePunkt2Koma($iFaktor) & "|" & _replacePunkt2Koma($sLeange) & "|" & _replacePunkt2Koma($sBreite) & "|" & _replacePunkt2Koma($sTiefe) & "|" & $sMenge & "|" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
	Else
		$sINI_String = $sNotImVer
	EndIf
;~ 	ConsoleWrite($sINI_String& @CRLF)
	_ArrayAdd($aLVListe, $sINI_String, 0, "|")
EndFunc   ;==>_Plan_FTTH_MP_KRAnlagen

Func _Plan_FTTH_MP_SNRV($aPosVertrag)
	$sText_Bemerkung = "SNRV "
	$sAbschnitt = ""  ;Abschnitt
	$iFaktor = "1,0"
	$sLeange = GUICtrlRead($tab_plan_txt_mpp_snrv)
	$sBreite = ""
	$sTiefe = ""
	$sMenge = "" ;GUICtrlRead($tab_tvum_txt_TVumAP_anz_spl)

	Dim $aPosNr = ["10082402"]
	_Find_Pos_From_Array($aPosNr, $aPosVertrag)

	$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||%Einheit%|%Kurztext%|%Bemerkung%||0,00|"
	If $sIPosNr <> "" Then
		$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & _replacePunkt2Koma($iFaktor) & "|" & _replacePunkt2Koma($sLeange) & "|" & _replacePunkt2Koma($sBreite) & "|" & _replacePunkt2Koma($sTiefe) & "|" & $sMenge & "|" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
	Else
		$sINI_String = $sNotImVer
	EndIf
;~ 	ConsoleWrite($sINI_String& @CRLF)
	_ArrayAdd($aLVListe, $sINI_String, 0, "|")
EndFunc   ;==>_Plan_FTTH_MP_SNRV


Func _add_zw_rv_Pos()
    $aVertragsPos = _read_VertragsPositionen2Array()
	
;~ 	_DebugArrayDisplay($aVertragsPos)
	
	; Koordination Hausanschluss
	If GUICtrlRead($tab_zw_rv_chb_koordinieren_hausanschluss) = $GUI_CHECKED Then
		_ZW_RV_HS_koordination($aVertragsPos)
	EndIf
	; Kopfloch am Gebäude
	If GUICtrlRead($tab_zw_rv_chb_kopfloch_gebaeude) = $GUI_CHECKED Then
		_ZW_RV_HS_kopflochGEB($aVertragsPos)
	EndIf
	
	; Vegetation
	If GUICtrlRead($tab_zw_rv_chb_vegetation) = $GUI_CHECKED Then
		_ZW_RV_HS_vegetation($aVertragsPos)
	EndIf
		; Pflaster
	If GUICtrlRead($tab_zw_rv_chb_pflaster) = $GUI_CHECKED Then
		_ZW_RV_HS_pflaster($aVertragsPos)
	EndIf
		; Asphalt
	If GUICtrlRead($tab_zw_rv_chb_asphalt) = $GUI_CHECKED Then
		_ZW_RV_HS_asphalt($aVertragsPos)
	EndIf

	; Kopfloch am Haupttrasse
	If GUICtrlRead($tab_zw_rv_chb_kopfloch_haupttrasse) = $GUI_CHECKED Then
		_ZW_RV_HS_kopflochHaupTrasse($aVertragsPos)
	EndIf
	
;~ 	_DebugArrayDisplay($aLVListe)
	_ArrayDelete($aLVListe, 0)
	$iCount = -1
	_GUIListViewEx_InsertSpec($iLV_Aufma_Index, $iCount, $aLVListe)
	Global $aLVListe[1][13]
EndFunc

func _ZW_RV_HS_koordination($aPosVertrag)
	$sText_Bemerkung = ""
	$sAbschnitt = GUICtrlRead($tab_zw_rv_txt_abschnitt)
	$iFaktor = "1,0"
	$sLeange = ""
	$sBreite = ""
	$sTiefe = ""
	$sMenge = "1" ;GUICtrlRead($tab_tvum_txt_TVumAP_anz_spl)
	
	Dim $aPosNr = ["1.04.03.0010"] ; Herstellen Hausanschluss koordinieren.
	_Find_Pos_From_Array($aPosNr, $aPosVertrag)

	$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||%Einheit%|%Kurztext%|%Bemerkung%||0,00|"
	If $sIPosNr <> "" Then
		$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & _replacePunkt2Koma($iFaktor) & "|" & _replacePunkt2Koma($sLeange) & "|" & _replacePunkt2Koma($sBreite) & "|" & _replacePunkt2Koma($sTiefe) & "|" & $sMenge & "|" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
	Else
		$sINI_String = $sNotImVer
	EndIf
;~ 	ConsoleWrite($sINI_String& @CRLF)
	_ArrayAdd($aLVListe, $sINI_String, 0, "|")
EndFunc

func _ZW_RV_HS_kopflochGEB($aPosVertrag)
	$sText_Bemerkung = ""
	$sAbschnitt = GUICtrlRead($tab_zw_rv_txt_abschnitt)
	$iFaktor = "1,0"
	$sLeange = ""
	$sBreite = ""
	$sTiefe = ""
	$sMenge = "1" 
		
	Dim $aPosNr = ["1.03.03.0040"] ; Kopfloch am Gebäude
	_Find_Pos_From_Array($aPosNr, $aPosVertrag)

	$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||%Einheit%|%Kurztext%|%Bemerkung%||0,00|"
	If $sIPosNr <> "" Then
		$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & _replacePunkt2Koma($iFaktor) & "|" & _replacePunkt2Koma($sLeange) & "|" & _replacePunkt2Koma($sBreite) & "|" & _replacePunkt2Koma($sTiefe) & "|" & $sMenge & "|" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
	Else
		$sINI_String = $sNotImVer
	EndIf
	_ArrayAdd($aLVListe, $sINI_String, 0, "|")
	
	
;~ 	$sText_Bemerkung = ""
;~ 	$sAbschnitt = ""
;~ 	$iFaktor = "1,0"
;~ 	$sLeange = "1,0"
;~ 	$sBreite = ""
;~ 	$sTiefe = ""
;~ 	$sMenge = "1" 

;~ 	Dim $aPosNr = ["1.04.01.0150"] ; Mikrokablerohr 10/6
;~ 	_Find_Pos_From_Array($aPosNr, $aPosVertrag)

;~ 	$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||%Einheit%|%Kurztext%|%Bemerkung%||0,00|"
;~ 	If $sIPosNr <> "" Then
;~ 		$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & _replacePunkt2Koma($iFaktor) & "|" & _replacePunkt2Koma($sLeange) & "|" & _replacePunkt2Koma($sBreite) & "|" & _replacePunkt2Koma($sTiefe) & "|" & $sMenge & "|" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
;~ 	Else
;~ 		$sINI_String = $sNotImVer
;~ 	EndIf
;~ 	_ArrayAdd($aLVListe, $sINI_String, 0, "|")
	
	
;~ 	$sText_Bemerkung = ""
;~ 	$sAbschnitt = ""
;~ 	$iFaktor = "1,0"
;~ 	$sLeange = "1,0"
;~ 	$sBreite = ""
;~ 	$sTiefe = ""
;~ 	$sMenge = "1,0" 

;~ 	Dim $aPosNr = ["1.02.02.0010"] ; Trassenband
;~ 	_Find_Pos_From_Array($aPosNr, $aPosVertrag)

;~ 	$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||%Einheit%|%Kurztext%|%Bemerkung%||0,00|"
;~ 	If $sIPosNr <> "" Then
;~ 		$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & _replacePunkt2Koma($iFaktor) & "|" & _replacePunkt2Koma($sLeange) & "|" & _replacePunkt2Koma($sBreite) & "|" & _replacePunkt2Koma($sTiefe) & "|" & $sMenge & "|" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
;~ 	Else
;~ 		$sINI_String = $sNotImVer
;~ 	EndIf
;~ 	_ArrayAdd($aLVListe, $sINI_String, 0, "|")
	
	
	$sText_Bemerkung = ""
	$sAbschnitt = GUICtrlRead($tab_zw_rv_txt_abschnitt)
	$iFaktor = "1,0"
	$sLeange = ""
	$sBreite = ""
	$sTiefe = ""
	$sMenge = "1" 
	
	Dim $aPosNr = ["1.04.03.0020"] ; Kernbohrung herstellen
	_Find_Pos_From_Array($aPosNr, $aPosVertrag)

	$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||%Einheit%|%Kurztext%|%Bemerkung%||0,00|"
	If $sIPosNr <> "" Then
		$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & _replacePunkt2Koma($iFaktor) & "|" & _replacePunkt2Koma($sLeange) & "|" & _replacePunkt2Koma($sBreite) & "|" & _replacePunkt2Koma($sTiefe) & "|" & $sMenge & "|" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
	Else
		$sINI_String = $sNotImVer
	EndIf
	_ArrayAdd($aLVListe, $sINI_String, 0, "|")
	
	$sText_Bemerkung = ""
	$sAbschnitt = GUICtrlRead($tab_zw_rv_txt_abschnitt)
	$iFaktor = "1,0"
	$sLeange = ""
	$sBreite = ""
	$sTiefe = ""
	$sMenge = "1" 
	
	Dim $aPosNr = ["1.04.03.0030"] ; MD1-FttH Abdichtungssatz
	_Find_Pos_From_Array($aPosNr, $aPosVertrag)

	$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||%Einheit%|%Kurztext%|%Bemerkung%||0,00|"
	If $sIPosNr <> "" Then
		$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & _replacePunkt2Koma($iFaktor) & "|" & _replacePunkt2Koma($sLeange) & "|" & _replacePunkt2Koma($sBreite) & "|" & _replacePunkt2Koma($sTiefe) & "|" & $sMenge & "|" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
	Else
		$sINI_String = $sNotImVer
	EndIf
	_ArrayAdd($aLVListe, $sINI_String, 0, "|")
	
	
	$sText_Bemerkung = "Abdichtung Pipe im Haus"
	$sAbschnitt = GUICtrlRead($tab_zw_rv_txt_abschnitt)
	$iFaktor = "1,0"
	$sLeange = ""
	$sBreite = ""
	$sTiefe = ""
	$sMenge = "1" 

	Dim $aPosNr = ["1.04.01.0180"] ; Endkappe-Abdichtung - DA10
	_Find_Pos_From_Array($aPosNr, $aPosVertrag)

	$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||%Einheit%|%Kurztext%|%Bemerkung%||0,00|"
	If $sIPosNr <> "" Then
		$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & _replacePunkt2Koma($iFaktor) & "|" & _replacePunkt2Koma($sLeange) & "|" & _replacePunkt2Koma($sBreite) & "|" & _replacePunkt2Koma($sTiefe) & "|" & $sMenge & "|" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
	Else
		$sINI_String = $sNotImVer
	EndIf
;~ 	ConsoleWrite($sINI_String& @CRLF)
	_ArrayAdd($aLVListe, $sINI_String, 0, "|")
	
EndFunc 

func _ZW_RV_HS_kopflochHaupTrasse($aPosVertrag)
	$sText_Bemerkung = ""
	$sAbschnitt = GUICtrlRead($tab_zw_rv_txt_abschnitt)
	$iFaktor = "1,0"
	$sLeange = ""
	$sBreite = ""
	$sTiefe = ""
	$sMenge = "1" ;GUICtrlRead($tab_tvum_txt_TVumAP_anz_spl)
	
	Dim $aPosNr = ["1.03.03.0030"] ; Kopfloch auf der Haupttrasse
	_Find_Pos_From_Array($aPosNr, $aPosVertrag)

	$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||%Einheit%|%Kurztext%|%Bemerkung%||0,00|"
	If $sIPosNr <> "" Then
		$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & _replacePunkt2Koma($iFaktor) & "|" & _replacePunkt2Koma($sLeange) & "|" & _replacePunkt2Koma($sBreite) & "|" & _replacePunkt2Koma($sTiefe) & "|" & $sMenge & "|" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
	Else
		$sINI_String = $sNotImVer
	EndIf
	_ArrayAdd($aLVListe, $sINI_String, 0, "|")
	
	
;~ 	$sText_Bemerkung = ""
;~ 	$sAbschnitt = ""
;~ 	$iFaktor = "1,0"
;~ 	$sLeange = "1,5"
;~ 	$sBreite = ""
;~ 	$sTiefe = ""
;~ 	$sMenge = "1" ;GUICtrlRead($tab_tvum_txt_TVumAP_anz_spl)

;~ 	Dim $aPosNr = ["1.04.01.0150"] ; Mikrokablerohr 10/6
;~ 	_Find_Pos_From_Array($aPosNr, $aPosVertrag)

;~ 	$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||%Einheit%|%Kurztext%|%Bemerkung%||0,00|"
;~ 	If $sIPosNr <> "" Then
;~ 		$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & _replacePunkt2Koma($iFaktor) & "|" & _replacePunkt2Koma($sLeange) & "|" & _replacePunkt2Koma($sBreite) & "|" & _replacePunkt2Koma($sTiefe) & "|" & $sMenge & "|" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
;~ 	Else
;~ 		$sINI_String = $sNotImVer
;~ 	EndIf
;~ 	_ArrayAdd($aLVListe, $sINI_String, 0, "|")
;~ 	
	
;~ 	$sText_Bemerkung = ""
;~ 	$sAbschnitt = ""
;~ 	$iFaktor = "1,0"
;~ 	$sLeange = "1,5"
;~ 	$sBreite = ""
;~ 	$sTiefe = ""
;~ 	$sMenge = "1,0" ;GUICtrlRead($tab_tvum_txt_TVumAP_anz_spl)

;~ 	Dim $aPosNr = ["1.02.02.0010"] ; Trassenband
;~ 	_Find_Pos_From_Array($aPosNr, $aPosVertrag)

;~ 	$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||%Einheit%|%Kurztext%|%Bemerkung%||0,00|"
;~ 	If $sIPosNr <> "" Then
;~ 		$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & _replacePunkt2Koma($iFaktor) & "|" & _replacePunkt2Koma($sLeange) & "|" & _replacePunkt2Koma($sBreite) & "|" & _replacePunkt2Koma($sTiefe) & "|" & $sMenge & "|" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
;~ 	Else
;~ 		$sINI_String = $sNotImVer
;~ 	EndIf
;~ 	_ArrayAdd($aLVListe, $sINI_String, 0, "|")
	

	$sText_Bemerkung = "Abgehendes Pipe abdichten"
	$sAbschnitt = GUICtrlRead($tab_zw_rv_txt_abschnitt)
	$iFaktor = "1,0"
	$sLeange = ""
	$sBreite = ""
	$sTiefe = ""
	$sMenge = "1" ;GUICtrlRead($tab_tvum_txt_TVumAP_anz_spl)
	Dim $aPosNr = ["1.04.01.0180"] ; Endkappe-Abdichtung - DA10
	_Find_Pos_From_Array($aPosNr, $aPosVertrag)

	$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||%Einheit%|%Kurztext%|%Bemerkung%||0,00|"
	If $sIPosNr <> "" Then
		$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & _replacePunkt2Koma($iFaktor) & "|" & _replacePunkt2Koma($sLeange) & "|" & _replacePunkt2Koma($sBreite) & "|" & _replacePunkt2Koma($sTiefe) & "|" & $sMenge & "|" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
	Else
		$sINI_String = $sNotImVer
	EndIf
;~ 	ConsoleWrite($sINI_String& @CRLF)
	_ArrayAdd($aLVListe, $sINI_String, 0, "|")
	
	$sText_Bemerkung = "Koplung Hauptverband mit HS Pipe"
	$sAbschnitt = GUICtrlRead($tab_zw_rv_txt_abschnitt)
	$iFaktor = "1,0"
	$sLeange = ""
	$sBreite = ""
	$sTiefe = ""
	$sMenge = "1" ;GUICtrlRead($tab_tvum_txt_TVumAP_anz_spl)

	Dim $aPosNr = ["1.04.01.0160"] ; Doppelsteckmuffe DA10
	_Find_Pos_From_Array($aPosNr, $aPosVertrag)

	$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||%Einheit%|%Kurztext%|%Bemerkung%||0,00|"
	If $sIPosNr <> "" Then
		$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & _replacePunkt2Koma($iFaktor) & "|" & _replacePunkt2Koma($sLeange) & "|" & _replacePunkt2Koma($sBreite) & "|" & _replacePunkt2Koma($sTiefe) & "|" & $sMenge & "|" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
	Else
		$sINI_String = $sNotImVer
	EndIf
;~ 	ConsoleWrite($sINI_String& @CRLF)
	_ArrayAdd($aLVListe, $sINI_String, 0, "|")
	
EndFunc 

Func _ZW_RV_HS_vegetation($aPosVertrag)
	$sText_Bemerkung = ""
	$sAbschnitt = GUICtrlRead($tab_zw_rv_txt_abschnitt)
	$iFaktor = "1,0"
	$sLeange = GUICtrlRead($tab_zw_rv_txt_vegetation_meter)
	$sBreite = ""
	$sTiefe = ""
	$sMenge = "" 

	Dim $aPosNr = ["1.03.02.0130"] ; Kabelgraben in Grünfläche Kies & Wiese
	_Find_Pos_From_Array($aPosNr, $aPosVertrag)

	$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||%Einheit%|%Kurztext%|%Bemerkung%||0,00|"
	If $sIPosNr <> "" Then
		$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & _replacePunkt2Koma($iFaktor) & "|" & _replacePunkt2Koma($sLeange) & "|" & _replacePunkt2Koma($sBreite) & "|" & _replacePunkt2Koma($sTiefe) & "|" & $sMenge & "|" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
	Else
		$sINI_String = $sNotImVer
	EndIf
;~ 	ConsoleWrite($sINI_String& @CRLF)
	_ArrayAdd($aLVListe, $sINI_String, 0, "|")
	
	$sText_Bemerkung = ""
	$sAbschnitt = GUICtrlRead($tab_zw_rv_txt_abschnitt)
	$iFaktor = "1,0"
	$sLeange = GUICtrlRead($tab_zw_rv_txt_vegetation_meter)
	$sBreite = ""
	$sTiefe = ""
	$sMenge = "" ;GUICtrlRead($tab_tvum_txt_TVumAP_anz_spl)

	Dim $aPosNr = ["1.04.01.0150"] ; Mikrokablerohr 10/6
	_Find_Pos_From_Array($aPosNr, $aPosVertrag)

	$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||%Einheit%|%Kurztext%|%Bemerkung%||0,00|"
	If $sIPosNr <> "" Then
		$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & _replacePunkt2Koma($iFaktor) & "|" & _replacePunkt2Koma($sLeange) & "|" & _replacePunkt2Koma($sBreite) & "|" & _replacePunkt2Koma($sTiefe) & "|" & $sMenge & "|" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
	Else
		$sINI_String = $sNotImVer
	EndIf
;~ 	ConsoleWrite($sINI_String& @CRLF)
	_ArrayAdd($aLVListe, $sINI_String, 0, "|")
	
	
	$sText_Bemerkung = ""
	$sAbschnitt = GUICtrlRead($tab_zw_rv_txt_abschnitt)
	$iFaktor = "1,0"
	$sLeange = GUICtrlRead($tab_zw_rv_txt_vegetation_meter)
	$sBreite = ""
	$sTiefe = ""
	$sMenge = "0" ;GUICtrlRead($tab_tvum_txt_TVumAP_anz_spl)

	Dim $aPosNr = ["1.02.02.0010"] ; Trassenband
	_Find_Pos_From_Array($aPosNr, $aPosVertrag)

	$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||%Einheit%|%Kurztext%|%Bemerkung%||0,00|"
	If $sIPosNr <> "" Then
		$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & _replacePunkt2Koma($iFaktor) & "|" & _replacePunkt2Koma($sLeange) & "|" & _replacePunkt2Koma($sBreite) & "|" & _replacePunkt2Koma($sTiefe) & "|" & $sMenge & "|" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
	Else
		$sINI_String = $sNotImVer
	EndIf
;~ 	ConsoleWrite($sINI_String& @CRLF)
	_ArrayAdd($aLVListe, $sINI_String, 0, "|")
EndFunc

Func _ZW_RV_HS_pflaster($aPosVertrag)
	$sText_Bemerkung = ""
	$sAbschnitt = GUICtrlRead($tab_zw_rv_txt_abschnitt)
	$iFaktor = "1,0"
	$sLeange = GUICtrlRead($tab_zw_rv_txt_pflaster_meter)
	$sBreite = ""
	$sTiefe = ""
	$sMenge = "1" 

	Dim $aPosNr = ["1.03.01.0340"] ; Kabelgraben in Pflaster
	_Find_Pos_From_Array($aPosNr, $aPosVertrag)

	$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||%Einheit%|%Kurztext%|%Bemerkung%||0,00|"
	If $sIPosNr <> "" Then
		$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & _replacePunkt2Koma($iFaktor) & "|" & _replacePunkt2Koma($sLeange) & "|" & _replacePunkt2Koma($sBreite) & "|" & _replacePunkt2Koma($sTiefe) & "|" & $sMenge & "|" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
	Else
		$sINI_String = $sNotImVer
	EndIf
;~ 	ConsoleWrite($sINI_String& @CRLF)
	_ArrayAdd($aLVListe, $sINI_String, 0, "|")
	
	$sText_Bemerkung = ""
	$sAbschnitt = GUICtrlRead($tab_zw_rv_txt_abschnitt)
	$iFaktor = "1,0"
	$sLeange = GUICtrlRead($tab_zw_rv_txt_pflaster_meter)
	$sBreite = ""
	$sTiefe = ""
	$sMenge = "" ;GUICtrlRead($tab_tvum_txt_TVumAP_anz_spl)

	Dim $aPosNr = ["1.04.01.0150"] ; Mikrokablerohr 10/6
	_Find_Pos_From_Array($aPosNr, $aPosVertrag)

	$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||%Einheit%|%Kurztext%|%Bemerkung%||0,00|"
	If $sIPosNr <> "" Then
		$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & _replacePunkt2Koma($iFaktor) & "|" & _replacePunkt2Koma($sLeange) & "|" & _replacePunkt2Koma($sBreite) & "|" & _replacePunkt2Koma($sTiefe) & "|" & $sMenge & "|" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
	Else
		$sINI_String = $sNotImVer
	EndIf
;~ 	ConsoleWrite($sINI_String& @CRLF)
	_ArrayAdd($aLVListe, $sINI_String, 0, "|")
	
	
	$sText_Bemerkung = ""
	$sAbschnitt = GUICtrlRead($tab_zw_rv_txt_abschnitt)
	$iFaktor = "1,0"
	$sLeange = GUICtrlRead($tab_zw_rv_txt_pflaster_meter)
	$sBreite = ""
	$sTiefe = ""
	$sMenge = "0" ;GUICtrlRead($tab_tvum_txt_TVumAP_anz_spl)

	Dim $aPosNr = ["1.02.02.0010"] ; Trassenband
	_Find_Pos_From_Array($aPosNr, $aPosVertrag)

	$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||%Einheit%|%Kurztext%|%Bemerkung%||0,00|"
	If $sIPosNr <> "" Then
		$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & _replacePunkt2Koma($iFaktor) & "|" & _replacePunkt2Koma($sLeange) & "|" & _replacePunkt2Koma($sBreite) & "|" & _replacePunkt2Koma($sTiefe) & "|" & $sMenge & "|" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
	Else
		$sINI_String = $sNotImVer
	EndIf
;~ 	ConsoleWrite($sINI_String& @CRLF)
	_ArrayAdd($aLVListe, $sINI_String, 0, "|")
EndFunc

Func _ZW_RV_HS_asphalt($aPosVertrag)
	$sText_Bemerkung = ""
	$sAbschnitt = GUICtrlRead($tab_zw_rv_txt_abschnitt)
	$iFaktor = "1,0"
	$sLeange = GUICtrlRead($tab_zw_rv_txt_asphalt_meter)
	$sBreite = ""
	$sTiefe = ""
	$sMenge = "1" 

	Dim $aPosNr = ["1.03.01.0330"] ; Kabelgraben in Asphaltfläche
	_Find_Pos_From_Array($aPosNr, $aPosVertrag)

	$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||%Einheit%|%Kurztext%|%Bemerkung%||0,00|"
	If $sIPosNr <> "" Then
		$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & _replacePunkt2Koma($iFaktor) & "|" & _replacePunkt2Koma($sLeange) & "|" & _replacePunkt2Koma($sBreite) & "|" & _replacePunkt2Koma($sTiefe) & "|" & $sMenge & "|" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
	Else
		$sINI_String = $sNotImVer
	EndIf
;~ 	ConsoleWrite($sINI_String& @CRLF)
	_ArrayAdd($aLVListe, $sINI_String, 0, "|")
	
	$sText_Bemerkung = ""
	$sAbschnitt = GUICtrlRead($tab_zw_rv_txt_abschnitt)
	$iFaktor = "1,0"
	$sLeange = GUICtrlRead($tab_zw_rv_txt_asphalt_meter)
	$sBreite = ""
	$sTiefe = ""
	$sMenge = "" ;GUICtrlRead($tab_tvum_txt_TVumAP_anz_spl)

	Dim $aPosNr = ["1.04.01.0150"] ; Mikrokablerohr 10/6
	_Find_Pos_From_Array($aPosNr, $aPosVertrag)

	$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||%Einheit%|%Kurztext%|%Bemerkung%||0,00|"
	If $sIPosNr <> "" Then
		$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & _replacePunkt2Koma($iFaktor) & "|" & _replacePunkt2Koma($sLeange) & "|" & _replacePunkt2Koma($sBreite) & "|" & _replacePunkt2Koma($sTiefe) & "|" & $sMenge & "|" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
	Else
		$sINI_String = $sNotImVer
	EndIf
;~ 	ConsoleWrite($sINI_String& @CRLF)
	_ArrayAdd($aLVListe, $sINI_String, 0, "|")
	
	
	$sText_Bemerkung = ""
	$sAbschnitt = GUICtrlRead($tab_zw_rv_txt_abschnitt)
	$iFaktor = "1,0"
	$sLeange = GUICtrlRead($tab_zw_rv_txt_asphalt_meter)
	$sBreite = ""
	$sTiefe = ""
	$sMenge = "0" ;GUICtrlRead($tab_tvum_txt_TVumAP_anz_spl)

	Dim $aPosNr = ["1.02.02.0010"] ; Trassenband
	_Find_Pos_From_Array($aPosNr, $aPosVertrag)

	$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||%Einheit%|%Kurztext%|%Bemerkung%||0,00|"
	If $sIPosNr <> "" Then
		$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & _replacePunkt2Koma($iFaktor) & "|" & _replacePunkt2Koma($sLeange) & "|" & _replacePunkt2Koma($sBreite) & "|" & _replacePunkt2Koma($sTiefe) & "|" & $sMenge & "|" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
	Else
		$sINI_String = $sNotImVer
	EndIf
;~ 	ConsoleWrite($sINI_String& @CRLF)
	_ArrayAdd($aLVListe, $sINI_String, 0, "|")
EndFunc

func _ZW_RV_HS_CSV_Import()
	;CSV Spalten
	;Adresse;VegeM,PflM;AspM;KopflGE,KopflHT;KoordHaus;MD1;Kernb
	
	    ; Dateiauswahl-Dialog
    Local $sFilePath = FileOpenDialog("CSV Datei auswählen", "", "CSV Dateien (*.csv)|Alle Dateien (*.*)", 1)

    ; Überprüfen, ob eine Datei ausgewählt wurde
    If @error Then
        MsgBox($MB_ICONERROR, "Fehler", "Keine Datei ausgewählt.")
        Return
    EndIf

    ; Datei zeilenweise lesen
    Local $hFile = FileOpen($sFilePath, $FO_READ)
    If $hFile = -1 Then
        MsgBox($MB_ICONERROR, "Fehler", "Konnte die Datei nicht öffnen.")
        Return
    EndIf

    While 1
        Local $sLine = FileReadLine($hFile)
        If @error = -1 Then ExitLoop

        ; CSV-Zeile in ein Array umwandeln
        Local $aData = StringSplit($sLine, ";", 1)

        ; Werte in die GUI-Elemente einfügen
        GUICtrlSetData($tab_zw_rv_txt_abschnitt, $aData[1])
		
        If $aData[2] <> "" Then
            GUICtrlSetState($tab_zw_rv_chb_vegetation, $GUI_CHECKED)
            GUICtrlSetData($tab_zw_rv_txt_vegetation_meter, $aData[2])
        EndIf
        If $aData[3] <> "" Then
            GUICtrlSetState($tab_zw_rv_chb_pflaster, $GUI_CHECKED)
            GUICtrlSetData($tab_zw_rv_txt_pflaster_meter, $aData[3])
        EndIf
        If $aData[4] <> "" Then
            GUICtrlSetState($tab_zw_rv_chb_asphalt, $GUI_CHECKED)
            GUICtrlSetData($tab_zw_rv_txt_asphalt_meter, $aData[4])
        EndIf
		
        If $aData[5] = "x" Then GUICtrlSetState($tab_zw_rv_chb_kopfloch_gebaeude, $GUI_CHECKED)
        If $aData[6] = "x" Then GUICtrlSetState($tab_zw_rv_chb_kopfloch_haupttrasse, $GUI_CHECKED)
        If $aData[7] = "x" Then GUICtrlSetState($tab_zw_rv_chb_koordinieren_hausanschluss, $GUI_CHECKED)
        If $aData[8] = "x" Then GUICtrlSetState($tab_zw_rv_chb_md1, $GUI_CHECKED)
        If $aData[9] = "x" Then GUICtrlSetState($tab_zw_rv_chb_kernb, $GUI_CHECKED)

        ; Position hinzufügen und GUI zurücksetzen
        _add_zw_rv_Pos()
        _clear_zw_rv_gui()
		_LV_LVaufMa_add_empty_zeile()
    WEnd

    FileClose($hFile)

    MsgBox($MB_OK, "CSV Import", "CSV-Import vollständig abgeschlossen.")
EndFunc

func _ZW_RV_HS()
	$sText_Bemerkung = ""
	$sAbschnitt = GUICtrlRead($tab_zw_rv_txt_abschnitt)
	$iFaktor = "1,0"
	$sLeange = ""
	$sBreite = ""
	$sTiefe = ""
	$sMenge = "1" ;GUICtrlRead($tab_tvum_txt_TVumAP_anz_spl)

	Dim $aPosNr = ["10082332"]
	_Find_Pos_From_Array($aPosNr, $aPosVertrag)

	$sNotImVer = "nicht im Vertrag|xxxx|1,0|%Leange%|%Breite%|%Tiefe%||%Einheit%|%Kurztext%|%Bemerkung%||0,00|"
	If $sIPosNr <> "" Then
		$sINI_String = $sAbschnitt & "|" & $sIPosNr & "|" & _replacePunkt2Koma($iFaktor) & "|" & _replacePunkt2Koma($sLeange) & "|" & _replacePunkt2Koma($sBreite) & "|" & _replacePunkt2Koma($sTiefe) & "|" & $sMenge & "|" & $sIEinheit & "|" & $sIKurztext & "|" & $sText_Bemerkung & "||" & $sIPReis & "|"
	Else
		$sINI_String = $sNotImVer
	EndIf
;~ 	ConsoleWrite($sINI_String& @CRLF)
	_ArrayAdd($aLVListe, $sINI_String, 0, "|")
	
EndFunc

Func _clear_zw_rv_gui()
  ; Alle Textfelder leeren
    GUICtrlSetData($tab_zw_rv_txt_abschnitt, "")
    GUICtrlSetData($tab_zw_rv_txt_vegetation_meter, "")
    GUICtrlSetData($tab_zw_rv_txt_pflaster_meter, "")
    GUICtrlSetData($tab_zw_rv_txt_asphalt_meter, "")

    ; Alle Checkboxen zurücksetzen
    GUICtrlSetState($tab_zw_rv_chb_vegetation, $GUI_UNCHECKED)
    GUICtrlSetState($tab_zw_rv_chb_pflaster, $GUI_UNCHECKED)
    GUICtrlSetState($tab_zw_rv_chb_asphalt, $GUI_UNCHECKED)
    GUICtrlSetState($tab_zw_rv_chb_kopfloch_gebaeude, $GUI_UNCHECKED)
    GUICtrlSetState($tab_zw_rv_chb_kopfloch_haupttrasse, $GUI_UNCHECKED)
    GUICtrlSetState($tab_zw_rv_chb_koordinieren_hausanschluss, $GUI_UNCHECKED)
EndFunc


func _STOE_Sammler_AddPositionen()
		$aArray = StringSplit(StringReplace(GUICtrlRead($tab_sto_sam_ed_ssliste), @CRLF, @LF), @LF)
;~ 	_DebugArrayDisplay($aArray)

	Dim $aListCreate[$aArray[0]][13]
	For $i = 1 To UBound($aArray) - 1
		$aListCreate[$i - 1][0] = $aArray[$i]
		$aListCreate[$i - 1][1] = "10082948"
		$aListCreate[$i - 1][2] = "1,0"
		$aListCreate[$i - 1][6] = "1"
		$aListCreate[$i - 1][7] = "ST"
		$aListCreate[$i - 1][8] = "MP- Doku. Störungsbeseitigung"
		$aListCreate[$i - 1][9] = $aArray[$i]
		$aListCreate[$i - 1][10] = "1"
		$aListCreate[$i - 1][11] = "47,79"
		$aListCreate[$i - 1][12] = "47,79"
;~ 		$aListCreate[$i -1][0] = $aArray[$i]
;~ 		_ArrayAdd($aListCreate, $aArray[$i]& ""])
;~ 		Bad Säckingen, Hauensteinstr. 14 SM 208626773|10082043|1,0||||1|ST|Projektierung v. kl. Baumaßnahmen u.i.|Bad Säckingen, Hauensteinstr. 14 SM 208626773|1|230,00|230
;~ 		$aArray[$i]& "|10082043|1,0"||||1|ST|Projektierung v. kl. Baumaßnahmen u.i.|Bad Säckingen, Hauensteinstr. 14 SM 208626773|1|230,00|230

	Next
	_GUICtrlListView_AddArray($lv_aufm, $aListCreate)
;~ 	_DebugArrayDisplay($aListCreate)
	_ListviewAutoWidthHeader($lv_aufm)
EndFunc


