der: TObject; var Key: Char); Key OF
'А' .. 'Я', # 8, # 9, # 13, # 10, '':;
'а' .. 'я', 'a' .. 'z': Key: = Chr (Ord (Key) -32);
'е', 'Е': Key: = 'Е';
'0 '.. '9':;
// ELSE Key: = # 0;;; TForm1.SG2KeyPress (Sender: TObject; var Key: Char); Key OF
'А' .. 'Я', # 8, # 9, # 13, # 10, '':;
'а' .. 'я', 'a' .. 'z': Key: = Chr (Ord (Key) -32);
'е', 'Е': Key: = 'Е';
'0 '.. '9':;
// ELSE Key: = # 0;;; KeyR (Tb: TStringGrid; Zn: Char; N: Integer = 0): Integer;
Var R: LongInt;// ЗАГАЛЬНЕ: сканер стовпців// Визначення номера рядка ключа "1-ий стовпчик"
Result: = 0; R: = 0 To Tb.RowCount-1 Do.ProcessMessages (); Tb.Cells [N, R] = Zn Then Begin Result: = R; Break; End; ;; KeyS (Tb: TStringGrid; Zn: Char; N: Integer = 0): Integer;
Var C: LongInt;// ЗАГАЛЬНЕ: сканер рядків// Визначення номера стовпчика: = 0;
For C: = 0 To Tb.ColCount-1 Do.ProcessMessages (); Tb.Cells [C, N] = Zn Then Begin Result: = C; Break; End;;; Znak ( Tb: TStringGrid; C, R: LongInt): Char ;/ /: = Tb.Cells [C, R] [1];; TForm1.SB1Click (Sender: TObject); I, J, K: LongInt; Key, Txt , Oyt: String; Ch: Char; A, B: Longint ;//ШІФРУЕТEdit1.Text ='' Then // ЧісткаK: = 0 To REd1.Lines.Count-1 DoOyt: ='';: = REd1.Lines.Strings [K];// Вантажимо строкуI: = 1 To Length (Txt {REd1.Lines.Text}) Do.ProcessMessages ();//
///////////////////////////////{REd1.Lines.Text [I]} Txt [I] in Cont {['А' .. 'Я', 'Е']} Then: = Key [J];: = KeyR (SG1, Ch, 0);// Шукаємо номер символу ключа в стовпці: = Txt [I];// REd1.text [I];
B: = KeyS (SG1, Ch, 0);// Шукаємо номер символу тексту в рядку
// REd2.Text: = REd2.Text + Znak (SG1, B, A);: = Oyt + Znak (SG1, B, A); J <= Length (Key) -1 Then J: = J +1 ELSE J: = 1;// Перебір КлючаELSE//: = Txt [I];
// REd2.Text: = REd2.Text + Ch;: = Oyt + Ch;;
////////////////////////////// Txt [I] IN Cont {['А'. . 'Я', 'Е']} Then: = Key [J];: = KeyR (SG1, Ch, 0);// Шук...