Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / FoxPro, Visual FoxPro Новый топик    Ответить
 Откуда пробелы?  [new]
Alfa1
Member

Откуда:
Сообщений: 33
Создаю отчет прямо из *.prg при помощи команд ? и ??. Но при этом появляются лишние "незапланированные пробелы", причем команду Noconsole я не ставила поэтому вывод идет и на экран и в файл. И тоже есть разница в пробелах между этими выводами. Как избавиться от лишних пробелов?
29 дек 03, 08:07    [476916]     Ответить | Цитировать Сообщить модератору
 Re: Откуда пробелы?  [new]
EsKor
Member

Откуда: Санкт-Петербург
Сообщений: 67
Попробуйте в полях отчета обрезать лидирующие и/или завершающие пробелы (как правило первое).

ltrim(TableName.FieldName)
или
alltrim(TableName.FieldName)
или
transform(TableName.FieldName)
29 дек 03, 08:40    [476940]     Ответить | Цитировать Сообщить модератору
 Re: Откуда пробелы?  [new]
Pavel_t
Member

Откуда: МО
Сообщений: 92
при использовании ? ?? попробуйте SET SPACE ON | OFF
и значение полей вывода дополнять до одного размера padl() или padr()
29 дек 03, 08:56    [476949]     Ответить | Цитировать Сообщить модератору
 Re: Откуда пробелы?  [new]
Alfa1
Member

Откуда:
Сообщений: 33
Программа выглядит так:
************************
??"Общая сумма доходов |За месяц"
do stroka with 8,"su"
************************
proc stroka
parameters nom,perem
rr=recno()
tt=val(tabn)
??"Н"


Результат:

| Общая сумма доходов |За месяц |

Так откуда берутся пробелы после "За месяц"?
29 дек 03, 10:50    [477124]     Ответить | Цитировать Сообщить модератору
 Re: Откуда пробелы?  [new]
Alfa1
Member

Откуда:
Сообщений: 33
Самое смешное, что я скопировала
| Общая сумма доходов |За месяц |
из результирующего файла, но когда просмотрела эту информацию опубликованной, там пробелов уже не было. У меня в файле после "За месяц" и перед | три пробела образуются в файле и при печати. Как снять чары?
29 дек 03, 10:55    [477135]     Ответить | Цитировать Сообщить модератору
 Re: Откуда пробелы?  [new]
golsa
Member

Откуда: Красноярск
Сообщений: 789
Там знак табуляции влазит, как разделитель между элементами списка вывода. Две строки вывода:
? A
?? B
эквивалентны одной:
? A,B.
Совет - сформируй все в строку, а потом ее напечатай:

my_string = "Общая сумма доходов |За месяц"
do stroka with 8,"su",my_string
? my_string
************************
proc stroka
parameters nom,perem
rr=recno()
tt=val(tabn)
my_string = my_string + "|"
30 дек 03, 04:41    [478352]     Ответить | Цитировать Сообщить модератору
Все форумы / FoxPro, Visual FoxPro Ответить