AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Memo-Feld mit Zeilenumbruch auslesen
Thema durchsuchen
Ansicht
Themen-Optionen

Memo-Feld mit Zeilenumbruch auslesen

Ein Thema von WIng2005 · begonnen am 22. Mai 2008 · letzter Beitrag vom 22. Mai 2008
Antwort Antwort
Seite 1 von 2  1 2      
WIng2005

Registriert seit: 20. Mär 2006
Ort: Thüringen
388 Beiträge
 
Delphi XE Starter
 
#1

Memo-Feld mit Zeilenumbruch auslesen

  Alt 22. Mai 2008, 06:15
Datenbank: Postgresql • Zugriff über: Zeos
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
  Mit Zitat antworten Zitat
taaktaak

Registriert seit: 25. Okt 2007
Ort: Radbruch
1.990 Beiträge
 
Delphi 7 Professional
 
#2

Re: Memo-Feld mit Zeilenumbruch auslesen

  Alt 22. Mai 2008, 06:53
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...
Ralph
  Mit Zitat antworten Zitat
Benutzerbild von mschaefer
mschaefer

Registriert seit: 4. Feb 2003
Ort: Hannover
2.029 Beiträge
 
Delphi XE3 Enterprise
 
#3

Re: Memo-Feld mit Zeilenumbruch auslesen

  Alt 22. Mai 2008, 06:53
  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 ...
Martin Schaefer
Phaeno
  Mit Zitat antworten Zitat
taaktaak

Registriert seit: 25. Okt 2007
Ort: Radbruch
1.990 Beiträge
 
Delphi 7 Professional
 
#4

Re: Memo-Feld mit Zeilenumbruch auslesen

  Alt 22. Mai 2008, 06:54
huhuhuhu, ich hab' nix gesagt
Ralph
  Mit Zitat antworten Zitat
Benutzerbild von mschaefer
mschaefer

Registriert seit: 4. Feb 2003
Ort: Hannover
2.029 Beiträge
 
Delphi XE3 Enterprise
 
#5

Re: Memo-Feld mit Zeilenumbruch auslesen

  Alt 22. Mai 2008, 07:15
Klar hast Du! 8)
Martin Schaefer
Phaeno
  Mit Zitat antworten Zitat
WIng2005

Registriert seit: 20. Mär 2006
Ort: Thüringen
388 Beiträge
 
Delphi XE Starter
 
#6

Re: Memo-Feld mit Zeilenumbruch auslesen

  Alt 22. Mai 2008, 07:22
...stimmt, habs auch gehört....

@mschaefer: Vielen Dank...hat mir sehr geholfen.

MFG
Steffen
  Mit Zitat antworten Zitat
WIng2005

Registriert seit: 20. Mär 2006
Ort: Thüringen
388 Beiträge
 
Delphi XE Starter
 
#7

Re: Memo-Feld mit Zeilenumbruch auslesen

  Alt 22. Mai 2008, 07:31
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:
.
.
.
///////////////////////////////////////////////////////// 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;
Wie gesagt, es funktioniert nur beim '€'.

MFG
Steffen
  Mit Zitat antworten Zitat
Nuclear-Ping
(Gast)

n/a Beiträge
 
#8

Re: Memo-Feld mit Zeilenumbruch auslesen

  Alt 22. Mai 2008, 07:39
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.
  Mit Zitat antworten Zitat
WIng2005

Registriert seit: 20. Mär 2006
Ort: Thüringen
388 Beiträge
 
Delphi XE Starter
 
#9

Re: Memo-Feld mit Zeilenumbruch auslesen

  Alt 22. Mai 2008, 07:44
Habe ich schon probiert. Dummerweise taucht das Zeichen gleich mehrfach auf -> http://www.torsten-horn.de/techdocs/ascii.htm
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
  Mit Zitat antworten Zitat
Nuclear-Ping
(Gast)

n/a Beiträge
 
#10

Re: Memo-Feld mit Zeilenumbruch auslesen

  Alt 22. Mai 2008, 07:49
Chr (129) ist aber = ü

Wenn du die Möglichkeit hast, den Text als Hex darzustellen, mach es.

[edit]
Zitat von WIng2005:
Wie könne ich denn den ASCII-Code des Zeichens mal per Messagebox ausgeben?
Als Hex / Byte dumpen. Also einen leeren String hernehmen und in 'ner Schleife deinen Text durchgehen und mit IntToHex (Byte (MemoText[i]), 2) + ', ' verknüpfen.
[/edit]
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:20 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz