LN-Übergabe von SQLite-Daten an PDF

Anfängerfragen zum Programmieren mit PureBasic.
Hermann
Beiträge: 31
Registriert: 09.09.2004 23:01
Wohnort: Willich

LN-Übergabe von SQLite-Daten an PDF

Beitrag 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
Benutzeravatar
Kiffi
Beiträge: 10711
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

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

Beitrag 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
a²+b²=mc²
Hermann
Beiträge: 31
Registriert: 09.09.2004 23:01
Wohnort: Willich

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

Beitrag 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?
Benutzeravatar
Kiffi
Beiträge: 10711
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

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

Beitrag 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
a²+b²=mc²
Hermann
Beiträge: 31
Registriert: 09.09.2004 23:01
Wohnort: Willich

Beitrag von Hermann »

also in der Variablen "text.s" nach Chr(13) und Chr(10) suchen ? .... werde ich mal versuchen
Hermann
Beiträge: 31
Registriert: 09.09.2004 23:01
Wohnort: Willich

Beitrag von Hermann »

Puhhh.... also: Chr(10) kommt vor, ist also in der Variablen text.s zu finden
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag 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))
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Kiffi
Beiträge: 10711
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag 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
a²+b²=mc²
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

@Kiffi
schneller :mrgreen:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Hermann
Beiträge: 31
Registriert: 09.09.2004 23:01
Wohnort: Willich

Beitrag 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
Antworten