![]() |
Datenbank: Postgresql • Zugriff über: Zeos
Memo-Feld mit Zeilenumbruch auslesen
Hallo Gemeinde,
ich muss auf eine DB (Postgresql) zugreifen und die dort abgelegten Daten in ein Memo schreiben. Das Datenfeld, welches hier ein paar Probleme bereitet ist vom Typ Memo und beinhaltet mehrer Zeilen. Wie kann ich realisieren, dass die enthaltenen Zeilenumbrüche auch im Zielmemo eingefügt werden? Derzeit werden die Zeilenumbrüche aus '|' angezeigt. Der Zugriff auf die DB erfolgt mittels der Zeos-Komonenten. MFG Steffen |
Re: Memo-Feld mit Zeilenumbruch auslesen
Moin, Moin,
hab' von Datenbanken keine Ahnung, aber wenn du statt #13#10 ein | erhältst, dann wäre es einen Versuch wert, dieses Zeichen vor der Ablage in der Zieldatenbank einfach wieder durch CRLF zu ersetzen... |
Re: Memo-Feld mit Zeilenumbruch auslesen
Delphi-Quellcode:
Memo.lines.text := StringReplace(Dataset.fieldbyname('Feldname des DBMemos'.AsText, '|', #10#13,[rfReplaceAll]);
taaktaak hat schon recht mit dem Ersetzten. Offensichtlich wird kein volles CR/LF aus der DB gelesen. Wo das allerdings hakt ist mir momentan nicht klar. Grüße // Martin PS: Mir ist gerade die Funkmaus abgestürtzt ... |
Re: Memo-Feld mit Zeilenumbruch auslesen
huhuhuhu, ich hab' nix gesagt :oops:
|
Re: Memo-Feld mit Zeilenumbruch auslesen
Klar hast Du! 8)
|
Re: Memo-Feld mit Zeilenumbruch auslesen
...stimmt, habs auch gehört....
@mschaefer: Vielen Dank...hat mir sehr geholfen. MFG Steffen |
Re: Memo-Feld mit Zeilenumbruch auslesen
Ein Problem habe ich aber trotzdem noch:
Die Daten des Memos sind Prüfergebnisse. Dummerweise enthalten diese auch Sonderzeichen (ungewollt, aber noch nicht behoben). Diese versuche ich mit Stringreplace zu ersetzen. Funktioniert jedoch nur bei einem der beiden Sonderzeichen. Hier mal ein wenig Code:
Delphi-Quellcode:
Wie gesagt, es funktioniert nur beim '€'.
.
. . ///////////////////////////////////////////////////////// Ausschnitt!! while not zquery2.Eof do Begin bcs.JvMemo1.Lines.Text:=bcs.JvMemo1.Lines.Text + str_rep(zquery2.fieldbyname('user_data1').AsString); zquery2.next; end; . . . ///////////////////////////////////////////////////////// function str_rep(s:string):string; Begin result:=StringReplace(s,'','',[rfReplaceAll]); result:=StringReplace(s,'€','',[rfReplaceAll]); end; MFG Steffen |
Re: Memo-Feld mit Zeilenumbruch auslesen
Das andere ist glaube ein Steuerzeichen was für alles mögliche genommen wird, was nicht dargestellt werden kann. Am besten du findest raus, was für ein ASCII-Code sich dahinter verbirgt und suchst danach, statt nach dem Zeichen direkt.
|
Re: Memo-Feld mit Zeilenumbruch auslesen
Habe ich schon probiert. Dummerweise taucht das Zeichen gleich mehrfach auf ->
![]() Habe via result:=StringReplace(s,chr(129),'',[rfReplaceAll]); alle Möglichkeiten durch. Bringt nix. Wie könne ich denn den ASCII-Code des Zeichens mal per Messagebox ausgeben? MFG Steffen |
Re: Memo-Feld mit Zeilenumbruch auslesen
Chr (129) ist aber = ü :gruebel:
Wenn du die Möglichkeit hast, den Text als Hex darzustellen, mach es. [edit] Zitat:
[/edit] |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:22 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz