Delphi. Учимся на примерах | страница 10
> spaces: TLabel;
> lines: TLabel;
> Button1: TButton;
> Edit1: TEdit;
> Button2: TButton;
> Open1: TOpenDialog;
> procedure Button1Click(Sender: TObject);
> procedure Button2Click(Sender: TObject);
>private
> { Private declarations }
>public
> { Public declarations }
>end;
>var Form1: TForm1;
>implementation
>{$R *.dfm}
>procedure TForm1.ButtonlClick(Sender: TObject); begin
> //начинаем обзор с текущей папки
> Open1.InitialDir:= GetCurrentDir;
> if Open1.Execute // открываем диалоговое окно выбора файла
> then Edit1.Text:= Open1.FileName
> else ShowMessage('Файл не выбран!');
>end;
>procedure TForm1.Button2Click(Sender: TObject);
>var
> f: file of byte; //Переменная для работы с файлом
> str: byte; //Содержит считанный байт
> oldstr, symbol, word, line, space: Integer;
>begin
> symbol:= 0; //обнуляем предыдущие результаты
> word:= 0;
> space:= 0;
> line:= 0;
> if FileExists(Edit1.Text) //проверяем, существует ли файл
> then begin
> AssignFile(f,Edit1.Text) ; //связываем файл с переменной f
> reset(f); //открываем файл на чтение
> while not eof(f) do
> begin //читаем файл до достижения конца файла
> oldstr:= str;
> Read(f, str); //считываем символ в переменную str
> if ((str <> 32) and (str <> 13) and (str <> 10))
> then symbol := symbol + 1; {пополняем количество символов, если он не является переводом строки, кодом новой строки или пробелом}
> //если считан пробел, пополним счетчик пробелов
> if str = 32 then space:= space + 1;
> if str = 13 then line:= line + 1; //счетчик строк
> if ((str = 32) or (str = 13) or (str = 10)) then
> if ((oldstr<>32) and (oldstr<>10) and (oldstr<>13))
> then word: = word + 1; //счетчик слов
> end;
> CloseFile(f); //закрываем файл
> end
> else ShowMessage('Ошибка: Файл не найден !'); {если файл не найден, то выводим сообщение об ошибке}
> symbols.caption:= IntToStr(symbol); //Выводим всю
> spaces.caption:= IntToStr(space); //полученную
> lines.caption:=IntToStr(line); //информацию о файле
> words.caption:= IntToStr(word);
> end;
>end.
⊚ Все файлы проекта и исполняемый файл рассмотренной программы находятся на прилагаемом к книге компакт-диске в папке Chapter 03.
Глава 4
Снимок экрана
Постановка задачи
Разработать программу, которая будет снимать и сохранять копию экрана.
Разработка формы
Создайте новый проект Delphi и измените заголовок формы (свойство Caption) на Screenshot. Чтобы пользователь не мог изменять размеры окна при работе с программой, следует присвоить свойству BorderStyle значение bsDialog. Для удобства создания копий экрана окно программы должно быть всегда размещено поверх остальных окон. Для этого присвоим свойству FormStyle значение fsStayOnTop. Мы можем себе это позволить: на самой копии экрана окно нашей программы отображено не будет, поскольку в момент создания копии оно будет временно сокрыто.