einen hab ich noch
wie kann ich/man per Basic erkennen ob in einem Teil-Absatz vor einem manuellen Zeilenumbruch ein automatisch eingefügter existiert ?
mein Ziel ist ein Makro welches so lange einen Teilabsatz in 1% Schritten verschmälert bis er in eine Zeile passt
sub machpassend
loop:
if "Text bis manueller Umbruch hat autoUmbruch) then
Breite =99
thisComponent.currentselection().getbyindex(0).CharScaleWidth = Breite
Breite Breite-1
go to loop
end if
print " passt "
End Sub
oder so ähnlich
vielleicht hat ja auch jemand so etwas schon mal in fertig gesehen
bin wie immer für Tipps und Anregungen dankbar
und lade alle "Vorschläger" ein, kommt zu meiner Dankbaar
Zuletzt geändert von clag am Fr, 20.08.2010 08:36, insgesamt 1-mal geändert.
aber ich trau mich gar nicht zu meckern
deswegen schreibe ich auch in einem ganz leisem grau
leider hat das Makro noch eine kleinen Haken,
nämlich wenn in dem Absatz ein manueller Zeilenumbruch existiert (shift Enter)
dann erkennt es den leider nicht, sondern schiebt den ganzen Absatz zusammen
und verfängt sich dann in einer Schleife, so dass man ctrl+shift+Q braucht
wenn das Makro den manuellen Zeilenumbruch erkennen und als Wirkungsbereich-Ende akzeptieren würde
wäre es perfekt !
trotzdem schon Daaaaanke
edit:
alternativ oder auch nur auf den zuvor markierten Text bearbeiten der logischerweise am Absatzanfang beginnt ?
Zuletzt geändert von clag am Do, 19.08.2010 14:13, insgesamt 1-mal geändert.
Zum Dank soll ich mir auch noch die Augen verderben - ich hab leider dafür gerade keine Lösung parat, und auch keine Zeit danach zu suchen, ich muss mal ein paar Brötchen verdienen gehen.
Gruß Karo
LO7.4.7.2debian 12(bookworm) auf Raspberry5 8GB (ARM64) LO25.2.3.2 flatpakdebian 12(bookworm) auf Raspberry5 8GB (ARM64)
nur habe ich leider noch überhaupt keinen Schimmer wie diese Textcusor reagieren und wie man das abstellen könnte
eine Möglichkeit wäre wohl direkt nach chr(10) abzufragen aber wie ?
deine Zeile habe ich natürlich gleich ausprobiert, funktioniert auch und findet den chr(10)
jetzt müsste man entweder von gleich am Anfang verhindern das beim einlesen von "otcursor,string"
nicht über den chr(10) hinaus bis chr(13) eingelesen wird.
Oder wenn das nicht zu verhindern ist den "otcursor,string" vom Rest nach dem chr(10) befreien
clag hat geschrieben:jetzt müsste man entweder von gleich am Anfang verhindern das beim einlesen von "otcursor,string"
nicht über den chr(10) hinaus bis chr(13) eingelesen wird.
Oder wenn das nicht zu verhindern ist den "otcursor,string" vom Rest nach dem chr(10) befreien
Und was bringt Dir das dann?
Dann brauchst Du doch die Lauweite nicht mehr zu ändern wenn Du eine "reine" Zeile ohne Zeilenumbruch hast.
Also für mich bleiben da noch
Software hat keinen Verstand - benutze deinen eigenen...!
die reine Zeile ist doch noch keine Garantie das sie in die Zeile hineinpasst !
das chr(10) wir manchmal dort eingefügt wo der Text so lang ist das ein zusammen schieben keinen Sinn macht und ein Teil per manuellem
ZeilenUmbruch in die nächste Zeile geschickt wird
TesttextTesttextTesttext CHR(10) braucht nicht gestaucht werden
TesttextTesttextTesttextTesttextTesttext CHR(10) muss gestaucht werden um 10%, macht das Makro auch
TesttextTesttextTesttextTesttextTesttext CHR(10)
TesttextTesttextTesttextTesttext CHR(13) soll auch um 10% gestaucht werden aber nur bis CHR(10)
daran hängt sich das Makro aber auf und schrumpft alles bis zu chr(13)
weil der alles String enthält
"otcursor.string" TesttextTesttextTesttextTesttextTesttext CHR(10)TesttextTesttextTesttextTesttext CHR(13)enthält
wenn man den String auf
"otcursor.string" TesttextTesttextTesttextTesttextTesttext CHR(10)
reduzieren könnte, sollte das Makro einwandfrei funktionieren
clag hat geschrieben:jetzt müsste man entweder von gleich am Anfang verhindern das beim einlesen von "otcursor,string"
nicht über den chr(10) hinaus bis chr(13) eingelesen wird.
Und das macht der obere Code mit berichtigter Zeile:
Aus:
Er hörte leise Schritte hinter sich. Das bedeutete nichts Gutes. Wer würde ihm schon folgen, spät inCHR(10)der Nacht und dazu noch in dieser engen Gasse.
wird:
Er hörte leise Schritte hinter sich. Das bedeutete nichts Gutes. Wer würde ihm schon folgen, spät in
Zuletzt geändert von turtle47 am Do, 19.08.2010 23:37, insgesamt 1-mal geändert.
Software hat keinen Verstand - benutze deinen eigenen...!
habe extra nochmal alles gespeichert auf und zu gemacht den Code neu eingefügt aber es bleibt dabei,
mit dem aufpoppen des Print-Fenster ist der Text rechts von CHR(10) aus dem Dokument verschwunden
und wen kein CHR(10) im Text enhalten ist wird der gesamte Text entfernt
wie kann man erreichen das das nur auf die internen Variablen wirkt ?
der Button dafür ist schon in die Vorlage eingebaut bzw bekommt nen Hotkey
Danke für die Super Unterstützung !
Das birgt für euch aber die Gefahr, ich komme wieder .........
du und turtle ihr habt jetzt freien Eintritt in meiner Dankbar