#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <GDIPlusConstants.au3>
#include <StaticConstants.au3>
#include <ScreenCapture.au3>
#include <GuiScroll.au3>
#include <GDIPlus.au3>
#include <FTPEx.au3>

Global $ANZDATEN, $ANZSTRUKTUR, $DATEN[1200][50], $FILE, $TEMP, $T[100], $DATEI = "", $EINGABE[50], $DATENSATZ = 1, $BUTTONVOR, $BUTTONBACK, $SATZ, $BUTTONNEU, $BUTTONCOPY, $BUTTONDEL
Global $BUTTONPASTE, $COPY[50], $BUTTONSEARCH, $SUCHE, $MERK, $FUND, $GRAFIK, $BUTTONPLUS, $NAME, $LASTLOAD, $CAPTURE = 0
Global $TRANSLATE[500][2][10], $ANZTRANSLATION = 0, $TEMP1, $TEMP2
Global $FTP = 0, $SERVER = "xxxxxxxxx", $USERNAME = "xxxxxxxxxx", $PASSWORD = "xxxxxxxx"
Global $ADMIN = 1
Global $SCRIPTPATH = @ScriptDir & "\", $GRAFIKPATH, $UPDATEPATH = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Almanac_Datenbanktool", "Updatepath")
LADENTRANSLATION()
If $UPDATEPATH = "" Then $UPDATEPATH = $SCRIPTPATH

$MAINWINDOW = GUICreate("testtool", 870, 680)
GUICtrlSetBkColor(-1, 16777215)
GUISetState(@SW_SHOW)

$MENU10 = GUICtrlCreateMenu("Datenbank")
$MENU11 = GUICtrlCreateMenuItem("Laden", $MENU10)
$MENU12 = GUICtrlCreateMenuItem("Speichern", $MENU10)
$LASTLOAD = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Almanac_Datenbanktool", "LastOpen")
If $LASTLOAD <> "" Then
	GUICtrlCreateMenuItem("", $MENU10)
	$MENU13 = GUICtrlCreateMenuItem($LASTLOAD, $MENU10)
EndIf
GUICtrlCreateMenuItem("", $MENU10)
$MENU14 = GUICtrlCreateMenuItem("Auf FTP Server hochladen", $MENU10)
If $ADMIN = 0 Then GUICtrlSetState(-1, $GUI_DISABLE)
GUICtrlCreateMenuItem("", $MENU10)
$MENU15 = GUICtrlCreateMenuItem("Updatepfad:" & $UPDATEPATH, $MENU10)
$MENU20 = GUICtrlCreateMenu("Bearbeiten")
$MENU21 = GUICtrlCreateMenuItem("Ersetzen", $MENU20)
$MENU22 = GUICtrlCreateMenu("Übersetzen", $MENU20)
$MENU23 = GUICtrlCreateMenuItem("Zeilen zusammenfügen", $MENU20)
If $ADMIN = 0 Then GUICtrlSetState(-1, $GUI_DISABLE)
$MENU24 = GUICtrlCreateMenuItem("Feld löschen", $MENU20)
If $ADMIN = 0 Then GUICtrlSetState(-1, $GUI_DISABLE)
$MENU25 = GUICtrlCreateMenuItem("Feld umbenennen", $MENU20)
$MENU26 = GUICtrlCreateMenuItem("Neues Feld einfügen", $MENU20)
If $ADMIN = 0 Then GUICtrlSetState(-1, $GUI_DISABLE)
$MENUGER = GUICtrlCreateMenuItem("deutsch -> englisch", $MENU22)
$MENUENG = GUICtrlCreateMenuItem("englisch -> deutsch", $MENU22)
$BUTTONBACK = GUICtrlCreateButton("<-", 220, 30, 30, 20)
$BUTTONVOR = GUICtrlCreateButton("->", 250, 30, 30, 20)
$BUTTONNEU = GUICtrlCreateButton("Neu", 490, 30, 30, 20)
$BUTTONCOPY = GUICtrlCreateButton("Copy", 520, 30, 30, 20)
$BUTTONPASTE = GUICtrlCreateButton("Paste", 550, 30, 40, 20)
$BUTTONDEL = GUICtrlCreateButton("Del", 590, 30, 30, 20)
$SUCHE = GUICtrlCreateInput("", 300, 30, 130, 20)
$BUTTONSEARCH = GUICtrlCreateButton("Suche", 435, 30, 40, 20)
$BUTTONPLUS = GUICtrlCreateButton("+Zeile", 630, 30, 40, 20)
If $ADMIN = 0 Then GUICtrlSetState(-1, $GUI_DISABLE)
$GRAFIKZUORDNEN = GUICtrlCreateButton("Grafik zuord.", 680, 30, 90, 20)
$T[0] = GUICtrlCreateLabel("Datensatz 0 / 0", 10, 30, 200, 20, $SS_SUNKEN)
$GRAFIK = GUICtrlCreatePic($SCRIPTPATH & "data\common\nopic.tgx", 780, 14, 35, 35)
GUICtrlSetImage(-1, $SCRIPTPATH & "data\common\nopic.tgx")
HotKeySet("+^2", "SCREENSHOT")
HotKeySet("+^3", "SCREENSHOT2")
While 1
	$MSG = GUIGetMsg(0)
	If $MSG = $GUI_EVENT_CLOSE Then Exit
	If $MSG = $MENU11 Then
		If $DATEI = "" Then
			$DATEI = FileOpenDialog("Wähle Datenbank", @ScriptDir & "\data\", "Datenbank (*.data)")
			If StringInStr($DATEI, ".data") = 0 Then
				MsgBox(16, "Error", "Keine gültige Datenbank.")
			Else
				DATENBANK_LADEN()
			EndIf
		ElseIf $DATEI <> "" Then
			For $I = 1 To $ANZSTRUKTUR + 1
				GUICtrlDelete($T[$I])
			Next
			For $I = 0 To $ANZSTRUKTUR
				GUICtrlDelete($EINGABE[$I])
			Next
			$DATEI = FileOpenDialog("Wähle Datenbank", @ScriptDir & "\data\", "Datenbank (*.data)")
			If StringInStr($DATEI, ".data") = 0 Then
				MsgBox(16, "Error", "Keine gültige Datenbank.")
			Else
				DATENBANK_LADEN()
			EndIf
		EndIf
	EndIf
	If $MSG = $GRAFIK And $CAPTURE = 1 Then
		$JANEIN = MsgBox(36, "Grafik übernehmen", "Grafik für aktuellen Datensatz speichern?", 0)
		If $JANEIN = 6 Then
			FileCopy($SCRIPTPATH & "screenshots\graphic.jpg", $UPDATEPATH & "\" & $DATEN[$DATENSATZ][0] & ".tgx", 1)
			FileMove($SCRIPTPATH & "screenshots\graphic.jpg", $GRAFIKPATH & $DATEN[$DATENSATZ][0] & ".tgx", 1)
		EndIf
	EndIf
	If $MSG = $GRAFIKZUORDNEN And $DATEI <> "" Then
		For $I = 0 To $ANZSTRUKTUR
			$DATEN[$DATENSATZ][$I] = GUICtrlRead($EINGABE[$I])
		Next
		$GRAFIKORDNER = FileOpenDialog('Wähle zuzuordn. Grafik für "' & $DATEN[$DATENSATZ][0] & '" .', $GRAFIKPATH, "Almanach Graphik (*.tgx)")
		If StringInStr($GRAFIKORDNER, ".tgx") = 0 Then
			MsgBox(16, "Error", "No guilty graphic!")
		Else
			FileMove($GRAFIKORDNER, $GRAFIKPATH & $DATEN[$DATENSATZ][0] & ".tgx")
			MsgBox(64, "Grafik zuordn.", 'Graphik umbenannt nach "' & $DATEN[$DATENSATZ][0] & '.tgx".', 0)
		EndIf
	EndIf
	If $LASTLOAD <> "" And $MSG = $MENU13 Then
		$DATEI = $LASTLOAD
		If $DATEI = "" Then
			DATENBANK_LADEN()
		ElseIf $DATEI <> "" Then
			For $I = 1 To $ANZSTRUKTUR + 1
				GUICtrlDelete($T[$I])
			Next
			For $I = 0 To $ANZSTRUKTUR
				GUICtrlDelete($EINGABE[$I])
			Next
			DATENBANK_LADEN()
		EndIf
	EndIf
	If $MSG = $MENU15 Then
		$TEST = FileSelectFolder("Bitte Pfad für Update Dateien wählen:", "")
		If $TEST <> "" Then
			RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Almanac_Datenbanktool", "Updatepath", "REG_SZ", $TEST)
			$UPDATEPATH = $TEST
			GUICtrlSetData($MENU15, "Updatepfad: " & $UPDATEPATH)
		EndIf
	EndIf
	If $MSG = $MENU12 And $DATEI <> "" And $DATEI <> "" Then
		For $I = 0 To $ANZSTRUKTUR
			$DATEN[$DATENSATZ][$I] = GUICtrlRead($EINGABE[$I])
		Next
		DATENBANK_SPEICHERN()
	EndIf
	If $MSG = $MENU14 And $DATEI <> "" Then
		FTPLOAD()
	EndIf
	If $MSG = $BUTTONVOR And $DATEI <> "" Then
		For $I = 0 To $ANZSTRUKTUR
			$DATEN[$DATENSATZ][$I] = GUICtrlRead($EINGABE[$I])
		Next
		$DATENSATZ = $DATENSATZ + 1
		If $DATENSATZ > $ANZDATEN Then $DATENSATZ = 1
		For $I = 0 To $ANZSTRUKTUR - 1
			GUICtrlSetData($EINGABE[$I], $DATEN[$DATENSATZ][$I])
		Next
		GUICtrlSetData($T[0], "Datensatz " & $DATENSATZ & " / " & $ANZDATEN)
		If FileExists($GRAFIKPATH & $DATEN[$DATENSATZ][0] & ".tgx") = 1 Then
			GUICtrlSetImage($GRAFIK, $GRAFIKPATH & $DATEN[$DATENSATZ][0] & ".tgx")
		Else
			GUICtrlSetImage($GRAFIK, $SCRIPTPATH & "data\common\nopic.tgx")
		EndIf
		$CAPTURE = 0
	EndIf
	If $MSG = $BUTTONBACK And $DATEI <> "" Then
		For $I = 0 To $ANZSTRUKTUR
			$DATEN[$DATENSATZ][$I] = GUICtrlRead($EINGABE[$I])
		Next
		$DATENSATZ = $DATENSATZ - 1
		If $DATENSATZ = 0 Then $DATENSATZ = $ANZDATEN
		For $I = 0 To $ANZSTRUKTUR - 1
			GUICtrlSetData($EINGABE[$I], $DATEN[$DATENSATZ][$I])
		Next
		GUICtrlSetData($T[0], "Datensatz " & $DATENSATZ & " / " & $ANZDATEN)
		If FileExists($GRAFIKPATH & $DATEN[$DATENSATZ][0] & ".tgx") = 1 Then
			GUICtrlSetImage($GRAFIK, $GRAFIKPATH & $DATEN[$DATENSATZ][0] & ".tgx")
		Else
			GUICtrlSetImage($GRAFIK, $SCRIPTPATH & "data\common\nopic.tgx")
		EndIf
		$CAPTURE = 0
	EndIf
	If $MSG = $BUTTONNEU And $DATEI <> "" Then
		For $I = 0 To $ANZSTRUKTUR
			$DATEN[$DATENSATZ][$I] = GUICtrlRead($EINGABE[$I])
		Next
		$ANZDATEN = $ANZDATEN + 1
		$DATENSATZ = $ANZDATEN
		For $I = 0 To $ANZSTRUKTUR - 1
			GUICtrlSetData($EINGABE[$I], $DATEN[$DATENSATZ][$I])
		Next
		GUICtrlSetData($T[0], "Datensatz " & $DATENSATZ & " / " & $ANZDATEN)
	EndIf
	If $MSG = $BUTTONCOPY Then
		KOPIEREN()
	EndIf
	If $MSG = $BUTTONPASTE Then
		EINFUEGEN()
	EndIf
	If $MSG = $BUTTONDEL And $DATEI <> "" Then
		For $I = 0 To $ANZSTRUKTUR - 1
			GUICtrlSetData($EINGABE[$I], "")
		Next
	EndIf
	If $MSG = $BUTTONSEARCH Then
		SUFU()
	EndIf
	If $MSG = $BUTTONPLUS And $DATEI <> "" Then
		$NAME = InputBox("Neue Zeile hinzufügen", "Name der Zeile", "")
		If $DATEN[0][$ANZSTRUKTUR] = "*" Then
			$ANZSTRUKTUR = $ANZSTRUKTUR + 1
			$DATEN[0][$ANZSTRUKTUR] = "*"
			For $I = 1 To $ANZDATEN
				$DATEN[$I][$ANZSTRUKTUR - 1] = $DATEN[$I][$ANZSTRUKTUR - 2]
				$DATEN[$I][$ANZSTRUKTUR - 2] = "-"
			Next
			GUICtrlSetData($EINGABE[$ANZSTRUKTUR - 2], $DATEN[$DATENSATZ][$ANZSTRUKTUR - 2])
			GUICtrlSetData($T[1 + $ANZSTRUKTUR - 1], $NAME)
			$SATZ = StringLeft($SATZ, StringLen($SATZ) - 1) & $NAME & ",*"
		Else
			$ANZSTRUKTUR = $ANZSTRUKTUR + 1
			For $I = 1 To $ANZDATEN
				$DATEN[$I][$ANZSTRUKTUR - 1] = "-"
			Next
			$DATEN[0][$ANZSTRUKTUR] = $NAME
			$SATZ = $SATZ & "," & $NAME
		EndIf
		$EINGABE[$ANZSTRUKTUR - 1] = GUICtrlCreateInput($DATEN[$DATENSATZ][$ANZSTRUKTUR - 1], 220, 67 + ($ANZSTRUKTUR - 1) * 18, 600, 17)
		$T[1 + $ANZSTRUKTUR] = GUICtrlCreateLabel($DATEN[0][$ANZSTRUKTUR], 10, 50 + $ANZSTRUKTUR * 18, 200, 15, $SS_SUNKEN)
	EndIf
	If $MSG = $MENU21 And $DATEI <> "" Then
		$BEARBEITEN = InputBox("Ersetzen", "Welche Zeile bearbeiten (1-" & $ANZSTRUKTUR & ") ?")
		If $BEARBEITEN > 0 And $BEARBEITEN < $ANZSTRUKTUR + 1 Then
			$BEARBEITEN2 = InputBox("Ersetzen", "Welchen Text ersetzen ?")
			$BEARBEITEN3 = InputBox("Ersetzen", "Ersetzen mit?")
			For $I = 1 To $ANZDATEN
				If $BEARBEITEN2 <> "" Then
					If StringInStr($DATEN[$I][$BEARBEITEN - 1], $BEARBEITEN2) > 0 Then
						$DATEN[$I][$BEARBEITEN - 1] = StringReplace($DATEN[$I][$BEARBEITEN - 1], $BEARBEITEN2, $BEARBEITEN3)
					EndIf
				Else
					$DATEN[$I][$BEARBEITEN - 1] = $BEARBEITEN3
				EndIf
			Next
			GUICtrlSetData($EINGABE[$BEARBEITEN - 1], $DATEN[$DATENSATZ][$BEARBEITEN - 1])
		EndIf
	EndIf
	If $MSG = $MENU23 And $DATEI <> "" Then
		$BEARBEITEN = InputBox("Zeilen zusammenfügen", "Welche Zeile ausschneiden (1-" & $ANZSTRUKTUR & ") ?")
		If $BEARBEITEN > 0 And $BEARBEITEN < $ANZSTRUKTUR + 1 Then
			$BEARBEITEN2 = InputBox("Zeilen zusammenfügen", "In welche Zeile anhängen (1-" & $ANZSTRUKTUR & ") ? ")
			If $BEARBEITEN2 > 0 And $BEARBEITEN2 < $ANZSTRUKTUR + 1 And $BEARBEITEN <> $BEARBEITEN2 Then
				For $I = 1 To $ANZDATEN
					If $DATEN[$I][$BEARBEITEN - 1] <> "" And $DATEN[$I][$BEARBEITEN - 1] <> "-" Then
						If $DATEN[$I][$BEARBEITEN2 - 1] <> "" And $DATEN[$I][$BEARBEITEN2 - 1] <> "-" Then
							$DATEN[$I][$BEARBEITEN2 - 1] = $DATEN[$I][$BEARBEITEN2 - 1] & "§§" & $DATEN[$I][$BEARBEITEN - 1]
						Else
							$DATEN[$I][$BEARBEITEN2 - 1] = $DATEN[$I][$BEARBEITEN - 1]
						EndIf
						$DATEN[$I][$BEARBEITEN - 1] = ""
						GUICtrlSetData($EINGABE[$BEARBEITEN - 1], $DATEN[$DATENSATZ][$BEARBEITEN - 1])
						GUICtrlSetData($EINGABE[$BEARBEITEN2 - 1], $DATEN[$DATENSATZ][$BEARBEITEN2 - 1])
					EndIf
				Next
			EndIf
		EndIf
	EndIf
	If $MSG = $MENU25 And $DATEI <> "" Then
		$BEARBEITEN = InputBox("Feld umbenennen", "Welches Feld umbenennen (1-" & $ANZSTRUKTUR & ") ?")
		If $BEARBEITEN > 0 And $BEARBEITEN < $ANZSTRUKTUR + 1 Then
			$BEARBEITEN2 = InputBox("Feld umbenennen", 'Feld "' & $DATEN[0][$BEARBEITEN] & '" umbenennen in?')
			If $BEARBEITEN2 <> "" Then
				$DATEN[0][$BEARBEITEN] = $BEARBEITEN2
				GUICtrlSetData($T[1 + $BEARBEITEN], $DATEN[0][$BEARBEITEN])
				$SATZ = $DATEN[0][1]
				For $I = 2 To $ANZSTRUKTUR
					$SATZ = $SATZ & "," & $DATEN[0][$I]
				Next
			EndIf
		EndIf
	EndIf
	If $MSG = $MENU24 And $DATEI <> "" Then
		$BEARBEITEN = InputBox("Feld löschen", "Welches Feld löschen (1-" & $ANZSTRUKTUR & ") ?")
		If $BEARBEITEN > 0 And $BEARBEITEN < $ANZSTRUKTUR + 1 Then
			For $ZZ = 1 To $ANZDATEN
				For $I = $BEARBEITEN - 1 To $ANZSTRUKTUR - 1
					$DATEN[$ZZ][$I] = $DATEN[$ZZ][$I + 1]
				Next
				$DATEN[$ZZ][$ANZSTRUKTUR] = ""
			Next
			For $I = $BEARBEITEN To $ANZSTRUKTUR - 1
				$DATEN[0][$I] = $DATEN[0][$I + 1]
				GUICtrlSetData($T[1 + $I], $DATEN[0][$I])
			Next
			$DATEN[0][$ANZSTRUKTUR] = ""
			GUICtrlDelete($T[1 + $ANZSTRUKTUR])
			For $I = $BEARBEITEN - 1 To $ANZSTRUKTUR - 1
				GUICtrlSetData($EINGABE[$I], $DATEN[$DATENSATZ][$I])
			Next
			GUICtrlDelete($EINGABE[$ANZSTRUKTUR - 1])
			$ANZSTRUKTUR = $ANZSTRUKTUR - 1
			$SATZ = $DATEN[0][1]
			For $I = 2 To $ANZSTRUKTUR
				$SATZ = $SATZ & "," & $DATEN[0][$I]
			Next
		EndIf
	EndIf
	If $MSG = $MENU26 And $DATEI <> "" Then
		$BEARBEITEN = InputBox("Neues Feld einfügen", "Hinter welchem Feld einfügen (1-" & $ANZSTRUKTUR & ") ?")
		If $BEARBEITEN > 0 And $BEARBEITEN < $ANZSTRUKTUR + 1 Then
			$BEARBEITEN2 = InputBox("Neues Feld einfügen", "Feldname?")
			If $BEARBEITEN2 <> "" Then
				For $ZZ = 1 To $ANZDATEN
					For $I = $ANZSTRUKTUR To $BEARBEITEN Step -1
						$DATEN[$ZZ][$I + 1] = $DATEN[$ZZ][$I]
					Next
					$DATEN[$ZZ][$BEARBEITEN] = "-"
				Next
				For $I = $ANZSTRUKTUR To $BEARBEITEN + 1 Step -1
					$DATEN[0][$I + 1] = $DATEN[0][$I]
					GUICtrlSetData($T[2 + $I], $DATEN[0][$I])
				Next
				$DATEN[0][$BEARBEITEN + 1] = $BEARBEITEN2
				GUICtrlSetData($T[1 + $BEARBEITEN + 1], $DATEN[0][$BEARBEITEN + 1])
				$ANZSTRUKTUR = $ANZSTRUKTUR + 1
				$EINGABE[$ANZSTRUKTUR - 1] = GUICtrlCreateInput($DATEN[$DATENSATZ][$ANZSTRUKTUR - 1], 220, 67 + ($ANZSTRUKTUR - 1) * 18, 600, 17)
				$T[1 + $ANZSTRUKTUR] = GUICtrlCreateLabel($DATEN[0][$ANZSTRUKTUR], 10, 50 + $ANZSTRUKTUR * 18, 200, 15, $SS_SUNKEN)
				For $I = $BEARBEITEN To $ANZSTRUKTUR - 1
					GUICtrlSetData($EINGABE[$I], $DATEN[$DATENSATZ][$I])
				Next
				$SATZ = $DATEN[0][1]
				For $I = 2 To $ANZSTRUKTUR
					$SATZ = $SATZ & "," & $DATEN[0][$I]
				Next
			EndIf
		EndIf
	EndIf
	If $MSG = $MENUENG And $DATEI <> "" Then
		For $I = 0 To $ANZSTRUKTUR
			$DATEN[$DATENSATZ][$I] = GUICtrlRead($EINGABE[$I])
		Next
		For $I = 1 To $ANZDATEN
			For $TT = 0 To $ANZSTRUKTUR - 1
				For $TZ = 1 To $ANZTRANSLATION
					For $TG = 0 To 9
						If StringInStr($DATEN[$I][$TT], $TRANSLATE[$TZ][0][$TG]) > 0 And $TRANSLATE[$TZ][0][$TG] <> "" Then
							$DATEN[$I][$TT] = StringReplace($DATEN[$I][$TT], $TRANSLATE[$TZ][0][$TG], $TRANSLATE[$TZ][1][0])
						EndIf
					Next
				Next
			Next
		Next
		For $I = 0 To $ANZSTRUKTUR - 1
			GUICtrlSetData($EINGABE[$I], $DATEN[$DATENSATZ][$I])
		Next
	EndIf
	If $MSG = $MENUGER And $DATEI <> "" Then
		For $I = 0 To $ANZSTRUKTUR
			$DATEN[$DATENSATZ][$I] = GUICtrlRead($EINGABE[$I])
		Next
		For $I = 1 To $ANZDATEN
			For $TT = 0 To $ANZSTRUKTUR - 1
				For $TZ = 1 To $ANZTRANSLATION
					For $TG = 0 To 9
						If StringInStr($DATEN[$I][$TT], $TRANSLATE[$TZ][1][$TG]) > 0 And $TRANSLATE[$TZ][1][$TG] <> "" Then
							$DATEN[$I][$TT] = StringReplace($DATEN[$I][$TT], $TRANSLATE[$TZ][1][$TG], $TRANSLATE[$TZ][0][0])
						EndIf
					Next
				Next
			Next
		Next
		For $I = 0 To $ANZSTRUKTUR - 1
			GUICtrlSetData($EINGABE[$I], $DATEN[$DATENSATZ][$I])
		Next
	EndIf
WEnd
Func DATENBANK_LADEN()
	For $I = 0 To 1100
		For $Z = 0 To 49
			$DATEN[$I][$Z] = ""
		Next
	Next
	$FILE = FileOpen($DATEI, 0)
	If StringInStr($DATEI, "languagepacks\") > 0 Then
		Local $TD = "data\" & StringRight($DATEI, StringLen($DATEI) - StringInStr($DATEI, "\", 2, -1))
		$GRAFIKPATH = StringReplace($DATEI, $TD, "graphics\")
	EndIf
	$ANZDATEN = FileReadLine($FILE)
	$TEMP = FileReadLine($FILE)
	$SATZ = $TEMP
	$ZZ = 0
	While StringInStr($TEMP, ",") > 0
		$ZZ = $ZZ + 1
		$DATEN[0][$ZZ] = StringLeft($TEMP, StringInStr($TEMP, ",") - 1)
		$TEMP = StringReplace($TEMP, $DATEN[0][$ZZ] & ",", "")
	WEnd
	$ZZ = $ZZ + 1
	$DATEN[0][$ZZ] = $TEMP
	$ANZSTRUKTUR = $ZZ
	For $I = 1 To $ANZDATEN
		For $Z = 0 To $ANZSTRUKTUR - 1
			$DATEN[$I][$Z] = FileReadLine($FILE)
		Next
	Next
	FileClose($FILE)
	$T[1] = GUICtrlCreateLabel(StringRight($DATEI, StringLen($DATEI) - StringInStr($DATEI, "\", 0, -1)), 10, 5, 500, 20)
	GUICtrlSetFont(-1, 14, 400, 0)
	GUICtrlSetData($T[0], "Dataset 1 / " & $ANZDATEN)
	For $I = 1 To $ANZSTRUKTUR
		$T[1 + $I] = GUICtrlCreateLabel($DATEN[0][$I], 10, 50 + $I * 18, 200, 15, $SS_SUNKEN)
	Next
	For $I = 0 To $ANZSTRUKTUR - 1
		$EINGABE[$I] = GUICtrlCreateInput($DATEN[1][$I], 220, 67 + $I * 18, 600, 17)
	Next
	$DATENSATZ = 1
	If FileExists($GRAFIKPATH & $DATEN[$DATENSATZ][0] & ".tgx") = 1 Then
		GUICtrlSetImage($GRAFIK, $GRAFIKPATH & $DATEN[$DATENSATZ][0] & ".tgx")
	Else
		GUICtrlSetImage($GRAFIK, $SCRIPTPATH & "data\common\nopic.tgx")
	EndIf
	$CAPTURE = 0
	RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Almanac_Datenbanktool", "LastOpen", "REG_SZ", $DATEI)
EndFunc
Func DATENBANK_SPEICHERN()
	$FILE = FileOpen($DATEI, 2)
	FileWriteLine($FILE, $ANZDATEN)
	FileWriteLine($FILE, $SATZ)
	For $I = 1 To $ANZDATEN
		For $TT = 0 To $ANZSTRUKTUR - 1
			FileWriteLine($FILE, $DATEN[$I][$TT])
		Next
	Next
	FileClose($FILE)
	If $FTP = 0 Then MsgBox(64, "Datenbank speichern", "Datenbank gespeichert.", 0)
EndFunc
Func KOPIEREN()
	If $DATEI <> "" Then
		For $I = 0 To $ANZSTRUKTUR
			$COPY[$I] = GUICtrlRead($EINGABE[$I])
		Next
	EndIf
EndFunc
Func EINFUEGEN()
	If $DATEI <> "" Then
		For $I = 0 To $ANZSTRUKTUR
			GUICtrlSetData($EINGABE[$I], $COPY[$I])
		Next
	EndIf
EndFunc
Func SUFU()
	If StringLen(GUICtrlRead($SUCHE)) > 0 And $DATEI <> "" Then
		For $I = 0 To $ANZSTRUKTUR
			$DATEN[$DATENSATZ][$I] = GUICtrlRead($EINGABE[$I])
		Next
		$MERK = $DATENSATZ
		$DATENSATZ = $DATENSATZ + 1
		If $DATENSATZ > $ANZDATEN Then $DATENSATZ = 1
		$FUND = 0
		While $FUND = 0 And $DATENSATZ <> $MERK
			For $I = 0 To $ANZSTRUKTUR
				If StringInStr($DATEN[$DATENSATZ][$I], GUICtrlRead($SUCHE)) > 0 Then $FUND = $DATENSATZ
			Next
			$DATENSATZ = $DATENSATZ + 1
			If $DATENSATZ > $ANZDATEN Then $DATENSATZ = 1
		WEnd
		If $FUND = 0 Then
			MsgBox(64, "Suche", "Nichts gefunden.", 0)
		Else
			$DATENSATZ = $FUND
			For $I = 0 To $ANZSTRUKTUR - 1
				GUICtrlSetData($EINGABE[$I], $DATEN[$DATENSATZ][$I])
			Next
			GUICtrlSetData($T[0], "Datensatz " & $DATENSATZ & " / " & $ANZDATEN)
			If FileExists($GRAFIKPATH & $DATEN[$DATENSATZ][0] & ".tgx") = 1 Then
				GUICtrlSetImage($GRAFIK, $GRAFIKPATH & $DATEN[$DATENSATZ][0] & ".tgx")
			Else
				GUICtrlSetImage($GRAFIK, $SCRIPTPATH & "data\common\nopic.tgx")
			EndIf
		EndIf
	EndIf
EndFunc
Func LADENTRANSLATION()
	$FILE = FileOpen("Translation.txt", 0)
	$TEMP = FileReadLine($FILE)
	While $TEMP <> ""
		$ANZTRANSLATION = $ANZTRANSLATION + 1
		$TEMP1 = StringLeft($TEMP, StringInStr($TEMP, ";") - 1)
		$TEMP2 = StringReplace($TEMP, $TEMP1 & ";", "")
		$TEMP = FileReadLine($FILE)
		$ZZ = -1
		While StringInStr($TEMP1, ",") > 0
			$ZZ = $ZZ + 1
			$TRANSLATE[$ANZTRANSLATION][0][$ZZ] = StringLeft($TEMP1, StringInStr($TEMP1, ",") - 1)
			$TEMP1 = StringReplace($TEMP1, $TRANSLATE[$ANZTRANSLATION][0][$ZZ] & ",", "")
		WEnd
		$ZZ = $ZZ + 1
		$TRANSLATE[$ANZTRANSLATION][0][$ZZ] = $TEMP1
		$ZZ = -1
		While StringInStr($TEMP2, ",") > 0
			$ZZ = $ZZ + 1
			$TRANSLATE[$ANZTRANSLATION][1][$ZZ] = StringLeft($TEMP2, StringInStr($TEMP2, ",") - 1)
			$TEMP2 = StringReplace($TEMP2, $TRANSLATE[$ANZTRANSLATION][1][$ZZ] & ",", "")
		WEnd
		$ZZ = $ZZ + 1
		$TRANSLATE[$ANZTRANSLATION][1][$ZZ] = $TEMP2
	WEnd
	FileClose($FILE)
EndFunc
Func FTPLOAD()
	For $I = 0 To $ANZSTRUKTUR
		$DATEN[$DATENSATZ][$I] = GUICtrlRead($EINGABE[$I])
	Next
	$FTP = 1
	DATENBANK_SPEICHERN()
	$FTP = 0
	$OPEN = _FTP_Open("MyFTP Control")
	$CONN = _FTP_Connect($OPEN, $SERVER, $USERNAME, $PASSWORD)
	$FTPP = _FTP_FilePut($CONN, $DATEI, "/httpdocs/QuickUpdates/" & StringRight($DATEI, StringLen($DATEI) - StringInStr($DATEI, "\", 0, -1)))
	$FTPC = _FTP_Close($OPEN)
	If $FTPP = 1 Then MsgBox(64, "FTP Upload", "Erfolgreich", 0)
	If $FTPP = 0 Then MsgBox(16, "FTP Upload", "Fehlgeschlagen", 0)
EndFunc
Func SCREENSHOT()
	SCREENSHOT_CAPTURE("35")
EndFunc
Func SCREENSHOT2()
	SCREENSHOT_CAPTURE("30")
EndFunc
Func SCREENSHOT_CAPTURE($SIZE)
	Local $POS = MouseGetPos()
	Local $FILECAPTURE = $SCRIPTPATH & "Screenshots\graphic.jpg"
	FileDelete($SCRIPTPATH & "Screenshots\graphic.jpg")
	Local $BITMAP, $IMAGE, $HPEN
	_GDIPLUS_STARTUP()
	$BITMAP = _SCREENCAPTURE_CAPTURE("", $POS[0], $POS[1], $POS[0] + $SIZE, $POS[1] + $SIZE, 0)
	$IMAGE = _GDIPLUS_BITMAPCREATEFROMHBITMAP($BITMAP)
	$HPEN = _GDIPLUS_PENCREATE(-16777216)
	_GDIPLUS_GRAPHICSDRAWRECT($IMAGE, 0, 0, $SIZE, $SIZE, $HPEN)
	_GDIPLUS_IMAGESAVETOFILE($IMAGE, $FILECAPTURE)
	_GDIPLUS_IMAGEDISPOSE($IMAGE)
	_WINAPI_DELETEOBJECT($BITMAP)
	_GDIPLUS_PENDISPOSE($HPEN)
	WinActivate($MAINWINDOW)
	GUICtrlSetImage($GRAFIK, $SCRIPTPATH & "Screenshots\graphic.jpg")
	$CAPTURE = 1
EndFunc

