![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Есть форма на которой изображен план-график пролета спутника. Время пролета отображается shape-ом определенной длины(расположен под шкалой времени). для каждого часа предусмотрен один shape. Также массив есть двухмерный -
Код:
Prolet:array[1..24,1..3]of integer первое - час прилета в сектор, второе - 1)флаг, сигнализирующий о пролете в данный час; 2) начало пролета в минутах; 3) продолжительность пролета в минутах... плюс к этому должен быть файл с данными времен пролета. необходимо из этого файла(формат .txt) получить данные и забить их в массив. |
|
#2
|
|||
|
|||
|
формат файла в студию.
|
|
#3
|
|||
|
|||
|
Файл будет txt и содержать информацию следующего вида:
1-0510+0142-0159+0230-0238+........и так далее, где 1-код класса спутника 0510-дата пролета число и месяц +0142-0159+ - время пролета: начало и конец... |
|
#4
|
||||
|
||||
|
Нужно написать простой парсер который бы разбевал все ети данные. А нелехче ли использовать типизированные файлы (если это конечно возможно)????
Последний раз редактировалось Bars1992, 11.07.2010 в 12:41. |
|
#5
|
|||
|
|||
|
Спасибо конечно за совет, но я такого никогда не делал, так что для меня это вряд ли будет просто... Было бы замечательно увидеть пример кода, если это конечно возможно...
|
|
#6
|
|||
|
|||
|
|
|
#7
|
|||
|
|||
|
Код:
procedure FmtStrToList(S : String; L : TStringList);
var
I : Integer;
Buf : String;
begin
Buf := '';
For I := 1 To Length(S) Do
If Not (S[i] In ['-','+'])
Then Buf := Buf + S[i]
Else
Begin
L.Add(Buf);
Buf := '';
End;
L.Add(Buf);
end;Разбивает твою строку на лексемы. Если лексемы идут в строгом порядке, то просто формируешь из них массив/звпись/что-то-там-еще. Если нет и + и - значащие, то на основе этого кода пишешт свой. |