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

Работа с временем

05.09.2012, 13:47. Показов 880. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Нужно сформировать таблицу из таблицы по такому типу:

1. таблица:

00:00:58 1
00:01:02 0
00:01:40 1
00:01:50 0
00:01:55 0
00:01:56 1
00:02:01 1
00:02:05 1
00:02:59 1
00:03:01 1

из 1 таблицы сформировать следующее:

00:00:58 1
00:01:56 1
00:02:59 1

Как такое можно сделать?

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

т.е. нужны данные на конец каждой минуты.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.09.2012, 13:47
Ответы с готовыми решениями:

Работа с временем
В программе задано время, в формате hh:mm (например 21:00). Как высчитать количество часов, которые...

работа с временем
привет всем. требуется, чтобы в зависимости от времени в lable выводился разный текст. например:...

Работа с временем :)
Здравствуйте, уважаемые программисты всея форума! У меня к вам новый вопрос :)) Недавно увидел...

Работа со временем
Как правильно из даты например 2011-12-06 вычесть 7 дней и получить 2011-11-29? подскажите

7
210 / 169 / 24
Регистрация: 24.04.2012
Сообщений: 615
05.09.2012, 13:50 2
Нифига не понятно, что такое конец минуты?

Почему "00:02:01 1" - конец минуты, а "00:01:55 0" концом минуты не является?
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
05.09.2012, 14:07 3
И вообще что такое конец минуты?
0
539 / 399 / 99
Регистрация: 18.08.2012
Сообщений: 1,024
05.09.2012, 15:36 4
Как это сделать, понятно. Непонятно, что представляют из себя сами таблицы. Но если допустить, что часы, минуты и секунды первой таблицы занесены в массивы Hour1, Min1, Sec1, а вторую таблицу затем заполнить из массивов Hour2, Min2, Sec2, то можно сделать примерно так
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
Var
............
Hour1, Min1, Sec1, Hour2, Min2, Sec2 : Array[1..20] of byte;
............
Function MinuteFinish(TableSize: integer): integer;
//TableSize - число строк в исходной таблице
Var i,  k : integer;
    hourX, minX : byte;
    yes     : boolean;
  begin
    k:=0;
    hourX:=hour1[1];
    minX :=min1[1];
    For i:=2 to TableSize do
     If (hourX<>hour1[i]) or (minX<>min1[i]) then
       begin
          inc(k);
          hour2[k]:=hour1[i-1]; min2[k]:=min1[i-1]; sec2[k]:=sec1[i-1];
          hourX:=hour1[i];
          minX :=min1[i];
          yes:=true;
       end
     Else yes:=false;
    If not yes then
     begin
        inc(k);
        hour2[k]:=hour1[TableSize]; min2[k]:=min1[TableSize]; sec2[k]:=sec1[TableSize];
     end;
    MinuteFinish:=k;  //функция вернет число "конца" минут
  end;
Надеюсь понятно, что массивы Hour2, Min2, Sec2 послужат для заполнения второй таблицы
1
0 / 0 / 0
Регистрация: 18.07.2012
Сообщений: 49
05.09.2012, 16:41  [ТС] 5
Цитата Сообщение от Nutserus Посмотреть сообщение
Нифига не понятно, что такое конец минуты?

Почему "00:02:01 1" - конец минуты, а "00:01:55 0" концом минуты не является?

Где Вы это увидели?

Добавлено через 24 секунды
Dmitrinik, спасибо, попробую
0
210 / 169 / 24
Регистрация: 24.04.2012
Сообщений: 615
05.09.2012, 16:44 6
Цитата Сообщение от KraterMPN Посмотреть сообщение
Где Вы это увидели?
Ой, ну что мы тут под дурачка косим, сообщение отредактировал сразу как прочел ответ, и теперь "Где Вы это увидели?"...
0
0 / 0 / 0
Регистрация: 18.07.2012
Сообщений: 49
05.09.2012, 16:49  [ТС] 7
нет, отредактировал сообщение я через секунд 30 после того, как создал его. После Вашего сообщения я ничего не редактировал. Поэтому, пожалуйста без "дурачка".

Поэтому и спросил - "где Вы это увидели?".
0
134 / 133 / 22
Регистрация: 29.08.2012
Сообщений: 353
05.09.2012, 18:25 8
по моему масивов через чур много, если формат записей всегда один и тот же например: hh:mm:ss[Space]текст то можно просто строку обрабатывать и работать с ней через DataTime я делал читалку логов, брал строку из файла тхт бил ее на части в масивы Strings(StringList) и обрабатывал время отдельно, щас пошукаю прогу попробую код сбросить

Добавлено через 19 минут
Delphi
1
ListBox5.Items.Add(Copy(s,a,b));
этой операцией мы копируем разные куски кода в разные масивы, тебе хватит двух листбоксов, 1 для времени, 2й для данных.
далее про время:
Delphi
1
2
var tdt1,tdt2: TDateTime;
tdt1:=StrToTimeDef(inp[k,l],0);
этой мы из строки делаем время, а дальше работаем с ней как со временем, в еденице 24 часа, тоесть если tdt=0,50 то в строке это будет как 12:00:00, ну и так далее тип данных Double где целая часть =дата, дробная=время, дата в твоих расчетах не участвует поэтому целую часть можно не трогать

Добавлено через 10 минут
так как тебе надо находить только данные на конец минуты/часа то ставишь планку n = (1/1440) и сравниваешь свою строку с этим числом, ищешь ближайшее снизу(n>tdt), нашел запомнил, если время превысило планку, поднимаешь n:=n+1/1440, и так далее
0
05.09.2012, 18:25
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.09.2012, 18:25
Помогаю со студенческими работами здесь

Работа со временем
procedure TForm1.Button1Click(Sender: TObject); var s: String; FS: TFormatSettings; begin...

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

Работа с датой и временем
ребят...к примеру есть у меня переменная типа дата-время: str:='12.03.2011 12:23:54';...

Работа с Датой и Временем
Всем привет, помогите решить задачи с датой и временем, ни когда не с сталкивался еще с этим и не...


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

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