» » » Сергей Парижский - Delphi. Учимся на примерах


Авторские права

Сергей Парижский - Delphi. Учимся на примерах

Здесь можно скачать бесплатно "Сергей Парижский - Delphi. Учимся на примерах" в формате fb2, epub, txt, doc, pdf. Жанр: Программирование, издательство "МК-Пресс", год 2005. Так же Вы можете читать книгу онлайн без регистрации и SMS на сайте LibFox.Ru (ЛибФокс) или прочесть описание и ознакомиться с отзывами.
Сергей Парижский - Delphi. Учимся на примерах
Рейтинг:
Название:
Delphi. Учимся на примерах
Издательство:
"МК-Пресс"
Год:
2005
ISBN:
ISBN 966-8806-02-6
Скачать:

99Пожалуйста дождитесь своей очереди, идёт подготовка вашей ссылки для скачивания...

Скачивание начинается... Если скачивание не началось автоматически, пожалуйста нажмите на эту ссылку.

Вы автор?
Жалоба
Все книги на сайте размещаются его пользователями. Приносим свои глубочайшие извинения, если Ваша книга была опубликована без Вашего на то согласия.
Напишите нам, и мы в срочном порядке примем меры.

Как получить книгу?
Оплатили, но не знаете что делать дальше? Инструкция.

Описание книги "Delphi. Учимся на примерах"

Описание и краткое содержание "Delphi. Учимся на примерах" читать бесплатно онлайн.



Данная книга — продолжение предыдущей книги автора, "Delphi. Только практика". Также как и в "Delphi. Только практика", в данном издании подробно рассмотрены программы для сетей, различные шуточные программы, простые игрушки, некоторые полезные приложения, разработка приложений в стиле Windows XP. В частности, здесь можно найти такие примеры как бесплатная отправка SMS, FTP-клиент, простое шифрование, CGI-сценарии и многое другое. Описаны методы работы с системным реестром Windows и INI-файлами, а также некоторые важные аспекты программирования на системном уровне с применением функций Windows API. Для облегчения понимания программ каждый пример содержит комментарии сложных строк кода.

Книга ориентирована как на тех, кто уже имеет опыт создания приложений в Delphi, так и на начинающих программистов. Для начинающих пользователей Delphi в конце книги добавлено приложение с описанием синтаксиса языка программирования Object Pascal.






 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls, IniFiles, jpeg, Menus;


type TForm1 = class(TForm)

 Memo1: TMemo;

 RadioGroup1: TRadioGroup;

 p1: TPanel;

 p2: TPanel;

 p3: TPanel;

 p4: TPanel;

 p5: TPanel;

 an1: TRadioButton;

 an2: TRadioButton;

 an3: TRadioButton;

 an4: TRadioButton;

 Label1: TLabel;

 Label2: TLabel;

 MainMenu1: TMainMenu;

 N1: TMenuItem;

 N2: TMenuItem;

 N3: TMenuItem;

 N4: TMenuItem;

 Open1: TOpenDialog;

 procedure FormCreate(Sender: TObject);

 procedure p1Click(Sender: TObject);

 procedure p2Click(Sender: TObject);

 procedure p3Click(Sender: TObject);

 procedure p4Click(Sender: TObject);

 procedure p5Click(Sender: TObject);

 procedure Image1Click(Sender: TObject);

 procedure p1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

 procedure p1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

 procedure p2MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

 procedure p2MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

 procedure p3MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

 procedure p3MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

 procedure p4MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

 procedure p4MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

 procedure p5MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

 procedure p5MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

 procedure N1Click(Sender: TObject);

 procedure N2Click(Sender: TObject);

 procedure N4Click(Sender: TObject);

 procedure FormDestroy(Sender: TObject);

private

 { Private declarations }

 procedure start; //начало теста

 procedure question_select; //выбор вопроса

 procedure vars(var variant: integer); {сортировка и определение правильного варианта ответа}

 procedureverno(); {проверка: правильно ли ответил пользователь}

public

 { Public declarations }

end;


