Statement = Connection.createStatement()
ResultSet1 = Statement.executeQuery("SELECT indexs, beschreibung_"+s+" FROM indexs, texte where indexs.indexid = texte.indexid and texte.texteid = '"+textid+"'")
oMyDoc = StarDesktop.CurrentComponent
If Not IsNull(ResultSet1) Then
While ResultSet1.next
Cursor = oMyDoc.Text.createTextCursor()
Cursor.gotoEnd(false)
Table = oMyDoc.createInstance("com.sun.star.text.TextTable")
Table.Initialize(2,1)
oMyDoc.Text.insertTextContent(Cursor, Table, False)
Cell = Table.getCellByPosition(0,0)
Cell.String = ResultSet1.getString(1)+" "+ResultSet1.getString(2)
Wend
End If
ResultSet = Statement.executeQuery("SELECT text_"+s+" FROM texte where texteid = '"+textid+"'")
If Not IsNull(ResultSet) Then
While ResultSet.next
Cell = Table.getCellByPosition(0,1)
Cell.String = ResultSet.getString(1)
Cursor.gotoEnd(false)
oMyDoc.Text.insertControlCharacter(Cursor, com.sun.star.text.ControlCharacter.PARAGRAPH_BREAK, False)
Wend
End If
Der Text innerhalb der Datensätze ist teilweise umgebrochen. Leider bekomme ich im resultierenden Writer Dokument für jeden Umbruch einen Absatzumbruch und einen Zeilenumbruch.
Kann mir jemand helfen?
Grüsse
Christian
Zuletzt geändert von chrdz am Fr, 30.06.2006 07:34, insgesamt 1-mal geändert.
Dim Source As String
Dim Search As String
Dim NewPart As String
Dim Result As String
Dim StartPos As Long
Dim CurrentPos As Long
Source = CStr(ResultSet.getString(1))
Search = chr(10)
NewPart = ""
Result = ""
StartPos = 1
CurrentPos = 1
Do While CurrentPos <> 0
CurrentPos = InStr(StartPos, Source, Search)
If CurrentPos <> 0 Then
Result = Result + Mid(Source, StartPos, _
CurrentPos - StartPos)
Result = Result + NewPart
StartPos = CurrentPos + Len(Search)
Else
Result = Result + Mid(Source, StartPos, Len(Source))
End If ' Position <> 0
Loop
Sollte allerdings irgend jemand eine Idee haben, weshalb der String zusätzlich zum Zeilenumbruch (chr(13)) auch noch ein chr(10) liefert, wäre ich für die Info dankbar. Wenn ich nämlich 'ResultSet.getString(1)' in einer msgBox ausgebe sieht der Text richtig aus.
Hallo,
nach wieterem Stöbern habe ich wohl endlich eine Erklärung für das Phänomen gefunden. Unter Windows werden Zeilenumbrüche mit LF und CR realisiert. Daher die doppelten Steuerzeichen. Unter Linux sollte das nicht vorkommen.