Writer: Diagonale Linie in Ooo3.2

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

Moderator: Moderatoren

jona99
Beiträge: 4
Registriert: Fr, 08.04.2011 06:30

Writer: Diagonale Linie in Ooo3.2

Beitrag von jona99 »

Hi

Ich habe ein altes Programm, das in OOo1.0.3 Writer richtig läuft,
in OOo3.2.0 Writer aber nicht mehr.
Und ich sehe meinen Fehler nicht.
(restliche Umgebung WinXP SP3)

Der Code (siehe unten) legt eine diagonale Linie
(von unten links nach oben rechts) über eine Zahl.
In OOo3.2.0 ruscht die diagonale Linie eine Zeile tiefer.

Danke
Jona99

Code: Alles auswählen

option explicit
sub Test
    dim writer as object
    dim txt    as object
    dim cur    as object

    writer = ThisComponent
    txt    = writer.Text
    cur    = txt.createTextCursor
    cur.charHeight = 30
      				    
    txt.insertString(cur, "1234.56", false)		   
    MakeDiagLine(writer, txt, cur)
    
    txt.insertControlCharacter(cur, com.sun.star.text.ControlCharacter.PARAGRAPH_BREAK, False)
end sub

sub MakeDiagLine(byval writer as object, byval txt as object, byval cur as object)
    dim w as long
    dim h as long
    
    w = 2000 '2cm
   	h = (cur.charHeight/72.00) * 2.54 * 1000
     
    dim diagline as object
    dim point    as new com.sun.star.awt.Point 
    dim size     as new com.sun.star.awt.Size
    diagline = writer.createInstance("com.sun.star.drawing.LineShape")
     
    point.X     =  0
    point.Y     =  h
    size.Width  =  w
    size.Height = -h

    diagline.LineColor    = rgb(255, 0, 0)
    diagline.AnchorType   = com.sun.star.text.TextContentAnchorType.AT_PARAGRAPH
    diagline.Position     = point
    diagline.Size         = size
    diagline.TextWrap     = com.sun.star.text.WrapTextMode.THROUGHT
    txt.insertTextContent(cur, diagline, false)
end sub

Moderation,4: verschoben in BASIC Bereich; Betreff angepasst
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Writer: Diagonale Linie in Ooo3.2

Beitrag von komma4 »

Willkommen im Forum
jona99 hat geschrieben:Und ich sehe meinen Fehler nicht.
Nach meinen Versuchen scheint es so zu sein, dass OOo 3.2.1 (hier) die X-Positionierung nicht annimmt - egal, was ich angebe.

Bug?
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
jona99
Beiträge: 4
Registriert: Fr, 08.04.2011 06:30

Re: Writer: Diagonale Linie in Ooo3.2

Beitrag von jona99 »

Ich habe es mal mit Openoffice 2.3.0 mit WinXPSP3 probiert.
Da bekomme ich gleiches Ergebnis wie in Oo 3.2.
Also vielleicht doch ein Bug, wie du vermutest.
jona99
Beiträge: 4
Registriert: Fr, 08.04.2011 06:30

Re: Writer: Diagonale Linie in Ooo3.2

Beitrag von jona99 »

Jetzt habe ich mal die neuste Version Openoffice 3.3.0 runtergeladen und es mit WinXPSP3 probiert.
Da bekomme ich gleiches Ergebnis wie in Oo 3.2 und wie in Oo 2.3.
Antworten