//SCRIPT :MCEXT.DIALOG.MCFSCR
//Oeffnet ein universelles Eingabe Dialogfenster mit Titel, Beschreibung undverschiedenen Eingabeelementen (Textbox, Combobox oder CheckedListBox).
//Parameter:
//-Titel
//Textzeile ueber dem Dialog, fett und unterstrichen.
//- Beschreibung
//Mehrzeilig, Auto Height, max. 2 bis 3 Zeilen.
//Wenn RTFText =" true wird diese Beschreibung als RTF formatiert."
//- Array
//Werteliste getrennt durch Semikolon.
//Beispiel: "A;B;C"
//- Typ
//text - Eingabe Textbox (RichTextBox)
//combo - Combobox
//list - CheckedListBox
//- Sorted
//true / false / 1 / 0
//- ControlHeight
//- FontSize
//- Breite
//- Hoehe
//OPTIONALE Formatierung fuer Typ text:
//- /lcase / ucase
//- FormatTextTyp
//string / zahl / datum
//- FormatAllow
//Liste erlaubter Zeichen z.B. "0123456789."
//- FormatMaxLen
//Maximale Zeichenlaenge.
//OPTIONALE Regeln fuer CheckedListBox:
//- ListCountSelectedMin
//- ListCountSelectedMax
//Wenn Min =" 1 und Max = 1 arbeitet die Liste automatisch wie ein Radiobutton Feld."
//- MultiLine
//true / 1
//Aktiviert mehrzeilige RichTextBox.
//- BackColor
//Fenster Hintergrundfarbe (Name oder HEX).
//- ForeColor
//Farbe fuer Titel und Beschreibung.
//- RTFText
//true / 1
//Beschreibung wird als RTF interpretiert (fett, unterstrichen usw.).
//Wenn leer oder false wird normaler Text angezeigt.
// /
//Rueckgabe:
//Textbox: eingegebener Text
//Combo: ausgewaehlter Wert
//List: markierte Eintraege als "A;B;C"
//Abbruch: Leerstring
QUELLE={APPPATH}\CONFIG\
FILE_TYP="ini"
$GL=CHAR{123}
$GR=CHAR{125}
START:
TITEL="Zeigt die Möglichkeiten von MCEXT.DIALOG"
BESCHREIBUNG="Wählen Sie die gewünschte Dialog-Form"
ABFRAGE-ARRAY="TeXT;CombO;LIsT"
ABFRAGE-ARRAY=UCASE{ABFRAGE-ARRAY}
SORTED="true"
FONTSIZE="9"
FORMATTEXTTYP=""
WIDTH="370"
HEIGHT="200"
BACKCOLOR=""
FORECOLOR=""
RTFTEXT="false"
TYP=MCEXT.DIALOG{{Titel},{BESCHREIBUNG},{ABFRAGE-ARRAY},combo,{SORTED},{LISTHEIGHT},{FONTSIZE},{WIDTH},{HEIGHT},{FORMATTEXT},{FORMATTEXTTYP},{FORMATALLOW},{FORMATMAXLEN},{LISTCOUNTSELECTEDMIN},{LISTCOUNTSELECTEDMAX},false,{BACKCOLOR},{FORECOLOR},{RTFTEXT}}
IFBLOCK{TYP=}
EXIT=EXITSCRIPT{}
ENDIF
START_TYP:
//Beispiel-Arrays
ORI_ARRAY=""
ORI_ARRAY=MCEXT.GET_FILES_IN_PATH{{QUELLE},{FILE_TYP},true}
//ARRAY="Anton;Berta,Bernd;Cäsar,Siegfried,Anton;Vorname,Nachname;Berta,Bernd;Cäsar,Siegfried,Anton;Berta,Bernd;Cäsar,Siegfried;Anton;Berta,Bernd;Cäsar,Siegfried,Anton;Vorname,Nachname;Berta,Bernd;Cäsar,Siegfried,Anton;Berta,Bernd;Cäsar,Siegfried"
TITEL=Das ist das Beispiel für {TYP}
BESCHREIBUNG=Zeigt die Möglichkeiten von DIALOG.{TYP}
//TEXT=""
WIDTH="500"
FONTSIZE="9"
IFBLOCK{TYP=TEXT}
TITEL=Das sind die möglichen Typen für {TYP}
BESCHREIBUNG="Wahlen Sie einen FORMATTEXTTYP"
TMP_ARRAY="STRING;ZAHL;DATUM;DATETIMEPICKER"
BACKCOLOR="#54699c"
FORECOLOR="#ffffff"
FORMATTEXTTYP=MCEXT.DIALOG{{Titel},{BESCHREIBUNG},{TMP_ARRAY},combo,{SORTED},{LISTHEIGHT},{FONTSIZE},370,200,{FORMATTEXT},{FORMATTEXTTYP},{FORMATALLOW},{FORMATMAXLEN},{LISTCOUNTSELECTEDMIN},{LISTCOUNTSELECTEDMAX},false,{BACKCOLOR},{FORECOLOR},{RTFTEXT}}
IFBLOCK{FORMATTEXTTYP=}
GO{START}
ENDIF
MULTILINE="true"
FORMATTEXT=""
FORMATALLOW=""
FORMATMAXLEN=""
TITEL=Das ist FORMATTEXTTYP {FORMATTEXTTYP}
IFBLOCK{FORMATTEXTTYP=STRING}
HEIGHT="230"
IFBLOCK{MULTILINE=true}
HEIGHT=SUM{{CONTROLHEIGHT}+{HEIGHT}+80}
ENDIF
CONTROLHEIGHT="150"
BESCHREIBUNG="Sie können alles eingeben!"
BACKCOLOR="#1d1d1d"
FORECOLOR="orange"
ELSEIF{FORMATTEXTTYP=DATETIMEPICKER}
FORMATTEXTTYP=MCEXT.DATETIMEPICKER{Beispieldatum,{DATE},{AUFDATUM},{ENTDATUM},true,true,10,#1D222C,#128FDC}
IFBLOCK{FORMATTEXTTYP!}
DLG=DLGMESSAGE{{FORMATTEXTTYP}}
ENDIF
GO{START_TYP}
ELSE
HEIGHT="200"
WIDTH="300"
CONTROLHEIGHT="20"
IFBLOCK{FORMATTEXTTYP=DATUM}
BACKCOLOR="black"
FORECOLOR="#3b7cef"
BESCHREIBUNG="Geben Sie ein gültiges Datum ein!"
ELSE
BACKCOLOR="#3b7cef"
FORECOLOR="white"
BESCHREIBUNG="Geben Sie eine gültige Zahl ein!"
ENDIF
ENDIF
ELSEIF{TYP=COMBO}
SORTED="true"
WIDTH="400"
HEIGHT="200"
ELSE
CONTROLHEIGHT="150"
SORTED="true"
LISTCOUNTSELECTEDMIN="1"
LISTCOUNTSELECTEDMAX="2"
HEIGHT="320"
BACKCOLOR="#1d222c"
FORECOLOR="#f4b208"
IFBLOCK{LISTCOUNTSELECTEDMIN!}
BESCHREIBUNG={BESCHREIBUNG} Sie müssen mindestens {LISTCOUNTSELECTEDMIN} Einträge auswählen!
ENDIF
IFBLOCK{LISTCOUNTSELECTEDMAX!}
BESCHREIBUNG={BESCHREIBUNG} Sie dürfen höchstens {LISTCOUNTSELECTEDMAX} Einträge auswählen!
ENDIF
ENDIF
ABFRAGE-ARRAY=UCASE{{ABFRAGE-ARRAY}}
AUSWAHL=MCEXT.DIALOG{{Titel},{BESCHREIBUNG},{ORI_ARRAY},{TYP},{SORTED},{CONTROLHEIGHT},{FONTSIZE},{WIDTH},{HEIGHT},{FORMATTEXT},{FORMATTEXTTYP},{FORMATALLOW},{FORMATMAXLEN},{LISTCOUNTSELECTEDMIN},{LISTCOUNTSELECTEDMAX},{MULTILINE},{BACKCOLOR},{FORECOLOR},{RTFTEXT}}
IFBLOCK{FORMATTEXTTYP!}
IFBLOCK{AUSWAHL!}
DLG=DLGMESSAGE{{AUSWAHL}}
ENDIF
GO{START_TYP}
ENDIF
IFBLOCK{AUSWAHL!}
DLG=DLGMESSAGE{{AUSWAHL}}
ENDIF
GO{START}