Гость
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Вывод в текстовый файл без хвостовых пробелов / 18 сообщений из 18, страница 1 из 1
17.01.2011, 18:47
    #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
17.01.2011, 19:01
    #37063155
men dea
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывод в текстовый файл без хвостовых пробелов
Если даже текст упростить до:

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

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

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

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

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

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

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

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

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

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

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

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

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

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


Ларри?

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

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

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

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


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