ich versuche folgendes Macro nach Delphi zu übersetzen:
Code: Alles auswählen
Sub Main
dim Args(1) as new com.sun.star.beans.PropertyValue
dim InfoArray(7) as new com.sun.star.beans.PropertyValue
InfoArray(0).name = "Extension"
InfoArray(0).Value = "txt"
InfoArray(1).name = "HeaderLine"
InfoArray(1).Value = True
InfoArray(2).name = "FieldDelimiter"
InfoArray(2).Value = ";"
InfoArray(3).name = "StringDelimiter"
InfoArray(3).Value = ""
InfoArray(4).name = "DecimalDelimiter"
InfoArray(4).Value = "."
InfoArray(5).name = "ThousandDelimiter"
InfoArray(5).Value = ","
InfoArray(6).name = "EnableSQL92Check"
InfoArray(6).Value = False
InfoArray(7).name = "PreferDosLikeLineEnds"
InfoArray(7).Value = True
loDataManager = createUnoService("com.sun.star.sdb.DatabaseContext")
loNewDatasource = loDataManager.createInstance()
loNewDatasource.URL = "sdbc:flat:C:\temp\vorlagen\"
loNewDatasource.setPropertyvalue( "Info", InfoArray() )
loNewDatasource.databaseDocument.storeAsUrl(convertToURL("C:\temp\vorlagen\adressen.odb"), Args())
loDataManager.RegisterObject("MD Adressbuch pro", loNewDatasource)
loNewDatasource.databaseDocument.store
End Sub
Code: Alles auswählen
procedure TForm1.Button2Click(Sender: TObject);
var
infoArray, loDataManager, loNewDatasource , args: Variant;
begin
infoArray := CreateProperties(['Extension','txt','HeaderLine',True,'FieldDelimiter',';',
'StringDelimiter','','DecimalDelimiter','.','ThousandDelimiter',',',
'EnableSQL92Check',False,'PreferDosLikeLineEnds',True]);
loDataManager := createUnoService('com.sun.star.sdb.DatabaseContext');
loNewDatasource := loDataManager.createInstance(); ### ERROR (Ungültige Variablenoperation)
loNewDatasource.URL := 'sdbc:flat:C\temp\vorlagen';
loNewDatasource.Propertyvalue('Info', infoArray);
loNewDatasource.databaseDocument.storeAsUrl(convertToUrl('C:\temp\vorlagen\adressen.odb'), args);
loDataManager.RegisterObject('MD Adressbuch pro', loNewDatasource);
loNewDatasource.databaseDocument.store;
end;
Kann mir da jemand weiterhelfen?
Viele Grüße ...