Seite 1 von 2

LN-Übergabe von SQLite-Daten an PDF

Verfasst: 12.06.2007 14:10
von Hermann
Hi zusammen,

ich nutze PureBasic 3,92 , PDF-Lib 1.23 und SQLite 1.33

Wenn ich Daten aus der Datenbank nehme unddiese in eine PDF-Datei schreibe werden die Zeilenumbrüche nicht mit übergeben.

Schaue ich mir die Daten im SQLitebrowser an sind sie aber da.

Code: Alles auswählen

 Result.l = SQLiteGetTable("Select * FROM Gedichte order by titel" )
    If Result=#SQLITE_OK
      Rows.l = SQLiteRows()
      For i = 1 To Rows.l
       pdf_AddPage()  
       pdf_SetFont("Arial","",15) 
        titel.s=SQLiteData(i,2)
        text.s=SQLiteData(i,1)
        pdf_SetLeftMargin(30) 
        pdf_Text(30,70,titel.s)
        pdf_SetXY(30,80)
        pdf_Write(10,text.s)
      Next i
      
    EndIf
pdf_Close()
Wäre toll wenn mir jemand einen Tipp geben könnte. Danke

Re: LN-Übergabe von SQLite-Daten an PDF

Verfasst: 12.06.2007 14:28
von Kiffi
Hermann hat geschrieben:ich nutze PureBasic 3,92 , PDF-Lib 1.23 und SQLite 1.33
uih, ziemlich retro ;-)
Hermann hat geschrieben:Wenn ich Daten aus der Datenbank nehme unddiese in eine PDF-Datei schreibe werden die Zeilenumbrüche nicht mit übergeben.
muss nicht an SQLite liegen. Test mal die folgende Zeile:

Code: Alles auswählen

pdf_Write(10,"Zeile1" + Chr(13) + Chr(10) + "Zeile2")
Grüße ... Kiffi

Re: LN-Übergabe von SQLite-Daten an PDF

Verfasst: 12.06.2007 14:37
von Hermann
Kiffi hat geschrieben:
Hermann hat geschrieben:ich nutze PureBasic 3,92 , PDF-Lib 1.23 und SQLite 1.33
uih, ziemlich retro ;-)
Hermann hat geschrieben:Wenn ich Daten aus der Datenbank nehme unddiese in eine PDF-Datei schreibe werden die Zeilenumbrüche nicht mit übergeben.
muss nicht an SQLite liegen. Test mal die folgende Zeile:

Code: Alles auswählen

pdf_Write(10,"Zeile1" + Chr(13) + Chr(10) + "Zeile2")
Grüße ... Kiffi
Da ich nur sporadisch programmiere komme ich mit den neueren Versionen nicht klar, die alten Codes laufen dann nicht mehr :-)

Chr(13)+Chr(10) funktionieren...... aber wie bekomme ich den in den Datensatz eingebaut?

Re: LN-Übergabe von SQLite-Daten an PDF

Verfasst: 12.06.2007 14:45
von Kiffi
Hermann hat geschrieben:Chr(13)+Chr(10) funktionieren
das war nur ein Test meinerseits, um zu überprüfen, ob die PDF-Lib
Zeilenumbrüche unterstützt und besser lokalisieren zu können, wo es hakelt.
Hermann hat geschrieben:aber wie bekomme ich den in den Datensatz eingebaut?
Du müsstest nun überprüfen, ob in den aus der SQLite-Datenbank
zurückgegebenen Texten Zeilenumbrüche enthalten sind. Gegebenenfalls
sind dort anstelle von Chr(13) + Chr(10) nur Chr(10) vorhanden. Kannst Du
das mal checken?

Grüße ... Kiffi

Verfasst: 12.06.2007 14:55
von Hermann
also in der Variablen "text.s" nach Chr(13) und Chr(10) suchen ? .... werde ich mal versuchen

Verfasst: 12.06.2007 15:00
von Hermann
Puhhh.... also: Chr(10) kommt vor, ist also in der Variablen text.s zu finden

Verfasst: 12.06.2007 15:07
von ts-soft
Jetzt mußte das CR entweder vorm speichern in die DB hinzufügen, oder beim Auslesen.

Code: Alles auswählen

ReplaceString(text.s, Chr(10), Chr(13) + Chr(10))

Verfasst: 12.06.2007 15:09
von Kiffi
Hermann hat geschrieben:Puhhh.... also: Chr(10) kommt vor, ist also in der Variablen text.s zu finden
und kein Chr(13)? Dann müsste es relativ einfach sein, wenn Du alle Chr(10)
durch Chr(13) + Chr(10) ersetzt.

Code: Alles auswählen

text = ReplaceString(text, Chr(10), Chr(13) + Chr(10))
oder aber, wenn Du lieber mit Konstanten arbeiten willst:

Code: Alles auswählen

text = ReplaceString(text, #LF$, #CRLF$)
Grüße ... Kiffi

Verfasst: 12.06.2007 15:11
von ts-soft
@Kiffi
schneller :mrgreen:

Verfasst: 12.06.2007 15:15
von Hermann
ts-soft hat geschrieben:Jetzt mußte das CR entweder vorm speichern in die DB hinzufügen, oder beim Auslesen.

Code: Alles auswählen

ReplaceString(text.s, Chr(10), Chr(13) + Chr(10))
Das klappt leider nicht. Countstring gibt mir für Chr(10) die korekte Anzahl, für Chr(13) oder Chr(13)+Chr(0) jedoch 0