in Basic-IDE von Cursor bis Anfang Zeile markieren

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

Moderator: Moderatoren

Stephan
********
Beiträge: 12369
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

in Basic-IDE von Cursor bis Anfang Zeile markieren

Beitrag von Stephan »

Hallo,

die Anregung zur folgenden Frage gab mir die Extension:
http://extensions.services.openoffice.o ... -ide-tools

Meine Frage ist leicht zu formulieren, im folgenden Screenshot ist eine Markierung zu sehen, wie lösche ich diese und ermittle dann den Inhalt der (Rest-)Zeile vor dem Cursor?
Ausschnitt Basic-IDE.gif
Ausschnitt Basic-IDE.gif (4.13 KiB) 2351 mal betrachtet
Da ich weiß das man in der Basic-IDE nur per Dispatcher arbeiten kann (gerne lasse ich mich aber eines Besseren belehren), habe ich Folgendes versucht:

Code: Alles auswählen

Sub jms1()
	Dim xIDE As Object
	Dim xdispatcher As Object
	
	xIDE = BIT_getIDEController().Frame
	xdispatcher = CreateUNOService("com.sun.star.frame.DispatchHelper")
	BIT_SetClipBoard ""
	xdispatcher.executeDispatch(xIDE, ".uno:Paste", "", 0, Array() )
	xdispatcher.executeDispatch(xIDE, ".uno:WordLeftSel", "", 0, Array())
        
        'nachfolgend würde ich die jetzt vorhandene Selection auslesen und hätte damit den gewünschten Inhalt/Text
End Sub 

Function BIT_getIDEController() As Object
'--------------------------------------------------------------------------------------------
	' Devuelve el controlador del IDE Basic o NULL si no lo encuentra
	' Returns the ide controller or NULL if it is not found
	Dim componentsEnum As Object
	Dim aComponent As Object

	componentsEnum = starDesktop.getComponents().createEnumeration()
	If (Not IsNull(componentsEnum)) Then
		Do While componentsEnum.hasMoreElements()
			aComponent = componentsEnum.nextElement()
			On local error goto seguir
			If aComponent.supportsService("com.sun.star.script.BasicIDE") Then
				BIT_getIDEController = aComponent.currentController
				Exit Do
			End If
			seguir:
			on local error goto 0
		Loop
	End If

End Function
das läuft aber nicht (es passiert garnichts).

Das ist nicht ungewöhnlich da in der Basic-IDE nicht alle ".uno:"-Commands laufen, trotzdem hätte ich gerne eine LÖsung wenn möglich.


Gruß
Stephan
Karolus
********
Beiträge: 7440
Registriert: Mo, 02.01.2006 19:48

Re: in Basic-IDE von Cursor bis Anfang Zeile markieren

Beitrag von Karolus »

Hallo

<Strg>+<shift>+<backspace>
<Strg>+<shift>+ ←←
<Strg>+c

oder was meinst du?

Karolus
LO7.4.7.2 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO7.6.2.1 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
Stephan
********
Beiträge: 12369
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: in Basic-IDE von Cursor bis Anfang Zeile markieren

Beitrag von Stephan »

oder was meinst du?
ich meine per Code das Äquivalent von:

<Strg>+<shift>+<backspace>
<Strg>+<shift>+<Pos 1>
<Strg>+c

eigentlich sogar (falls das irgendwo einen relevanten Unterschied macht):

<Entf>
<Strg>+<shift>+<Pos 1>
<Strg>+c

(Sorry, ".uno:WordLeftSel" war falsch ich meinte ".uno:StartOfLineSel")



Gruß
Stephan
Antworten