ActionAddAllelementExecute(Sender);// Посмотреть все записи об автомобилях в StringGrid
end;
Memo1.Lines.Add('----------------------------------------');
end;
end;
procedure TForm1.ActionDeleteExecute(Sender: TObject); //Удалить текущую запись
var
s: string;// строка для получения записи об автомобиле
bool: Boolean; // переменная которая принимает значение True, если найден хотябы один автомобиль для удаления.
begin
//устанавливаем указатели на начало списка
car:=carBegin;
bool:= false;
// проверка на наличие в массиве хотя бы одного автомобиля
if carBegin = nil then
ShowMessage('В базе нет не одной записи!!!')
else
begin
While car<>nil do // цикл While по всем автомобилям
begin
// поиск на соответствие марок автомобилей, если не введена марка автомобиля,
//то считается что марка может быть любой
if(car^.markaCar_=EditMarkaCar.Text)or(Length(EditMarkaCar.Text)=0)then
// поиск на соответствие маделей автомобилей, если не введена мадель автомобиля,
//то считается что мaдель может быть любой
if(car^.modelCar_=EditModelCar.Text)or(Length(EditModelCar.Text)=0)then
//поиск на соответствие тип кузова автомобилей, если не введена тип кузова автомобиля,
// то считается что тип кузова может быть любой
if(car^.typBasketCar_=EditTypBasketCar.Text)or(Length(EditTypBasketCar.Text)=0)then
// поиск на соответствие объема двигателя автомобилей,
//если не введен объем двигателя автомобиля,
//то считается что объем двигателя может быть любым
if(Length(EditVolumeEngineCar.Text)=0)or
(car^.volumeEngineCar_=StrToFloat(EditVolumeEngineCar.Text))then
//поиск на соответствие максимальной мощности автомобилей,
//если не введен максимальная мощность автомобиля,
//то считается что максимальная мощность может быть любым
if(Length(EditMaxPowerCar.Text)=0)or
(car^.maxPowerCar_=StrToInt(EditMaxPowerCar.Text))then
//поиск на соответствие расхода топлива автомобилей,
//если не введен расход топлива автомобиля,
//то считается что расход топлива может быть любым
if(Length(EditConsuptionFuelCar.Text)=0)or
(car^.consuptionFuelCar_=StrToInt(EditConsuptionFuelCar.Text))then
begin
if bool = false then
begin
bool:=true;
Memo1.Lines.Add('Delete >> из базы удалена следующая запись:');
end;
// формируем строку содержащую все сведения об автомобиле
s:='Delete>> '+car^.markaCar_+' '+car^.modelCar_+' /'+car^.typBasketCar_+' /';
s:=s+FloatToStr(car^.volumeEngineCar_)+'л /'+IntToStr(car^.maxPowerCar_)+'лс /';
s:=s+IntToStr(car^.consuptionFuelCar_)+'л/100';
// добавляем ее в Memo
Memo1.Lines.Add(s);
Delete();
end;
car:=car^.next_;// переходим к следующему элементу списка
end;
//Проверяем были записи
if bool = false then //записей нет
Memo1.Lines.Add('Delete >> По вашему запросу не найдено ни одной записи.');
Memo1.Lines.Add('----------------------------------------');
end;
end;
procedure TForm1.ActionAddBeforeExecute(Sender: TObject); //Добавить перед текущим элементом
var
s: string;// строка для получения записи об автомобиле
begin // проверка на заполнение полей
if (Length(EditMarkaCar.Text)=0)or (Length(EditModelCar.Text)=0)or
(Length(EditTypBasketCar.Text)=0)or (Length(EditVolumeEngineCar.Text)=0)or
(Length(EditMaxPowerCar.Text)=0)or (Length(EditConsuptionFuelCar.Text)=0)then
ShowMessage('Все поля должны быть заполнены!!!')
else
begin
new(car);// выделить память для элемента списка
// усли текущий элемент не выбран, то текщим элементом
//будет последний элемент списка
if carCurrent=nil then carCurrent:=carEnd;
// получаем от пользователя:
car^.markaCar_ :=EditMarkaCar.Text; // Марка
car^.modelCar_ :=EditModelCar.Text; // Модель
car^.typBasketCar_ :=EditTypBasketCar.Text; // Тип кузова
car^.volumeEngineCar_ :=StrToFloat(EditVolumeEngineCar.Text); //Oбъем двигателя
car^.maxPowerCar_ :=StrToInt(EditMaxPowerCar.Text); // Максимальная мощность
car^.consuptionFuelCar_ :=StrToInt(EditConsuptionFuelCar.Text); // Расход топлива в городе,л/100 км (на новой машине!)
//Вызываем процидуру Добавить перед текущим элементом
AddBefore();
// формируем строку содержащую все сведения об автомобиле
s:='Add before>> '+car^.markaCar_+' '+car^.modelCar_+' /'+car^.typBasketCar_+' /';
s:=s+FloatToStr(car^.volumeEngineCar_)+'л /'+IntToStr(car^.maxPowerCar_)+'лс /';
s:=s+IntToStr(car^.consuptionFuelCar_)+'л/100';
// добавляем ее в Memo
Memo1.Lines.Add(s);
end;
end;
procedure TForm1.ActionAddAfterExecute(Sender: TObject);//Добавить после текущего элемента
var
s: string;// строка для получения записи об автомобиле
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.