4 / 4 / 0
Регистрация: 16.01.2015
Сообщений: 81
1

Записать во второй массив данные тех работников, кто на сегодняшний день проработал уже не менее 5 лет

07.02.2015, 17:51. Показов 3455. Ответов 59
Метки нет (Все метки)

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
procedure TForm22.Button1Click(Sender: TObject);
begin
close; 
end;
procedure TForm22.StringGrid1Click(Sender: TObject);
begin
StringGrid1.Cells[0,0]:='Фамилия';
StringGrid1.Cells[1,0]:='Имя';
StringGrid1.Cells[2,0]:='Отчество';
StringGrid1.Cells[3,0]:='Улица';
StringGrid1.Cells[4,0]:='Дом';
StringGrid1.Cells[5,0]:='Квартира';
StringGrid1.Cells[6,0]:='Дата';
end;
 
procedure TForm22.StringGrid2Click(Sender: TObject);
begin
StringGrid2.Cells[0,0]:='Фамилия';
StringGrid2.Cells[1,0]:='Имя';
StringGrid2.Cells[2,0]:='Отчество';
StringGrid2.Cells[3,0]:='Улица';
StringGrid2.Cells[4,0]:='Дом';
StringGrid2.Cells[5,0]:='Квартира';
StringGrid2.Cells[6,0]:='Дата';
end;
procedure TForm1.Button2Click(Sender: TObject);
var date,i,j,vvod:integer;
begin
begin
j:=1;
for i:=1 to 5 do
begin
vvod:=strtoint(edit1.text);
date:=strtoint(stringgrid1.Cells[6,i]);
date:=Abs(date-vvod);
if date>=5 then
begin
stringgrid2.cells[0,j]:=stringgrid1.cells[0,i];
stringgrid2.cells[1,j]:=stringgrid1.cells[1,i];
stringgrid2.cells[2,j]:=stringgrid1.cells[2,i];
stringgrid2.cells[3,j]:=stringgrid1.cells[3,i];
stringgrid2.cells[4,j]:=stringgrid1.cells[4,i];
stringgrid2.cells[5,j]:=stringgrid1.cells[5,i];
stringgrid2.cells[6,j]:=stringgrid1.cells[6,i];
inc(j);
end;end;end;
end;
end.
Добавлено через 1 час 32 минуты
помогите очень нужен

Добавлено через 2 минуты
вот задача
Дан массив данных о работающих в фирме: фамилия, имя, отчество, адрес (улица, дом, квартира) и дата поступления на работу (число,месяц, год).во второй массив записать только данные тех из них, кто на сегодняшний день проработал уже не менее 5 лет.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.02.2015, 17:51
Ответы с готовыми решениями:

Записать массив данные только тех работников предприятия, кто на сегодняшний день уже проработал не менее 5 лет
Дан массив данных о работающих на предприятии: фамилия, имя, отчество, адрес (улица, дом, квартира)...

Напечатать данные тех работников, кто на сегодняшний день проработал уже не менее 5 лет
Помогите решить, прошу отнестись с уважением Дан массив данных о работающих в фирме: фамилия,...

Во второй массив записать данные только о тех рабочих, кто на сегодняшний день проработал не менее 5 лет
Дан массив данных о работающих в фирме: фамилия, имя, отчество, адрес (улица,дом,квартира) и дата...

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

59
33 / 33 / 23
Регистрация: 16.04.2013
Сообщений: 212
07.02.2015, 19:13 2
В чем собственно проблема?
0
4 / 4 / 0
Регистрация: 16.01.2015
Сообщений: 81
07.02.2015, 20:25  [ТС] 3
ячейки не редактируется

Добавлено через 9 минут
там еще Form1 вместо Form22 но я в программе написал Form1 но как редактировать ячейку?
0
548 / 479 / 190
Регистрация: 11.12.2013
Сообщений: 2,494
07.02.2015, 21:18 4
Могу ошибаться, но редактировать пока рано надо сначала добавить строк в string grid. А потом редактировать.

Добавлено через 13 минут
Для редактирования инспекторе объектов Options goEditing установи в True
0
Эксперт Pascal/Delphi
4913 / 2782 / 853
Регистрация: 04.10.2012
Сообщений: 10,121
07.02.2015, 21:36 5
Цитата Сообщение от Алекcей Посмотреть сообщение
Для редактирования инспекторе объектов Options goEditing установи в True
или программно
Delphi
1
with StringGrid1 do Options :=Options+[goEditing];
0
4 / 4 / 0
Регистрация: 16.01.2015
Сообщений: 81
08.02.2015, 08:08  [ТС] 6
выдает ошибку
Миниатюры
Записать во второй массив данные тех работников, кто на сегодняшний день проработал уже не менее 5 лет  
0
548 / 479 / 190
Регистрация: 11.12.2013
Сообщений: 2,494
08.02.2015, 10:56 7
ошибка связана с тем, что где-то производится неверное преобразование строки в число (это нa всякий случай) и никак не связано с разрешением/запрещением редактирования ячеек stringgrid.
0
4 / 4 / 0
Регистрация: 16.01.2015
Сообщений: 81
08.02.2015, 11:27  [ТС] 8
помогите как делать
0
548 / 479 / 190
Регистрация: 11.12.2013
Сообщений: 2,494
08.02.2015, 12:28 9
что бы не было таких ошибок используйте TryStrToInt.
0
4 / 4 / 0
Регистрация: 16.01.2015
Сообщений: 81
08.02.2015, 12:42  [ТС] 10
vvod:=trystrtoint(edit1.text);
date:=trystrtoint(stringgrid1.Cells[6,i]);
вот так добавил и какой то ошибки дадут

Добавлено через 3 минуты
Unit1.pas(62): Not enough actual parameters
если не сложно посмотрите весь код
0
548 / 479 / 190
Регистрация: 11.12.2013
Сообщений: 2,494
08.02.2015, 12:45 11
Я правильно понял - мне предлагается сделать домашку за Вас?
0
4 / 4 / 0
Регистрация: 16.01.2015
Сообщений: 81
08.02.2015, 12:51  [ТС] 12
нееет. просто помогите
0
548 / 479 / 190
Регистрация: 11.12.2013
Сообщений: 2,494
08.02.2015, 12:55 13
Напишу вечером
1
4 / 4 / 0
Регистрация: 16.01.2015
Сообщений: 81
08.02.2015, 13:00  [ТС] 14
спасибо

Добавлено через 3 минуты
жду ответа
0
Заблокирован
08.02.2015, 13:02 15
Снова здорово.
Зачем ячейки вообще редактировать?
1
33 / 33 / 23
Регистрация: 16.04.2013
Сообщений: 212
08.02.2015, 13:02 16
как видно из твоеи ошибки в поле было "буквы" а не "числа"
0
Заблокирован
08.02.2015, 13:17 17
Лучший ответ Сообщение было отмечено бил как решение

Решение

Где собственно сами данные?

Добавлено через 9 минут
И потом..
date и vvod Integer?

Вообще по сути дела. у вас должно быть так.
В одной из колонок дата поступления на работу.
Эта строка считывается и переводиться в дату.
У вас должно быть значение текущей даты. И тоже в формате даты.
Из этого значения вычитаем дату из ячейки и потом выделяем значение "год"
Если это значение больше или равно 5 то значит можно заносить

Добавлено через 2 минуты
Вот тут как работать с датой
http://mf.grsu.by/UchProc/kons... /ch05/ch05
1
4 / 4 / 0
Регистрация: 16.01.2015
Сообщений: 81
08.02.2015, 13:26  [ТС] 18
тогда что делать?
0
Заблокирован
08.02.2015, 13:34 19
в смысле что делать?
У вас база где?
Нужно составлять?
Как вы собираетесь это сделать?
Когда база будет, то тогда решать и другие проблемы.
А сейчас надо или вводить готовую базу в первую таблицу или делать эту самую базу.
Задача то элементарнейшая.
1
4 / 4 / 0
Регистрация: 16.01.2015
Сообщений: 81
08.02.2015, 13:42  [ТС] 20
вот так сделал
Миниатюры
Записать во второй массив данные тех работников, кто на сегодняшний день проработал уже не менее 5 лет  
0
08.02.2015, 13:42
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.02.2015, 13:42
Помогаю со студенческими работами здесь

Во второй файл записать данные только тех из них, кто на сегодняшний день проработал не менее 5 лет
Помогите,пожалуйста,последняя задача по файлам! Дан текстовый файл, в котором хранятся данные о...

Посчитать количество проработавших на сегодняшний день не менее 3 лет
Дан массив данных о работающих в фирме: фамилия, имя, отчество, адрес (улица, дом, квартира) и дата...

Во второй массив записать только данные тех из них, кто взял телевизор
. Дан массив данных о клиентах пункта проката: фамилия, имя, отчество, адрес (улица, дом, квартира)...

Во второй массив записать только данные тех из клиентов, кто взял телевизор
2. Дан массив данных о клиентах пункта проката: фамилия, имя, отчество, адрес (улица, дом,...


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

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

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