자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다.
- 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)
Delphi 바코드 프린터 제어 관련
2015.02.06 20:28
사용툴 : 델파이 XE2 엔터프라이즈
이번에 바코드 프린터를 통해 라벨에 포르투갈어를 출력 하려고 하는데 물음표로 출력이 되거나 공백으로 출력이 되어서
확인해봤더니 프로그램에서 아래값을 바코드 프린터로 전달하는 구간을 디버깅 해봤더니 물음표 또는 이상한값으로로
전달이 되는걸 확인했습니다.
XE2는 유니코드 기반으로 알고있는데 혹시 그래서 확장 아스키 코드를 제대로 인식하지 못하는것인지 궁금 합니다.
혹시 아래 포르투갈어를 바코드 프린터로 아스키코드로 정확히 전달할 수 있는 방법이 있는지 답변 부탁 드립니다.
출력하고자 하는 포르투갈어 : ã
현재 소스 :
if Copy(BARPORT,1,3) = 'COM' then
begin
for k := 1 to Length(Str) do
begin
ANSI_STR := '';
CHK_STR := Copy(Str,k,1);
if CHK_STR = #$00C3 then
begin
ANSI_STR := #195;
ASCII_STR := #195;
end else
ANSI_STR := CHK_STR;
ComPort1.WriteStr(ANSI_STR);
//PTAN_STR := PTAN_STR + ANSI_STR;
end;
댓글 3
-
관리자
2015.02.06 22:26
-
JJ
2015.02.06 23:12
언급하신 스트링 변수는 모두 Ansistring 으로 선언한 변수입니다...
AnsiString 으로 변환을 해줬는데도 불구하고 안되고 있네요..
업무협력사의 델파이7 에서는 #$C6 를 포트로 날려주면 잘 나온다네요.
아무래도 해당 아스키를 뭔가 다르게 변환시켜줘야 할것 같은데 방법을 모르겠습니다...
-
JJ
2015.02.07 03:53
간단한 예로,
procedure TForm1.Button1Click(Sender: TObject);
var
s : AnsiString;
begin
s := #197;
//
Label1.Caption := s;
end;
end.
이 소스의 결과값은 ?(물음표) 입니다. 제대로 나왔더라면 아스코드 197번의 값 Å 가 나와야 하는데 말이죠.
참고로 ?(물음표) 의 아스키 코드값은 63 입니다..
Delphi 바코드 프린터 제어 관련
2015.02.06 20:28
사용툴 : 델파이 XE2 엔터프라이즈
이번에 바코드 프린터를 통해 라벨에 포르투갈어를 출력 하려고 하는데 물음표로 출력이 되거나 공백으로 출력이 되어서
확인해봤더니 프로그램에서 아래값을 바코드 프린터로 전달하는 구간을 디버깅 해봤더니 물음표 또는 이상한값으로로
전달이 되는걸 확인했습니다.
XE2는 유니코드 기반으로 알고있는데 혹시 그래서 확장 아스키 코드를 제대로 인식하지 못하는것인지 궁금 합니다.
혹시 아래 포르투갈어를 바코드 프린터로 아스키코드로 정확히 전달할 수 있는 방법이 있는지 답변 부탁 드립니다.
출력하고자 하는 포르투갈어 : ã
현재 소스 :
if Copy(BARPORT,1,3) = 'COM' then
begin
for k := 1 to Length(Str) do
begin
ANSI_STR := '';
CHK_STR := Copy(Str,k,1);
if CHK_STR = #$00C3 then
begin
ANSI_STR := #195;
ASCII_STR := #195;
end else
ANSI_STR := CHK_STR;
ComPort1.WriteStr(ANSI_STR);
//PTAN_STR := PTAN_STR + ANSI_STR;
end;
댓글 3
-
관리자
2015.02.06 22:26
-
JJ
2015.02.06 23:12
언급하신 스트링 변수는 모두 Ansistring 으로 선언한 변수입니다...
AnsiString 으로 변환을 해줬는데도 불구하고 안되고 있네요..
업무협력사의 델파이7 에서는 #$C6 를 포트로 날려주면 잘 나온다네요.
아무래도 해당 아스키를 뭔가 다르게 변환시켜줘야 할것 같은데 방법을 모르겠습니다...
-
JJ
2015.02.07 03:53
간단한 예로,
procedure TForm1.Button1Click(Sender: TObject);
var
s : AnsiString;
begin
s := #197;
//
Label1.Caption := s;
end;end.
이 소스의 결과값은 ?(물음표) 입니다. 제대로 나왔더라면 아스코드 197번의 값 Å 가 나와야 하는데 말이죠.
참고로 ?(물음표) 의 아스키 코드값은 63 입니다..
델파이 2009 버전부터 기본 String 타입이 유니코드로 인식되기때문에 사용하신 Str 변수를 AnsiString으로 변경하시어 테스트 해 보십시오.