String mit anfürungszeichen

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

ja18
*
Beiträge: 12
Registriert: Mi, 23.09.2015 11:03

String mit anfürungszeichen

Beitrag von ja18 »

Hallo zusammen
Ich versuche einen String zusammen zu setzen, der "doblequotes" enthällt.
Leider wird der String dadurch falsch interpretiert.
Wie setze ich den richtig zusammen?
Es geht um die variable (stFeld)

Code: Alles auswählen

SUB Datei_Aufruf
	DIM oDoc AS OBJECT
	DIM oDrawpage AS OBJECT
	DIM oForm AS OBJECT
	DIM oFeld AS OBJECT
	DIM oShell AS OBJECT
	DIM stFeld AS STRING
			oShell = createUnoService("com.sun.star.system.SystemShellExecute")
		 stFeld = ("C:\Program Files (x86)\Adobe\Reader 11.0\Reader\AcroRd32.exe" /h /t "K:\Datenbank\Eticketten.pdf" "Brother QL-500")
	oShell.execute(stFeld,,0)
END SUB
TrueColor
******
Beiträge: 542
Registriert: Do, 11.03.2010 11:23

Re: String mit anfürungszeichen

Beitrag von TrueColor »

https://wiki.openoffice.org/wiki/Docume ... de/Strings
Ganz unten, letzte Zeile + letztes Beispiel
AOO Wiki/BASIC Guide hat geschrieben: To include a quotation mark (") in a string, enter it twice at the relevant point:

Code: Alles auswählen

Dim MyString As String
MyString = "a ""-quotation mark."    ' produces a "-quotation mark
Also auf gut deutsch: Die Gänsefüßchen mit 'nem Gänsefüßchen escapen...
System:
Arbeit: Windows 7 (64 bit) + Apache OpenOffice 4.1.2 (AOO412m3), LibreOffice 4.1.4.2
Home: Windows 10 (64 bit) + Apache OpenOffice 4.1.2 (AOO412m3)
ja18
*
Beiträge: 12
Registriert: Mi, 23.09.2015 11:03

Re: String mit anfürungszeichen

Beitrag von ja18 »

Hallo TrueColor
Ich glaube das ich das falsch verstehe.
Soll das so aussehen?

Code: Alles auswählen

SUB Datei_Aufruf
	DIM oDoc AS OBJECT
	DIM oDrawpage AS OBJECT
	DIM oForm AS OBJECT
	DIM oFeld AS OBJECT
	DIM oShell AS OBJECT
	DIM stFeld AS STRING
			oShell = createUnoService("com.sun.star.system.SystemShellExecute")
		 stFeld = ("""C:\Program Files (x86)\Adobe\Reader 11.0\Reader\AcroRd32.exe""" "/h /t" """K:\Datenbank\Eticketten.pdf""" """Brother QL-500""")
	oShell.execute(stFeld,,0)
END SUB
Das generiert leider eine Fehlermeldung (Fehler ich Klammerschachtelung)
mikeleb
*******
Beiträge: 1316
Registriert: Fr, 09.12.2011 16:50

Re: String mit anfürungszeichen

Beitrag von mikeleb »

Hallo,

Code: Alles auswählen

stFeld = """C:\Program Files (x86)\Adobe\Reader 11.0\Reader\AcroRd32.exe"" /h /t ""K:\Datenbank\Eticketten.pdf"" ""Brother QL-500"""
Gruß,
mikeleb
ja18
*
Beiträge: 12
Registriert: Mi, 23.09.2015 11:03

Re: String mit anfürungszeichen

Beitrag von ja18 »

Danke für deine Hilfe
Karolus
********
Beiträge: 7440
Registriert: Mo, 02.01.2006 19:48

Re: String mit anfürungszeichen

Beitrag von Karolus »

Hallo

Der service "css.SystemShellExecute" ermöglicht nicht aus Jux und Dollerei die Übergabe von 3 Argumenten.

Code: Alles auswählen

oShell = createUnoService("com.sun.star.system.SystemShellExecute")
command = """C:\Program Files (x86)\Adobe\Reader 11.0\Reader\AcroRd32.exe"""
args = "/h /t ""K:\Datenbank\Eticketten.pdf"" ""Brother QL-500""" 

oShell.execute( command, args, 0)
In python könnte man das wesentlich freundlicher aussehen lassen:

Code: Alles auswählen

import subprocess

def printer_job():
    subprocess.popen( ["C:/Program Files (x86)/Adobe/Reader 11.0/Reader/AcroRd32.exe",
                       "/h",
                       "/t",
                       "K:/Datenbank/Eticketten.pdf",
                       "Brother QL-500"]
                     ) 
Apropos: "Etiketten" schreibt man für gewöhnlich ohne c vor dem k
LO7.4.7.2 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO7.6.2.1 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
TrueColor
******
Beiträge: 542
Registriert: Do, 11.03.2010 11:23

Re: String mit anfürungszeichen

Beitrag von TrueColor »

Karolus hat geschrieben:Apropos: "Etiketten" schreibt man für gewöhnlich ohne c vor dem k
Du wartest doch nur auf den Hilferuf, dass jetzt die Datei nicht mehr gefunden wird, nachdem der Schreibfehler im Macro korr. wurde! :lol:
System:
Arbeit: Windows 7 (64 bit) + Apache OpenOffice 4.1.2 (AOO412m3), LibreOffice 4.1.4.2
Home: Windows 10 (64 bit) + Apache OpenOffice 4.1.2 (AOO412m3)
Antworten