Impressao - imprimir codigo de barras na matricial (epson)

Top  Previous  Next

// imprimir código de barras na matricial

 

unit codbarUnit;

 

interface

 

uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, ARotinasUnit, Math, StdCtrls;

 

type

  TForm1 = class(TForm)

    Button1: TButton;

    procedure Button1Click(Sender: TObject);

  end;

 

var

  Form1: TForm1;

 

implementation

 

{$R *.dfm}

 

{

 Laser   impressora a laser ou nao?

 BarCode valor do codigo

 Margem  enigma...

 Qtd     qtd copias?

 Altura  altura da barra?

 Colunas qtd colunas?

 Msg1    texto opcional

 Msg2    texto opcional2

}

procedure PrintBar(const Laser: Boolean; const Barcode: string;

                   Margem, Qtd, Altura, Colunas: Integer; const Msg1: string; Msg2: string);

var

  x,y,z,accros, E1,E2,O1,O2,N1,N2,cols: integer;

  preamble, postamble: string;

  arq                : TextFile;

  BAR                : array[1..126of string;

 

  // procedure interna para "montar" o código de barras

  // inicializa codigo de barras

  procedure InitBar(const Laser: Boolean; var preamble, postamble: string);

  var

    NB, WB, NS, WS, start_code, end_code: string;

    small_bar, wide_bar                 : Integer;

  begin

    // monta o "comando" que pretara a impressora para imprimir o código de barras

    if Laser then

    begin

      Small_bar := 3;

      Wide_bar  := Round(Small_Bar * 2.25);

      NS := #27 + '*p+' + FormatFloat('00', small_bar) + 'X';

      WS := #27 + '*p+' + FormatFloat('00', wide_bar)  + 'X';

      NB := #27 + '*c'  + FormatFloat('00', small_bar) + 'a' + Trim(IntToStr(1*50)) + 'b0P' + #27 + '*p+' + Formatfloat('00',small_bar) + 'X';

      WB := #27 + '*c'  + FormatFloat('00', wide_bar)  + 'a' + Trim(IntToStr(1*50)) + 'b0P' + #27 + '*p+' + Formatfloat('00',wide_bar)  + 'X';

      Start_Code := #27 + '*p-50Y';

      End_Code   := #27 + '*p+50Y';

    end

    else

    begin

      NS := #0#0;

      WS := #0#0#0#0;

      NB := #255;

      WB := #255#255#255;

      Start_Code := '';

      End_Code   := '';

    end;

 

    // para cada letra ou caracter tem uma sequencia

    BAR[01] := NB+WS+NB+WS+NB+WS+NB+NS+NB + NS + WB+NS+NB+NS+NB+WS+NB+NS+WB;

    BAR[02] := NB+WS+NB+WS+NB+WS+NB+NS+NB + NS + NB+NS+WB+NS+NB+WS+NB+NS+WB;

    BAR[03] := NB+WS+NB+WS+NB+WS+NB+NS+NB + NS + WB+NS+WB+NS+NB+WS+NB+NS+NB;

    BAR[04] := NB+WS+NB+WS+NB+WS+NB+NS+NB + NS + NB+NS+NB+NS+WB+WS+NB+NS+WB;

    BAR[05] := NB+WS+NB+WS+NB+WS+NB+NS+NB + NS + WB+NS+NB+NS+WB+WS+NB+NS+NB;

    BAR[06] := NB+WS+NB+WS+NB+WS+NB+NS+NB + NS + NB+NS+WB+NS+WB+WS+NB+NS+NB;

    BAR[07] := NB+WS+NB+WS+NB+WS+NB+NS+NB + NS + NB+NS+NB+NS+NB+WS+WB+NS+WB;

    BAR[08] := NB+WS+NB+WS+NB+WS+NB+NS+NB + NS + WB+NS+NB+NS+NB+WS+WB+NS+NB;

    BAR[09] := NB+WS+NB+WS+NB+WS+NB+NS+NB + NS + NB+NS+WB+NS+NB+WS+WB+NS+NB;

    BAR[10] := NB+WS+NB+WS+NB+WS+NB+NS+NB + NS + NB+NS+NB+NS+WB+WS+WB+NS+NB;

    BAR[11] := NB+WS+NB+WS+NB+WS+NB+NS+NB + NS + WB+NS+NB+NS+NB+NS+NB+WS+WB;

    BAR[12] := NB+WS+NB+WS+NB+WS+NB+NS+NB + NS + NB+NS+WB+NS+NB+NS+NB+WS+WB;

    BAR[13] := NB+WS+NB+WS+NB+WS+NB+NS+NB + NS + WB+NS+WB+NS+NB+NS+NB+WS+NB;

    BAR[14] := NB+WS+NB+WS+NB+WS+NB+NS+NB + NS + NB+NS+NB+NS+WB+NS+NB+WS+WB;

    BAR[15] := NB+WS+NB+WS+NB+WS+NB+NS+NB + NS + WB+NS+NB+NS+WB+NS+NB+WS+NB;

    BAR[16] := NB+WS+NB+WS+NB+WS+NB+NS+NB + NS + NB+NS+WB+NS+WB+NS+NB+WS+NB;

    BAR[17] := NB+WS+NB+WS+NB+WS+NB+NS+NB + NS + NB+NS+NB+NS+NB+NS+WB+WS+WB;

    BAR[18] := NB+WS+NB+WS+NB+WS+NB+NS+NB + NS + WB+NS+NB+NS+NB+NS+WB+WS+NB;

    BAR[19] := NB+WS+NB+WS+NB+WS+NB+NS+NB + NS + NB+NS+WB+NS+NB+NS+WB+WS+NB;

    BAR[20] := NB+WS+NB+WS+NB+WS+NB+NS+NB + NS + NB+NS+NB+NS+WB+NS+WB+WS+NB;

    BAR[21] := NB+WS+NB+WS+NB+WS+NB+NS+NB + NS + WB+WS+NB+NS+NB+NS+NB+NS+WB;

    BAR[22] := NB+WS+NB+WS+NB+WS+NB+NS+NB + NS + NB+WS+WB+NS+NB+NS+NB+NS+WB;

    BAR[23] := NB+WS+NB+WS+NB+WS+NB+NS+NB + NS + WB+WS+WB+NS+NB+NS+NB+NS+NB;

    BAR[24] := NB+WS+NB+WS+NB+WS+NB+NS+NB + NS + NB+WS+NB+NS+WB+NS+NB+NS+WB;

    BAR[25] := NB+WS+NB+WS+NB+WS+NB+NS+NB + NS + WB+WS+NB+NS+WB+NS+NB+NS+NB;

    BAR[26] := NB+WS+NB+WS+NB+WS+NB+NS+NB + NS + NB+WS+WB+NS+WB+NS+NB+NS+NB;

    BAR[27] := NB+NS+NB+WS+NB+WS+NB+WS+NB + NS + WB+NS+NB+NS+NB+WS+NB+NS+WB;

    BAR[28] := NB+NS+NB+WS+NB+WS+NB+WS+NB + NS + NB+NS+WB+NS+NB+WS+NB+NS+WB;

    BAR[29] := NB+NS+NB+WS+NB+WS+NB+WS+NB + NS + WB+NS+WB+NS+NB+WS+NB+NS+NB;

    BAR[30] := NB+NS+NB+WS+NB+WS+NB+WS+NB + NS + NB+NS+NB+NS+WB+WS+NB+NS+WB;

    BAR[31] := NB+NS+NB+WS+NB+WS+NB+WS+NB + NS + WB+NS+NB+NS+WB+WS+NB+NS+NB;

 

    BAR[32] := NB+WS+WB+NS+NB+NS+WB+NS+NB;       // " " SPACE

    BAR[33] := NB+WS+NB+WS+NB+NS+NB+WS+NB + NS + WB+NS+NB+NS+NB+WS+NB+NS+WB;    // "!"

    BAR[34] := NB+WS+NB+WS+NB+NS+NB+WS+NB + NS + NB+NS+WB+NS+NB+WS+NB+NS+WB;    // """

    BAR[35] := NB+WS+NB+WS+NB+NS+NB+WS+NB + NS + WB+NS+WB+NS+NB+WS+NB+NS+NB;    // "#"

    BAR[36] := NB+WS+NB+WS+NB+NS+NB+WS+NB + NS + NB+NS+NB+NS+WB+WS+NB+NS+WB;    // "$"

    BAR[37] := NB+WS+NB+WS+NB+NS+NB+WS+NB + NS + WB+NS+NB+NS+WB+WS+NB+NS+NB;    // "%"

    BAR[38] := NB+WS+NB+WS+NB+NS+NB+WS+NB + NS + NB+NS+WB+NS+WB+WS+NB+NS+NB;    // "&"

    BAR[39] := NB+WS+NB+WS+NB+NS+NB+WS+NB + NS + NB+NS+NB+NS+NB+WS+WB+NS+WB;    // "'"

    BAR[40] := NB+WS+NB+WS+NB+NS+NB+WS+NB + NS + WB+NS+NB+NS+NB+WS+WB+NS+NB;    // "("

    BAR[41] := NB+WS+NB+WS+NB+NS+NB+WS+NB + NS + NB+NS+WB+NS+NB+WS+WB+NS+NB;    // ")"

    BAR[42] := NB+WS+NB+WS+NB+NS+NB+WS+NB + NS + NB+NS+NB+NS+WB+WS+WB+NS+NB;    // "*"

    BAR[43] := NB+WS+NB+WS+NB+NS+NB+WS+NB + NS + WB+NS+NB+NS+NB+NS+NB+WS+WB;    // "+"

    BAR[44] := NB+WS+NB+WS+NB+NS+NB+WS+NB + NS + NB+NS+WB+NS+NB+NS+NB+WS+WB;    // ","

    BAR[45] := NB+WS+NB+NS+NB+NS+WB+NS+WB;       // "-"

    BAR[46] := WB+WS+NB+NS+NB+NS+WB+NS+NB;       // ".".

    BAR[47] := NB+WS+NB+WS+NB+NS+NB+WS+NB + NS + WB+NS+NB+NS+WB+NS+NB+WS+NB;      // "/"

 

    BAR[48] := NB+NS+NB+WS+WB+NS+WB+NS+NB;       // "0"

    BAR[49] := WB+NS+NB+WS+NB+NS+NB+NS+WB;       // "1"

    BAR[50] := NB+NS+WB+WS+NB+NS+NB+NS+WB;       // "2"

    BAR[51] := WB+NS+WB+WS+NB+NS+NB+NS+NB;       // "3"

    BAR[52] := NB+NS+NB+WS+WB+NS+NB+NS+WB;       // "4"

    BAR[53] := WB+NS+NB+WS+WB+NS+NB+NS+NB;       // "5"

    BAR[54] := NB+NS+WB+WS+WB+NS+NB+NS+NB;       // "6"

    BAR[55] := NB+NS+NB+WS+NB+NS+WB+NS+WB;       // "7"

    BAR[56] := WB+NS+NB+WS+NB+NS+WB+NS+NB;       // "8"

    BAR[57] := NB+NS+WB+WS+NB+NS+WB+NS+NB;       // "9"

 

    BAR[58] := NB+WS+NB+WS+NB+NS+NB+WS+NB + NS + NB+WS+WB+NS+WB+NS+NB+NS+NB;     // ":"

    BAR[59] := NB+NS+NB+WS+NB+WS+NB+WS+NB + NS + NB+NS+WB+NS+WB+WS+NB+NS+NB;     // ";"

    BAR[60] := NB+NS+NB+WS+NB+WS+NB+WS+NB + NS + NB+NS+NB+NS+NB+WS+WB+NS+WB;     // "<"

    BAR[61] := NB+NS+NB+WS+NB+WS+NB+WS+NB + NS + WB+NS+NB+NS+NB+WS+WB+NS+NB;     // "="

    BAR[62] := NB+NS+NB+WS+NB+WS+NB+WS+NB + NS + NB+NS+WB+NS+NB+WS+WB+NS+NB;     // ">"

    BAR[63] := NB+NS+NB+WS+NB+WS+NB+WS+NB + NS + NB+NS+NB+NS+WB+WS+WB+NS+NB;     // "?"

    BAR[64] := NB+NS+NB+WS+NB+WS+NB+WS+NB + NS + NB+WS+WB+NS+NB+NS+NB+NS+WB;     // "@"

 

    BAR[65] := WB+NS+NB+NS+NB+WS+NB+NS+WB;       // "A"

    BAR[66] := NB+NS+WB+NS+NB+WS+NB+NS+WB;       // "B"

    BAR[67] := WB+NS+WB+NS+NB+WS+NB+NS+NB;       // "C"

    BAR[68] := NB+NS+NB+NS+WB+WS+NB+NS+WB;       // "D"

    BAR[69] := WB+NS+NB+NS+WB+WS+NB+NS+NB;       // "E"

    BAR[70] := NB+NS+WB+NS+WB+WS+NB+NS+NB;       // "F"

    BAR[71] := NB+NS+NB+NS+NB+WS+WB+NS+WB;       // "G"

    BAR[72] := WB+NS+NB+NS+NB+WS+WB+NS+NB;       // "H"

    BAR[73] := NB+NS+WB+NS+NB+WS+WB+NS+NB;       // "I"

    BAR[74] := NB+NS+NB+NS+WB+WS+WB+NS+NB;       // "J"

    BAR[75] := WB+NS+NB+NS+NB+NS+NB+WS+WB;       // "K"

    BAR[76] := NB+NS+WB+NS+NB+NS+NB+WS+WB;       // "L"

    BAR[77] := WB+NS+WB+NS+NB+NS+NB+WS+NB;       // "M"

    BAR[78] := NB+NS+NB+NS+WB+NS+NB+WS+WB;       // "N"

    BAR[79] := WB+NS+NB+NS+WB+NS+NB+WS+NB;       // "O"

    BAR[80] := NB+NS+WB+NS+WB+NS+NB+WS+NB;       // "P"

    BAR[81] := NB+NS+NB+NS+NB+NS+WB+WS+WB;       // "Q"

    BAR[82] := WB+NS+NB+NS+NB+NS+WB+WS+NB;       // "R"

    BAR[83] := NB+NS+WB+NS+NB+NS+WB+WS+NB;       // "S"

    BAR[84] := NB+NS+NB+NS+WB+NS+WB+WS+NB;       // "T"

    BAR[85] := WB+WS+NB+NS+NB+NS+NB+NS+WB;       // "U"

    BAR[86] := NB+WS+WB+NS+NB+NS+NB+NS+WB;       // "V"

    BAR[87] := WB+WS+WB+NS+NB+NS+NB+NS+NB;       // "W"

    BAR[88] := NB+WS+NB+NS+WB+NS+NB+NS+WB;       // "X"

    BAR[89] := WB+WS+NB+NS+WB+NS+NB+NS+NB;       // "Y"

    BAR[90] := NB+WS+WB+NS+WB+NS+NB+NS+NB;       // "Z"

 

    BAR[91] := NB+NS+NB+WS+NB+WS+NB+WS+NB + NS + WB+NS+NB+NS+NB+NS+NB+WS+WB;    // "]"

    BAR[92] := NB+NS+NB+WS+NB+WS+NB+WS+NB + NS + NB+NS+WB+NS+NB+NS+NB+WS+WB;    // "\"

    BAR[93] := NB+NS+NB+WS+NB+WS+NB+WS+NB + NS + WB+NS+WB+NS+NB+NS+NB+WS+NB;    // "["

    BAR[94] := NB+NS+NB+WS+NB+WS+NB+WS+NB + NS + NB+NS+NB+NS+WB+NS+NB+WS+WB;    // "^"

    BAR[95] := NB+NS+NB+WS+NB+WS+NB+WS+NB + NS + WB+NS+NB+NS+WB+NS+NB+WS+NB;    // "_"

    BAR[96] := NB+NS+NB+WS+NB+WS+NB+WS+NB + NS + WB+WS+WB+NS+NB+NS+NB+NS+NB;    // "`"

 

    BAR[97] := NB+WS+NB+NS+NB+WS+NB+WS+NB + NS + WB+NS+NB+NS+NB+WS+NB+NS+WB;    // "a"

    BAR[98] := NB+WS+NB+NS+NB+WS+NB+WS+NB + NS + NB+NS+WB+NS+NB+WS+NB+NS+WB;    // "b"

    BAR[99] := NB+WS+NB+NS+NB+WS+NB+WS+NB + NS + WB+NS+WB+NS+NB+WS+NB+NS+NB;    // "c"

    BAR[100] := NB+WS+NB+NS+NB+WS+NB+WS+NB + NS + NB+NS+NB+NS+WB+WS+NB+NS+WB;   // "d"

    BAR[101] := NB+WS+NB+NS+NB+WS+NB+WS+NB + NS + WB+NS+NB+NS+WB+WS+NB+NS+NB;   // "e"

    BAR[102] := NB+WS+NB+NS+NB+WS+NB+WS+NB + NS + NB+NS+WB+NS+WB+WS+NB+NS+NB;   // "f"

    BAR[103] := NB+WS+NB+NS+NB+WS+NB+WS+NB + NS + NB+NS+NB+NS+NB+WS+WB+NS+WB;   // "g"

    BAR[104] := NB+WS+NB+NS+NB+WS+NB+WS+NB + NS + WB+NS+NB+NS+NB+WS+WB+NS+NB;   // "h"

    BAR[105] := NB+WS+NB+NS+NB+WS+NB+WS+NB + NS + NB+NS+WB+NS+NB+WS+WB+NS+NB;   // "i"

    BAR[106] := NB+WS+NB+NS+NB+WS+NB+WS+NB + NS + NB+NS+NB+NS+WB+WS+WB+NS+NB;   // "j"

    BAR[107] := NB+WS+NB+NS+NB+WS+NB+WS+NB + NS + WB+NS+NB+NS+NB+NS+NB+WS+WB;   // "k"

    BAR[108] := NB+WS+NB+NS+NB+WS+NB+WS+NB + NS + NB+NS+WB+NS+NB+NS+NB+WS+WB;   // "l"

    BAR[109] := NB+WS+NB+NS+NB+WS+NB+WS+NB + NS + WB+NS+WB+NS+NB+NS+NB+WS+NB;   // "m"

    BAR[110] := NB+WS+NB+NS+NB+WS+NB+WS+NB + NS + NB+NS+NB+NS+WB+NS+NB+WS+WB;   // "n"

    BAR[111] := NB+WS+NB+NS+NB+WS+NB+WS+NB + NS + WB+NS+NB+NS+WB+NS+NB+WS+NB;   // "o"

    BAR[112] := NB+WS+NB+NS+NB+WS+NB+WS+NB + NS + NB+NS+WB+NS+WB+NS+NB+WS+NB;   // "p"

    BAR[113] := NB+WS+NB+NS+NB+WS+NB+WS+NB + NS + NB+NS+NB+NS+NB+NS+WB+WS+WB;   // "q"

    BAR[114] := NB+WS+NB+NS+NB+WS+NB+WS+NB + NS + WB+NS+NB+NS+NB+NS+WB+WS+NB;   // "r"

    BAR[115] := NB+WS+NB+NS+NB+WS+NB+WS+NB + NS + NB+NS+WB+NS+NB+NS+WB+WS+NB;   // "s"

    BAR[116] := NB+WS+NB+NS+NB+WS+NB+WS+NB + NS + NB+NS+NB+NS+WB+NS+WB+WS+NB;   // "t"

    BAR[117] := NB+WS+NB+NS+NB+WS+NB+WS+NB + NS + WB+WS+NB+NS+NB+NS+NB+NS+WB;   // "u"

    BAR[118] := NB+WS+NB+NS+NB+WS+NB+WS+NB + NS + NB+WS+WB+NS+NB+NS+NB+NS+WB;   // "v"

    BAR[119] := NB+WS+NB+NS+NB+WS+NB+WS+NB + NS + WB+WS+WB+NS+NB+NS+NB+NS+NB;   // "w"

    BAR[120] := NB+WS+NB+NS+NB+WS+NB+WS+NB + NS + NB+WS+NB+NS+WB+NS+NB+NS+WB;   // "x"

    BAR[121] := NB+WS+NB+NS+NB+WS+NB+WS+NB + NS + WB+WS+NB+NS+WB+NS+NB+NS+NB;   // "y"

    BAR[122] := NB+WS+NB+NS+NB+WS+NB+WS+NB + NS + NB+WS+WB+NS+WB+NS+NB+NS+NB;   // "z"

 

    BAR[123] := NB+NS+NB+WS+NB+WS+NB+WS+NB + NS + NB+NS+WB+NS+WB+NS+NB+WS+NB;   // '{'

    BAR[124] := NB+NS+NB+WS+NB+WS+NB+WS+NB + NS + NB+NS+NB+NS+NB+NS+WB+WS+WB;   // "|"

    BAR[125] := NB+NS+NB+WS+NB+WS+NB+WS+NB + NS + WB+NS+NB+NS+NB+NS+WB+WS+NB;   // '}'

    BAR[126] := NB+NS+NB+WS+NB+WS+NB+WS+NB + NS + NB+NS+WB+NS+NB+NS+WB+WS+NB;   // "~"

 

    Preamble  := Start_Code + NB+WS+NB+NS+WB+NS+WB+NS+NB + NS;

    Postamble := NB+WS+NB+NS+WB+NS+WB+NS+NB + End_Code;

  end;

 

 

begin

  // Valores Padrao

  Qtd     := ARotinasUnit.ifthen(Qtd     = 01, Qtd    );

  Altura  := ARotinasUnit.ifthen(Altura  = 02, Altura );

  Colunas := ARotinasUnit.ifthen(Colunas = 01, Colunas);

  Qtd     := Floor(Qtd / Colunas) + ARotinasUnit.ifthen((Qtd/Colunas) - Floor(Qtd / Colunas) <> 0,1,0);

  Initbar(Laser, Preamble, Postamble);

 

  for z := 1 to Qtd do

  begin

    AssignFile(arq, 'LPT1');

    rewrite(arq);

 

    ///////////////////////////////////////////////////////// LASER

    if laser then

    begin

      for x := 1 to Altura do

        for accros := 1 to Colunas do

        begin

          writeln(arq, '');

          write(arq,  RepeteStr(#32,3) + Preamble);

          for y := 1 to length(Barcode) do

          begin

            write(arq, BAR[ ord(copy(Barcode, Y, 1)[1])]);

            write(arq, #27 + '*p+' + formatfloat('00'3) + 'X');

          end;

          write(arq, Postamble);

 

          if x = 1 then

            write(arq, Repetestr(#323) + AlinhaDir(Msg1,12))

          else

            write(arq, Repetestr(#323) + AlinhaDir(Msg2,12));

        end;

    end

    else ////////////////////////////////////////////////// MATRICIAL

    begin

      cols := length(preamble);

      E1   := cols mod 256;

      E2   := floor(cols / 256);

 

      cols := length(postamble);

      O1   := cols mod 256;

      O2   := floor(cols / 256);

 

      writeln(arq,' ');

      write(arq, #27 + #51 + #2);

 

      for x := 1 to Altura do

      begin

 

        if Margem > 0 then

          Write(Arq, RepeteStr(#32, Margem));

 

        for Accros := 1 to Colunas do

        begin

          write(arq, #27 + 'L' + #30 + RepeteStr(#0,31));

          write(arq, #27 + 'L' + chr(E1) + chr(E2) + PreAmble);

 

          for y := 1 to length(barcode) do

          begin

            cols := length(bar[ord(copy(Barcode, Y, 1)[1])]) + 2;

            N1   := cols mod 256;

            N2   := floor(cols / 256);

            write(arq, #27 + 'L' + chr(N1) + chr(N2) + bar[ord(copy(Barcode, Y, 1)[1]) ] + #0#0);

          end;

 

          write(arq, #27 + 'L' + chr(O1) + chr(O2) + PostAmble);

 

          if Trim(Msg1) = '' then

            write(arq, RepeteStr(#322))

          else

            case x of

              1: write(arq, #32#32 + AlinhaEsq(Msg1,12));

              2: write(arq, #32#32 + AlinhaEsq(Msg2,12));

              else write(arq, RepeteStr(#3214));

            end;

 

          if Colunas > 1 then

            write(arq, repetestr(#32,3));

        end;

        write(arq, #27 + #74 + #24 + #13);

      end;

      write(arq, #27 + #50);

    end;

 

    if Margem > 0 then

      Write(Arq, RepeteStr(#32, Margem));

    // Escreve o nº dos códigos de barras

    for Accros := 1 to Colunas do

    begin

      Write(Arq, RepeteStr(#32, (Length(Barcode) div 2) + 4) + Barcode);

      if (Colunas > 1and (Accros < Colunas) then

        write(arq, RepeteStr(#32, ARotinasUnit.IfThen(Trim(Msg1) = ''820)));

    end;

  end;

  close(arq);

end;

 

procedure TForm1.Button1Click(Sender: TObject);

begin

  Printbar(False, '1234'2334'''');

end;

 

end.