Autor Beitrag
Zemke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 83

WIN XP
Delphi 4 Professionell
BeitragVerfasst: Di 19.06.07 14:15 
Wie kann ich zur Laufzeit in einem DBRichEdit-Feld ein Datanbankfeld einbinden, um z. B. einen Wert oder einen Namen aus einer Datenbank darzustellen (in Word sind das die Platzhalter)?

Ze.
Agawain
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 460

win xp
D5, MySQL, devxpress
BeitragVerfasst: Di 19.06.07 15:08 
hi

guck mal, ob du damit was anfangen kannst, so hab ich's jedenfalls gelöst.

Das search and replace ist nicht auf meinem Mist gewachsen, hab ich mir ergooglet :wink:
ausblenden 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:
procedure Tf_indubeleg.SearchAndReplace(InSearch, InReplace: string) ;
var X, ToEnd : integer;
    oldCursor : TCursor;
begin
   oldCursor := Screen.Cursor;
   Screen.Cursor := crHourglass;
   with redb_header do //redb_header ist mein dbrichedit, könnte man auch noch generalisieren, brauchs aber erstmal nur an dieser Stelle
   begin
     X := 0;
     ToEnd := length(Text) ;
     X := FindText(inSearch, X, ToEnd, []) ;
     while X <> -1 do
     begin
       SetFocus;
       SelStart := X;
       SelLength := length(inSearch) ;
       SelText := InReplace;
       X := FindText(inSearch,
                     X + length(InReplace),
                     ToEnd, []) ;
     end;
   end;
   Screen.Cursor := oldCursor;
end;


hier der snippet wo ich die Funktion mit richedit und ein paar DB-Feldern einsetze.
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
            GAMNr := inttostr(f_start.myq_belegheader.fieldvalues['RefFirma']);
            Objektadresse := f_start.myq_objektadresse.fieldvalues['strassePF'] + ', ' + f_start.myq_objektadresse.fieldvalues['PLZ'] + ' ' + f_start.myq_objektadresse.fieldvalues['ort'];
            Platzhalter := 'PlatzhalterObjektadresse';
            Ersetzung := 'H ' + GamNr + ' (' + Objektadresse + ')';
            SearchAndReplace(Platzhalter, Ersetzung);


Viel Spaß damit

Gruß

Aga