Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 26.11.2014
Сообщений: 28
1

Составить программу создания и обработки 3-х файлов данных, содержащего сведения для сотрудников ГИБДД

14.04.2015, 16:18. Показов 1076. Ответов 18
Метки нет (Все метки)

База данных «Автомобили»
Составить программу создания и обработки 3-х файлов данных, содержащего сведения для
сотрудников ГИБДД.
 сведения о владельцах «Запорожцев2 хранятся в файл ZAP;
 о владельцах автомобиля «Жигули» в файле LADA;
 о владельцах автомобиля «Волга» в файле VOLGA;
Информация состоит из записей в типизированных файлах. Каждая запись должна содержать
следующие поля (о каждом автомобиле храниться следующая информация):
 регистрационный номер автомобиля (записывается в символическом виде как Б№№№№ББ,
где Б – буква, а № – цифра);
 цвет автомобиля;
 год выпуска;
 адрес владельца.
Программа должна содержать заставку и меню.
По требованию выдавать сведения об автомобиля, имеющих:
 автомобиль заданной марки определенно цвета;
 автомобиль с заданным регистрационным номером;
 автомобиль заданной марки с известной цифровой частью регистрационного номера;
 автомобиль заданного цвета;
 автомобиль заданной марки, заданного цвета с неполностью известными цифрами цифровой
части регистрационного номера.
Все задачи оформить процедурами.
После выбора задачи запросить соответствующие данные.
Исходные данные для заполнения файлов составить самостоятельно (не менее 4-х в каждом файле).
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.04.2015, 16:18
Ответы с готовыми решениями:

Разработать программу создания и корректировки файла, содержащего сведения о датах рождения сотрудников
И снова я прошу :help: с решением задачи, спасибо. В Турбо-Паскале разработать программу...

Разработать программу создания и корректировки файла, содержащего сведения о датах рождения сотрудников
помогите пожалуйста!!!!!!!!Разработать программу создания и корректировки файла, содержащего ...

Разработать программу для создания файла, содержащего сведения о фамилиях студентов
Помогите разработать программу для создания файла, содержащего сведения о фамилиях студентов...

Составить программу для обработки символьных данных
Нужно ввести с клавиатуры предложение и сделать перестановку букв так чтобы буквы из строки...

18
4936 / 3843 / 1279
Регистрация: 14.04.2014
Сообщений: 17,740
Записей в блоге: 18
14.04.2015, 17:21 2
за выдачу задания, в котором одна сущность хранится в трех файлах, я бы усомнился в компетентности преподавателя
0
0 / 0 / 0
Регистрация: 26.11.2014
Сообщений: 28
14.04.2015, 19:42  [ТС] 3
внимательно прочитайте)
сведения о владельцах «Запорожцев2 хранятся в файл ZAP;
сведения о владельцах автомобиля «Жигули» в файле LADA;
сведения о владельцах автомобиля «Волга» в файле VOLGA;
0
4936 / 3843 / 1279
Регистрация: 14.04.2014
Сообщений: 17,740
Записей в блоге: 18
14.04.2015, 20:59 4
анализ задач и разработка программ - моя работа уже лет 20...
и работа эта подсказывает, что должен быть ОДИН файл, в котором одно из полей содержит ZAP, LADA или VOLGA, а все остальные поля - что там написано дальше...
сущность здесь - автомобиль, а все остальное - её свойства - марка, цвет, номер и т.д.

Добавлено через 1 минуту
я бы спецом для препода составил бы эти три файла
но прямо в момент создания формы объединил бы это все в один и работал с ним спокойно дальше
0
0 / 0 / 0
Регистрация: 26.11.2014
Сообщений: 28
16.04.2015, 20:56  [ТС] 5
А вы можете написать программу???
0
4936 / 3843 / 1279
Регистрация: 14.04.2014
Сообщений: 17,740
Записей в блоге: 18
16.04.2015, 21:26 6
могу конечно, я пишу программы каждый день ))
но писать под заказ эту программу не буду, разместите объявление на заказе программ, там полно народу
0
0 / 0 / 0
Регистрация: 26.11.2014
Сообщений: 28
04.05.2015, 19:02  [ТС] 7
А вы сможете подсказать?
Как можно сделать поиск строки по заданным параметрам(буква или целое слово или цифра) в определенном столбце???
0
4936 / 3843 / 1279
Регистрация: 14.04.2014
Сообщений: 17,740
Записей в блоге: 18
04.05.2015, 20:51 8
в файле нет столбцов
0
241 / 191 / 94
Регистрация: 01.05.2015
Сообщений: 732
04.05.2015, 21:44 9
ProMaths, помочь тебе?
0
0 / 0 / 0
Регистрация: 26.11.2014
Сообщений: 28
05.05.2015, 12:25  [ТС] 10
Да, если не трудно) не могу доделать.

Добавлено через 5 минут
Цитата Сообщение от krapotkin Посмотреть сообщение
в файле нет столбцов
вы о каком файле??? база данных созданная в таблице стрингриде загружается в файл.
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
procedure TForm1.Button1Click(Sender: TObject);//Open
type baz=Record
   carbrands:string[50];
   modelcars:string[50];
   registrationnumber:string[50];
   color:string[50];
   modelyearcars:Real;
   addressoftheownerauto:string[50];
end;
var
  baza:baz;
  f:file of baz;
  k,x:variant;
  i,j:integer;
begin
AssignFile(f, 'C:\Users\user\Desktop\baza GAI\baza.bat');
Reset(f);
k:=1;
begin
  while not Eof(f) do
        begin
          Read(f,baza);
          StringGrid1.RowCount:=StringGrid1.RowCount+1;
          StringGrid1.Cells[0,k]:=IntToStr(k);
          StringGrid1.Cells[1,k]:=(baza.carbrands);
          StringGrid1.Cells[2,k]:=(baza.modelcars);
          StringGrid1.Cells[3,k]:=(baza.registrationnumber);
          StringGrid1.Cells[4,k]:=(baza.color);
          StringGrid1.Cells[5,k]:=FloatToStr(baza.modelyearcars);
          StringGrid1.Cells[6,k]:=(baza.addressoftheownerauto);
          k:=k+1;
        end;
StringGrid1.RowCount:=StringGrid1.RowCount-1;
end;
CloseFile(f);
Button1.Visible:=False; Button2.Visible:=True;
 
//sortirovka
for j:=1 to StringGrid1.RowCount-1 do
begin
 for i:=1 to StringGrid1.RowCount-2 do
 begin
  if (StringGrid1.Cells[1,i]>StringGrid1.Cells[1,i+1]) then
  begin//1-10
   //1
   begin
   x:=StringGrid1.Cells[1,i];
   StringGrid1.Cells[1,i]:=StringGrid1.Cells[1,i+1];
   StringGrid1.Cells[1,i+1]:=x;
   end;
   //2
   begin
   x:=StringGrid1.Cells[2,i];
   StringGrid1.Cells[2,i]:=StringGrid1.Cells[2,i+1];
   StringGrid1.Cells[2,i+1]:=x;
   end;
   //3
   begin
   x:=StringGrid1.Cells[3,i];
   StringGrid1.Cells[3,i]:=StringGrid1.Cells[3,i+1];
   StringGrid1.Cells[3,i+1]:=x;
   end;
   //4
   begin
   x:=StringGrid1.Cells[4,i];
   StringGrid1.Cells[4,i]:=StringGrid1.Cells[4,i+1];
   StringGrid1.Cells[4,i+1]:=x;
   end;
   //5
   begin
   x:=StringGrid1.Cells[5,i];
   StringGrid1.Cells[5,i]:=StringGrid1.Cells[5,i+1];
   StringGrid1.Cells[5,i+1]:=x;
   end;
   //6
   begin
   x:=StringGrid1.Cells[6,i];
   StringGrid1.Cells[6,i]:=StringGrid1.Cells[6,i+1];
   StringGrid1.Cells[6,i+1]:=x;
   end;
  end;
  end ;
  end;
