﻿Version=6.80
NumberOfForms=3
Form1=frmConfig
Form2=frmEdit
Form3=frmMain
FormWidth=238
FormHeight=333
IconFile=
NumberOfDesktopIncludes=2
DesktopInclude1=BytesConverter.dll
DesktopInclude2=FormLib.dll
NumberOfDeviceIncludes=2
DeviceInclude1=BytesConverter.dll
DeviceInclude2=FormLib.dll
NumberOfObjects=4
Object1=CodePage1:CodepageFile
Object2=flbMain:FormLib
Object3=flbEdit:FormLib
Object4=flbConfig:FormLib
NumberOfModules=0
Sub designer
addform(frmConfig,"frmConfig","",0,0,0)@
addcheckbox(frmconfig,cbxLoadLastFile,5,90,230,20,"Letzte Datei beim Start laden",0,0,0,255,255,255,True,True,False,9)@
addcheckbox(frmconfig,ckbPromptBeforeQuit,5,60,240,30,"Beim Verlassen Bestätigung verlangen vor dem Verlassen",0,0,0,255,255,255,True,True,False,9)@
addimagebutton(frmconfig,btnConfigQuit,195,0,40,40,"",212,208,200,0,0,0,"cStretchImage","btnQuit.bmp",True,True,True,9)@
addform(frmEdit,"frmEdit","",0,0,0)@
addimagebutton(frmedit,btnConfig,95,0,40,40,"",212,208,200,0,0,0,"cStretchImage","btnSettings.bmp",True,True,True,9)@
addcombo(frmedit,cbxEditFile,5,42,230,21,"",255,255,255,0,0,0,True,True,0,9)@
addimagebutton(frmedit,btnEditSearch,195,68,40,40,"",212,208,200,0,0,0,"cStretchImage","btnSearch.bmp",True,True,True,9)@
addlabel(frmedit,lblEditFile,5,42,230,22,"",255,255,128,128,0,0,True,True,11,False)@
addsavedialog(frmedit,SaveDialog1,130,95,All Files|*.*)@
addopendialog(frmedit,OpenDialog1,95,95,All Files|*.*)@
addimagebutton(frmedit,btnEditOK,140,68,40,40,"",212,208,200,0,0,0,"cStretchImage","btnOK.bmp",True,True,True,9)@
addimagebutton(frmedit,btnEditDelete,95,68,40,40,"",212,208,200,0,0,0,"cStretchImage","btnDelete.bmp",True,True,True,9)@
addimagebutton(frmedit,btnEditInsert,50,68,40,40,"",212,208,200,0,0,0,"cStretchImage","btnInsert.bmp",True,True,True,9)@
addimagebutton(frmedit,btnEditAdd,5,68,40,40,"",212,208,200,0,0,0,"cStretchImage","btnAdd.bmp",True,True,True,9)@
addtextbox(frmedit,txtEditDeutsch,120,110,115,21,"",255,255,255,0,0,0,True,True,False,9)@
addtextbox(frmedit,txtEditEnglish,5,110,110,21,"",255,255,255,0,0,0,True,True,False,9)@
addtable(frmedit,tblEditDict,5,135,230,190,"",245,245,245,0,0,0,True,True,9)@
addimagebutton(frmedit,btnEditSave,50,0,40,40,"",212,208,200,0,0,0,"cStretchImage","btnSave.bmp",True,True,True,9)@
addimagebutton(frmedit,btnEditLoad,5,0,40,40,"",212,208,200,0,0,0,"cStretchImage","btnLoad.bmp",True,True,True,9)@
addimagebutton(frmedit,btnEditQuit,195,0,40,40,"",212,208,200,0,0,0,"cStretchImage","btnQuit.bmp",True,True,True,9)@
addform(frmMain,"frmMain","",0,0,0)@
addlabel(frmmain,lblTitelOben,5,80,230,40,"English",255,0,0,255,255,255,True,True,20,False)@
addarraylist(frmmain,AL1,95,95,80,25)@
addcombo(frmmain,cbxCSVFile,5,45,230,28,"",255,255,255,0,0,0,True,True,0,12)@
addimagebutton(frmmain,btnShowRandom,200,212,35,28,"Rand",0,0,0,255,255,255,"cStretchImage","btnBlack1.bmp",True,True,True,8)@
addimagelist(frmmain,IL1,95,95,80,25,2,"btnBlack1.bmp","btnGray1.bmp",0)@
addimagebutton(frmmain,btnShowAlways,200,180,35,28,"Show",0,0,0,255,255,255,"cStretchImage","btnBlack1.bmp",True,True,True,8)@
addlabel(frmmain,lblCSVFile,5,50,230,22,"qsdqwsd",255,255,128,128,0,0,True,True,11,False)@
addimagebutton(frmmain,btnSave,50,0,40,40,"",0,0,0,255,255,255,"cStretchImage","btnSave.bmp",True,True,True,16)@
addimagebutton(frmmain,btnLoad,5,0,40,40,"",0,0,0,255,255,255,"cStretchImage","btnLoad.bmp",True,True,True,16)@
addimagebutton(frmmain,btnSwap,95,0,40,40,"",0,0,0,255,255,255,"cStretchImage","btnSwap.bmp",True,True,True,16)@
addimagebutton(frmmain,btnExit,195,0,40,40,"<",0,0,0,255,255,255,"cStretchImage","btnExit.bmp",True,True,True,16)@
addimagebutton(frmmain,btnEdit,140,0,40,40,"",0,0,0,255,255,255,"cStretchImage","btnEdit.bmp",True,True,True,16)@
addlabel(frmmain,lblTitelUnten,5,245,230,30,"Deutsch",0,0,255,255,255,255,True,True,14,False)@
addlabel(frmmain,lblWortUnten,5,280,230,50,"",255,255,200,0,0,0,True,True,16,False)@
addimagebutton(frmmain,btnShow,135,180,60,60,"Show",0,0,0,255,255,255,"cStretchImage","btnGreen.bmp",False,True,True,12)@
addimagebutton(frmmain,btnNext,70,180,60,60,">",0,0,0,255,255,255,"cStretchImage","btnBlack.bmp",True,True,True,16)@
addimagebutton(frmmain,btnBack,5,180,60,60,"<",0,0,0,255,255,255,"cStretchImage","btnBlack.bmp",True,True,True,16)@
addlabel(frmmain,lblWortOben,5,125,230,50,"",255,255,255,0,0,0,True,True,16,False)@
End Sub
@EndOfDesignText@

Sub Globals
	'Declare the global variables here.
	MainRow=0
	EditRow=0
	Dim Language(2)
	Language(0)="English"
	Language(1)="Deutsch"
	File="Vokabeln.csv"
	FileI=-1
	NameFile=AppPath&"\"&File
	
	Dim Array1(0)
	ShowAlways=0
	ShowRandom=0
	LoadLastFile=True
	PromptBeforeQuit=True
	ConfFile=AppPath&"\Vokabeln.ini"
End Sub

Sub App_Start
	frmMain.Text="Vokabeln  V1.5"
	CodePage1.New1
	flbMain.New1("frmMain",B4PObject(1))

	'Von Filippo hinzugefügt
	flbMain.FullScreen(True)
	flbMain.MinimizeBox=True

	flbEdit.New1("frmEdit",B4PObject(1))

	'Von Filippo hinzugefügt
	flbEdit.FullScreen(True)
	flbEdit.MinimizeBox=True

	'Von Filippo hinzugefügt
	flbConfig.New1("frmConfig",B4PObject(1))
	flbConfig.FullScreen(True)
	flbConfig.MinimizeBox=True
	
	flbMain.TextAlignment("lblCSVFile",flbMain.alCenter)
	flbEdit.TextAlignment("lblEditFile",flbEdit.alCenter)
		
	AddEvent("btnLoad",Click,"btnLoad_Click")
	AddEvent("btnEditLoad",Click,"btnLoad_Click")
	AddEvent("btnSave",Click,"btnSave_Click")
	AddEvent("btnEditSave",Click,"btnSave_Click")
	
	frmMain.Show

	If FileExist(ConfFile) Then
		LoadConfig
		SetShowAlways
		SetShowRandom
		cbxLoadLastFile.Checked=LoadLastFile
		ckbPromptBeforeQuit.Checked=PromptBeforeQuit
	End If
	
	If FileExist(NameFile) Then
		LoadFile(NameFile)
		tblEditDict.ColWidth(Language(0))=110
		tblEditDict.ColWidth(Language(1))=110
		tblEditDict.HeaderColor=cRed
		tblEditDict.HeaderFontColor=cWhite
		lblCSVFile.Text=File
		lblEditFile.Text=File
	End If
	InitFileList

	goFirstWord
End Sub

Sub btnUp_Click
	MainRow=MainRow-1
	If MainRow<0 Then 
		MainRow=0
	End If
	tblEditDict.SelectCell(tblEditDict.SelectedCol,MainRow)
End Sub

Sub btnDown_Click
	MainRow=MainRow+1
	If MainRow>tblEditDict.RowCount Then 
		MainRow=tblEditDict.RowCount
	End If
	tblEditDict.SelectCell(tblEditDict.SelectedCol,MainRow)
End Sub

Sub goFirstWord
	MainRow=0
	lblWortOben.Text=tblEditDict.Cell(lblTitelOben.Text,MainRow)
	If ShowAlways=0 Then
		lblWortUnten.Text=""
	Else
		btnShow_Click
	End If
	btnNext.Visible=True
	btnBack.Visible=False
End Sub

Sub btnBack_Click
	If ShowRandom=0 Then
		MainRow=MainRow-1
		If MainRow<0 Then 
			MainRow=0
		End If
	Else
		MainRow=Rnd(0,tblEditDict.RowCount-1)
	End If
	lblWortOben.Text=tblEditDict.Cell(lblTitelOben.Text,MainRow)
	If ShowAlways=0 Then
		lblWortUnten.Text=""
	Else
		btnShow_Click
	End If
	If btnNext.Visible=False Then
		btnNext.Visible=True
	End If
	If MainRow=0 Then
		btnBack.Visible=False
	End If
End Sub

Sub btnNext_Click
	If ShowRandom=0 Then
		MainRow=MainRow+1
		If MainRow>tblEditDict.RowCount-1 Then 
			MainRow=tblEditDict.RowCount-1
		End If
	Else
		MainRow=Rnd(0,tblEditDict.RowCount-1)
	End If
	lblWortOben.Text=tblEditDict.Cell(lblTitelOben.Text,MainRow)
	If ShowAlways=0 Then
		lblWortUnten.Text=""
	Else
		btnShow_Click
	End If
	If btnBack.Visible=False AND ShowRandom=0 Then
		btnBack.Visible=True
	End If
	If MainRow=tblEditDict.RowCount-1 Then
		btnNext.Visible=False
	End If
End Sub

Sub btnShow_Click
	lblWortUnten.Text=tblEditDict.Cell(lblTitelUnten.Text,MainRow)
End Sub

Sub btnEdit_Click
	frmEdit.Show
End Sub

Sub btnExit_Click
	frmMain.Close
End Sub

Sub frmMain_Close
	Dim txt
	If PromptBeforeQuit=True Then
		txt="Wollen Sie wirklich" & CRLF
		txt=txt & "das Programm verlassen?"
		Antw=Msgbox(txt,"A C H T U N G",cMsgboxYesNo,cMsgboxQuestion)
		If Antw=cNo Then
			frmMain.CancelClose
			Return
		End If
	End If
	SaveConfig
End Sub

Sub btnSwap_Click
	If lblTitelOben.Text=Language(1) Then
		lblTitelOben.Text=Language(0)
		lblTitelUnten.Text=Language(1)
	Else
		lblTitelOben.Text=Language(1)
		lblTitelUnten.Text=Language(0)
	End If
	goFirstWord
End Sub

Sub btnEditQuit_Click
	frmEdit.Close
	If cPPC Then
		Sip(False)
	End If
End Sub

Sub btnEditAdd_Click
	tblEditDict.AddRow(txtEditEnglish.Text,txtEditDeutsch.Text)
End Sub

Sub btnEditOK_Click
	tblEditDict.Cell(Language(0),EditRow)=txtEditEnglish.Text
	tblEditDict.Cell(Language(1),EditRow)=txtEditDeutsch.Text
