04. august 2006 - 10:50Der er
30 kommentarer og 1 løsning
Mangler liiige 2 ting.
Jeg har 2 små problemer jeg håber at det kan klares ganske smertefrit. :)
1. I designtime har jeg sat RichEdit font til Microsoft Sans Serif, men det er ikke den font der bliver skrevet ud når jeg printer. Hvad er årsagen til dette?
2. I min RichEdit har kan jeg lave indryk med TAB, men når jeg laver en bullet kommer den til at være i starten af den linie istedet for der hvor indryk er. Hvad kan det skyldes?
Den moderne arbejdsplads er i stigende grad afhængig af mødelokaler til at fremme samarbejde, men dette skift medfører også stigende sikkerhedsudfordringer.
Hvad er det der ikke virker? Kommer der noget på udskriften eller slet intet overhovedet. Sker der access violations? Har efterlyst det før og nu gør jeg det igen. Bedre information om hvad der sker, tak!
Jeg har kigget lidt på det - men ikke testet noget. Synes ikke det er kønt kodet med globale variable og den slags, men det prøver jeg at abstrahere fra. Havde nok prøvet at lave min egen printer-klasse.
Prøv dette først. Der kan være et sammenfald med formens egen font:
var BaseReport : TBaseReport; begin BaseReport := Sender as TBasereport;
Jeg fandt en font-property her: MemoBuf.BaseReport.Canvas.Font.Assign(reText.Font); Prøver selv at lege lidt med det da jeg altid neglisierer det med udskrifter. Når så det kommer til stykket bliver jeg nødt til at lave dem helt fra bunden.
Skal jeg prøve at maile dig mit test-program (hrc_public at hotmail)? Jeg har en font-dialog hvori jeg ændrer fonten i min TRichedit til Windings, skriver et eller andet for derefter at udskrive det til skærm.
Kan ikke lige regne ud om der sker noget om du prøver at bytte rundt på disse to linier:
Det hele kommer ud. Alt hvad der står i de forskellige DBEdit kommer ud og i den rigtige font. Det der står i MemoBuf kommer også ud, men ikke i den font som DBRichEdit har. Det virker som om det er en standard font. Hvis jeg i designtime ændre fonten på DBRichEdit Times New Roman kan jeg se teksten "DBRichEdit1" som står i komponenten ændre sig, men når man kører programmet og skal til skrive noget, er det IKKE Times New Roman, men en anden font. Sikkert standard.
Jeg har prøvet det du efterlyser. Samme status. :(
Jeg beklager meget, hvis jeg ikke lige får skrevet hurtigt tilbage, men jeg er lige blevet far for 2. gang igår, sååå det går ikke helt så stærkt. :)
Jeg tror ikke helt jeg forstår dit spørgsmål MartinLind. Det eneste jeg kan sige er at det er lavet sådan:
procedure TMalerMainForm1.RvSystem1Print(Sender: TObject); var MemoBuf: TMemoBuf; Stream: TMemoryStream; BaseReport : TBaseReport; begin with sender as TBasereport do begin MemoBuf := TMemoBuf.Create; SetFont('Microsoft Sans Serif',11); MemoBuf.BaseReport := Sender as TBaseReport;
Men jeg har prøvet at lave en almindelig RichEdit i min program og det spiller. Den RichEdit jeg bruger er en DBRichEdit. Kan der være en forskel?
Det tror jeg nok. Du hjalp mig ihvertfald med et andet problem jeg havde, hvor jeg godt ville have indhold af en DBRichEdit udskrevet: http://www.eksperten.dk/spm/723203
Kunne du ikke bruge det eksempel jeg sendte dig? Der er der 3 forskellige måder at skrive ud på - en hvor jeg bl.a. bruger richedit-propertyen. Hvis TDBRichEdit nedarver fra TRichEdit, så burde du bare kunne erstatte min TRichEdit.
I øvrigt, med den snak om at programmere det fra bunden i stedet for at skulle lære endnu en mærkelig udskriftspakke at kende. Vi havde nok været færdige forlængst.
Jeg har set på det du har sendt til, men det ser ud til at der mangler en test.rav fil.
Det du snakker om med at lave det fra bunden. Hvad er det? Kan man gøre anderledes? Jeg troede at RaveReport var den eneste mulighed! Jeg vil tillade mig at sende det jeg selv har lavet til dig, så du kan se problemmet.
En ekstra lille ting. Jeg kunne godt se din pointe i det kode du har sendt til mig og jeg har prøvet dem af og det ser ud til at mulighed 2 virker med fonten også.
Når du trykker på "udskriv"-knappen, løber du så teksten igennem og indsætter de bullets som du vil have? Når den kobles på rave skulle de gerne vise sig?
Skal prøve at lave et eksempel hvor jeg har en rutine der skriver ud på et blankt Printer-canvas. Det er lidt noget pillearbejde, men egentlig ikke så svært som at gennemskue Rave - synes jeg.
Næ, jeg løber ingen tekst igennem. Jeg har prøvet lidt forskelligt bla. prøvet en af de eksempler du har sendt til mig, hvor jeg godt nok for teksten ud, men ikke som formateret. Lige nu er den:
MemoBuf.RichEdit := TRichEdit(DBRichEdit1);
Jeg har sendt dig koden så du kan se hvad der sker.
HRC har du set at jeg har sendt noget til dig? venligst Kenneth
Synes godt om
Ny brugerNybegynder
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.