Makierten Text auslesen!?!

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Makierten Text auslesen!?!

Re: Makierten Text auslesen!?!

von turtle47 » Mo, 22.03.2010 21:50

Hallo,

ich würde das mit einem Switch lösen:

Code: Alles auswählen

Sub Switch_GrossKleinSchreibung
   myDoc=thisComponent
   myViewCursor=myDoc.GetCurrentController. ViewCursor
   myViewCursor.goLeft(1,true)
   buchstabe = myviewCursor.string
   if myviewCursor.string =lcase(buchstabe) then   
   myviewCursor.string=ucase(buchstabe)
   else
   myviewCursor.string=lcase(buchstabe)
   end if
   myViewCursor.goright(1,false)
End Sub
Viel Erfolg.

Jürgen

Re: Makierten Text auslesen!?!

von ykcim » Mo, 22.03.2010 21:40

Es funktioniert!
Aber achte drauf was du änderst. lcase macht aus einem großen Buchstaben einen kleinen und ucase einen kleinen Buchstaben groß.
Um die Markierung wieder los zuwerden die Zeile
myViewCursor.goRight(1,false)
hinten dran hängen.

mfg
Michael

Re: Makierten Text auslesen!?!

von eike » Mo, 22.03.2010 19:31

funktioniert leider nicht...
er makiert nur den buchstaben und sonst nichts!!!

Re: Makierten Text auslesen!?!

von ykcim » So, 21.03.2010 17:28

Hi,

Codeteil mit Dispatcher sollte man umgehen wenn es auch direkt in Basic geht
Den Cursor an der aktiven Stelle kann man direkt anspringen.
Und um einen Buchstaben klein oder Ggoß zu setzen gibt es die Funktionen lcase und ucase.

Code: Alles auswählen

Sub GrossKleinSchreibung
   myDoc=thisComponent
   myViewCursor=myDoc.GetCurrentController. ViewCursor
   myViewCursor.goLeft(1,true)
   buchstabe = myviewCursor.string
   myviewCursor.string=lcase(buchstabe)
End Sub
mfg
Michael

Makierten Text auslesen!?!

von eike » So, 21.03.2010 11:59

Hallo alle zusammen...
Also ich habe versucht einen Makro zu schreiben mit dem ich den Buchstaben for dem Curser:
1.markieren
2.falls Großbuchstabe in eine kleinen
3.falls kleiner Buchstabe in einen großen
ändern kann.

Eigentlich liefs ganz gut, ich hab das markieren aufgezeichnet und das umwandeln geschrieben,aber ich weiss nich wie ich den makierten Text in eine Variable reinschreiben kann!
Soweit hier der Code:

Code: Alles auswählen

REM  *****  BASIC  *****

Sub Main

End Sub

Sub GrossKleinSchreibung


rem ----------------------------------------------------------------------
rem define variables
dim document   as object
dim dispatcher as object
dim buchstabe as string
dim buchstabenzahl as integer
dim buchstabe2 as string
rem ----------------------------------------------------------------------
rem get access to the document
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

rem ----------------------------------------------------------------------
dim args1(1) as new com.sun.star.beans.PropertyValue
args1(0).Name = "Count"
args1(0).Value = 1
args1(1).Name = "Select"
args1(1).Value = true

dispatcher.executeDispatch(document, ".uno:GoRight", "", 0, args1())


rem ----------------------------------------------------------------------
buchstabe = 
rem **? makierter Text ?**

buchstabenzahl = asc(buchstabe)

if buchstabenzahl>64 then
	if buchstabenzahl < 91 then
		buchstabe2 = Chr$(buchstabenzahl + 32)
	
	else
		if buchstabenzahl > 96 then
			if buchstabenzahl < 123 then
			buchstabe2 = Chr$(buchstabenzahl - 32)
			end if
		end if
	end if
end if

rem ----------------------------------------------------------------------
args1(0).Name = "Text"
args1(0).Value = buchstabe2

dispatcher.executeDispatch(document, ".uno:InsertText", "", 0, args1())
End Sub
Wär nett wenn ihr mir helfen könntet .
MfG eike

Nach oben