BITTE helfen Sie uns HEUTE mit einer SPENDE
Helfen Sie das OpenOffice Forum zu erhalten!

DANKE >><< DANKE

> KEINE WERBUNG FÜR REGISTRIERTE BENUTZER!<
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des OpenOffice Forums verwendet.
🤗 Als Dankeschön werden Sie im Forum als OO-SUPPORTER gekennzeichnet. 🤗

OOo Basic - If... Statement mit RegExp

Alles zur Programmierung im OpenOffice.org
Antworten
FrageMann
Beiträge: 1
Registriert: Mo 17. Mai 2010, 16:55

OOo Basic - If... Statement mit RegExp

Beitrag von FrageMann » Mo 17. Mai 2010, 17:42

Da Ich neu in diesem Forum bin, möchte ich ein kurzes, freundliches "Hallo zusammen" voran schieben :-) und, ohne unverschämt zu erscheinen, direkt zur Sache kommen.

Ich bin gerade dabei ein Basic Makro zu schreiben, dass in einem Base Datenbankformular bei Datensatzaufruf ein Bild anzeigt.
Dabei stehen Bildpfad und Bilddateiname in einzelnen Textfeldern und werden einer Prozedur als String übergeben und zusammengesetzt.

Nun möchte ich gerne überprüfen, ob der angegebene Bildpfad absolut ist, relativ zum Datenbank-Verzeichnis oder eine Web-URL ist und auf das Ergebnis entsprechend reagieren.
Dabei würde ich gerne überprüfen ob der String, der in einer Variable "ImagePath" steht, bspw. mit "./" oder "http://" beginnt.
Hier ein Schnippsel aus meinem Makro:

Code: Alles auswählen

Sub showImage( ImagePath As String, ImageFile As String )
	on error goto errorHandler

	Dim ImageURLcomplete As String	'komplette Bild URL
	Dim DirPrefix As String			 'Verzeichnis Präfix ("/" Unix; "\" Windows)
	oDoc = thisComponent

	'Verzeichnis Präfix feststellen und setzen ("/" Unix; "\" Windows)
	If  DirectoryNameoutofPath( convertfromurl( oDoc.Parent.URL ), chr(92) ) _
	= convertfromurl( oDoc.Parent.URL ) Then
		DirPrefix = "/"
		Else
			DirPrefix = chr(92)
	end If

	'Datenbankpfad speichern
	dbURL = DirectoryNameoutofPath( convertfromurl( oDoc.Parent.URL ), DirPrefix )

	'Prüfen ob übergebener Bildpfad relativ ist und absolut in Variable speichern
	If ( ImagePath = "" ) OR ( ImagePath = "NULL" ) OR ( ImagePath = "./" ) OR ( ImagePath = "." & chr(92) ) Then
		'Datei liegt im selben Verzeichnis ==> Datenbank Verzeichnis voranstellen
		ImageURLcomplete = dbURL & DirPrefix & ImageFile

'###########################
'Abfrage mit regulärem Ausdruck
		ElseIf ImagePath = '/^.\/*/' Then
		'Dateipfad ist relativ ==>  Datenbank Verzeichnis voranstellen
			ImageURLcomplete = dbURL & DirPrefix & ImagePath & DirPrefix & ImageFile
'###########################

		Else
		'Dateipfad ist absolut
			ImageURLcomplete = ImagePath & DirPrefix & ImageFile
	End If
		.
		.
		.
End Sub
Daher meine Frage, ist es möglich ein If-Statement zu konstruieren, in dem die Bedingung ein Regulärer Ausdruck ist, wenn ja - wie?

Leider konnte ich dazu nichts brauchbares im Web finden und wäre dankbar für Hilfe bzw. Lösungsansätze.

Gruß,
der FrageMann

Antworten