powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Подавление вывода имени поля в команде LIST
4 сообщений из 4, страница 1 из 1
Подавление вывода имени поля в команде LIST
    #37731420
Всем доброго.
Есть задача конвертировать DBF файл в некую структуру (файл с разделителем, и по особому оформлен)
Пишу скрипт:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
SET POINT TO "."
SELECT TRANSFORM(RECCOUNT()) +"|"+ ALLTRIM((select TRANSFORM(SUM(suma),"99999999.00") FROM aval)) FROM q1 GROUP BY 1;
union all;
SELECT ;
 + "1A";
 + "|"+ALLTRIM(id) ;
 + "|"+CHRTRAN(ALLTRIM(fio)," ","|") ;
 + "|"+ALLTRIM(tran(suma,"9999999.00"));
FROM q1 nowait
list ;
 to file "Выходящий.txt";
 off


Все гарно, но есть небольшая проблема.
LIST выводит перед данными в файл две пустые строки и EXP_1 (имя поля короче)
автор
EXP_1
12|5587.00
1A|063700|Пупкин|Карабас|Мальвинович|490.30

Мне не нужно это, мне нужны чистые данные без этих имен и пустых строк.
Может ли эта команда не выводить этот мусор?
Если нет то чем мне стоит ее заменить?

Заранее спасибо
...
Рейтинг: 0 / 0
Подавление вывода имени поля в команде LIST
    #37732143
IgorNG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Программист - АВсем доброго.
Есть задача конвертировать DBF файл в некую структуру (файл с разделителем, и по особому оформлен)
Пишу скрипт:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
SET POINT TO "."
SELECT TRANSFORM(RECCOUNT()) +"|"+ ALLTRIM((select TRANSFORM(SUM(suma),"99999999.00") FROM aval)) FROM q1 GROUP BY 1;
union all;
SELECT ;
 + "1A";
 + "|"+ALLTRIM(id) ;
 + "|"+CHRTRAN(ALLTRIM(fio)," ","|") ;
 + "|"+ALLTRIM(tran(suma,"9999999.00"));
FROM q1 nowait
list ;
 to file "Выходящий.txt";
 off


Все гарно, но есть небольшая проблема.
LIST выводит перед данными в файл две пустые строки и EXP_1 (имя поля короче)
автор EXP_1
12|5587.00
1A|063700|Пупкин|Карабас|Мальвинович|490.30

Мне не нужно это, мне нужны чистые данные без этих имен и пустых строк.
Может ли эта команда не выводить этот мусор?
Если нет то чем мне стоит ее заменить?

Заранее спасибо

А как еще фокс может назвать поле SUM(suma) по умолчанию? Обзови это поле: AS Summa_Hand
А COPY TO <file> не пробовал?
...
Рейтинг: 0 / 0
Подавление вывода имени поля в команде LIST
    #37732156
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Очень странно, что у Вас не обрезаются строки по длине первой строки. По логике, у Вас все строки должны быть длиной 20 символов. Впрочем, имя поля можно убрать настройкой

Код: sql
1.
Set Headings Off


Однако пустую строку в заголовке настройками убрать не получится.

В общем случае, если нужно сконструировать текстовый файл не стандартного содержания, то это делается не групповыми командами, а по одной строке за раз. В цикле. А у Вас именно не стандартное содержание. Первая строка отличается от остальных строк.

Впрочем, если Вас устрят дополнительные разделители "|" в первой строке, то можно использовать команду

Код: sql
1.
2.
3.
4.
select (...) into cursor curResult

select curResult
Copy To "Выходящий.txt" delimited with "" with character "|"
...
Рейтинг: 0 / 0
Подавление вывода имени поля в команде LIST
    #37733092
К сожалению не устроят.
Первая строка - кол-во записей и сумма, лишних разделителей быть не должно
Остальные - детализация по каждому человеку.
Выкрутился так:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
SET POINT TO "."
SELECT бла-бла тот самый, жутковатый, из топика

fname="файл.txt"
IF FILE(fname)  
   f = FOPEN(fname,12) 
ELSE
   f = FCREATE(fname) 
ENDIF

IF f#-1 then
 SCAN
  FPUTS(f,query.rec)
 ENDSCAN
 FCLOSE(f)
ELSE
 ?"файл не открыт"
endif


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


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