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

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

07.02.2015, 17:51. Показов 3448. Ответов 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
Заблокирован
08.02.2015, 16:32 41
Author24 — интернет-сервис помощи студентам
Ты тама ещё не уснул?
Щас выдам
1
Заблокирован
08.02.2015, 16:39 42
Ну вот.
Вложения
Тип файла: rar BBB_.rar (198.8 Кб, 9 просмотров)
1
4 / 4 / 0
Регистрация: 16.01.2015
Сообщений: 81
08.02.2015, 17:29  [ТС] 43
большой спасибо

Добавлено через 1 минуту
я страницу несколько раз обновил от шести но я только что видел еще раз спасибо
0
Заблокирован
08.02.2015, 17:43 44
Ну там надо теперь писать код. Составление базы данных
Ну или самому написать базу данных в ворде и загрузить

Добавлено через 2 минуты
просто нужны данные от фонаря. Я вам дал ссылку как работать с датой. вы её прочитали?
На форме есть поля число месяц год
Эти три поля должны превратится в одну строку с форматом даты и занестись в таблицу.
как это сделать есть по той ссылке что я давал.
1
4 / 4 / 0
Регистрация: 16.01.2015
Сообщений: 81
08.02.2015, 17:46  [ТС] 45
спасибо

Добавлено через 2 минуты
да прочитал
0
Заблокирован
08.02.2015, 17:47 46
После того как у вас будет база данных. скажем персон на 10- 20, можно выполнять задание. Там есть поля текущей даты. их нужно так же сконвертировать в формат даты.
А потом брать из таблицы данные из колонки дата, преобразовывать их в формат даты и попросту вычитать из текущей даты.
Из полученного результата выделять год. Если он превышает 5 или равен, копировать соотвествующую строку их таблицы 1 в таблицу 2
1
4 / 4 / 0
Регистрация: 16.01.2015
Сообщений: 81
08.02.2015, 17:52  [ТС] 47
понял

Добавлено через 3 минуты
я никогда не работал с базы данных но стараюсь
0
Заблокирован
08.02.2015, 17:56 48
Что касается хранения.
Я вам там ввёл BBB
Это как раз для хранения базы данных.
База будет представлять простейший текстовый файл, в котром каждое поле таблицы на своей строчке.
То есть каждые 7 строк это одна строка таблицы

Добавлено через 38 секунд
Это не база данных в нормальном понимании.
Это простейшая индивидуальная база данных
1
4 / 4 / 0
Регистрация: 16.01.2015
Сообщений: 81
08.02.2015, 17:57  [ТС] 49
мхм понял
0
Заблокирован
08.02.2015, 18:07 50
Вот пример на две персоны. 14 строк тестового файла
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Кот
Матвей
Пушистик
Рыбный проспект
7
 
05.06.1514
Баба
Яга
Кощеевна
Тупик нечистой силы
13
 
01.01.0001
Добавлено через 2 минуты
Хранится он в файле, скажем Base.bs
Вы читаете это файл
Delphi
1
BBB.LoadFromFile('Base.bs');
Добавлено через 3 минуты
nnn - это количество строк в базе данных, то есть количество персон.

nnn:= BBB.count div 7;

Делим количество строк в тексте на количество полей (7) и получаем количество персон
то есть 14 строк в этом файле на 7 и получаем 2 персоны

Добавлено через 46 секунд
Ну а теперь заносим в таблицу
1
4 / 4 / 0
Регистрация: 16.01.2015
Сообщений: 81
08.02.2015, 18:15  [ТС] 51
вот я нашел как экспортировать стрингрит на ворд
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
uses
  ComObj;
 
procedure TForm1.Button1Click(Sender: TObject);
var
  WordApp, NewDoc, WordTable: OLEVariant;
  iRows, iCols, iGridRows, jGridCols: Integer;
begin
  try
    // Create a Word Instance
    // Word Instanz erzeugen
    WordApp := CreateOleObject('Word.Application');
  except
    // Error...
    // Fehler....
    Exit;
  end;
 
  // Show Word
  // Word anzeigen
  WordApp.Visible := True;
 
  // Add a new Doc
  // Neues Dok einfugen
  NewDoc := WordApp.Documents.Add;
 
  // Get number of columns, rows
  // Spalten, Reihen ermitteln
  iCols := StringGrid1.ColCount;
  iRows := StringGrid1.RowCount;
 
  // Add a Table
  // Tabelle einfugen
  WordTable := NewDoc.Tables.Add(WordApp.Selection.Range, iCols, iRows);
 
  // Fill up the word table with the Stringgrid contents
  // Tabelle ausfullen mit Stringgrid Daten
  for iGridRows := 1 to iRows do
    for jGridCols := 1 to iCols do
      WordTable.Cell(iGridRows, jGridCols).Range.Text :=
        StringGrid1.Cells[jGridCols - 1, iGridRows - 1];
 
  // Here you might want to Save the Doc, quit Word...
  // Hier evtl Word Doc speichern, beenden...
 
  // ...
 
  // Cleanup...
  WordApp := Unassigned;
  NewDoc := Unassigned;
  WordTable := Unassigned;
end;
0
Заблокирован
08.02.2015, 18:15 52
Delphi
1
for i:=0 to BBB.count-1 do T1.Cells[i mod 7, i div 7]:= BBB.Strings[i];
Вот так одной строчкой
0
4 / 4 / 0
Регистрация: 16.01.2015
Сообщений: 81
08.02.2015, 18:16  [ТС] 53
спасибо за совет спасибо за помощь и я дальше я попробую
0
Заблокирован
08.02.2015, 18:17 54
да брось ты. делай как говорю я.

Добавлено через 33 секунды
ну пробуй. только в тупик не зайди
0
4 / 4 / 0
Регистрация: 16.01.2015
Сообщений: 81
08.02.2015, 18:18  [ТС] 55
ой извиняюсь

Добавлено через 47 секунд
аха
0
Заблокирован
08.02.2015, 18:35 56
Лучший ответ Сообщение было отмечено бил как решение

Решение

ага, ошибочка. надо так

Delphi
1
for i:=0 to BBB.count-1 do T1.Cells[i mod 7, i div 7 + 1]:= BBB.Strings[i];
Добавлено через 1 минуту
мой тебе совет. открой новый проект и поупрожняся на датах
Просто так. я те дал ссылку попробуй всё что там в таблице. все операции с датой. чтоб лучше запомнилось

Добавлено через 3 минуты
вот так.
я те дал текстовый файл. скопируй его.
ну сделай тестовый файл в блокноте, но чтобы в нём было ровно 14 строк
и сохрани под именем что я сказал
а в кнопку "загрузить" впиши вот этот код
Delphi
1
2
3
4
5
6
7
8
procedure TForm1.SpeedButton5Click(Sender: TObject);
var
i:Integer;
 
begin
BBB.LoadFromFile('Base.bs');
for i:=0 to BBB.count-1 do T1.Cells[i mod 7, i div 7 + 1]:= BBB.Strings[i];
end;
Добавлено через 30 секунд
ну и увидишь что будет

Добавлено через 3 минуты
осталось создать базу данных самому.
тут просто надо каждое поле формы добавлять в таблицу на нужное место и добавляnь его в BBB

Добавлено через 31 секунду
только вот дату надо перевести в нужный формат

Добавлено через 38 секунд
Ладно, я видимо тебя уже достал. Пробуй.

Добавлено через 1 минуту
и кстати, подумай что я назвал ошибкой и почему.
0
4 / 4 / 0
Регистрация: 16.01.2015
Сообщений: 81
08.02.2015, 18:41  [ТС] 57
я сохранил блокнот где стоит проект правильно
0
4 / 4 / 0
Регистрация: 16.01.2015
Сообщений: 81
08.02.2015, 18:51  [ТС] 58
получился
Миниатюры
Записать во второй массив данные тех работников, кто на сегодняшний день проработал уже не менее 5 лет  
0
4 / 4 / 0
Регистрация: 16.01.2015
Сообщений: 81
08.02.2015, 18:55  [ТС] 59
я готов слушать даже до утро
0
Заблокирован
08.02.2015, 19:38 60
Ну вот. так и должно быть


В принципе для вашего задания можно убрать все эти едиты и оставить только текущую дату загрузить и пуск

Добавлено через 1 минуту
а базу данных написать таким вот образом

Добавлено через 1 минуту
в общем делайте дальше сами если сможете.
база данных есть. загружается . остаётся только уточнить формат даты
0
08.02.2015, 19:38
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.02.2015, 19:38
Помогаю со студенческими работами здесь

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

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

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

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


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

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