Avatar billede kennethv Nybegynder
30. juli 2006 - 20:43 Der er 2 kommentarer og
1 løsning

DBRichEdit og Rave Report

Er der nogen der har erfaring med dette? Jeg har set på deres hjemmeside omkring dette og har fundet en løsning for RichEdit:

uses
  RPMemo;

procedure TForm1.RvSystem1Print(Sender: TObject);
var  MemoBuf: TMemoBuf;
begin
  With Sender as TBaseReport do begin
    MemoBuf := TMemoBuf.Create;
    MemoBuf.BaseReport := Sender as TBaseReport;
    try
      MemoBuf.RichEdit := RichEdit1;
      MemoBuf.PrintStart := 1.0;
      MemoBuf.PrintEnd := 7.0;
      While not MemoBuf.Empty do begin
        MemoBuf.PrintHeight(SectionBottom - LineTop,false);
        If not MemoBuf.Empty then begin
          NewPage;
        end; { if }
      end; { while }
    finally
      MemoBuf.Free;
    end; { tryf }
  end; { with }
end;

Men nu er det en DBRichEdit jeg har. Det er ikke nok at ændre:

      MemoBuf.RichEdit := RichEdit1;
med

      MemoBuf.RichEdit := DBRichEdit1;

Får en fejl da MemoBuf forventer en RichEdit.

Men så faldt jeg over denne fra samme hjemmeside:

uses
  RPMemo;

procedure TForm1.ReportSystem1Print(Sender: TObject);

var
  MemoBuf: TMemoBuf;
  Stream: TMemoryStream;

begin
  with Sender as TBaseReport do begin
    MemoBuf := TMemoBuf.Create;
    Stream := TMemoryStream.Create;
    try
      TBlobField(Table1.FieldByName('Notes')).SaveToStream(Stream);
      Stream.Position := 0;
      MemoBuf.LoadFromStream(Stream, Stream.Size);
      MemoBuf.PrintStart := 1.0; // Set memo left margin position
      MemoBuf.PrintEnd := 4.0; // Set memo right margin position
      PrintMemo(MemoBuf, 0, false);
    finally
      MemoBuf.Free;
      Stream.Free;
    end; { tryf }
  end; { with }
end;

Men når jeg bruger denne bliver det hele vist. Dvs koderne og tekst og ikke som formateret tekst.

Er der nogen der kan give et bud på hvad årsagen til dette er?
Avatar billede martinlind Nybegynder
30. juli 2006 - 21:20 #1
Har du prøvet sådan ( at caste til en RichEdit, det er muligt det virker, ellers så lav en intern alm. RichEdit og Kopier dine data over i den inden du udskriver.

MemoBuf.RichEdit := TRichEdit(DBRichEdit1);
Avatar billede kennethv Nybegynder
30. juli 2006 - 21:32 #2
Hej MartinLind,

Undskyld mit udbrud fra en tidligere tråd.

Men hvis du ligger et svar får du points.

Jeg vidste sku ikke at man kunne gøre sådan. Pisse smart og nemt. ;)
Avatar billede martinlind Nybegynder
30. juli 2006 - 22:21 #3
svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester