Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 28.11.2015
Сообщений: 3
1

НУЖНА ПОМОЩЬ!

23.12.2015, 20:46. Показов 452. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Задание такое:
В элементе списка содержатся данные о планшетных сканерах:
-наименование модели
-цена
-горизонтальный р-р области сканирования
-вертикальный р-р области сканирования
Ввести требования по вертикальному и горизонтальному разрешения и вывести все сканеры, удовлетворяющие этому условию, организуйте из этих элементов новый список.
Изначально сделал так:
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
131
unit Unit6;
 
interface
 
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids, Math;
 
type
TForm1 = class(TForm)
Button1: TButton;
StringGrid1: TStringGrid;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Button2: TButton;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Label4: TLabel;
Edit4: TEdit;
Edit5: TEdit;
Edit6: TEdit;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Edit7: TEdit;
Edit8: TEdit;
procedure Button1Click(Sender: TObject);
procedure SetTextGrid(Sender: TObject);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
 
type Point=Record
model:string;
price,horizSize,verticSize:integer;
validation:boolean;
end;
var
Form1: TForm1;
tab: array[1..100] of Point;
boof:array[0..1]of Point;
implementation
 
{$R *.dfm}
 
procedure TForm1.Button1Click(Sender: TObject);
var price,vertical,horizontal,rows:integer;
begin
if ((Trystrtoint(Edit2.Text,price)) and (StrToInt(Edit2.Text)>0)) or ((Trystrtoint(Edit3.Text,horizontal)) and (StrToInt(Edit3.Text)>0)) or ((Trystrtoint(Edit4.Text,vertical)) and (StrToInt(Edit4.Text)>0)) then
begin
price:=StrToInt(Edit2.Text);
horizontal:=StrToInt(Edit3.Text);
vertical:=StrToInt(Edit4.Text);
if (Length(Edit1.Text)=0) or (Length(Edit3.Text)=0) or (Length(Edit4.Text)=0) then
Showmessage('Не все поля заполнены!')
else
begin
rows:=StringGrid1.RowCount;
StringGrid1.RowCount:=rows+1;
StringGrid1.Cells[0,rows]:=Edit1.Text;
StringGrid1.Cells[1,rows]:=Edit2.Text;
StringGrid1.Cells[2,rows]:=Edit3.Text;
StringGrid1.Cells[3,rows]:=Edit4.Text;
tab[rows].model:=Edit1.Text;
tab[rows].price:=price;
tab[rows].horizSize:=horizontal;
tab[rows].verticSize:=vertical;
tab[rows].validation:=false;
end;
end
else
Showmessage('Цена введена неправильно!');
end;
 
procedure TForm1.SetTextGrid(Sender: TObject);
begin
StringGrid1.Cells[0,0]:='Модель сканера';
StringGrid1.Cells[1,0]:='Цена';
StringGrid1.Cells[2,0]:='Размер горизонтали';
StringGrid1.Cells[3,0]:='Размер вертикали';
end;
 
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if pos(key,' ')<>0 then Key:=#0;
end;
 
procedure TForm1.Button2Click(Sender: TObject);
var i,minH,maxH,minV,maxV,count:integer;
begin
if StringGrid1.RowCount>1 then
if ((Trystrtoint(Edit5.Text,minH)) and (StrToInt(Edit5.Text)>0)) or ((Trystrtoint(Edit6.Text,maxH)) and (StrToInt(Edit6.Text)>0)) or ((Trystrtoint(Edit7.Text,minV)) and (StrToInt(Edit7.Text)>0)) or ((Trystrtoint(Edit8.Text,maxV)) and (StrToInt(Edit8.Text)>0)) then
begin
minH:=StrToInt(Edit5.Text);
maxH:=StrToInt(Edit6.Text);
minV:=StrToInt(Edit7.Text);
maxV:=StrToInt(Edit8.Text);
count:=1;
for i:=1 to StringGrid1.RowCount do
begin
if (tab[i].horizSize>=minH) and (tab[i].horizSize<=maxH) and (tab[i].verticSize>=minV) and (tab[i].verticSize<=maxV) then
tab[i].validation:=true
else
tab[i].validation:=false;
end;
for i:=1 to StringGrid1.RowCount do
begin
if tab[i].validation then
begin
count:=count+1;
StringGrid1.Cells[0,i]:=tab[i].model;
StringGrid1.Cells[1,i]:=IntToStr(tab[i].price);
StringGrid1.Cells[2,i]:=IntToStr(tab[i].horizSize);
StringGrid1.Cells[3,i]:=IntToStr(tab[i].verticSize);
end;
end;
StringGrid1.RowCount:=count;
end
else
showMessage('Диапазоны введены неправильно!')
else
showMessage('Нету данных для фильтрации!');
end;
 
end.
Препод отказался это принимать. Объяснил это тем, что ему нужен однонаправленный список и указатель (вроде TList). Не представляю как это сделать.
Кто поможет тому +100 к карме
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.12.2015, 20:46
Ответы с готовыми решениями:

Нужна помощь с калькулятором
1)Есть калькулятор с вводом цифр с клавиатуры: procedure TCalc.FormShortCut(var Msg: TWMKey; var...

C++ и Delphi .помощь нужна
в delfhi есть строка if pos(c3,c2) как её записать в C++?

Нужна помощь c MessageDialog
Добрый день Всем!!! конкретно речь идет о mtConfirmation я сделал на форме 3 кнопки: Yes -...

Нужна помощь в мелочи
Как написать степенное выражение. Такую нелепость забыла, например число е в степени х?:)

1
13104 / 5885 / 1706
Регистрация: 19.09.2009
Сообщений: 8,808
24.12.2015, 07:54 2
Пример: Список. В элементе списка содержатся данные об успеваемости студентов.
В этом проекте создаётся список, каждый элемент которого содержит сведения о студенте и его оценках по предметам. Затем находятся студенты, у которых только отличные оценки и из таких элементов создаётся новый список.
0
24.12.2015, 07:54
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.12.2015, 07:54
Помогаю со студенческими работами здесь

Нужна помощь в простом вопросе.
Выдает ошибку &quot;Expected'='but'('found.&quot; unit Unit1; interface uses Windows, Messages,...

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

пожалуйста, нужна ваша помощь
помогите составить 2 консольные программы на делфи 1. Дано вещественное число. Вывести данное...

Нужна помощь! День до экзамена!
Помогите написать прогу для двух задач! Не успеваю за один день все решить! Помогите пожалуйста...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru