ЖУРНАЛ ХАКЕР

Gthtrjlbhjdobr

Спецвыпуск Хакер, номер #004, стр. 004-028-4


AboutBox.Show;

Это для всех форм одинаково - метод Show их показывает, а метод Close - закрывает.

Сохрани проект - теперь у тебя спросят имя для файла только что сделанной панели "О проге...". Запусти свое творение (если перед запуском Дельфа что-то спросит - говори - Да) и насладись открывшимися возможностями.

Вот и настал тот момент, когда тебе все-таки придется написать основной алгоритм программы, иначе, как уже говорилось, само оно не заработает. Даблклик на кнопке "Do it!", и попадаешь в редактор.

Сначала попробуем расшифровывать с английского на русский. Для этого придется задать соответствие между английскими и русскими буквами на клаве. Мы поступим так: введем две строковые константы, в одной последовательно укажем все символы русской раскладки клавы, а в другой - английской.

Итак, редакторе ползи наверх, пока не встретишь жирную надпись var. Над ней надо вписать следующее:

const

EngLet : string = '~!@#$%^&*()QWERTYUIOP{}ASDFGHJKL:"ZXCVBNM<>?qwertyuiop[]asdfghjkl;''zxcvbnm,./';

RusLet : string = 'Ё!"№;%:?*()ЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ,йцукенгшщзхъфывапролджэячсмитьбю.~';

Строки эти надо набирать так: верхнюю (EngLet)- переключаешься на английский, зажимаешь shift и начинаешь слева направо последовательно нажимать клавиши той строки на клаве, где цифры, потом той, которая ниже, и так далее, потом отпускаешь shift и повторяешь (управляющие кнопки, вроде tab, enter и других, нажимать не надо); теперь нижнюю строку (RusLet) - переключаешься на русский и повторяешь все как и для предыдущей строки.

Дельфа, когда будет обрабатывать эту запись, будет читать так: "ага, написано const, значит дальше идут константы, клево, щас должно быть имя первой константы, О-ппа, написано EngLet, это оно и есть, вот двоеточие, а после него должен быть тип указан. Во! Да тут так и написано: string, значит константа будет строковой, я потрясена! Теперь равно, а опосля и значение должно быть в апострофах, и ";" - да тут все так и написано, а раз все верно, то я ругаться не буду. Блин, да тут еще одна константа!.." и так далее, ну, примерно так, тока не по-русски, а по-своему, по-Дельфивски.

Апострофы по краям говорят-показывают границы строки, в английской раскладке на клаве встречается апостроф - найди его в строке EngLet и поставь рядом еще один, теперь Дельфа врубится, что здесь не конец строки, а символ "апостроф".

Теперь найди процедуру TForm1.Button1Click и дополни ее до следующего:

procedure TForm1.Button1Click(Sender: TObject);

var

i, j, flag : integer;

Result : string;

begin

Result:='';

for i:=1 to length(Form1.Edit1.Text) do begin

for j:=1 to length(EngLet) do begin

if EngLet[j]=Form1.Edit1.Text[i] then break;

end;

Result := Concat( Result, RusLet[j] )

end;

Form1.Edit2.Text := Result;

end;

Попробую объяснить, что все это значит. После слова var Дельфа ищет объявление переменных, как после const она ищет константы. Мы с тобой хотим три целых переменных (integer) и одну строковую (string) - так и пишем, и указываем имена. Что делается в теле этой процедуры: берем первую букву введенной строки, пусть ввели "Rthlsr", значит первая буква "R", ищем ее в строке EngLet, запоминаем, какой по счету она стоит там, и берем символ из строки RusLet с таким же номером: можешь сам посмотреть там, где ты объявил константы EngLet и RusLet - под буквой "R" написана буква "К", запомним ее, теперь ищем вторую букву - "t", находим "и" и так далее, получаем "Кирдык".

Назад на стр. 004-028-3  Содержание  Вперед на стр. 004-028-5