Q&A
HOME
Tips & Tech
Q&A
Discuss
Download
자유게시판
홍보 / 광고
구인 / 구직
LOGIN
회원가입
프린터의 포트알기
시스템이 설치된 특정프린터의 이름을 가지고 포트명을 얻으려면 어떻게 해야 합니까?
1
COMMENTS
parkisu
•
2000.07.16 00:53
parkisu wrote:
> 시스템이 설치된 특정프린터의 이름을 가지고 포트명을 얻으려면 어떻게 해야 합니까?
고민하다 sysedit에서 win.ini를 열어보니까 PrinterPorts란 섹션이 있더군요.
거기에 프린터이름의 두번째 항목이 포트명이더군요. 이걸 응용했습니다.
참고로, 아래의 GetParserStr()함수는 김영대님의 팁을 참고했습니다.
const
Delemeter=',';
function GetParserStr(const Source: string; Index: Integer): string;
// Index는 1부터 시작한다.
var
StartPos, EndPos, CurIndex, StrPos: Integer;
PS: string;
begin
PS := Source;
if PS[Length(PS)] <> Delemeter then
PS := PS + Delemeter;
StrPos := 1;
CurIndex := 1;
// 시작위치를 구한다.
while CurIndex <> Index do
begin
if PS[StrPos] = Delemeter then
Inc(CurIndex);
Inc(StrPos);
end;
StartPos := StrPos;
//끝위 치를 구한다.
while PS[StrPos] <> Delemeter do
Inc(StrPos);
EndPos := StrPos;
Result := Copy(PS, StartPos, EndPos - StartPos);
end;
//프린터이름으로 포트명을 구한다.
function GetPrinterPort(szPrinter:String):String;
var
ini:TiniFile;
begin
ini:= TIniFile.Create('c:windowswin.ini');
try
Result:= ini.ReadString('PrinterPorts',szPrinter,'');
finally
ini.Free;
end;
Result:= GetParserStr(Result, 2); //리턴값에 :가 붙어나오니까
Delete(Result, Length(Result), 1);//:를 제거,
//아니면 문자열에서 :의 위치를 찾아서 처리해도 되겠군요.
end;
사용법
LG 전자 GLP-630J/J+의 포트명을 구한다면
GetPrinterPort('LG 전자 GLP-630J/J+');
와 같이 씁니다.
여기에 Windows디렉토리경로를 구하는 부분을 추가해서 쓰면 쓸만할 것같긴 한데....
0
0
삭제
수정
댓글
(NOTICE) You must be
logged in
to comment on this post.
김학철
•
2000.07.13 18:25
1
COMMENTS
/
0
LIKES
.mb파일이 안생기려면 어떻게...?
김학철
•
2000.07.13 19:42
김학철 wrote: > 안녕하세요? 이번에 델파이로 만든 프로그램을 윈도우2000의 터미널 서비스를 > 이용해...
김태성
2000.07.13 15:19
0
COMMENTS
/
0
LIKES
"제어판제어" 도와주세요
오지원
•
2000.07.13 14:09
1
COMMENTS
/
0
LIKES
winshoes의 udp에서 이진데이타는 어떻게 보내나요??
이경문
•
2000.07.14 22:30
var i: Integer; Buffer: array[0. .100] of Char; s: String; begin for i := 0 to 100 do ...
정연
2000.07.13 10:37
0
COMMENTS
/
0
LIKES
dbgrid에서 edit로 내용을 보낼때 말이에요
선해석
•
2000.07.13 09:50
1
COMMENTS
/
0
LIKES
값이 제대로 안나옵니당~~
김영해
•
2000.07.13 17:21
선해석 wrote: > procedure Form1.Formcreate(..) > begin > with query1 do begin > Close; > ...
parkisu
•
2000.07.13 09:21
1
COMMENTS
/
0
LIKES
프린터의 포트알기
시스템이 설치된 특정프린터의 이름을 가지고 포트명을 얻으려면 어떻게 해야 합니까?
parkisu
•
2000.07.16 00:53
parkisu wrote: > 시스템이 설치된 특정프린터의 이름을 가지고 포트명을 얻으려면 어떻게 해야 합니까? ...
xfilemania
2000.07.13 08:23
0
COMMENTS
/
0
LIKES
[API]bmp의 header를 바꾸는 건데....
김건우
2000.07.13 07:11
0
COMMENTS
/
0
LIKES
이미제작된 exe프로그램에 값을 재적용...
조헌철
2000.07.13 20:34
0
COMMENTS
/
0
LIKES
htm화일을 배경화면에 뛰우기(질문)-고수분들 부탁해요
조주연
2000.07.13 06:13
0
COMMENTS
/
0
LIKES
델파이에서 report fx (vbx) install 방법을 알고싶어요..
김진호
2000.07.13 05:55
0
COMMENTS
/
0
LIKES
이차원 배열의 전달?
손상수
2000.07.13 05:07
0
COMMENTS
/
0
LIKES
클리퍼 DBF를 DBGRID로 불러오기.....
이은정
•
2000.07.13 05:29
3
COMMENTS
/
0
LIKES
데이타모듈과 폼...
어린왕자
•
2000.07.13 20:28
이은정 wrote: > 데이타 모듈에서 일반폼에 있는 컴포넌트를 컨트롤 하려고하면 > 엑세스 바이올레이션 ...
윤태호
•
2000.07.13 07:48
이은정 wrote: > 데이타 모듈에서 일반폼에 있는 컴포넌트를 컨트롤 하려고하면 > 엑세스 바이올레이션 ...
이은정
•
2000.07.13 18:20
윤태호 wrote: > 이은정 wrote: > > 데이타 모듈에서 일반폼에 있는 컴포넌트를 컨트롤 하려고하면 > > ...
빌더맨
2000.07.13 04:45
0
COMMENTS
/
0
LIKES
절전모드 알아내는법 꼭 답변 부탁합니다.
최유순
2000.07.13 04:23
0
COMMENTS
/
0
LIKES
메일전송
nilriri
•
2000.07.13 04:07
3
COMMENTS
/
0
LIKES
테이블의 프라이머리키가어떤컬럼인지???
성호종
•
2000.07.14 19:36
nilriri wrote: 테이블의 schema를 받아보세요~ > 샬롬! (샬롬은 평안을 비는 히브리어 성경의 언어...
nilriri
•
2000.07.15 18:23
데이터 베이스 관리툴처럼 그 키값을 가져다가 어떤 작업을 하려고 하거든요... 코드안에서 코딩으로 구...
성호종
•
2000.07.15 22:48
nilriri wrote: 우선 제가 사용했던 방법은 DB는 informix7.x였구요 UNIX Machine이었어요~ 그래서 unix...
이성훈
•
2000.07.13 03:35
1
COMMENTS
/
0
LIKES
자동으로 채번을 할려고 하는데...
초보자
•
2000.07.13 03:42
이성훈 wrote: > 전 NO필드를 자동 채번 할려고 하는데 잘 안되네요 > > Query3.Close; > Query3....
[델파이]
2000.07.13 03:17
0
COMMENTS
/
0
LIKES
영상 압축
이은정
•
2000.07.13 03:08
1
COMMENTS
/
0
LIKES
Tform....
faco
•
2000.07.13 03:53
//사용예: CreateWindow(TForm(Form1),TForm1,'TForm1'); function CredateWindow(var F: TForm; TF: TFo...
이은정
•
2000.07.13 02:36
1
COMMENTS
/
0
LIKES
넘해..답변좀 해주세요..
성호종
•
2000.07.14 19:38
이은정 wrote: 혹시 DLL에 퀵레포트가 포함되어있지 않나요? ^^ > 프로젝트 그룹사용하는 방법... >...
parkisu
2000/07/13 09:21
Views
332
Likes
0
Comments
1
Reports
0
Tag List
수정
삭제
목록으로
한델 로그인 하기
로그인 상태 유지
아직 회원이 아니세요? 가입하세요!
암호를 잊어버리셨나요?
> 시스템이 설치된 특정프린터의 이름을 가지고 포트명을 얻으려면 어떻게 해야 합니까?
고민하다 sysedit에서 win.ini를 열어보니까 PrinterPorts란 섹션이 있더군요.
거기에 프린터이름의 두번째 항목이 포트명이더군요. 이걸 응용했습니다.
참고로, 아래의 GetParserStr()함수는 김영대님의 팁을 참고했습니다.
const
Delemeter=',';
function GetParserStr(const Source: string; Index: Integer): string;
// Index는 1부터 시작한다.
var
StartPos, EndPos, CurIndex, StrPos: Integer;
PS: string;
begin
PS := Source;
if PS[Length(PS)] <> Delemeter then
PS := PS + Delemeter;
StrPos := 1;
CurIndex := 1;
// 시작위치를 구한다.
while CurIndex <> Index do
begin
if PS[StrPos] = Delemeter then
Inc(CurIndex);
Inc(StrPos);
end;
StartPos := StrPos;
//끝위 치를 구한다.
while PS[StrPos] <> Delemeter do
Inc(StrPos);
EndPos := StrPos;
Result := Copy(PS, StartPos, EndPos - StartPos);
end;
//프린터이름으로 포트명을 구한다.
function GetPrinterPort(szPrinter:String):String;
var
ini:TiniFile;
begin
ini:= TIniFile.Create('c:windowswin.ini');
try
Result:= ini.ReadString('PrinterPorts',szPrinter,'');
finally
ini.Free;
end;
Result:= GetParserStr(Result, 2); //리턴값에 :가 붙어나오니까
Delete(Result, Length(Result), 1);//:를 제거,
//아니면 문자열에서 :의 위치를 찾아서 처리해도 되겠군요.
end;
사용법
LG 전자 GLP-630J/J+의 포트명을 구한다면
GetPrinterPort('LG 전자 GLP-630J/J+');
와 같이 씁니다.
여기에 Windows디렉토리경로를 구하는 부분을 추가해서 쓰면 쓸만할 것같긴 한데....