Q&A

  • 델파이에서 DOS Print명령어 호출,실행
pos용 프린터에서 데이터를 찍어야 합니다.

퀵리포트를 사용하면 속도가 늦기 때문에 DOS print명렁어를 써서 순수한 텍스트를 찍어야 합니다.

너무 급한데 아시는 분 가르쳐주세요....



1  COMMENTS
  • Profile
    각시탈 2000.05.20 18:18
    신예숙 wrote:

    > pos용 프린터에서 데이터를 찍어야 합니다.

    > 퀵리포트를 사용하면 속도가 늦기 때문에 DOS print명렁어를 써서 순수한 텍스트를 찍어야 합니다.

    > 너무 급한데 아시는 분 가르쳐주세요....

    >



    이게 맞는 답변인지는 모르겠군요..

    도움이 되셨으면 합니다.



    procedure TForm1.Button1Click(Sender: TObject);

    var

    Pd : TPrintDlg;

    DocInfo: TDocInfo;

    begin

    FillChar(Pd, sizeof(Pd), #0);

    Pd.lStructSize := SizeOf(Pd);

    Pd.hWndOwner := Form1.Handle;

    Pd.Flags := PD_RETURNDC;

    if PrintDlg(pd) then

    begin

    FillChar(DocInfo, sizeof(DocInfo), #0);

    DocInfo.cbSize := SizeOf(DocInfo);

    GetMem(DocInfo.lpszDocName, 32);

    GetMem(DocInfo.lpszOutput, MAX_PATH);

    lStrCpy(DocInfo.lpszDocName, 'My Document');

    {Add this line to print to a file }

    lStrCpy(DocInfo.lpszOutput, 'C:DownloadTest.txt');

    StartDoc(Pd.hDc, DocInfo);

    StartPage(Pd.hDc);

    TextOut(Pd.hDc, 100, 100, 'Page 1', 6);

    EndPage(Pd.hDc);

    StartPage(Pd.hDc);

    TextOut(Pd.hDc, 100, 100, 'Page 2', 6);

    EndPage(Pd.hDc);

    EndDoc(Pd.hDc);

    FreeMem(DocInfo.lpszDocName, 32);

    FreeMem(DocInfo.lpszOutput, MAX_PATH);

    end;

    end;



    즐팅하세요....