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:
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:
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.
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:
Grüße ... Kiffi
Verfasst: 12.06.2007 15:11
von ts-soft
@Kiffi
schneller

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.
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