?? unallego.pas
字號:
+ EXPRESSION ;
//T_LIST.Add('D99'); //點的粗細
AssignFile(TF,OUT_PORT);
REWRITE(TF);
WRITELN(TF,S);
CloseFile(TF);
MEMO.Lines.Add(S);
END;
END;
PROCEDURE TFMALLEGO.PRINT_CUSTTEXT(EXPRESSION:STRING);
BEGIN
IF TEST_OPEN_FILE(OUT_PORT) = TRUE THEN
BEGIN
AssignFile(TF,OUT_PORT);
REWRITE(TF);
WRITELN(TF,EXPRESSION );
CloseFile(TF);
MEMO.Lines.Add(EXPRESSION );
END;
END;
PROCEDURE TFMALLEGO.PRINT_SAVE_CTEXT(CNAME:STRING;T_FONTSIZE:INTEGER;T_FONTNAME,EXPRESSION:STRING);
VAR T_LIST : TSTRINGS;
BEGIN
T_LIST := TSTRINGLIST.Create;
IF TEST_OPEN_FILE(OUT_PORT) = TRUE THEN
BEGIN
T_LIST.Add(CHR(2)+'IAAF'+CNAME);
T_LIST.Add(TEXT_ENCODE_HEX(T_FONTSIZE,T_FONTNAME,EXPRESSION+' '));
// T_LIST.Add(TEXT_ENCODE_HEX(12,'楷體',EXPRESSION));
AssignFile(TF,OUT_PORT);
REWRITE(TF);
WRITELN(TF,T_LIST.TEXT);
CloseFile(TF);
MEMO.Lines.Add(T_LIST.TEXT);
END;
T_LIST.FREE;
END;
PROCEDURE TFMALLEGO.PRINT_CTEXT(CNAME:STRING;X,Y:INTEGER);
VAR T_LIST : TSTRINGS;
T_DIR:STRING;
BEGIN
T_LIST := TSTRINGLIST.Create;
IF TEST_OPEN_FILE(OUT_PORT) = TRUE THEN
BEGIN
T_DIR := INTTOSTR(STRTOINTDEF(C_DIR,0)+1);
X:= X + STRTOINTDEF(C_REF1,0);
Y:= Y + STRTOINTDEF(C_REF2,0);
T_LIST.Add('1Y11000'
+ FILL_STR('0', INTTOSTR(Y), 'L' ,4 )
+ FILL_STR('0', INTTOSTR(X), 'L' ,4 )
+ CNAME);//EXPRESSION );
// T_LIST.Add('1Y1100000000000LOGO');
AssignFile(TF,OUT_PORT);
REWRITE(TF);
WRITELN(TF,T_LIST.TEXT);
CloseFile(TF);
MEMO.Lines.Add(T_LIST.TEXT);
END;
T_LIST.FREE;
END;
procedure TFMALLEGO.FormCreate(Sender: TObject);
begin
PAGE_A.SHOW;
FILENAME := 'ALLEGRO.INI';
IF FileExists(FILENAME) = FALSE THEN
BEGIN
FILE_CREATE(FILENAME);
WRITE_INI;
END;
IF FileExists(FILENAME) = TRUE THEN
BEGIN
READ_INI;
// ED_SPEED.Text :=C_SPEED;
ED_DOT.Text := C_DOT ;
ED_DENSITY.Text := C_DENSITY ;
ED_DIR.ItemIndex:= STRTOINTDEF(C_DIR,0);
ED_REF1.Text := C_REF1 ;
ED_REF2.Text := C_REF2 ;
IF C_CUTTER = '0' THEN ED_CUTTER.Checked := FALSE;
IF C_CUTTER = '1' THEN ED_CUTTER.Checked := TRUE;
ED_PORT.ItemIndex := STRTOINTDEF(C_PORT,1);
ED_DELAY.Text := C_DELAY ;
ED_CODE.ItemIndex := STRTOINT(C_CODE) ;
END;
end;
procedure TFMALLEGO.FormActivate(Sender: TObject);
begin
//PAGE_A.SHOW;
end;
procedure TFMALLEGO.FormClose(Sender: TObject; var Action: TCloseAction);
begin
WRITE_INI;
//PRINT_TITLE;
end;
procedure TFMALLEGO.BitBtn1Click(Sender: TObject);
begin
CLOSE;
end;
procedure TFMALLEGO.P_TEST_TEXTClick(Sender: TObject);
begin
PRINT_TITLE;
PRINT_ENTER_LABEL_FORMATTING_MODE;
PRINT_TEXT('6',0,0,P_TEXT.Text);
PRINT_END(1);
end;
procedure TFMALLEGO.P_TEST_CTEXTClick(Sender: TObject);
begin
PRINT_TITLE;
PRINT_SAVE_CTEXT('A1',12,'宋體',P_CTEXT.Text);
PRINT_SAVE_CTEXT('A2',12,'新宋體',P_CTEXT.Text+'A');
PRINT_SAVE_CTEXT('A3',12,'楷體',P_CTEXT.Text+'A');
PRINT_ENTER_LABEL_FORMATTING_MODE;
PRINT_CTEXT('A1',0,0);
PRINT_CTEXT('A2',20,20);
PRINT_CTEXT('A3',40,40);
PRINT_END(1);
end;
procedure TFMALLEGO.P_TEST_BARCODEClick(Sender: TObject);
begin
PRINT_TITLE;
PRINT_ENTER_LABEL_FORMATTING_MODE;
PRINT_BARCODE(0,0,91,50,P_BARCODE.Text,TRUE);
PRINT_END(1);
end;
procedure TFMALLEGO.ED_REF2Exit(Sender: TObject);
begin
WITH SENDER AS TMASKEDIT DO
BEGIN
IF CHECK_INT(TEXT) = FALSE THEN //檢查是否為整數
IF CHECK_FLOAT(TEXT) = FALSE THEN //檢查小數點
BEGIN
SetFocus;
SelectAll;
EXIT;
END;
END;
end;
FUNCTION TFMALLEGO.TEXT_ENCODE_HEX(T_FONTSIZE:INTEGER;T_FONTNAME, T_STR:STRING):STRING;
VAR T_LIST1 , T_LIST2 : TSTRINGS;
I , J , MAX_I , MAX_J :INTEGER;
T_TMP, T_TMP2, T_TMP3 , T_ANS: STRING;
T_BMP : TBITMAP;
BEGIN
TRY
T_LIST1 := TSTRINGLIST.Create;
T_LIST2 := TSTRINGLIST.Create;
T_BMP := TBITMAP.Create;
T_BMP.Height := 800; //寬高先設好, 才能放入圖形
T_BMP.WIDTH := 800;
T_BMP.Canvas.Font.Color := clBlack;
//T_BMP.Canvas.Font.Style := [FSBOLD];
T_BMP.Canvas.Font.SIZE := T_FONTSIZE;
T_BMP.Canvas.Font.Name := T_FONTNAME;
T_BMP.Canvas.TextOut(1,1,T_STR);
MAX_I := T_BMP.Canvas.TextWidth (T_STR) ;
MAX_J := T_BMP.Canvas.TextHEIGHT(T_STR)+5 ;
T_LIST1.Clear;
FOR J := MAX_J DOWNTO 0 DO
BEGIN
T_TMP := '';
FOR I := 0 TO MAX_I DO
BEGIN
IF T_BMP.Canvas.Pixels[I,J] = CLBLACK THEN T_TMP := T_TMP +'1';
IF T_BMP.Canvas.Pixels[I,J] = CLWHITE THEN T_TMP := T_TMP +'0';
END;
T_LIST1.Add(T_TMP);
END;
T_TMP := '';
T_TMP2 := '';
MAX_I := T_LIST1.Count;
T_LIST2.Clear;
FOR I := 0 TO MAX_I-1 DO
BEGIN
T_ANS := '';
T_TMP3 := T_LIST1.Strings[I];
MAX_J := LENGTH(T_TMP3) DIV 4;
FOR J := 0 TO MAX_J DO
BEGIN
T_TMP := '';
T_TMP := COPY(T_TMP3,J*4,4);
IF STRTOINTDEF(T_TMP,-1) <= 0 THEN T_TMP2:= '0';
IF LENGTH(T_TMP) <= 4 THEN T_TMP2:= '0';
IF T_TMP = '0000' THEN T_TMP2:= '0';
IF T_TMP = '0001' THEN T_TMP2:= '1';
IF T_TMP = '0010' THEN T_TMP2:= '2';
IF T_TMP = '0011' THEN T_TMP2:= '3';
IF T_TMP = '0100' THEN T_TMP2:= '4';
IF T_TMP = '0101' THEN T_TMP2:= '5';
IF T_TMP = '0110' THEN T_TMP2:= '6';
IF T_TMP = '0111' THEN T_TMP2:= '7';
IF T_TMP = '1000' THEN T_TMP2:= '8';
IF T_TMP = '1001' THEN T_TMP2:= '9';
IF T_TMP = '1010' THEN T_TMP2:= 'A';
IF T_TMP = '1011' THEN T_TMP2:= 'B';
IF T_TMP = '1100' THEN T_TMP2:= 'C';
IF T_TMP = '1101' THEN T_TMP2:= 'D';
IF T_TMP = '1110' THEN T_TMP2:= 'E';
IF T_TMP = '1111' THEN T_TMP2:= 'F';
T_ANS := T_ANS + T_TMP2;
END;
IF LENGTH(T_ANS) MOD 2 = 1 THEN T_ANS := T_ANS + '0';
T_TMP2:= '11';
IF LENGTH(T_ANS) DIV 2 = 0 THEN T_TMP2:= '00';
IF LENGTH(T_ANS) DIV 2 = 1 THEN T_TMP2:= '01';
IF LENGTH(T_ANS) DIV 2 = 2 THEN T_TMP2:= '02';
IF LENGTH(T_ANS) DIV 2 = 3 THEN T_TMP2:= '03';
IF LENGTH(T_ANS) DIV 2 = 4 THEN T_TMP2:= '04';
IF LENGTH(T_ANS) DIV 2 = 5 THEN T_TMP2:= '05';
IF LENGTH(T_ANS) DIV 2 = 6 THEN T_TMP2:= '06';
IF LENGTH(T_ANS) DIV 2 = 7 THEN T_TMP2:= '07';
IF LENGTH(T_ANS) DIV 2 = 8 THEN T_TMP2:= '08';
IF LENGTH(T_ANS) DIV 2 = 9 THEN T_TMP2:= '09';
IF LENGTH(T_ANS) DIV 2 = 10 THEN T_TMP2:= '0A';
IF LENGTH(T_ANS) DIV 2 = 11 THEN T_TMP2:= '0B';
IF LENGTH(T_ANS) DIV 2 = 12 THEN T_TMP2:= '0C';
IF LENGTH(T_ANS) DIV 2 = 13 THEN T_TMP2:= '0D';
IF LENGTH(T_ANS) DIV 2 = 14 THEN T_TMP2:= '0E';
IF LENGTH(T_ANS) DIV 2 = 15 THEN T_TMP2:= '0F';
IF LENGTH(T_ANS) DIV 2 = 16 THEN T_TMP2:= '10';
IF LENGTH(T_ANS) DIV 2 = 17 THEN T_TMP2:= '11';
IF LENGTH(T_ANS) DIV 2 = 18 THEN T_TMP2:= '12';
IF LENGTH(T_ANS) DIV 2 = 19 THEN T_TMP2:= '13';
IF LENGTH(T_ANS) DIV 2 = 20 THEN T_TMP2:= '14';
IF LENGTH(T_ANS) DIV 2 = 21 THEN T_TMP2:= '15';
IF LENGTH(T_ANS) DIV 2 = 22 THEN T_TMP2:= '16';
IF LENGTH(T_ANS) DIV 2 = 23 THEN T_TMP2:= '17';
IF LENGTH(T_ANS) DIV 2 = 24 THEN T_TMP2:= '18';
IF LENGTH(T_ANS) DIV 2 = 25 THEN T_TMP2:= '19';
IF LENGTH(T_ANS) DIV 2 = 26 THEN T_TMP2:= '1A';
IF LENGTH(T_ANS) DIV 2 = 27 THEN T_TMP2:= '1B';
IF LENGTH(T_ANS) DIV 2 = 28 THEN T_TMP2:= '1C';
IF LENGTH(T_ANS) DIV 2 = 29 THEN T_TMP2:= '1D';
IF LENGTH(T_ANS) DIV 2 = 30 THEN T_TMP2:= '1E';
IF LENGTH(T_ANS) DIV 2 = 31 THEN T_TMP2:= '1F';
IF LENGTH(T_ANS) DIV 2 = 32 THEN T_TMP2:= '20';
IF LENGTH(T_ANS) DIV 2 = 33 THEN T_TMP2:= '21';
IF LENGTH(T_ANS) DIV 2 = 34 THEN T_TMP2:= '22';
IF LENGTH(T_ANS) DIV 2 = 35 THEN T_TMP2:= '23';
IF LENGTH(T_ANS) DIV 2 = 36 THEN T_TMP2:= '24';
IF LENGTH(T_ANS) DIV 2 = 37 THEN T_TMP2:= '25';
IF LENGTH(T_ANS) DIV 2 = 38 THEN T_TMP2:= '26';
IF LENGTH(T_ANS) DIV 2 = 39 THEN T_TMP2:= '27';
IF LENGTH(T_ANS) DIV 2 = 40 THEN T_TMP2:= '28';
IF LENGTH(T_ANS) DIV 2 = 41 THEN T_TMP2:= '29';
IF LENGTH(T_ANS) DIV 2 = 42 THEN T_TMP2:= '2A';
IF LENGTH(T_ANS) DIV 2 = 43 THEN T_TMP2:= '2B';
IF LENGTH(T_ANS) DIV 2 = 44 THEN T_TMP2:= '2C';
IF LENGTH(T_ANS) DIV 2 = 45 THEN T_TMP2:= '2D';
IF LENGTH(T_ANS) DIV 2 = 46 THEN T_TMP2:= '2E';
IF LENGTH(T_ANS) DIV 2 = 47 THEN T_TMP2:= '2F';
IF LENGTH(T_ANS) DIV 2 = 48 THEN T_TMP2:= '30';
IF LENGTH(T_ANS) DIV 2 = 49 THEN T_TMP2:= '31';
IF LENGTH(T_ANS) DIV 2 = 50 THEN T_TMP2:= '32';
IF LENGTH(T_ANS) DIV 2 = 51 THEN T_TMP2:= '33';
IF LENGTH(T_ANS) DIV 2 = 52 THEN T_TMP2:= '34';
IF LENGTH(T_ANS) DIV 2 = 53 THEN T_TMP2:= '35';
IF LENGTH(T_ANS) DIV 2 = 54 THEN T_TMP2:= '36';
IF LENGTH(T_ANS) DIV 2 = 55 THEN T_TMP2:= '37';
IF LENGTH(T_ANS) DIV 2 = 56 THEN T_TMP2:= '38';
IF LENGTH(T_ANS) DIV 2 = 57 THEN T_TMP2:= '39';
IF LENGTH(T_ANS) DIV 2 = 58 THEN T_TMP2:= '3A';
IF LENGTH(T_ANS) DIV 2 = 59 THEN T_TMP2:= '3B';
IF LENGTH(T_ANS) DIV 2 = 60 THEN T_TMP2:= '3C';
T_LIST2.Add('80'+T_TMP2+T_ANS);
END;
T_LIST2.Add('FFFF');
//T_LIST2.Add(CHR(2)+'L');
RESULT := T_LIST2.TEXT;
FINALLY
T_BMP.Free;
T_LIST1.Free;
T_LIST2.Free;
END;
END;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -