Autor Beitrag
DecKeL
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 22

Windows XP
D7, D4 - Professional
BeitragVerfasst: Di 19.02.08 17:14 
Hallo,

Ich habe in meiner Datenbank ein Feld mit dem Type Text.
Dieses Feld beinhaltet RT-Format.
Wie kann ich denn jetzt den Text, ohne RT-Format auslesen, ohne ihn davor z.B. in eine TRichEdit zu schreiben?

Wenn ich das ganz normal mit "dataset.fieldbyname().asstring" mache, dann bekomme ich die Formatierung natürlich mitgeliefert.

Da müsste es doch bestimmt mal wieder irgendeine function geben, die ich übersehen habe.
Lannes
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2352
Erhaltene Danke: 4

Win XP, 95, 3.11, IE6
D3 Prof, D4 Standard, D2005 PE, TurboDelphi, Lazarus, D2010
BeitragVerfasst: Di 19.02.08 19:53 
Hallo,

Du hast keine Funktion übersehen. :wink:

Entweder Du schreibst Dir selbst eine, denke mal nach ein paar Wochen hast Du sie fertig,
oder Du kannst Dich doch mit der Hinzuziehung eines RichEdit anfreunden.

Ich nehme für so etwas meist ein "virtuelles" Richedit, z.B:
:!: in uses muss ComCtrls eingebunden sein.
ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
//...
  public
  fVirtualRE: TRichEdit;
    { Public-Deklarationen }
  end;
//...
procedure TForm1.FormCreate(Sender: TObject);
begin
  fVirtualRE := TRichEdit.CreateParented(THandle(-3));
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  fVirtualRE.Free;
end;

function StripText(RE: TRichEdit;sRTF: String): String;
begin
  RE.Clear;
  RE.SelText := sRTF;
  Result := RE.Text;
end;{}

procedure TForm1.ButtonClick(Sender: TObject);
var s : String;
begin
  s :=  '{\rtf1\ansi\ansicpg1252\deff0'
     +'{\fonttbl{\f0\fnil\fc harset0 MS Sans Serif;}'
     +'{\f1\fnil MS Sans Serif;}}'
     +'\viewkind4\uc1\pard\lang1031\f0\fs16 Hallo \f1 Welt!\par}';
  showmessage(StripText(fVirtualRE,s));
end;

_________________
MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
DecKeL Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 22

Windows XP
D7, D4 - Professional
BeitragVerfasst: Mi 20.02.08 11:12 
ok. das ist natürlich eine Idee.
ich habe auch einen Vorschlag(iss noch nicht ganz durchdacht).
-Ich könnte doch ein unsichtbares, oder virtuelles RichEdit nehmen.
-Wenn ich dann die Daten aus der Datenbank hohle ist in RichEdit.Text ja nur der Text drinnen.
- dann schreibe ich den Text(ohne Format) in ein Offenes Array.
- und zu aller letzt kann ich dann die daten einfach auslesen und zuordnen.

Fällt jemandem, dir Lannes Spontan was ein, warum das nicht gehen könnte, oder schlecht ist?
Lannes
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2352
Erhaltene Danke: 4

Win XP, 95, 3.11, IE6
D3 Prof, D4 Standard, D2005 PE, TurboDelphi, Lazarus, D2010
BeitragVerfasst: Mi 20.02.08 13:21 
Hallo,

warum erst in ein Array, kannst Du den Text nicht direkt mit meiner Beispielfunktion StripText ins Ziel setzen(zuordnen)?

z.B.:
ausblenden Delphi-Quelltext
1:
WoEsHinSoll := StripText(fVirtualRE,dataset.fieldbyname().asstring);					

_________________
MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
DecKeL Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 22

Windows XP
D7, D4 - Professional
BeitragVerfasst: Mi 20.02.08 14:11 
hmmm.....
ich habe jetzt die einfachste lösung von allen gefunden....
komisch das mir das erst jetzt eingefallen sit... :oops: :oops: :oops: :oops: :oops:
ich mache es in etwa so...


ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
procedure TForm.zQueryCalcFields(DataSet: TDataSet);
begin
  WoEsHinSoll := DBRichEdit.Text;    //------> und fertig iss die sache


end;