powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Вывод в текстовый файл без хвостовых пробелов
18 сообщений из 18, страница 1 из 1
Вывод в текстовый файл без хвостовых пробелов
    #37063141
men dea
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VPF 9.0 SP2 Форма,Грид.
В нем простая табличка(собственно, сама база) с 2 полями, одно из которых одно - текст со стихами.
Одна строчка - одна запись в табличке.
Хочу все содержимое вытряхнуть в обычный текстовый файл,но без концевых пробелов.
В комманд-кнопку прописал:


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
nCurRec=RECNO()
SET PRINTER TO 'C:\poema.txt' FONT ("Arial", 12 ,"B")
SET PRINTER ON
SET DEVICE TO PRINTER
IF .t.                     && Вариант  1 
      SCAN 
         ? ALLTRIM(esenin.ctrofa)
      ENDSCAN
ELSE
      LIST OFF ALLTRIM(esenin.ctrofa) TO   PRINTER         && Вариант  2 
ENDIF
SET PRINTER OFF
SET PRINTER TO
SET DEVICE TO SCREEN
GO nCurRec


В первом случае в текстовом файле к каждой строчке прицепляется случайным образом от 2 до 4 пробелов.
Во втором варианте еще хуже. ALLTRIM() вообще не работает. Все строки длиной с поле таблицы.

В чём дело? Что убрать, что добавить?
...
Рейтинг: 0 / 0
Вывод в текстовый файл без хвостовых пробелов
    #37063155
men dea
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если даже текст упростить до:

Код: plaintext
1.
2.
nCurRec=RECNO()
LIST OFF ALLTRIM(esenin.ctrofa)TO FILE 'C:\stihi.txt'
GO nCurRec

Подлых пробелов слишком много в конце каждой строчки. Откуда они берутся?
...
Рейтинг: 0 / 0
Вывод в текстовый файл без хвостовых пробелов
    #37063163
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
men dea,

кроме set space off, предложить ничего не могу.
...
Рейтинг: 0 / 0
Вывод в текстовый файл без хвостовых пробелов
    #37063173
men dea
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SET SPACE OFF не помог.
Все равно случайное количество пробелов добавляется.
...
Рейтинг: 0 / 0
Вывод в текстовый файл без хвостовых пробелов
    #37063181
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
men dea,

стоп-стоп-стоп.
"Меня терзают смутные сомненья" (с)ИВМП
автородно из которых одно - текст со стихами.Это не memo-поле случаем? ALLTRIM ведь обрезает только начальные и концевые пробелы в строке, но если у вас в середине строки есть 5 пробелов, он их не превратит в один.
...
Рейтинг: 0 / 0
Вывод в текстовый файл без хвостовых пробелов
    #37063186
Местами администратор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
men dea,
select esenin
copy to C:\stihi.txt DELIMITED with tab
...
Рейтинг: 0 / 0
Вывод в текстовый файл без хвостовых пробелов
    #37063191
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Местами администратор, навряд ли. Вариант со сканом ведь "не работает", почему этот должен?
...
Рейтинг: 0 / 0
Вывод в текстовый файл без хвостовых пробелов
    #37063195
Местами администратор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
можно попробовать

FCREATE()
FPUTS()
fclose()
...
Рейтинг: 0 / 0
Вывод в текстовый файл без хвостовых пробелов
    #37063213
men dea
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет. Это не мемо поле. Обычное текстовое поле длиной 150 символов

select esenin
copy to C:\stihi.txt DELIMITED with tab

Работает! Пробелы исчезли. Но! Этот вариант туда пихает и второе поле. Это во-первых. А во-вторых - он каждую запись ограничивает в кавычки. Даже пустные строки обрамляет 2 кавычками. Это мне не подходит. В стихах прямой речи хватает, чтобы заменить все кавычки автоматом.
...
Рейтинг: 0 / 0
Вывод в текстовый файл без хвостовых пробелов
    #37063232
men dea
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В общем, этот вариант наиболее перспективен.
От второго поля легко избавиться добавлением fields esenin.ctrofa.
Однако, от обрамления каждой строки кавычками мне непонятно как.

Fcreate и т.п. - это целый роман на Фоксе нужно написать. А нельзя ли как попроще: 2-3 строками?
Видимо, что-то нужно из опций добавить в строку

Код: plaintext
COPY to 'C:\stihi.txt'  FIELDS esenin.ctrofa  DELIMITED with tab
?
...
Рейтинг: 0 / 0
Вывод в текстовый файл без хвостовых пробелов
    #37063247
Местами администратор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
men deaFcreate и т.п. - это целый роман на Фоксе нужно написать. А нельзя ли как попроще: 2-3 строками?
Видимо, что-то нужно из опций добавить в строку

Код: plaintext
COPY to 'C:\stihi.txt'  FIELDS esenin.ctrofa  DELIMITED with tab
?

придется роман писать...
...
Рейтинг: 0 / 0
Вывод в текстовый файл без хвостовых пробелов
    #37063256
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
Copy To 'C:\stihi.txt' fields esenin.ctrofa delimited with "" with character ""
...
Рейтинг: 0 / 0
Вывод в текстовый файл без хвостовых пробелов
    #37063257
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Местами администратор,

может
Код: plaintext
1.
COPY to 'C:\stihi.txt'  FIELDS esenin.ctrofa  DELIMITED with blank
...
Рейтинг: 0 / 0
Вывод в текстовый файл без хвостовых пробелов
    #37063273
men dea
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пенсионерка, сделал. Пробелов нет. Однако, те же самые кавычки обрамляют каждую строчку.
Попробуйте из какого-нибудь своего dbf-файла вычленить текстовое поле в txt-файл этой командой. Я уж и TYPE SDF попробовал. Но там кавычек нет, зато пробелов - океан.
...
Рейтинг: 0 / 0
Вывод в текстовый файл без хвостовых пробелов
    #37063285
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
men dea,

Код: plaintext
1.
2.
use error
copy next  100  to wwz1 fiel text type deli with blank
quit

нет кавычек
...
Рейтинг: 0 / 0
Вывод в текстовый файл без хвостовых пробелов
    #37063299
men dea
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
УРА! Спасибо Владимиру М.
Все пробелы и кавычки сдохли. То, что надо!
В условиях конкурса было ограничение (до 5000 символов на стих) поэтому пришлось "глушить" все лишние знаки.Писал, используя некоторые преимущества VPF. Возможно, Владимир М. спас нового Есенина. Позднее скину ссылку на свое стихотворчество.
...
Рейтинг: 0 / 0
Вывод в текстовый файл без хвостовых пробелов
    #37063950
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: men dea
> Писал, используя некоторые преимущества VPF. Возможно, Владимир М. спас нового Есенина. Позднее скину ссылку на
> свое стихотворчество.


Ларри?

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Вывод в текстовый файл без хвостовых пробелов
    #37072479
men dea
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как обещал, кидаю ссылку на свое конкурсное стихотворение: http://www.finam.ru/analysis/newsitem5525D/default.asp
Требовалось в 5000-х байтах скрестить "Теремок" и фондовую биржу.
Кому лень читать, здесь есть звуковой файл: http://www.ta64v.narod.ru

Для экстренного сочинения стиха пришлось написать программку на VFP-9 для облегчения рифмования. Прога считала слоги, переставляла слова, строфы и т.п.

Еще раз спасибо всем, кто помог с выводом в txt-файл.

Если кому понравилось то, что получилось, очень прошу проголосовать за меня.
Не каждый день попадаются поэты - любители VFP. :)
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Вывод в текстовый файл без хвостовых пробелов
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]