var

 Form1: TForm1;

 i, a, n, balls, vopr: integer; {различные счетчики и переменные для подсчета баллов}

 dir, dir2, ss, zz, yes: string; {путь к файлу с вопросами, к программе и расшифрованной базе}

 win: TIniFile; //переменная для работы с ini-файлами

 mass: array[1..100] of integer; {содержит номера уже заданных вопросы, чтобы они не повторялись}

 f1, f2: file of char; //переменные для работы с файлами

 сор: char; //для работы с каждым символом отдельно


implementation

{$R *.dfm}


procedure TForm1.vars(var variant: integer);

begin

 //вызываем процедуру выбора случайного вопроса question_select();

 case variant of

 1:

  begin

   Win:= TIniFile.Create(dir2); //открываем ini-файл

   //считываем вопрос

   Memo1.Text:= Win.ReadString('Q', IntToStr(a), Memo1.Text);

   //считываем правильный вариант ответа

   an1.Caption:= Win.ReadString('A', IntToStr(a), an1.Caption);

   //считываем три неверных варианта к данному вопросу

   an2.Caption:= Win.ReadString('W1', IntToStr(a), an2.Caption);

   an3.Caption:= Win.ReadString('W2', IntToStr(a), an3.Caption);

   an4.Caption:= Win.ReadString('W3', IntToStr(a), an4.Caption);

   Win.Free; //освобождаем ini-файл

   //помечаем первый вариант как правильный

   yes:= an1.Caption;

  end;

 2:

  begin

   Win:= TIniFile.Create(dir2);

   Memo1.Text:= Win.ReadString('Q', IntToStr(a), Memo1.Text);

   an2.Caption:= Win.Readstring('A', IntToStr(a), an2.Caption);

   an1.Caption:= Win.Readstring('W1', IntToStr(a), an1.Caption);

   an3.Caption:= Win.ReadString('W2', IntToStr(a), an3.Caption);

   an4.Caption:= Win.ReadString('W3', IntToStr(a), an4.Caption);

   Win.Free;

   yes: = an2.Caption;

  end;

 3:

  begin

   Win:= TIniFile.Create(dir2);

   Memo1.Text:= Win.ReadString('Q', IntToStr(a), Memo1.Text);

   an3.Caption:= Win.ReadString('A', IntToStr(a), an3.Caption);

   an2.Caption:= Win.ReadString('W1', IntToStr(a), an2.Caption);

   an1.Caption:= Win.ReadString('W2', IntToStr(a), an1.Caption);

   an4.Caption:= Win.ReadString('W3', IntToStr(a), an4.Caption);

   Win.Free;

   yes:= an3.Caption;

  end;

 4:

  begin

   Win:= TIniFile.Create(dir2);

   Memo1.Text:= Win.ReadString('Q', IntToStr(a), Memo1.Text);

   an4.Caption:= Win.ReadString('A', IntToStr(a), an4.Caption);

   an2.Caption:= Win.ReadString('Wl', IntToStr(a), an2.Caption);

   an3.Caption:= Win.ReadString('W2', IntToStr(a), an3.Caption);

   an1.Caption:= Win.ReadString('W3', IntToStr(a), an1.Caption);

   Win.Free;

   yes:= an4.Caption;

  end;

 end;

end;


procedure TForm1.start();

begin

 Randomize; //Включаем генератор случайных чисел

 for i:=1 to n do mass[i] := 0; //n – количеству вопросов

 {$I-} //отключаем контроль ошибок ввода/вывода.

 //делаем все элементы видимыми для пользователя

 Memo1.Visible:= True;

 RadioGroup1.Visible:= True;

 Label1.Visible:= True;

 an1.Visible:= True;

 an2.Visible:= True;

 an3.Visible:= True;

 an4.Visible:= True;

 p1.Visible:= True;

 p2.Visible:= False;

 p3.Visible:= False;

 p4.Visible:= False;

 p5.Visible:= False;

 balls:= 0;

 Label2.Visible:= False; //прячем результаты

 Label1.Caption:= 'Первый вопрос:';

 dir2:= 'C:\base.bsd'; //путь к расшифрованной базе

 //копируем зашифрованную базу на диск С:

 CopyFile(PChar(ss), PChar(dir2), True);

 //связываем переменную f1 с зашифрованным ini-файлом

 AssignFile(f1, ss);

 //связываем переменную f2 с файлом C:\base.bsd

 AssignFile(f2, dir2);

 Reset(f1); //открываем первый файл на чтение

 Rewrite(f2); //второй – на запись

 while not Eof(fl) do

 begin //пока не достигнут конец первого файла

  Read(f1, cop); //считываем один символ из файла

  сор:= Chr(Ord(cop) xor 101); //расшифровываем символ

  Write(f2, сор); //записываем расшифрованный символ в файл

 end;

 CloseFile(f1); //закрываем первый файл

 CloseFile(f2); //закрываем второй файл

 {$I+} //включаем контроль ошибок ввода/вывода

 Win:= TIniFile.Create(dir2); //работаем с ini-файлом

 //считываем количество вопросов в базе

 ss:= Win.ReadString('num', 'num', ss);

 //преобразовываем строку в число и записываем значение в n

 n:= StrToInt(ss);

 vopr:=Random(4) + 1;

