Memo auf Printer ausgeben



  • Hi,
    weiß ja nicht ob mir jemand helfen kann, aber wenn ich diesen Code compilieren will dann kommt immer die Fehlermeldung:
    "[C++ Error] AnrufU.cpp(172): E2034 Cannot convert 'TPrinter *' to 'TPrinter'"

    Kann mir evtl. einer verraten woran das liegt??

    Im Voraus schonmal danke auch an Fatmann98

    Gruß

    void __fastcall TCallDia::Button2Click(TObject *Sender)
    {
    TPrinter Prntr = Printer();
    TRect r = Rect(200,200,Prntr->PageWidth – 200,Prntr->PageHeight – 200);
    Prntr->BeginDoc();
    Prntr->Canvas->TextRect(r, 200, 200, Memo1->Lines->Text);
    Prntr->EndDoc();
    }
    

    <edit>Bitte Code-Tags benutzen!</edit>

    [ Dieser Beitrag wurde am 19.12.2002 um 22:11 Uhr von junix editiert. ]



  • probiers mal so

    TPrinter *Prntr = Printer();
    
        TRect r = Rect(200, 200, Prntr->PageWidth - 200, Prntr->PageHeight- 200);
        Prntr->BeginDoc();
    
        for(int i = 0; i < Memo1->Lines->Count; i++)
            Prntr->Canvas->TextOut(200, 200 + (i *
            Prntr->Canvas->TextHeight(Memo1->Lines->Strings[i])),
            Memo1->Lines->Strings[i]);
            Prntr->Canvas->Brush->Color = clBlack;
            Prntr->Canvas->FrameRect(r);
            Prntr->EndDoc();
    

    aus der BCB Hilfe von TPrint entnommen 😉



  • ach jetzt seh ich erst deinen code, der war so versteckt, hast den pointer * vergessen 😉



  • Leichter machst du's dir, wenn du ein TRichEdit benutzt. Das hat gleich eine Methode Print().



  • danke an alle

    Code funktioniert jetzt fast, weiß nicht wieso aber beim drucken zerlegt mir der Drucker jeden string in zwei Zeilen!???

    Aber naochmal danke an alle

    Gruß


Anmelden zum Antworten