:: Visual Foxpro, Foxpro for DOS
Re: импорт из необычного ТХТ
Taran

Сообщений: 13624
Откуда: Красноярск
Дата регистрации: 16.01.2008
Давай бабла на тел..
Заху...чу.
И не занимайся херней. Ежели в таких элементарных вопросах плаваешь.
Ratings: 0 negative/0 positive
Re: импорт из необычного ТХТ
akvvohinc

Сообщений: 4219
Откуда: Москва
Дата регистрации: 11.11.2008
tandem
If At("0.0",strok)>0

Слишком просто - такая подстрока и в дате может встретиться - 10.02.2018, а строки-продолжения - наоборот, будут проигнорированы.



Исправлено 1 раз(а). Последнее : akvvohinc, 26.01.18 17:37
Ratings: 0 negative/0 positive
Re: импорт из необычного ТХТ
of63

Сообщений: 25244
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
Полезно парсируемую строку превратить в ее сигнатуру. Заменяем все цифры на 0, все буквы на Б, другие знаки сохраняем. Тогда:
0.0.699855860 03.02 ВОЛОШ Ю. А5212 ГВАРДЕЙСКАЯ 6, 08.13- 08.13 30,00 0,00 - создаем ее сигнатуру ...
0.0.000000000 00.00 БББББ Б. Б0000 БББББББББББ 0, 00.00- 00.00 00,00 0,00 - сигнатура
Теперь в такой сигнатуре можно искать разные комбинации, типа 0.0.00, и найя ее мы получаем первую позицию в исходной строке. Далее ищем конечную позицию предполагаемого элемента (поиском с начальной позиции до пробела, например). найдя начальную позицию и длину извлекаем из исходной строки сам элемент...
...Не забыть про табуляции. Также можно сигнатуру сразу поделить на слова (разделитель пробел) в массив (с сохранением конечных пробелов после каждого элемента, или с указанием начальной позиции каждого элемента массива) - по массиву удобнее лазить. Также можно программно рассмотреть сам заголовок (вертикальные черты) - он дает границы элементов (если програмер соблюл их):
---------------------------------------------------------------------------------------------------------------------
| Опер | Ф.И.О. | Лицевой| Адрес/ | Счетчики | Периоды |Принятая | Комис.
№ док. | день | плательщика | счет | Телефон |н.зн. -к.зн.| оплаты | сумма | с
| | | | | | | | получ.
---------------------------------------------------------------------------------------------------------------------
Ratings: 0 negative/0 positive
Re: импорт из необычного ТХТ
TiAmAT

Сообщений: 231
Дата регистрации: 23.07.2008
tandem
* Обработка текстовой информации
clear
infile=Getfile('TXT')
If File(infile)
gnFile = Fopen(infile,10)
Else
Return
Endif
If gnFile < 0
Wait 'Не могу открыть файл' Window Nowait
Return
Endif
Clear
поручение=""
док=""
*Обработка строк пока не конец файла.
Do While !Feof(gnFile)
strok=Fgets(gnFile)
* Захват номера документа
If At("Платежное",strok)>0
?strok
поручение=Substr(strok,27,121)
?поручение
Endif
* Если документ
If At("0.0",strok)>0
?strok
?Substr(strok,6,13)
?Substr(strok,20,5)
?Substr(strok,26,15)
?Substr(strok,40,6)
*...
Endif
Enddo
=Fclose(gnFile)

здорово! как раз дошёл до раскидывания содержимого по полям. Столкнулся вот с чем: как преобразовать любое количество подряд одного и того же символа до требуемого количества ? Например, у меня есть "=========ИВАНОВ===", которое нужно привести к "=ИВАНОВ=" ?
Ratings: 0 negative/0 positive
Re: импорт из необычного ТХТ
Chemberzhy

Сообщений: 13142
Откуда: Измаил
Дата регистрации: 28.04.2009
Рядом тему про пробелы почитай, да!
Ratings: 0 negative/0 positive
Re: импорт из необычного ТХТ
Taran

Сообщений: 13624
Откуда: Красноярск
Дата регистрации: 16.01.2008
TiAmAT
здорово! как раз дошёл до раскидывания содержимого по полям. Столкнулся вот с чем: как преобразовать любое количество подряд одного и того же символа до требуемого количества ? Например, у меня есть "=========ИВАНОВ===", которое нужно привести к "=ИВАНОВ=" ?

Мозгов купить, бдля.
В соседней теме про лишние пробелы 10+ страниц текста про это.
Ну намуя, намуя вы все сука лезете в программисты?
Потом читаешь вакансии:
требуется грузчик - 40,
требуется программист - 15.

Ну намуя?
Ладно бы студент зашел чтобы сдать предмет и забыть. Но ты. Именно ты TiAmAT зарегистрирован на этом форуме почти 10 лет назад.
Ratings: 0 negative/0 positive
Re: импорт из необычного ТХТ
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
TiAmAT
здорово!
ЭТО было здорово?
[attachment 28879 facepalm.png]


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: импорт из необычного ТХТ
TiAmAT

Сообщений: 231
Дата регистрации: 23.07.2008
Taran
TiAmAT
здорово! как раз дошёл до раскидывания содержимого по полям. Столкнулся вот с чем: как преобразовать любое количество подряд одного и того же символа до требуемого количества ? Например, у меня есть "=========ИВАНОВ===", которое нужно привести к "=ИВАНОВ=" ?

Мозгов купить, бдля.
В соседней теме про лишние пробелы 10+ страниц текста про это.
Ну намуя, намуя вы все сука лезете в программисты?
Потом читаешь вакансии:
требуется грузчик - 40,
требуется программист - 15.

Ну намуя?
Ладно бы студент зашел чтобы сдать предмет и забыть. Но ты. Именно ты TiAmAT зарегистрирован на этом форуме почти 10 лет назад.

Я ж не профессионал. Периодически требуется решать некоторые задачи. Спасибо. В соседней теме нашёл элегантное решение

do while "==" $ stroka
stroka = strtr(stroka,"==", "=")
ENDDO
Ratings: 0 negative/0 positive
Re: импорт из необычного ТХТ
TiAmAT

Сообщений: 231
Дата регистрации: 23.07.2008
Igor Korolyov
TiAmAT
здорово!
ЭТО было здорово?
[attachment 28879 facepalm.png]
для меня - да. В этом примере я увидел работу некоторых конструкций, которые раньше не использовал.
Ratings: 0 negative/0 positive
Re: импорт из необычного ТХТ
Taran

Сообщений: 13624
Откуда: Красноярск
Дата регистрации: 16.01.2008
TiAmAT
Я ж не профессионал. Периодически требуется решать некоторые задачи.

Какие там задачи, в рот компот.
Ты бы жену в роддом отправил где акушер "периодически" видел как тараканы е... сношаются и на свет родятся?
Это Жизнь. Люди этому посвящают всю свою жизнь.
Ratings: 0 negative/0 positive
Re: импорт из необычного ТХТ
andreyyy

Сообщений: 427
Откуда: Днепр
Дата регистрации: 09.09.2008
-


------------------
Понимание происходящего вовсе
не означает, что у него есть смысл




Исправлено 2 раз(а). Последнее : andreyyy, 10.03.18 10:10
Ratings: 0 negative/0 positive
Re: импорт из необычного ТХТ
spinz
Автор

Сообщений: 5263
Дата регистрации: 21.01.2016
Млять, я давно так не ржал. Олегу респект
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 31 (Гостей: 31)

© 2000-2024 Fox Club 
Яндекс.Метрика