Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Делфи _ Конвертор

Автор: 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

Спасибо за советы! Второй вариант как раз в тему получился... ;-)