end;
 
procedure TForm1.Button2Click(Sender: TObject);
type baz=Record
     carbrands:string[50];
     modelcars:string[50];
     registrationnumber:string[50];
     color:string[50];
     modelyearcars:Real;
     addressoftheownerauto:string[50];
end;
var
  baza:baz;
  f:file of baz;
  i:integer;
begin
  AssignFile(f, 'C:\Users\user\Desktop\baza GAI\baza.bat');
  for i:=1 to StringGrid1.RowCount-1 do
  Rewrite(f);
      baza.carbrands                    :=(StringGrid1.Cells[1,i]);
      baza.modelcars                    :=(StringGrid1.Cells[2,i]);
       baza.registrationnumber           :=(StringGrid1.Cells[3,i]);
        baza.color                        :=(StringGrid1.Cells[4,i]);
         baza.modelyearcars                :=StrToInt(StringGrid1.Cells[5,i]);
          baza.addressoftheownerauto        :=(StringGrid1.Cells[6,i]);
           Write(f,baza);
 
 CloseFile(f);
 end;
 
procedure TForm1.Button3Click(Sender: TObject);//+Stroka
var f:integer;
begin
  StringGrid1.RowCount:=StringGrid1.RowCount+1;
  StringGrid1.Cells[0,StringGrid1.RowCount-1]:=IntToStr(StringGrid1.RowCount-1);
  StringGrid1.Cells[1,StringGrid1.RowCount-1]:=(InputBox('Введите марку авто','','Null'));
  StringGrid1.Cells[2,StringGrid1.RowCount-1]:=(InputBox('Введите модель авто','','Null'));
  StringGrid1.Cells[3,StringGrid1.RowCount-1]:=(InputBox('Введите Регистрационный номер авто','','Null'));
  StringGrid1.Cells[4,StringGrid1.RowCount-1]:=(InputBox('Введите цвет авто','','Null'));
  StringGrid1.Cells[5,StringGrid1.RowCount-1]:=(InputBox('Введите год выпуска авто','','0'));
  StringGrid1.Cells[6,StringGrid1.RowCount-1]:=(InputBox('Введите адрес автовладельца','','0'));
end;
 
procedure TForm1.Button4Click(Sender: TObject);//удаление стр
begin
  StringGrid1.RowCount:=StringGrid1.RowCount-1;
end;
До сюда я сделал все таки с одним файлом, но дальше надо сделать поиск в таблице стрингрид

Дальше уже фигня полнейшая.
Пытался сделать поиски
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
{procedure TForm1.Button5Click(Sender: TObject);
 var
  buk,col:string;
  i,k:integer;
begin
  StringGrid1.:=1;
  k:=0;
  buk:=InputBox('Введите букву','','');
  col:=InputBox('Введите цвет','','');
  For i:=1 to StringGrid1.RowCount-1 do
  begin
    if Pos(buk,StringGrid1.Cells[1,i])=1  then
      begin
        if Pos(col,StringGrid1.Cells[4,i])=1 then
        begin
 
 
        end;
      end;
  end;
end;  }
Добавлено через 57 секунд
Цитата Сообщение от VladWH Посмотреть сообщение
ProMaths, помочь тебе?
Да, если не трудно))
0
241 / 191 / 94
Регистрация: 01.05.2015
Сообщений: 732
05.05.2015, 12:39 11
Цитата Сообщение от ProMaths Посмотреть сообщение
Да, если не трудно))
Ok) попозже выложу сюда
0
241 / 191 / 94
Регистрация: 01.05.2015
Сообщений: 732
05.05.2015, 16:00 12
Сделал для тебя полноценный пример( в приложении) того как оно должно быть...

В коде все с комментариями но все же... Создал тебе новый тип

