Q&A

  • 질문)프린터 삼일째 ㅠㅠ 이젠 지치는군요 전 바본가봅니다.
역쉬 안대나봅니다....

많은분들이 도움을 주셨건만..역시 기본프린터가 없으면 안대는군요..어플에러.ㅠㅠ

똑같아요 디폴트 프린터가 없다고요 ㅠㅠ

이번에는 어떤분이 갈쳐주신대로 인덱스를 뒤져봤는데.. 핸들이안나오는데.

인덱스라고 나오겠습니까 ㅠㅠ

지금까지 해본거 전부 올려볼게요 이거 무슨일이있어소 써먹어야겠습니다.

그냥 기본프린터아무거나 하나 설정하는것도 좋겠지만 ....

그렇기엔 좀....

아무래도 프로그래머라고 생각한다면 ..........................진짜누구던지 전부안된다는 말이나올때까지해야할것같아서..ㅠㅠ

님들 웃지마시고요 전 진짜심각해요ㅠㅠ

//우선밑에는인덱스고요

procedure TfScreenFrame.BitBtn1Click(Sender: TObject);

var

//l_PrinterDevice : Array[0..255]of Char;

//l_PrinterDriver : Array[0..255]of Char;

//l_PrinterPort : Array[0..255]of Char;

//l_PrinterHandle : THandle;

ls_DefaultPrinterName : String;

begin

try

ls_DefaultPrinterName := ' [ 현재프린터명 : ' +

Printer.Printers[Printer.PrinterIndex] + ' ]';

except

ls_DefaultPrinterName := '[ 현재 연결된 프린터가 없습니다 ]';

end;

ShowMessage(ls_DefaultPrinterName);

end;

//요건 핸들을..

procedure TfScreenFrame.BitBtn1Click(Sender: TObject);

var

l_PrinterDevice : Array[0..255]of Char;

l_PrinterDriver : Array[0..255]of Char;

l_PrinterPort : Array[0..255]of Char;

l_PrinterHandle : THandle;

ls_DefaultPrinterName : String;

begin

try

Printer.GetPrinter

(l_PrinterDevice,l_PrinterDriver,lPrinterPort,l_PrinterHandle);

if lPrinterHandle <> 0 then ShowMessage('프린터있네')

else ShowMessage('프린터없네 ㅠㅠ');

except

end;

end;

디바이스로 프린터이름도해보았건만...ㅠㅠ

고수님들좀 저의 앞에 광명을.....ㅠㅠ

허접하다생각마시고.

정말 속이 바짝바짝탑니다. 요3일동안은 저에겐 지옥이였습니다.

낼이면 추석이군요..월급도아직안나온 우리회사 ㅠㅠ

실력이 이정도니 월급못받을만한가요?ㅠㅠ 암튼

모더덜 즐거운한가위들보내시고요 요 3개월동안 한델에서 정말많은거배웠습니다.

앞으로도 자주 들를게요 저한테그동안 답변달아주신님들 정말 감사합니다.

