Seite 1 von 1

win oder Linux / Pfadangaben ermitteln

Verfasst: Di, 12.06.2007 14:29
von agrupe
Hi,

nachdem meine base-Applikation einwandfrei sowohl unter Linux (Suse 10.2) als auch unter XP läuft würde ich gern noch den Aufruf einer Datei optimieren. Da Win und Linux unterschiedliche Pfadtypen nutzen wüßte ich gern, wie man erkennen kann "wo man ist" um den Pfadstring entsprechend zu setzen.

Danke & Gruß

Andreas

Re: win oder Linux / Pfadangaben ermitteln

Verfasst: Di, 12.06.2007 14:48
von komma4
verwende die Laufzeitfunktion GetGUIType() zum Erkennen des Betriebssystems anhand des verwendeten Fenstermanagers

Re: win oder Linux / Pfadangaben ermitteln

Verfasst: Mi, 13.06.2007 12:33
von Stephan
Da Win und Linux unterschiedliche Pfadtypen

Da Du von PfadTypen sprichst - Hinweis:
Du weist aber das in den meisten Fällen diese Betrachtungen ggf. ganz unnötig sind? Pfadtyp hört sich für mich nämlich nach Pfadtrenner (also "/" oder "\") an, und die werden in OOo mittels URL-Notation umgangen, der Trenner ist dann immer "/".

Beispiel:
Du willst den Dateinamen der aktiven Datei dadurch ermitteln indem Du ihn aus dem Pfad abtrennst:

Code: Alles auswählen

Sub Main
x = ThisComponent.URL
i = 0
Do
	i = i + 1
	x_tmp = Right(x, i)
Loop While LEFT(x_tmp, 1) <> "/"
Msgbox "Name ist: " & Right(x, i- 1)
End Sub
In der Zeile:

Code: Alles auswählen

Loop While LEFT(x_tmp, 1) <> "/"


ist eine Unterscheidung (<> "/" (Linux) bzw. <> "\" (Windows)) nicht nötig, da .URL immer als Pfadtrenner "/" verwendet.
Du kannst auch beliebige Pfade 'umrechnen' um sicherzustellen das das der Fall ist:

Code: Alles auswählen

pfad1 = ConvertToURL(pfad)
pfad1 enthält jetzt (systemunabhängig) immer "/" als Pfadtrenner.



Gruß
Stephan