|  | 
 
 | 
| 
 | |||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны | 
|  | 
|  | Опции темы | Поиск в этой теме | Опции просмотра | 
| 
			 
			#1  
			
			
			
			
		 | |||
| 
 | |||
|  Как прочитать все данные с ini файла Всем привет. Вопрос такой, у меня сохраняются данные о температуре в ini файле. Сохраняются по дате и времени, причём с разным интервалом. Мне необходимо прочитать данные за прошедшие сутки и построить график. Вопрос как это сделать? Я разобрался как прочитать одну запись, и то необходимо знать дату и точное время, до секунды, а как прочитать все данные за сутки? При чём в ini файле хранятся данные за несколько суток. Можно было бы прочитать и за все сутки, но тогда необходимо будет как то двигать график на экране, что бы найти нужный кусок графика. | 
| 
			 
			#2  
			
			
			
			
		 | |||
| 
 | |||
|   Для полноценного ответа хотелось бы видеть пример содержимого ini-файла. В обзем виде - читать все, потом в памяти отфильтровать. Если есть возможность переделать код сохранения, то можно сохранять данные по секциям. Т.е. каждая дата (именно дата) будет храниться в отдельной секции. Тогда можно будет просто читать секцию и уже дальше работать с этими данными. Пример организации ini-файла в таком варианте: Код: 
 | 
| 
			 
			#3  
			
			
			
			
		 | |||
| 
 | |||
|   У меня вроде так и сохраняется, в таком виде. [05.05.2022] 15:35:14=23 15:40:16=23 15:41:16=23 15:42:16=23 15:43:16=23 15:44:16=23 15:45:16=23 15:46:16=23 15:47:16=23 15:48:16=23 15:49:16=24 15:50:16=24 15:51:16=24 15:52:16=24 15:53:16=24 И как прочитать всю секцию? Последний раз редактировалось vodovoz, 14.06.2022 в 10:22. | 
| 
			 
			#4  
			
			
			
			
		 | |||
| 
 | |||
|   У TIniFile есть метод - ReadSection - читает всю секцию в TStrings: Код: 
 | 
| 
			 
			#5  
			
			
			
			
		 | |||
| 
 | |||
|   Я смог, только прочитать количество записей, вывел в Label и время измерения температуры, вывел в ListBox. А как  вывести данные о температуре, соответствующие этому времени, и присвоить их графику в Chart ? | 
| 
			 
			#6  
			
			
			
			
		 | |||
| 
 | |||
|   | 
| 
			 
			#7  
			
			
			
			
		 | |||
| 
 | |||
|   Не могу понять, почему считывается только время записи, а как прочитать данные, которые относятся к этому времени? | 
| 
			 
			#8  
			
			
			
			
		 | |||
| 
 | |||
|   ReadSection читает тебе именно имена ключей. Если хочешь сразу читать и имена и данные, то используй ReadSectionValues | 
| Этот пользователь сказал Спасибо lmikle за это полезное сообщение: | ||
|  
vodovoz (30.06.2022)
 | ||
| 
			 
			#9  
			
			
			
			
		 | |||
| 
 | |||
|   lmikle, а при таком считывании, потом,  возможно будет разделить дату и данные, что бы использовать при построении графика? | 
| 
			 
			#10  
			
			
			
			
		 | |||
| 
 | |||
|   Да, секция читается в формате Key=Value. Т.е. надо обращаться к считанным данным через соотв. св-во TStringList. Если правильно помню, то через sl.Values[KeyName] Как то так: Код: 
 | 
| Этот пользователь сказал Спасибо lmikle за это полезное сообщение: | ||
|  
Gareth (02.07.2022)
 | ||