![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Экспорт в форматированный текст [D7, dBase, FoxPro]
Alex_V © (2005-01-13 20:01:00)Есть задача, вывести результаты запроса в текстовый файл определенной структуры т.е. практически таблица, с полями и выравниванием в них, только в текстовом варианте. Понимаю что делается через Датасет, но как созать его и вывести в файл немного не догоняю, подтолкните пожалуйста. За малым дело встало, вся прога готова а экспорта нет...
Alex_V (2005-01-20 20:01:00) [1]Ладно, проехали, сделал я все... Если кого обидел - извиняюсь, в горячке, на работе шеф напрягал а у меня 0...Теперь все ок! Спасибо за советы. :)
sniknik (2005-01-17 20:57:00) [2]сорри, совет №1 можещ пропустить... тебе там чтото кажется.
sniknik (2005-01-17 20:55:00) [3]всего лиш предположение, причем шуточное (смайликов в упор не замечаем?)
а потом обьяснил (на вопрос!) с чего возникло...
> так может просто нечего посоветовать, тогда я бы попросил просто молчать и всего лишь.
всерьез ждеш совета? тебе же его уже дали. чтож могу вдобавок посоветовать
совет №1 открой файл (текстовый) как таблицу и делай bachmove (так вроде оно там в BDE называется) в него.
совет №2 смени компоненты/движок и делай запрос на выгрузку в текст (некоторые jet к примеру, это позволяют)
совет №3 прислушивайся к советам если спрашиваеш их к [5] например.
Alex_V (2005-01-17 18:55:00) [4]Sniknik: По моему ты что то путаешь парень, вл-первых я ничего писать не собирался, а имел ввиду именно Обычный Датасет а ьексьовым я его назвал просто потому что имел ввиду что он настроен на базу текстового формата... И ненадо думать что все тут такие уж тупые. Я вижу только то что ты демагогию развел а совета нет , так может просто нечего посоветовать, тогда я бы попросил просто молчать и всего лишь. Ведь это не много. И я так и не понял откуда и причем здесь Грид, про него не было и слова...
Fay (2005-01-16 12:58:00) [5]sniknik © (16.01.05 9:44) [13]
Ну разве что...
sniknik (2005-01-16 09:44:00) [6]> С какого перепугу он будет тормозить? Зависит от движка.
так он же его сам собрался писать!!! и причем (смутные догадки) на основе стринггрида.
догадки основаны на том что нужен "прямой" доступ к записям, ну как стринггриде по индексу, это значит как минимум надо выкачивать весь рекордсет и преобразовывать или строить свой который это будет позволять. а пока рассуждения ([4]) направлены на строковые представления.
не зная почти ничего об аналогах/о том как работают базы, компаненты и т.д. обо всем связаном... думаеш у него он будет "летать"?
Fay (2005-01-16 04:20:00) [7]sniknik © (15.01.05 20:38) [11]
> знаеш как будет тормозить "Тестовый датасет" по
> сравнению с нормальным DB-шным?
С какого перепугу он будет тормозить? Зависит от движка.
sniknik (2005-01-15 20:38:00) [8]Alex_V © (15.01.05 20:14) [8]
естественно неоптимально... знаеш как будет тормозить "Тестовый датасет" по сравнению с нормальным DB-шным? yyyyyy..... ;о)))
Anatoly Podgoretsky (2005-01-15 20:22:00) [9]Alex_V © (15.01.05 20:14) [8]
Вполне нормально, если у тебя есть такой датасет. Если нет то сам создай.
Alex_V (2005-01-15 20:14:00) [10]Удалено модератором
Примечание: дубль
Alex_V (2005-01-15 20:14:00) [11]Дык работал я с Пасом... Просто не хочется по всем записям скакать, думал есть проще вариант, типа использовать Тестовый датасет и настроеный на текст алиас и в него как в обычную таблицу например BatchMove сделать...Ну что нибудь в этом роде. Мне кажется это не самый оптимальный метод.
Alex_S (2005-01-15 00:00:00) [12]Тезка, надо просто вспомнить обычный Паскаль.
writeln(f,a:5:0,b:6:2,s:20);
где f: TextFile; a,b:real; s:string;
Просто счас книжки пишут сразу о Дэльфи, а элементарных вещей старого Паскаля почти нет. Кто раньше на Паскале работал, тот бы даже не думал о такой проблеме.
Anatoly Podgoretsky (2005-01-14 21:41:00) [13]Если этого недостаточно то в дополнение format
Статьи по работе с текстовыми файлами есть на моем сайте и на Королевстве Дельфи, в Лицее.
Anatoly Podgoretsky (2005-01-14 21:40:00) [14]Alex_V © (14.01.05 21:38) [4]
WriteLn
Alex_V (2005-01-14 21:38:00) [15]ДА в том что нет там форматирования. Выборка производится из dbf файлов, после чего необходимо чтоб определенные поля (точнее их значения) били записаны в определенное место и с надлежащим форматом, то есть столбцы данных с выравниванием, это обусловлено тем, что далее эти данные будут в автомате загружаться а определенную прогу. Формат примерно следующий:
123 ффф 123.34
12312312 ааа 1234.45
Первый столбец - длина определена, например в 20 символов в нем может стоять 5 но другое поле должно начинаться с 21 символа в строке и не смещаться, и в полях выравнивание....Вот, собственно. Если ест толковые идей - Велкам! :)
Desdechado (2005-01-14 21:12:00) [16]а чем тебе не изящный?
ты ж критерии изящества не указал...
не нравится так, экспортируй в dbf или excel или еще
в чем проблема-то?
Alex_V (2005-01-14 20:57:00) [17]Это я и сам мог сделать, нет, это не то, должен быть изяшный вариант, это совсем не то...Кто еще что скажет???
Desdechado (2005-01-13 20:34:00) [18]выравнивание подумай сам, а запись в файл - элементарно.
открыть через AssignFile, OpenFile
потом в цикле по записям в датасете WriteLn с указанием нужных полей
закрыть файл CloseFile