IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

> Как вывести записи с нужными параметрами?
Анастасия
сообщение 1.12.2006 23:03
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 41
Пол: Женский
Реальное имя: Анастасия

Репутация: -  0  +


Задача:
Фамилия Имя Факультативы
Мат. Физ. Инф.
Павлов Серг true false true
Мисюченко Ира true true false
Сидорон Зоя false false true
Кладов Роман true false false
Создайте массив следующего содержания и структуры, выведите фамилии и имена школьников, которые не посещают факультатив по физике или по математике.

Var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
StringGrid1.Cells[1,1] := 'Фамилия ';
StringGrid1.Cells[2,1] := 'Имя';
StringGrid1.Cells[3,1] := 'математика';
StringGrid1.Cells[4,1] := 'физика';
StringGrid1.Cells[5,1] := 'информатика';

StringGrid1.Cells[1,2] := 'Иванов';
StringGrid1.Cells[2,2] := 'Коля';
StringGrid1.Cells[3,2] := 'да';
StringGrid1.Cells[4,2] := 'да';
StringGrid1.Cells[5,2] := 'нет';

StringGrid1.Cells[1,3] := 'Петров';
StringGrid1.Cells[2,3] := 'Вася';
StringGrid1.Cells[3,3] := 'да';
StringGrid1.Cells[4,3] := 'да';
StringGrid1.Cells[5,3] := 'да';
end;

procedure TForm1.Button2Click(Sender: TObject);
var i,j:integer;
begin
for j:=2 to 3 do begin
for i:=1 to 4 do
if (StringGrid1.Cells[3,j]= 'нет') or (StringGrid1.Cells[4,j]= 'нет') then
StringGrid1.Cells[1,j]:= StringGrid1.Cells[1,j];
StringGrid1.Cells[2,j]:= StringGrid1.Cells[2,j];
end;end;

procedure TForm1.Button3Click(Sender: TObject);
var i,j:integer;
begin
for j:=2 to 3 do begin
for i:=1 to 4 do
StringGrid1.Cells[1,j]:='';
StringGrid1.Cells[2,j]:= '';
StringGrid1.Cells[3,j] := '';
StringGrid1.Cells[4,j] := '';
StringGrid1.Cells[5,j] := '';end;
end;
end.

Не знаю, как правильно задать Button2, чтобы вывелись только нужные записи.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
Анастасия
сообщение 2.12.2006 0:06
Сообщение #2


Новичок
*

Группа: Пользователи
Сообщений: 41
Пол: Женский
Реальное имя: Анастасия

Репутация: -  0  +


Это я додумала 1-й вариант своей задачи со 2-й кнопкой. Кривовато, но работает.

procedure TForm1.Button2Click(Sender: TObject);
var i,j:integer;
begin

for j:=2 to 3 do begin
for i:=1 to 4 do
begin
if (StringGrid1.Cells[3,j]= 'нет') or (StringGrid1.Cells[4,j]= 'нет') then
begin
StringGrid1.Cells[1,j]:= StringGrid1.Cells[1,j];
StringGrid1.Cells[2,j]:= StringGrid1.Cells[2,j];
StringGrid1.Cells[3,j]:= '';
StringGrid1.Cells[4,j]:= '';
StringGrid1.Cells[5,j]:= '';end;
if (StringGrid1.Cells[3,j]= 'да') and (StringGrid1.Cells[4,j]= 'да') then
begin
StringGrid1.Cells[1,j]:= '';
StringGrid1.Cells[2,j]:= '';
StringGrid1.Cells[3,j]:= '';
StringGrid1.Cells[4,j]:= '';
StringGrid1.Cells[5,j]:= '';
end;end;
end;
end;

И начала делать вариант , предложенный вами,Volvo. Но на самих записях выходит ошибка :cannot initialise local parametrs,not enough actual parametrs.

procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
x: array[1 .. 4] of record
name: string[50];
math, phys, info: boolean;
end = ( {выделяет эту строку}
(name:'Павлов Серг'; math:true; phys:false; info:true ),
(name:'Мисюченко Ира'; math:true; phys:true; info:false),
(name:'Сидорон Зоя'; math:false; phys:false; info:true ),
(name:'Кладов Роман'; math:true; phys:false; info:false)
);
begin
for i:=1 to 4 do
if (x[i].math=false) or (x[i].phys=false) then
with x[i] do
StringGrid1.Cells[i] :=x[i].name;
end;
end.


Я в Паскале более-менее разбираюсь, а здесь вообще на каждом шагу ошибки делаю. unsure.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
Анастасия   Как вывести записи с нужными параметрами?   1.12.2006 23:03
volvo   А почему ты в RunTime создаешь массив, а не на эта...   1.12.2006 23:18
Анастасия   Это я додумала 1-й вариант своей задачи со 2-й кно...   2.12.2006 0:06
volvo   Ага... Правильно... Переменная X должна быть либо ...   2.12.2006 0:13
мисс_граффити   with x[i] do StringGrid1.Cells[i] :=x[i].name; эт...   2.12.2006 12:59
Анастасия   [code=pas] with x[i] do StringGrid1.Cells[i] :=x[...   2.12.2006 20:14
мисс_граффити   ты последовательно обращаешься к элементам что так...   2.12.2006 20:44
Анастасия   stringgrid1.cells[1,i]:=x[i].name; вот при таком...   2.12.2006 20:54
мисс_граффити   :blink: можешь прикрепить проект? в архиве... все...   2.12.2006 21:21
Анастасия   RE: Как вывести записи с нужными параметрами?   2.12.2006 21:34
мисс_граффити   выводит... но ты этого не видишь, так как выводит ...   2.12.2006 21:43
Анастасия   Спасибо. Я все поняла. Выводится сообщения началис...   2.12.2006 22:32
мисс_граффити   а зачем такие сложности? дополнительный массив... ...   2.12.2006 23:01
Анастасия   Большое спасибо за помощь!   8.12.2006 22:36


 Ответить  Открыть новую тему 
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 16.07.2025 18:49
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"