Imprimindo um conteúdo de um objeto Memo

 

Essa dica mostra como imprimir um texto digitado em um Memo sem utilizar o objeto PrintDialog. Veja como se faz. Coloque um Memo e um Button no form. Na área de código declare a unit Printers na seção uses. Na seção Implementation escreva a seguinte procedure:

 

procedure PrintStrings(Strings: TStrings);

var

  Prn: TextFile;

  i: word;

begin

  AssignPrn(Prn);

  try

    Rewrite(Prn);

    try

      for i := 0 to Strings.Count - 1 do

        writeln(Prn, Strings.Strings[i]);

    finally

      CloseFile(Prn);

    end;

  except

  on EInOutError do

    MessageDlg('Error na impressao de texto.', mtError, [mbOk], 0);

  end;

end;

 

No evento OnClick do objeto button escreva o seguinte código:

 

PrintStrings(Memo1.Lines);

 

Execute o projeto, escreva qualquer texo no Memo e clique no botão. O resultado será o que você escreveu impresso em uma folha que estava na sua impressora.