End Sub

Sub btnEditInsert_Click
	Dim i
	
	tblEditDict.AddRow("","")
	
	For i=tblEditDict.RowCount-1 To EditRow+1 Step -1
		tblEditDict.Cell(Language(0),i)=tblEditDict.Cell(Language(0),i-1)
		tblEditDict.Cell(Language(1),i)=tblEditDict.Cell(Language(1),i-1)
	Next
	tblEditDict.Cell(Language(0),EditRow)=txtEditEnglish.Text
	tblEditDict.Cell(Language(1),EditRow)=txtEditDeutsch.Text
End Sub

Sub btnEditDelete_Click
	Dim txt
	
	txt="Wollen Sie wirklich diesen"&CRLF
	txt=txt&"Eintrag löschen ?"
	Antw=Msgbox(txt,"A C H T U N G",cMsgboxYesNo,cMsgboxQuestion)
	If Antw=cYes Then
		tblEditDict.RemoveRow(EditRow)
	End If
	If EditRow>tblEditDict.RowCount-1 Then
		EditRow=EditRow-1
	End If
End Sub

Sub tblEditDict_SelectionChanged (ColName, Row)
	EditRow=Row
	txtEditEnglish.Text=tblEditDict.Cell(Language(0),EditRow)
	txtEditDeutsch.Text=tblEditDict.Cell(Language(1),EditRow)
End Sub

Sub btnSave_Click
	Dim txt
	
	SaveDialog1.File=NameFile
	SaveDialog1.Filter="cvs Dateien|*.csv"
	If SaveDialog1.Show<>cCancel Then
		NameFile=SaveDialog1.File
		CodePage1.FileOpen(NameFile,cWrite,1252)
		txt=tblEditDict.ColName(0)&";"&tblEditDict.ColName(1)
		CodePage1.FileWrite(txt)
		For i=0 To tblEditDict.RowCount-1
			txt=tblEditDict.Cell(Language(0),i)&";"&tblEditDict.Cell(Language(1),i)
			CodePage1.FileWrite(txt)
		Next
		CodePage1.FileClose
	End If
End Sub

Sub btnLoad_Click
	Dim txt
	
	OpenDialog1.File=NameFile
	OpenDialog1.Filter="cvs Dateien|*.csv"
	If OpenDialog1.Show<>cCancel Then 
'		LoadFile(OpenDialog1.File)
		NameFile=OpenDialog1.File
		File=FileName(NameFile)
		InitFileList
	End If
End Sub

Sub LoadFile(fn)
	NameFile=fn
	File=FileName(NameFile)

	lblCSVFile.Text=File
	lblEditFile.Text=File

	CodePage1.FileOpen(NameFile,cRead,1252)
	tblEditDict.Dispose
	
	AddTable("frmEdit","tblEditDict",5,135,230,210)
	txt=CodePage1.FileRead
	Language()=StrSplit(txt,";")
	tblEditDict.AddCol(cString,Language(0),110)
	tblEditDict.AddCol(cString,Language(1),110)
	Do
		txt=CodePage1.FileRead
		If txt<>EOF AND txt<>"" Then
			Array1()=StrSplit(txt,";")
			tblEditDict.AddRow(Array1(0),Array1(1))
		End If
	Loop Until txt=EOF OR txt=""
	CodePage1.FileClose
	
	lblTitelOben.Text=Language(0)
	lblTitelUnten.Text=Language(1)
	MainRow=0
	EditRow=0
	goFirstWord
End Sub

Sub txtEditEnglish_GotFocus
	If cPPC Then
		Sip(True)
	End If
End Sub

Sub txtEditDeutsch_GotFocus
	If cPPC Then
		Sip(True)
	End If
End Sub

Sub btnEditSearch_Click
	Dim i,j,txt,txt1
	
	If txtEditEnglish.Text<>"" Then
		j=0
		txt1=txtEditEnglish.Text
	Else
		j=1
		txt1=txtEditDeutsch.Text
	End If
	
	For i=0 To tblEditDict.RowCount-1
