home *** CD-ROM | disk | FTP | other *** search
/ Chip 2002 December / Chip_2002-12_cd1.bin / tema / clin / CLIN.EXE / SRC / SRC.RAR / UNIT1.PAS < prev   
Encoding:
Pascal/Delphi Source File  |  2002-09-30  |  5.5 KB  |  218 lines

  1. unit Unit1;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  7.   Dialogs, StdCtrls, ExtCtrls,
  8. //  Clipbrd,
  9.   U,
  10.   Kod0,Kod1,Kod2,Kod3,Kod4,Kod5,
  11.   Kod6,Kod7,
  12.   Kod8,Kod9,
  13.   KodA,
  14.   KodB,
  15.   KodC,KodD,KodE,KodF;
  16.  
  17. type
  18.   TForm1 = class(TForm)
  19.     Button2: TButton;
  20.     Button1: TButton;
  21.     ComboBox1: TComboBox;
  22.     Label1: TLabel;
  23.     Edit1: TEdit;
  24.     Edit2: TEdit;
  25.     Label2: TLabel;
  26.     Label3: TLabel;
  27.     RadioGroup1: TRadioGroup;
  28.     PaintBox1: TPaintBox;
  29.     Memo1: TMemo;
  30.     Label4: TLabel;
  31.     CheckBox1: TCheckBox;
  32.     CheckBox2: TCheckBox;
  33.  
  34.     procedure InitLanguage;
  35.     procedure Kresli;
  36.  
  37.     procedure FormCreate(Sender: TObject);
  38.     procedure ComboBox1Change(Sender: TObject);
  39.     procedure Button2Click(Sender: TObject);
  40.     procedure Button1Click(Sender: TObject);
  41.     procedure PaintBox1Paint(Sender: TObject);
  42.     procedure RadioGroup1Click(Sender: TObject);
  43.  
  44.  
  45.   private
  46.     { Private declarations }
  47.   public
  48.     { Public declarations }
  49.   end;
  50.  
  51.  
  52. var
  53.   Form1: TForm1;
  54.   Jazyk:array[1..2,1..100]of String;
  55.   Jaz:Byte;
  56.  
  57.   Bits,Raw,RawS:String;
  58.  
  59.  
  60. implementation
  61.  
  62. {$R *.dfm}
  63.  
  64.  
  65. procedure TForm1.Kresli;
  66. var X,Y:Word;
  67.     Co:String;
  68. begin
  69.  Co:=Bits;
  70.  
  71.  for X:=0 to 513 do
  72.   for Y:=0 to 63 do
  73.    PaintBox1.Canvas.Pixels[X,Y]:=$FFFFFF;
  74.  
  75.  for X:=1 to length(Co) do
  76.   begin
  77.    if Co[X]='1' then
  78.      for Y:=2 to 61 do
  79.        begin
  80.          PaintBox1.Canvas.Pixels[2+2*X,Y]:=$000000;
  81.          PaintBox1.Canvas.Pixels[2+2*X+1,Y]:=$000000;         
  82.        end;
  83.   end;
  84. end;
  85.  
  86. procedure TForm1.InitLanguage;
  87. begin
  88.  Button2.Caption:=Jazyk[Jaz,1];
  89.  Form1.Caption:=Jazyk[Jaz,3];
  90.  Label1.Caption:=Jazyk[Jaz,4];
  91.  Label2.Caption:=Jazyk[Jaz,5];
  92.  Label3.Caption:=Jazyk[Jaz,6];
  93.  RadioGroup1.Caption:=Jazyk[Jaz,7];
  94.  Label4.Caption:=Jazyk[Jaz,8];
  95.  Button1.Caption:=Jazyk[Jaz,9];
  96. end;
  97.  
  98.  
  99. // Detekce ΦeÜtiny (+slovenÜtiny)
  100. Function CZ:Boolean;
  101. var S:array[0..3] of Char;
  102.     S2:String;
  103. begin
  104.  S[0]:=#0;S[1]:=#0;S[2]:=#0;S[3]:=#0;
  105.  GetLocaleInfo(LOCALE_USER_DEFAULT,LOCALE_IDEFAULTCOUNTRY,S,4);
  106.  S2:=S[0]+S[1]+S[2];
  107.  
  108.  if (S2='420') or (S2='421') then CZ:=True
  109.  else CZ:=False;
  110. end;
  111.  
  112.  
  113. procedure TForm1.FormCreate(Sender: TObject);
  114. begin
  115.  If CZ then Jaz:=2 else
  116.             Jaz:=1;
  117.  if Jaz=1 then ComboBox1.ItemIndex:=0;
  118.  if Jaz=2 then ComboBox1.ItemIndex:=1;
  119.  
  120.   Jazyk[1,1] :='Exit';
  121.    Jazyk[2,1]:='Konec';
  122.   Jazyk[1,2] :='Do You want exit program ?';
  123.    Jazyk[2,2]:='Opravdu ukonΦit program ?';
  124.   Jazyk[1,3] :='CLIN Line Code Generator (C)2002 - freeware under ZOA licence';
  125.    Jazyk[2,3]:='CLIN Generßtor Φßrov²ch k≤d∙ (C)2002 - voln∞ Üi°itelnΘ pod licencφ ZOA';
  126.   Jazyk[1,4] :='Language:';
  127.    Jazyk[2,4]:='Jazyk:';
  128.   Jazyk[1,5] :='Output string (+crc+start/stop):';
  129.    Jazyk[2,5]:='V²stupnφ v²raz (+crc+start/stop):';
  130.   Jazyk[1,6] :='Input string (special characters=$xx HEX number):';
  131.    Jazyk[2,6]:='Vstupnφ text (zvlßÜtnφ znaky=$xx HEX Φφslo):';
  132.   Jazyk[1,7] :='Select required line code:';
  133.    Jazyk[2,7]:='Vyber po°adovan² Φßrov² k≤d:';
  134.   Jazyk[1,8] :='List of allowed characters:';
  135.    Jazyk[2,8]:='Seznam povolen²ch znak∙:';
  136.   Jazyk[1,9] :='Generate code';
  137.    Jazyk[2,9]:='Generuj k≤d';
  138.  
  139.  Bits:='';
  140.   Kresli;
  141.  
  142.  RadioGroup1.ItemIndex:=6; // k≤d 0
  143.   HC6(Memo1);
  144.  
  145.  InitLanguage;
  146. end;
  147.  
  148. procedure TForm1.ComboBox1Change(Sender: TObject);
  149. begin
  150.  if ComboBox1.ItemIndex=0 then Jaz:=1;
  151.  if ComboBox1.ItemIndex=1 then Jaz:=2;
  152.  InitLanguage;
  153. end;
  154.  
  155. procedure TForm1.Button2Click(Sender: TObject);
  156. begin
  157.  if MessageDlg(Jazyk[Jaz,2],mtConfirmation,mbOKCancel,0)=mrOK then Form1.Close;
  158. end;
  159.  
  160. procedure TForm1.Button1Click(Sender: TObject);
  161. begin
  162.  Bits:='';Raw:='';RawS:='';
  163.  case RadioGroup1.ItemIndex of
  164.       0:S2L0(Edit2.Text,CheckBox2.Checked,CheckBox1.Checked,Raw,RawS,Bits);
  165.       1:S2L1(Edit2.Text,CheckBox2.Checked,CheckBox1.Checked,Raw,RawS,Bits);
  166.       2:S2L2(Edit2.Text,CheckBox2.Checked,CheckBox1.Checked,Raw,RawS,Bits);
  167.       3:S2L3(Edit2.Text,CheckBox2.Checked,CheckBox1.Checked,Raw,RawS,Bits);
  168.       4:S2L4(Edit2.Text,CheckBox2.Checked,CheckBox1.Checked,Raw,RawS,Bits);
  169.       5:S2L5(Edit2.Text,CheckBox2.Checked,CheckBox1.Checked,Raw,RawS,Bits);
  170.       6:S2L6(Edit2.Text,CheckBox2.Checked,CheckBox1.Checked,Raw,RawS,Bits);
  171.       7:S2L7(Edit2.Text,CheckBox2.Checked,CheckBox1.Checked,Raw,RawS,Bits);
  172.       8:S2L8(Edit2.Text,CheckBox2.Checked,CheckBox1.Checked,Raw,RawS,Bits);
  173.       9:S2L9(Edit2.Text,CheckBox2.Checked,CheckBox1.Checked,Raw,RawS,Bits);
  174.      10:S2LA(Edit2.Text,CheckBox2.Checked,CheckBox1.Checked,Raw,RawS,Bits);
  175.      11:S2LB(Edit2.Text,CheckBox2.Checked,CheckBox1.Checked,Raw,RawS,Bits);
  176.      12:S2LC(Edit2.Text,CheckBox2.Checked,CheckBox1.Checked,Raw,RawS,Bits);
  177.      13:S2LD(Edit2.Text,CheckBox2.Checked,CheckBox1.Checked,Raw,RawS,Bits);
  178.      14:S2LE(Edit2.Text,CheckBox2.Checked,CheckBox1.Checked,Raw,RawS,Bits);
  179.      15:S2LF(Edit2.Text,CheckBox2.Checked,CheckBox1.Checked,Raw,RawS,Bits);
  180.  end;
  181.  
  182.  Edit1.Text:=RawS;
  183.  Kresli;
  184. end;
  185.  
  186. procedure TForm1.PaintBox1Paint(Sender: TObject);
  187. begin
  188.  Kresli;
  189. end;
  190.  
  191. procedure TForm1.RadioGroup1Click(Sender: TObject);
  192. begin
  193.  Memo1.Clear;
  194.  case RadioGroup1.ItemIndex of
  195.       0:HC0(Memo1);
  196.       1:HC1(Memo1);
  197.       2:HC2(Memo1);
  198.       3:HC3(Memo1);
  199.       4:HC4(Memo1);
  200.       5:HC5(Memo1);
  201.       6:HC6(Memo1);
  202.       7:HC7(Memo1);
  203.       8:HC8(Memo1);
  204.       9:HC9(Memo1);
  205.      10:HCA(Memo1);
  206.      11:HCB(Memo1);
  207.      12:HCC(Memo1);
  208.      13:HCD(Memo1);
  209.      14:HCE(Memo1);
  210.      15:HCF(Memo1);
  211.  end;
  212.  
  213.  Button1Click(Sender);
  214.  
  215. end;
  216.  
  217. end.
  218.