Автор: Ulay 10.08.2006 16:19
Люди добрые, помогите кто чем может!
Срочно надо написать небольшую прогу. Надо из одного Memo считать данные таблицы и на основе них в другом Memo сформировать другую таблицу.
Вот примеры таблиц:
Исходная.
Код
--------------------------------------------------------------------------------
N|Интервал, кол. |Тип и номер | Хар-ка ствола замера |Фамилия начальника
|точек и дата |прибора, дата |-------------------------|
|исследования |поверки | Ствол |ЛБТ|ТБПВ|УБТ|
--------------------------------------------------------------------------------
1 10.0-370.0 Пят 13 + 0 0 Иванив
601, 01.06.06 -//-
2 320.0-630.0 Пят 13 + 0 0 Петров
602, 02.06.06 -//-
3 380.0-1270.0 АД 666 + 0 0 Содоров
603, 03.06.06 -//-
--------------------------------------------------------------------------------
Сформерованная.
Код
------------------------------------------------------------
Док. Дата Оператор Прибор УБТ ЛБТ ТБПВ Тчк
------------------------------------------------------------
1 01.06.06 Иванив Пят 13 0 + 0 601
2 02.06.06 Петров Пят 13 0 + 0 602
3 03.06.06 Сидоров АД 666 0 + 0 603
Как видно в первой таблице двойные строки + общее количество строк может быть любым!
Помогите пожалуйста ОЧЕНЬ НАДО!!! По срокам ГОРЮ... Всем откликнувшимся заранее БОЛЬШОЕ СПАСИБО!!!
Автор: lapp 11.08.2006 10:02
Ничего сложного, кроме одного - по какому признаку разделять поля в первой (входной) таблице?
Первый способ - по определенному символу. Если это пробел, то не совсем понятно, как отличать внутренние пробелы от разделяющих. Ведь пробелы есть и внутри полей - например, поле даты. Самое непонятное - поле названия прибора. Насколько я понял, количество пробелов в нем не регламентировано (то есть, может быть любым).
Второй вариант - различать поля по позиции символов в строке, скажем поле названия занимает символы с 21 по 27. Если позиционность везде строго выдержана во входном файле, то этот способ будет работать.
Код
1 10.0-370.0 Пят 13 + 0 0 Иванив
601, 01.06.06 -//-
А о двойной строке и их количестве беспокоиться не нужно..
Автор: Гость 14.08.2006 10:26
Спасибо за советы! Второй вариант как раз в тему получился... ;-)