//случайное число от 1 до 4

 vars(vopr); {передаем число процедуре vars, которая сортирует варианты ответов}

end;


procedure TForm1.question_seleсt();

label ran; //метка ran для быстрого перехода

begin

 Randomize;

ran:

 a:=Random(n); //выбираем случайный вопрос из базы

 //проверяем: не задавали ли мы этот вопрос ранее

 for i:=1 to n do

  if mass[i] = a then goto ran;

 for i:=1 to n do

  if mass[i] = 0 then begin

   mass[i]:= а; {записываем номер вопроса, чтобы не задавать его больше }

   Break;

  end;

 //сбрасываем флажки со всех вариантов ответов

 an1.Checked:= False;

 an2.Checked:= False;

 an3.Checked:= False;

 an4.Checked:= False;

end;


procedure TForm1.verno();

begin

 if an1.Checked then

  if yes = an1.Caption then balls:= balls + 1;

 if an2.Checked then

  if yes = an2.Caption then balls:= balls + 1;

 if an3.Checked then

  if yes = an3.Caption then balls:= balls + 1;

 if an4.Checked then

  if yes = an4.Caption then balls:= balls + 1;

end;


procedure TForm1.N2Click(Sender: TObject);

begin

 Randomize;

 //начинаем обзор с текущего каталога

 Open1.InitialDir:= GetCurrentDir;

 if not Open1.Execute then ShowMessage('Вы не выбрали файл!')

 else begin

  ss:= Open1.FileName; //открываем выбранный файл

  zz:= ss; //запоминаем путь к базе

  start(); //начинаем тест

 end;

end;


procedure TForm1.FormCreate(Sender: TObject);

begin

 Randomize;

 //получаем каталог, в котором находится наша программа

 dir:= GetCurrentDir;

 ss:= dir + '\comp.ini'; //путь к базе вопросов

 zz:= ss;

 start(); //начинаем тест

end;


procedure TForm1.p1Click(Sender: TObject);

begin

 Label1.Caption:= 'Второй вопрос:';

 verno(); //принимаем вариант ответа

 p1.Visible:= False; //убираем первую панель

 р2.Visible:=True; //активизируем вторую панель

 vopr:= Random(4) +1; //выбираем случайный вариант ответа

 vars(vopr); //задаем вопрос

end;


procedure TForm1.p2Click(Sender: TObject);

begin

 Label1.Caption:= 'Третий вопрос:';

 verno();

 p2.Visible:= False;


На Facebook В Твиттере В Instagram В Одноклассниках Мы Вконтакте
Подписывайтесь на наши страницы в социальных сетях.
Будьте в курсе последних книжных новинок, комментируйте, обсуждайте. Мы ждём Вас!

Похожие книги на "Delphi. Учимся на примерах"

Книги похожие на "Delphi. Учимся на примерах" читать онлайн или скачать бесплатно полные версии.


Понравилась книга? Оставьте Ваш комментарий, поделитесь впечатлениями или расскажите друзьям

Все книги автора Сергей Парижский

Сергей Парижский - все книги автора в одном месте на сайте онлайн библиотеки LibFox.

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Отзывы о "Сергей Парижский - Delphi. Учимся на примерах"

Отзывы читателей о книге "Delphi. Учимся на примерах", комментарии и мнения людей о произведении.

А что Вы думаете о книге? Оставьте Ваш отзыв.