Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Массив и отчет / 8 сообщений из 8, страница 1 из 1
14.10.2003, 00:11
    #32292068
Dimaz2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Массив и отчет
Как распечатать массив через отчет?????
...
Рейтинг: 0 / 0
14.10.2003, 03:39
    #32292093
Urri
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Массив и отчет
1. Если обязательно нужен отчет, то через помещение значений элементов массива в таблицу или курсор.
Поскольку разные элементы массива могут хранить разные типы данных, нужно преобразовать их при помещении в таблицу/курсор в символьный вид.
2. Если не нужен отчет, и если не интересует внешний вид, то можно и так:

dimension a(2,2)
a(1,1)=1
a(1,2)=.t.
a(2,1)='assa'
a(2,2)=.null.
DISPLAY MEMORY LIKE a [TO PRINTER [PROMPT] ]

3. Через функцию.
Открываешь заведомо большую таблицу. Делаешь
set deleted off
REPORT FORMAT .... FOR recno()<alen(a,1)
Значения полей в отчете должны быть определены как функция fx(recno(),1), fx(recno(),2)...fx(recno(),N)

А сама функция такая
function fx
parameters y,x
return a(y,x)

4,5,6... Можно придумать еще кучу способов.

А, собственно, зачем печатать значения массива в отчете?
...
Рейтинг: 0 / 0
14.10.2003, 13:01
    #32292563
sergej57
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Массив и отчет
Попробуй массив объявить как переменную и пропиши ее в нужном месте как
поле базы. Я применял массивы комбинированно обязательно вместе с полями
таблицы или курсора. Основные данные располагаются в "Detal",а вот допустим надо посчитать сумму каких-то эмементов, по определнному правилу. Я это делаю программно до формирования отчета, а в отчет их ввожу через переменные,в качестве которых использую массив. Массив - это фактически та же переменная но каждая имеет идентификационный номер. Задай правило формирования и использования этого свойства и пользуйся. Используй так же свойство - правило печати того или иного поля. Вообще без открытой таблицы или курсора, хоть ты его и не используешь, отчет работать не будет.
...
Рейтинг: 0 / 0
14.10.2003, 16:56
    #32293004
Dimaz2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Массив и отчет
Да фига в том, что таблица не фиксированная, рости может не подням, а по часам
а нужно типа для неё репот сделать, сначала хотел все дело загнать в массив
сохранить в текстовый файл и рапечатать, но блин не красиво получается
шрифт везде однотипный, теперь говоу ломаю как через репот связять с переменной массива и все дело на печать, но засада с этим массивом!!!
...
Рейтинг: 0 / 0
15.10.2003, 12:13
    #32293874
sergej57
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Массив и отчет
Извини не понял. У тебя одна и таже структура таблицы(постоянное число
полей) или переменная? Если структура постоянная, то штатный Report с
этой задачей в основном справляется, усли нет очень крутых наворотов. Ну а если у тебя переменная структура (все время меняется число полей), то тогда дело сложней, Как правило надо более "серьезно репу морщить". Поподробней
о структуре таблицы и почему не хочешь (или не можешь) использовать в качестве источника данных таблицу.
Тогда можно дать дельный совет.
...
Рейтинг: 0 / 0
15.10.2003, 17:58
    #32294489
Dimaz2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Массив и отчет
Да, у меня поля в таблице могут добавляться постоянно, и поэтому надо это учитывать. Я как уже надумал и делаю --- типа в репорте 8 переменных , связываю их с курсором, и по частям вставляю в него данные из таблицы, а когда таблица типа кончается и не присвоенные переменные забиваю 0 и их не печатаю . Я ДУМАЯ ЭТО ПРАВИЛЬНО, ЕСЛИ ЕСТЬ КАКИЕ ТО ДРУГИЕ РЕШЕНИЯ ЭТОЙ ПРОБЛЕМЫ ПОДЕЛИТЕСЬ ПОЖАЛУСТА
...
Рейтинг: 0 / 0
15.10.2003, 23:00
    #32294693
NNN
NNN
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Массив и отчет
2Dimaz2

Есть примерчик от Microsoft, называется Reports on the Fly
http://download.microsoft.com/download/vfox60/install/6.0/w9x2k/en-us/samp_max.zip
Возможно, как раз то, что тебе нужно.
...
Рейтинг: 0 / 0
16.10.2003, 09:19
    #32294867
sergej57
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Массив и отчет
Если у тебя структура таблицы переменная, то при формировании отчета
ты их сливай в одно поле через разделитель, если они разной длины, то
выровняй по максимуму через PAD?. в отчете делаешь одно поле, опытным путем в зависемости от выбранного шрифта определяешь, сколько входит
на один стандартный лист, если больше то единое поле делишь на определенное число полей определнной длины и подключаешь определенное
число репортов. А при необходимости пользователь их склеет.
При переменном числе полей в отчете я использовал только такой способ формирования отчета, а вот названия полей, я формировал как раз через
массив. Все получается ничего если в априори известна максимально возможная длина одного поля и максимальное число полей.
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Массив и отчет / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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