Option Explicit Global Const RID_COMMON = 1000 Global Const RID_FORM = 2200 Public Const SBCANCEL = 2 Public Const SBREPEAT = 4 Public LabelDiffHeight as Long Public BasicLabelDiffHeight as Long Public WizardTitle(1 To 3) as String Public DlgFormDB as Object Public DialogModel as Object Dim sMsgWizardName as String Dim sMsgErrMsg as String Dim sMsgErrFormOpen as String Dim sMsgErrNoDatabase as String Dim sMsgErrNoTableInDatabase as String Dim sMsgErrTitleSuggestedExist as String Dim sMsgErrTitleSyntaxError as String Dim sMsgErrTitleAsTableExist as String Dim sMsgProgressText as String Dim sMsgCreatedForm as String Dim sMsgErrCouldNotOpenObject as String Dim sMsgErrNameToLong as String Dim sTimeAppendix as String Dim sDateAppendix as String Public sGoOn as String Public sReady as String Public sMsgNoConnection as String Public sWriterFilterName as String Public XPixelFactor as Long Public YPixelFactor as Long Sub LoadLanguage () sMsgWizardName = GetResText(RID_FORM + 0) sMsgErrMsg = GetResText(RID_COMMON + 6) sMsgErrFormOpen = GetResText(RID_COMMON + 7) sMsgErrNoDatabase = GetResText(RID_COMMON + 8) sMsgErrNoTableInDatabase = GetResText(RID_COMMON + 9) sMsgErrTitleSuggestedExist = GetResText(RID_COMMON + 10) sMsgErrTitleAsTableExist = GetResText(RID_COMMON + 10) sMsgErrTitleSyntaxError = GetResText(RID_COMMON + 11) sMsgNoConnection = GetResText(RID_COMMON + 14 sMsgProgressText = GetResText(RID_FORM + 2) sMsgCreatedForm = GetResText(RID_FORM + 26) sMsgErrNameToLong = GetResText (RID_FORM + 27) sMsgErrCouldNotOpenObject = GetResText (RID_COMMON + 13) ' Internal Logic sDateAppendix = GetResText(RID_FORM + 4) sTimeAppendix = GetResText(RID_FORM + 5) sReady = GetResText(RID_COMMON + 0) End Sub Sub SetDialogLanguage () DlgFormDB = LoadDialog("FormWizard", "DlgFormDB") DialogModel = DlgFormDB.Model Dim FNameAddOn as String With DialogModel .cmdCancel.Label = GetResText(RID_COMMON + 1) .cmdBack.Label = GetResText(RID_COMMON + 2) .cmdHelp.Label = GetResText(RID_COMMON + 20) sGoOn = GetResText(RID_COMMON + 3) .cmdGoOn.Label = sGoOn .lblDatabases.Label = GetResText(RID_FORM + 11) .lblTables.Label = GetResText(RID_FORM + 6) .lblFields.Label = GetResText(RID_FORM + 12) .lblSelFields.Label = GetResText(RID_FORM + 13) .lblStyles.Label = GetResText(RID_FORM + 21) .hlnBorderLayout.Label = GetResText(RID_FORM + 28) .hlnAlign.Label = GetResText(RID_FORM + 32) .hlnArrangements.Label = GetResText(RID_FORM + 35) WizardTitle(1) = sMsgWizardName & " - " & GetResText(RID_FORM + 45) WizardTitle(2) = sMsgWizardName & " - " & GetResText(RID_FORM + 46) WizardTitle(3) = sMsgWizardName & " - " & GetResText(RID_FORM + 47) .hlnBinaries.Label = GetResText(RID_FORM + 50) .optIgnoreBinaries.Label = GetResText(RID_FORM + 51) .optBinariesasGraphics.Label = GetResText(RID_FORM + 52) .hlnBackground.Label = GetResText(RID_FORM + 55) .optTiled.Label = GetResText(RID_FORM + 56) .optArea.Label = GetResText(RID_FORM + 57) .optBorder0.Label = GetResText(RID_FORM + 29) .optBorder1.Label = GetResText(RID_FORM + 30) .optBorder2.Label = GetResText(RID_FORM + 31) .optBorder1.State = 1 .optAlign0.Label = GetResText(RID_FORM + 33) .optAlign2.Label = GetResText(RID_FORM + 34) .optAlign0.State = 1 FNameAddOn = "" If isHighContrast(DlgFormDB.getPeer) Then FNameAddOn = "_hc" .cmdArrange1.ImageURL = FormPath & "Arrange_1" & FNameAddOn & ".gif" .cmdArrange1.HelpText = GetResText(RID_FORM + 36) .cmdArrange2.ImageURL = FormPath & "Arrange_2" & FNameAddOn & ".gif" .cmdArrange2.HelpText = GetResText(RID_FORM + 37) .cmdArrange3.ImageURL = FormPath & "Arrange_3" & FNameAddOn & ".gif" .cmdArrange3.HelpText = GetResText(RID_FORM + 40) .cmdArrange4.ImageURL = FormPath & "Arrange_4" & FNameAddOn & ".gif" .cmdArrange4.HelpText = GetResText(RID_FORM + 38) .cmdArrange5.ImageURL = FormPath & "Arrange_5" & FNameAddOn & ".gif" .cmdArrange5.HelpText = GetResText(RID_FORM + 39) sWriterFilterName = GetResText(RID_FORM + 70) End With End Sub Sub InitializeWidthList() ' Todo: 'Currency' ist ein Flag, dass grundsätzlich an jedes Feld angehängt sein kann. ' An der Connection kann man irgendwie abfragen, ob ein bestimmter Datentyp als Währung ' interpretiert wird. Darstellung über Numberformatter. Ist nicht konsistent über Datenbanken. ' außerdem dürften hier einige Treiber auch buggy sein. If Ubound(WidthList(),1) > 15 Then ReDim WidthList(15,4) End If WidthList(0,0) = com.sun.star.sdbc.DataType.BIT ' = -7; WidthList(0,1) = cCheckbox WidthList(0,2) = False WidthList(0,3) = "CheckBox" WidthList(1,0) = com.sun.star.sdbc.DataType.TINYINT ' = -6; WidthList(1,1) = cNumericBox WidthList(1,2) = False WidthList(1,3) = "FormattedField" WidthList(2,0) = com.sun.star.sdbc.DataType.SMALLINT ' = 5; WidthList(2,1) = cNumericBox WidthList(2,2) = False WidthList(2,3) = "FormattedField" WidthList(3,0) = com.sun.star.sdbc.DataType.INTEGER ' = 4; WidthList(3,1) = cNumericBox WidthList(3,2) = False WidthList(3,3) = "FormattedField" WidthList(4,0) = com.sun.star.sdbc.DataType.BIGINT ' = -5; WidthList(4,1) = cNumericBox WidthList(4,2) = False WidthList(4,3) = "FormattedField" WidthList(5,0) = com.sun.star.sdbc.DataType.FLOAT ' = 6; WidthList(5,1) = cNumericBox WidthList(5,2) = False WidthList(5,3) = "FormattedField" WidthList(6,0) = com.sun.star.sdbc.DataType.REAL ' = 7; WidthList(6,1) = cNumericBox WidthList(6,2) = False WidthList(6,3) = "FormattedField" WidthList(7,0) = com.sun.star.sdbc.DataType.DOUBLE ' = 8; WidthList(7,1) = cNumericBox WidthList(7,2) = False WidthList(7,3) = "FormattedField" WidthList(8,0) = com.sun.star.sdbc.DataType.NUMERIC ' = 2; WidthList(8,1) = cNumericBox WidthList(8,2) = False WidthList(8,3) = "FormattedField" WidthList(9,0) = com.sun.star.sdbc.DataType.DECIMAL ' = 3; (mit Nachkommastellen) WidthList(9,1) = cNumericBox WidthList(9,2) = False WidthList(9,3) = "FormattedField" WidthList(10,0) = com.sun.star.sdbc.DataType.CHAR ' = 1; WidthList(10,1) = cTextBox WidthList(10,2) = False WidthList(10,3) = "TextField" WidthList(11,0) = com.sun.star.sdbc.DataType.VARCHAR ' = 12; WidthList(11,1) = cTextBox WidthList(11,2) = True WidthList(11,3) = "TextField" WidthList(12,0) = com.sun.star.sdbc.DataType.LONGVARCHAR ' = -1; WidthList(12,1) = cTextBox WidthList(12,2) = True WidthList(12,3) = "TextField" WidthList(13,0) = com.sun.star.sdbc.DataType.DATE ' = 91; WidthList(13,1) = cDateBox WidthList(13,2) = False WidthList(13,3) = "DateField" WidthList(14,0) = com.sun.star.sdbc.DataType.TIME ' = 92; WidthList(14,1) = cTimeBox WidthList(14,2) = False WidthList(14,3) = "TimeField" WidthList(15,0) = com.sun.star.sdbc.DataType.TIMESTAMP ' = 93; WidthList(15,1) = cDateBox WidthList(15,2) = False WidthList(15,3) = "DateField" ImgWidthList(0,0) = com.sun.star.sdbc.DataType.BINARY ' = -2; ImgWidthList(0,1) = cImageControl ImgWidthList(0,2) = False ImgWidthList(0,3) = "ImageControl" ImgWidthList(1,0) = com.sun.star.sdbc.DataType.VARBINARY ' = -3; ImgWidthList(1,1) = cImageControl ImgWidthList(1,2) = False ImgWidthList(1,3) = "ImageControl" ImgWidthList(2,0) = com.sun.star.sdbc.DataType.LONGVARBINARY ' = -4; ImgWidthList(2,1) = cImageControl ImgWidthList(2,2) = False ImgWidthList(2,3) = "ImageControl" ImgWidthList(3,0) = com.sun.star.sdbc.DataType.BLOB ' = 2004; ImgWidthList(3,1) = cImageControl ImgWidthList(3,2) = False ImgWidthList(3,3) = "ImageControl" ' Note: the following Fieldtypes are ignored 'ExcludeList(0) = com.sun.star.sdbc.DataType.SQLNULL 'ExcludeList(1) = com.sun.star.sdbc.DataType.OTHER 'ExcludeList(2) = com.sun.star.sdbc.DataType.OBJECT 'ExcludeList(3) = com.sun.star.sdbc.DataType.DISTINCT 'ExcludeList(4) = com.sun.star.sdbc.DataType.STRUCT 'ExcludeList(5) = com.sun.star.sdbc.DataType.ARRAY 'ExcludeList(6) = com.sun.star.sdbc.DataType.CLOB 'ExcludeList(7) = com.sun.star.sdbc.DataType.REF oModelService(cLabel) = "com.sun.star.form.component.FixedText" oModelService(cTextBox) = "com.sun.star.form.component.TextField" oModelService(cCheckBox) = "com.sun.star.form.component.CheckBox" oModelService(cDateBox) = "com.sun.star.form.component.DateField" oModelService(cTimeBox) = "com.sun.star.form.component.TimeField" oModelService(cNumericBox) = "com.sun.star.form.component.FormattedField" oModelService(cGridControl) = "com.sun.star.form.component.GridControl" oModelService(cImageControl) = "com.sun.star.form.component.DatabaseImageControl" End Sub