русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Исходный код модуля UnitMain.pas


Дата добавления: 2015-07-09; просмотров: 618; Нарушение авторских прав


unit UnitMain;

 

interface

 

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, ShellAPI;

 

type

TFormMain = class(TForm)

LabelFileName: TLabel;

EditFileName: TEdit;

ButtonOpen: TButton;

OpenDialog: TOpenDialog;

LabelA: TLabel;

EditA: TEdit;

LabelB: TLabel;

EditB: TEdit;

ButtonFind: TButton;

ButtonHelp: TButton;

LabelResults: TLabel;

LabelMinOdd: TLabel;

EditMinOdd: TEdit;

LabelMax: TLabel;

EditMax: TEdit;

procedure ButtonFindClick(Sender: TObject);

procedure ButtonOpenClick(Sender: TObject);

procedure ButtonHelpClick(Sender: TObject);

procedure EditFileNameChange(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

 

var

FormMain: TFormMain;

 

implementation

 

{$R *.dfm}

 

// Обработчик щелчка по кнопке поиска

procedure TFormMain.ButtonFindClick(Sender: TObject);

var

f: TextFile; // Файл, в котором ищутся строки

a: Integer; // Нижняя граница интервала

b: Integer; // Верхняя граница интервала

minOdd: Integer; // Минимальное нечетное число

max: Integer; // Максимальное число

temp: Integer; // Временная переменная

begin

// Получение исхоных данных

try



a := StrToInt(EditA.Text);

b := StrToInt(EditB.Text);

except

ShowMessage('Нецелочисленное значение границы интервала');

Exit;

end;

 

if a > b then

begin

ShowMessage('Нижняя граница интервала больше верхней');

Exit;

end;

 

AssignFile(f, EditFileName.Text);

 

// Инициализация рзультатов

minOdd := b + 1;

max := a - 1;

 

// Поиск по файлу

try



Reset(f);

while not EoF(f) do

begin

if EoLn(f) then

Readln(f);

if not EoF(f) then

begin

try



Read(f, temp);

except

ShowMessage('Нецелочисленные данные в исходном файле');

Exit;

end;

if (temp >= a) and (temp <= b) then

begin

if (temp < minOdd) and Odd(temp) then

minOdd := temp;

if temp > max then

max := temp;

end;

end;

end;

CloseFile(f);

 

// Вывод результатов

if minOdd <= b then

EditMinOdd.Text := IntToStr(minOdd)

else

EditMinOdd.Text := 'Не найдено';

 

if max >= a then

EditMax.Text := IntToStr(max)

else

EditMax.Text := 'Не найдено';

 

LabelResults.Visible := true;

LabelMinOdd.Visible := true;

LabelMax.Visible := true;

EditMinOdd.Visible := true;

EditMax.Visible := true;

except

ShowMessage('Не удалось открыть файл "' + EditFileName.Text + '"');

end;

end;

 

// Обработчик щелчка по кнопке открытия файла

procedure TFormMain.ButtonOpenClick(Sender: TObject);

begin

if OpenDialog.Execute then

EditFileName.Text := OpenDialog.FileName;

end;

 

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

procedure TFormMain.ButtonHelpClick(Sender: TObject);

begin

ShellExecute(0, 'open', 'MinOddMaxNum.chm', nil, nil, SW_MAXIMIZE);

end;

 

// Обработчик изменения исходных данных

procedure TFormMain.EditFileNameChange(Sender: TObject);

begin

// Сокрытие результатов

LabelResults.Visible := false;

LabelMinOdd.Visible := false;

LabelMax.Visible := false;

EditMinOdd.Visible := false;

EditMax.Visible := false;

end;

 

end.



<== предыдущая лекция | следующая лекция ==>
Обращение к программе для запуска | Синтаксис и семантика классов


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.024 сек.