Schreiben in eine *.ini Datei

spezielle Probleme mit AOO/LO unter Linux

Moderator: Moderatoren

mike6
*****
Beiträge: 479
Registriert: Sa, 06.03.2004 13:58

Schreiben in eine *.ini Datei

Beitrag von mike6 »

Hallo,

unter Windows habe ich Daten mit folgendem Makro
aus einem O.o Calc Dialogfeld in eine *.ini Datei geschrieben. - :D -

******************************************************************************************************************
'* WriteSettings: Schreiben der settings.ini
'**************************************************
Sub WriteSettings
Dim sPfad as String
Dim FileNo as Integer
Dim sLine as String

sPfad = DirectoryNameoutofPath(ConvertFromURL(ThisComponent.URL), "\") + "\settings.ini"
FileNo = Freefile()
If FileExists(sPfad) Then
Open sPfad For Output As #FileNo
Print #FileNo, "[Dialog]"
Print #FileNo, "Gemarkung=" + oDlg.getControl("cmb_input_1").GetText()
Print #FileNo, "Flur=" + oDlg.getControl("cmb_input_2").GetText()
Print #FileNo, "Flurstknummer=" + oDlg.getControl("txt_input_3").GetText()
Print #FileNo, "Pfad=" + oDlg.getControl("file_input").GetText()
Close #FileNo
End If
End Sub
******************************************************************************************************************


Mit dem nachfolgenden Makro wurden die Daten aus der *.ini Datei wieder
in das O.o Calc Dialogfeld eingelesen.


'**************************************************
'* ReadSettings: Lesen der settings.ini
'**************************************************
Function ReadSettings(sPfad as String, sBereich as String, sParam as String) as String
Dim FileNo as Integer
Dim sLine as String

FileNo = Freefile()
If FileExists(sPfad) Then
Open sPfad For Input As #FileNo
While not eof(#FileNo)
Line Input #FileNo, sLine
If sLine = "[" + sBereich + "]" Then Bereich=true
If Bereich Then If InStr(mid(sLine, 1, len(sParam)+1), sParam+"=") Then ReadSettings = mid(sLine, len(sParam)+2)
Wend
Close #FileNo
End If
End Function

******************************************************************************************************************


Unter SUSE Linux 10.0 funktioniert das Ganze nicht mehr. - :( -
Wer kann mir weiterhelfen - :idea: - , damit das auch unter Oo. 2.0.2 unter SUSE Linux 10.0 klappt?


mfg
mike
mike6
*****
Beiträge: 479
Registriert: Sa, 06.03.2004 13:58

Re: Schreiben in eine *.ini Datei

Beitrag von mike6 »

Hallo,


mann sollte unter Linux anstelle des "\" den "/" nehmen. :D
Jetzt läuft`'s.


mfg
mike
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Schreiben in eine *.ini Datei

Beitrag von komma4 »

oder verwende die (eingebaute, undokumentierte !) Funktion GetPathSeparator(), welche Dir den Verzeichnistrenner der Laufzeit-Plattform zurück gibt...
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Antworten