2  COMMENTS
  • Profile
    stoney 2001.09.28 19:38
    질문의 의도가 기본 프린터가 없으면 에러없이 메세지 띄우실려고 하시는 거나요??



    그럼 이렇게 해보시져...



    procedure testPrint;

    var

    FDevice: PChar;

    FDriver: PChar;

    FPort: PChar;

    FHandle: THandle;

    CurrentPrinterName: string;

    begin

    GetMem (FDevice, 255);

    GetMem (FDriver, 255);

    GetMem (FPort, 255);

    try

    try

    {Printer 의 환경을 얻어오기}

    Printer.GetPrinter (FDevice, FDriver, FPort, FHandle);

    CurrentPrinterName := FDevice;

    except



    end;

    finally

    { 메모리 해제 }

    if FDevice <> nil then FreeMem (FDevice, 255);

    if FDriver <> nil then FreeMem (FDriver, 255);

    if FPort <> nil then FreeMem (FPort, 255);

    { 프린터 이름이 존재하지 않는다면 }

    if CurrentPrinterName <> '' then

    //QuickReport.Preview

    else

    MessageDlg('기본 프린터가 없네요.' +

    #13#13 + '기본 프린터를 설정해 주세요.',

    mtError,[mbOK],0);

    end;

    end;



    aparadin wrote:

    > 역쉬 안대나봅니다....

    > 많은분들이 도움을 주셨건만..역시 기본프린터가 없으면 안대는군요..어플에러.ㅠㅠ

    > 똑같아요 디폴트 프린터가 없다고요 ㅠㅠ

    > 이번에는 어떤분이 갈쳐주신대로 인덱스를 뒤져봤는데.. 핸들이안나오는데.

    > 인덱스라고 나오겠습니까 ㅠㅠ

    > 지금까지 해본거 전부 올려볼게요 이거 무슨일이있어소 써먹어야겠습니다.

    > 그냥 기본프린터아무거나 하나 설정하는것도 좋겠지만 ....

    > 그렇기엔 좀....

    > 아무래도 프로그래머라고 생각한다면 ..........................진짜누구던지 전부안된다는 말이나올때까지해야할것같아서..ㅠㅠ

    > 님들 웃지마시고요 전 진짜심각해요ㅠㅠ

    > //우선밑에는인덱스고요

    > procedure TfScreenFrame.BitBtn1Click(Sender: TObject);

    > var

    > //l_PrinterDevice : Array[0..255]of Char;

    > //l_PrinterDriver : Array[0..255]of Char;

    > //l_PrinterPort : Array[0..255]of Char;

    > //l_PrinterHandle : THandle;

    > ls_DefaultPrinterName : String;

    > begin

    > try

    > ls_DefaultPrinterName := ' [ 현재프린터명 : ' +

    > Printer.Printers[Printer.PrinterIndex] + ' ]';

    > except

    > ls_DefaultPrinterName := '[ 현재 연결된 프린터가 없습니다 ]';

    > end;

    > ShowMessage(ls_DefaultPrinterName);

    > end;

    > //요건 핸들을..

    > procedure TfScreenFrame.BitBtn1Click(Sender: TObject);

    > var

    > l_PrinterDevice : Array[0..255]of Char;

    > l_PrinterDriver : Array[0..255]of Char;

    > l_PrinterPort : Array[0..255]of Char;

    > l_PrinterHandle : THandle;

    > ls_DefaultPrinterName : String;

    > begin

    > try

    > Printer.GetPrinter

    > (l_PrinterDevice,l_PrinterDriver,lPrinterPort,l_PrinterHandle);

    > if lPrinterHandle <> 0 then ShowMessage('프린터있네')

    > else ShowMessage('프린터없네 ㅠㅠ');

    > except

    > end;

    > end;

    > 디바이스로 프린터이름도해보았건만...ㅠㅠ

    > 고수님들좀 저의 앞에 광명을.....ㅠㅠ

    > 허접하다생각마시고.

    > 정말 속이 바짝바짝탑니다. 요3일동안은 저에겐 지옥이였습니다.

    > 낼이면 추석이군요..월급도아직안나온 우리회사 ㅠㅠ

    > 실력이 이정도니 월급못받을만한가요?ㅠㅠ 암튼

    > 모더덜 즐거운한가위들보내시고요 요 3개월동안 한델에서 정말많은거배웠습니다.

    > 앞으로도 자주 들를게요 저한테그동안 답변달아주신님들 정말 감사합니다.

  • Profile
    aparadin 2001.09.28 19:58
    이런.........................................................

    디버깅모드때문에 안되는거였다니...ㅠㅠ

    위에 답변주신분 정말감사합니다.

    하지만 ㅠㅠ 3일간 부린쌩쑈는 어이할런지 아!!~~쪽팔려..

    그러나 쩍팔리지 않습니다 몰라서 물어본거 뭐가 쩍팔립니까.ㅠㅠ

    만들어진 exe 파일로하니 에러나지않고 잘 수행되는군요.. 디버거가 이런데서 태클을걸줄이야...............................

    이로서 또하나 배우고 넘어갑니다..

    하마터면 추석내내 가슴에 돌덩이 하나얹고 살뻔했는데..한델,델마당,델코 고수님들..

    정말감사하고요 역쉬 델파이는좋은거예요 ^^;;;;;;;;;