'		If txt1=tblEditDict.Cell(Language(j),i) Then
		If txt1=tblEditDict.Cell(Language(0),i) OR txt1=tblEditDict.Cell(Language(1),i) Then
			Exit
		End If
	Next
	If i=tblEditDict.RowCount Then
		txt="Keinen Eintrag"&CRLF
		txt=txt&"für: "&txt1&CRLF
		txt=txt&"gefunden"
		Msgbox(txt,"A C H T U N G",cMsgboxOK,cMsgboxExclamation)
	Else
		EditRow=i
		tblEditDict.SelectCell(Language(0),EditRow)
	End If
End Sub

Sub btnShowAlways_Click
	If ShowAlways=0 Then
		ShowAlways=1
	Else
		ShowAlways=0
	End If
	SetShowAlways
End Sub

Sub SetShowAlways
	If ShowAlways=1 Then
		btnShow_Click
		btnShowAlways.Image=IL1.Item(1)
		btnShowAlways.FontColor=cBlue
		btnShow.Visible=False
	Else
		lblWortUnten.Text=""
		btnShowAlways.Image=IL1.Item(0)
		btnShowAlways.FontColor=cWhite
		btnShow.Visible=True
	End If
End Sub

Sub btnShowRandom_Click
	If ShowRandom=0 Then
		ShowRandom=1
	Else
		ShowRandom=0
	End If
	SetShowRandom
End Sub

Sub SetShowRandom
	If ShowRandom=1 Then
		btnShowRandom.Image=IL1.Item(1)
		btnShowRandom.FontColor=cBlue
		btnBack.Visible=False
		btnNext.Visible=True
	Else
		btnShowRandom.Image=IL1.Item(0)
		btnShowRandom.FontColor=cWhite
		If MainRow>0 Then
			btnBack.Visible=True
		End If
		If MainRow<tblEditDict.RowCount-1 Then
			btnNext.Visible=True
		End If
	End If
End Sub

Sub InitFileList
	Dim Path,i
	
	cbxCsvFile.Clear
	cbxEditFile.Clear
	AL1.Clear
	Path=FileDirname(NameFile)
	FileSearch(AL1,Path,"*.csv")
	For i=0 To AL1.Count-1
		cbxCsvFile.Add(FileName(AL1.Item(i)))
		cbxEditFile.Add(FileName(AL1.Item(i)))
		If File=FileName(AL1.Item(i)) Then
			FileI=i
		End If
	Next
	If FileI>-1 Then
		cbxCsvFile.SelectedIndex=FileI
		cbxEditFile.SelectedIndex=FileI
	End If
End Sub

Sub SaveConfig
	FileOpen(c1,ConfFile,cWrite)
	FileWrite(c1,PromptBeforeQuit)
	FileWrite(c1,LoadLastFile)
	If LoadLastFile=True Then
		FileWrite(c1,NameFile)
	End If
	FileWrite(c1,ShowAlways)
	FileWrite(c1,ShowRandom)
	FileClose(c1)
End Sub

Sub LoadConfig
	FileOpen(c1,ConfFile,cRead)
	PromptBeforeQuit=FileRead(c1)
	LoadLastFile=FileRead(c1)
	If LoadLastFile=True Then
		NameFile=FileRead(c1)
	End If
	ShowAlways=FileRead(c1)
	ShowRandom=FileRead(c1)
	FileClose(c1)
End Sub

Sub cbxCSVFile_SelectionChanged (Index, Value)
	FileI=Index
	NameFile=AL1.Item(FileI)
	LoadFile(NameFile)
	cbxEditFile.SelectedIndex=FileI
End Sub

Sub cbxEditFile_SelectionChanged (Index, Value)
	FileI=Index
	NameFile=AL1.Item(FileI)
	LoadFile(NameFile)
	cbxCsvFile.SelectedIndex=FileI
End Sub

Sub btnConfig_Click
	frmConfig.Show
End Sub

Sub btnConfigQuit_Click
	frmConfig.Close
End Sub

Sub ckbPromptBeforeQuit_Click
	PromptBeforeQuit=ckbPromptBeforeQuit.Checked
End Sub

Sub ckbLoadLastFile_Click
	LoadLastFile=cbxLoadLastFile.Checked
End Sub