Delphi
1
2
3
4
5
6
7
8
9
10
11
type // Тип "Машина"
  TCar = record
    Mark: string[10];        // марка
    GNum: string[6];         // номер
    FColor: TColor;          //  цвет
    FDate: integer;          // год выпуска
    OwnerAddr: string[255];  // адрес владельца
  end;
 
type // Тип массив "Машин"
  TCars = array of TCar;
И процедуры

Delphi
1
2
3
    procedure CreateCars;           // создание базу машин
    procedure SaveCars;             // сохранение базы
    procedure LoadCars;             // загрузка базы
При создании все параметры присваиваются рандомные, для этого объявил

Delphi
1
2
3
4
5
6
7
8
9
    function RGC: string;           // рандом номера
    function GOA: string;           // рандом адреса
const // Файлы для загрузки
  DB_Files: array[0..2] of string = ('ZAP','LADA','VOLGA');
  GN_Chars = ['а'..'я']; // буквы номера, названия городов
  City: array[0..4] of string = ('Москва','Санкт-Петербург',
  'Екатеринбург','Сочи','Сургут'); // и улиц
  Street: array[0..4] of string = ('Ленина','Центральная',
  'Казаков','Новая','8 марта');
Весь поиск в одной процедуре( в зависимости от значений CB и введенных данных в соответствующие поля)

Delphi
1
    procedure SearchCars;           // Поиск по параметрам
Вывод данных

Delphi
1
    procedure FillLV(FCars: TCars); // заполнение ListView
Решил, что с ListView как то удобнее.

P.S. Заставку делать не стал
1
Вложения
Тип файла: rar ГИБДД.rar (210.5 Кб, 26 просмотров)
241 / 191 / 94
Регистрация: 01.05.2015
Сообщений: 732
05.05.2015, 16:04 13
Цитата Сообщение от krapotkin Посмотреть сообщение
я бы спецом для препода составил бы эти три файла
но прямо в момент создания формы объединил бы это все в один и работал с ним спокойно дальше
Согласен и в примере для автора так и сделал
0
0 / 0 / 0
Регистрация: 26.11.2014
Сообщений: 28
06.05.2015, 21:14  [ТС] 14
Цитата Сообщение от VladWH Посмотреть сообщение
Сделал для тебя полноценный пример( в приложении) того как оно должно быть...

В коде все с комментариями но все же... Создал тебе новый тип

Delphi
1
2
3
4
5
6
7
8
9
10
11
type // Тип "Машина"
  TCar = record
    Mark: string[10];        // марка
    GNum: string[6];         // номер
    FColor: TColor;          //  цвет
    FDate: integer;          // год выпуска
    OwnerAddr: string[255];  // адрес владельца
  end;
 
type // Тип массив "Машин"
  TCars = array of TCar;
И процедуры

Delphi
1
2
3
    procedure CreateCars;           // создание базу машин
    procedure SaveCars;             // сохранение базы
    procedure LoadCars;             // загрузка базы
При создании все параметры присваиваются рандомные, для этого объявил

Delphi
1
2
3
4
5
6
7
8
9
    function RGC: string;           // рандом номера
    function GOA: string;           // рандом адреса
const // Файлы для загрузки
  DB_Files: array[0..2] of string = ('ZAP','LADA','VOLGA');
  GN_Chars = ['а'..'я']; // буквы номера, названия городов
  City: array[0..4] of string = ('Москва','Санкт-Петербург',
  'Екатеринбург','Сочи','Сургут'); // и улиц
  Street: array[0..4] of string = ('Ленина','Центральная',
  'Казаков','Новая','8 марта');
Весь поиск в одной процедуре( в зависимости от значений CB и введенных данных в соответствующие поля)

Delphi
1
    procedure SearchCars;           // Поиск по параметрам
Вывод данных

Delphi
1
    procedure FillLV(FCars: TCars); // заполнение ListView
Решил, что с ListView как то удобнее.

P.S. Заставку делать не стал

эм
можете иходный код скинуть? .Lpi Файл
0
241 / 191 / 94
Регистрация: 01.05.2015
Сообщений: 732
06.05.2015, 21:25 15
ProMaths, не понял? Какой еще lpi файл? Исходник в архиве вместе с exe-файлом постом выше. dpr - файл проекта Delphi, pas - модуль Delphi/Pascal
1
0 / 0 / 0
Регистрация: 26.11.2014
Сообщений: 28
06.05.2015, 21:31  [ТС] 16
Цитата Сообщение от VladWH Посмотреть сообщение
ProMaths, не понял? Какой еще lpi файл? Исходник в архиве вместе с exe-файлом постом выше. dpr - файл проекта Delphi, pas - модуль Delphi/Pascal
Столько труда конечно ты сделал, но все же, у меня тема "записи" и надо обязательно делать в стрингриде((((
0
241 / 191 / 94
Регистрация: 01.05.2015
Сообщений: 732
06.05.2015, 21:46 17
Цитата Сообщение от ProMaths Посмотреть сообщение
у меня тема "записи"
У меня через запись и сделано...
Цитата Сообщение от ProMaths Посмотреть сообщение
и надо обязательно делать в стрингриде
Замени на стринг грид - 5 строк всего поменять то)

Добавлено через 1 минуту
Весь вывод информации ведь в одной процедуре и там действительно 5 строк(марка,цвет,номер,год,адрес владельца)

Добавлено через 29 секунд
Это минутное дело
1
0 / 0 / 0
Регистрация: 26.11.2014
Сообщений: 28
07.05.2015, 15:37  [ТС] 18
Цитата Сообщение от VladWH Посмотреть сообщение
У меня через запись и сделано...

Замени на стринг грид - 5 строк всего поменять то)

Добавлено через 1 минуту
Весь вывод информации ведь в одной процедуре и там действительно 5 строк(марка,цвет,номер,год,адрес владельца)

Добавлено через 29 секунд
Это минутное дело
никак не разобрался, как подставить то стрингрид???
0
241 / 191 / 94
Регистрация: 01.05.2015
Сообщений: 732
07.05.2015, 16:18 19
Цитата Сообщение от ProMaths Посмотреть сообщение
никак не разобрался, как подставить то стрингрид???
У тебя есть процедура
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
procedure TGCB_F.FillLV(FCars: TCars);
var i: integer; LI: TListItem;
begin
Cars_LV.Clear; // очищаем ListView, перебираем автомобили
for i:=0 to High(FCars) do
 begin // добавляем машину
  LI := Cars_LV.Items.Add;
  LI.Caption := FCars[i].Mark;        //  марка
  with LI.SubItems do
   begin
    Add(IntToStr(FCars[i].FColor));   //  цвет
    Add(IntToStr(FCars[i].FDate));    //  год выпуска
    Add(FCars[i].GNum);               //  номер
    Add(FCars[i].OwnerAddr);          //  адрес владельца
   end;
 end;
end;
Замени на
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
procedure TGCB_F.FillLV(FCars: TCars);
var i: integer;
begin
sg.rowcount := Length(FCars);
for i:=0 to High(FCars) do
 begin // добавляем машину
  sg.cells[i,0] := FCars[i].Mark;        //  марка
  sg.cells[i,1] := IntToStr(FCars[i].FColor);   //  цвет
  sg.cells[i,2] := IntToStr(FCars[i].FDate);    //  год выпуска
  sg.cells[i,3] := FCars[i].GNum;               //  номер
  sg.cells[i,4] := FCars[i].OwnerAddr;          //  адрес владельца
 end;
end;
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.05.2015, 16:18

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Составить программу для обработки структур данных и символов
Здравствуйте! У меня очень плохо с программированием и я хотел бы попросить у вас помощи в решении...

Как составить программу обработки файла данных для авиадиспетчера
Составить программу обработки файла данных, который содержит такие записи: бортовой номер самолета,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.