Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2005.02.20;
Скачать: [xml.tar.bz2];

Вниз

Экспорт в форматированный текст   Найти похожие ветки 

 
Alex_V ©   (2005-01-13 20:01) [0]

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


 
Desdechado ©   (2005-01-13 20:34) [1]

выравнивание подумай сам, а запись в файл - элементарно.
открыть через AssignFile, OpenFile
потом в цикле по записям в датасете WriteLn с указанием нужных полей
закрыть файл CloseFile


 
Alex_V ©   (2005-01-14 20:57) [2]

Это я и сам мог сделать, нет, это не то, должен быть изяшный  вариант, это совсем не то...Кто еще что скажет???


 
Desdechado ©   (2005-01-14 21:12) [3]

а чем тебе не изящный?
ты ж критерии изящества не указал...

не нравится так, экспортируй в dbf или excel или еще
в чем проблема-то?


 
Alex_V ©   (2005-01-14 21:38) [4]

ДА в том что нет там форматирования. Выборка производится из dbf файлов, после чего необходимо чтоб определенные поля (точнее их значения) били записаны в определенное место и с надлежащим форматом, то есть столбцы данных с выравниванием, это обусловлено тем, что далее эти данные будут в автомате загружаться а определенную прогу. Формат примерно следующий:
123        ффф         123.34
12312312   ааа        1234.45

Первый столбец - длина определена, например в 20 символов в нем может стоять 5 но другое поле должно начинаться с 21 символа в строке и не смещаться, и в полях выравнивание....Вот, собственно. Если ест толковые идей - Велкам! :)


 
Anatoly Podgoretsky ©   (2005-01-14 21:40) [5]

Alex_V ©   (14.01.05 21:38) [4]
WriteLn


 
Anatoly Podgoretsky ©   (2005-01-14 21:41) [6]

Если этого недостаточно то в дополнение format
Статьи по работе с текстовыми файлами есть на моем сайте и на Королевстве Дельфи, в Лицее.


 
Alex_S   (2005-01-15 00:00) [7]

Тезка, надо просто вспомнить обычный Паскаль.
writeln(f,a:5:0,b:6:2,s:20);
где f: TextFile; a,b:real; s:string;
Просто счас книжки пишут сразу о Дэльфи, а элементарных вещей старого Паскаля почти нет. Кто раньше на Паскале работал, тот бы даже не думал о такой проблеме.


 
Alex_V ©   (2005-01-15 20:14) [8]

Дык работал я с Пасом... Просто не хочется по всем записям скакать, думал есть проще вариант, типа использовать Тестовый датасет и настроеный на текст алиас и в него как в обычную таблицу например BatchMove сделать...Ну что нибудь в этом роде. Мне кажется это не самый оптимальный метод.


 
Alex_V ©   (2005-01-15 20:14) [9]

Удалено модератором
Примечание: дубль


 
Anatoly Podgoretsky ©   (2005-01-15 20:22) [10]

Alex_V ©   (15.01.05 20:14) [8]
Вполне нормально, если у тебя есть такой датасет. Если нет то сам создай.


 
sniknik ©   (2005-01-15 20:38) [11]

Alex_V ©   (15.01.05 20:14) [8]
естественно неоптимально... знаеш как будет тормозить "Тестовый датасет" по сравнению с нормальным DB-шным? yyyyyy..... ;о)))


 
Fay ©   (2005-01-16 04:20) [12]

sniknik ©   (15.01.05 20:38) [11]
> знаеш как будет тормозить "Тестовый датасет" по
> сравнению с нормальным DB-шным?

С какого перепугу он будет тормозить? Зависит от движка.


 
sniknik ©   (2005-01-16 09:44) [13]

> С какого перепугу он будет тормозить? Зависит от движка.
так он же его сам собрался писать!!! и причем (смутные догадки) на основе стринггрида.
догадки основаны на том что нужен "прямой" доступ к записям, ну как стринггриде по индексу, это значит как минимум надо выкачивать весь рекордсет и преобразовывать или строить свой который это будет позволять. а пока рассуждения ([4]) направлены на строковые представления.

не зная почти ничего об аналогах/о том как работают базы, компаненты и т.д. обо всем связаном... думаеш у него он будет "летать"?


 
Fay ©   (2005-01-16 12:58) [14]

sniknik ©   (16.01.05 9:44) [13]
Ну разве что...


 
Alex_V ©   (2005-01-17 18:55) [15]

Sniknik: По моему ты что то путаешь парень, вл-первых я ничего  писать не собирался, а имел ввиду именно Обычный Датасет а ьексьовым я его назвал просто потому что имел ввиду что он настроен на базу текстового формата... И ненадо думать что все тут такие уж тупые. Я вижу только то что ты демагогию развел а совета нет , так может просто нечего посоветовать, тогда я бы попросил просто молчать и всего лишь. Ведь это не много. И я так и не понял откуда и причем здесь Грид, про него не было и слова...


 
sniknik ©   (2005-01-17 20:55) [16]

всего лиш предположение, причем шуточное (смайликов в упор не замечаем?)
а потом обьяснил (на вопрос!) с чего возникло...

> так может просто нечего посоветовать, тогда я бы попросил просто молчать и всего лишь.
всерьез ждеш совета? тебе же его уже дали. чтож могу вдобавок посоветовать
совет №1 открой файл (текстовый) как таблицу и делай bachmove (так вроде оно там в BDE называется) в него.
совет №2 смени компоненты/движок и делай запрос на выгрузку в текст (некоторые jet к примеру, это позволяют)
совет №3 прислушивайся к советам если спрашиваеш их к [5] например.


 
sniknik ©   (2005-01-17 20:57) [17]

сорри, совет №1 можещ пропустить... тебе там чтото кажется.


 
Alex_V ©   (2005-01-20 20:01) [18]

Ладно, проехали, сделал я все... Если кого обидел - извиняюсь, в горячке, на работе шеф напрягал а у меня 0...Теперь все ок! Спасибо за советы. :)



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2005.02.20;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.051 c
1-1107431444
Ega23
2005-02-03 14:50
2005.02.20
Динамическая загрузка DLL


10-1080597324
GanibalLector
2004-03-30 01:55
2005.02.20
MDAC и DCOM


3-1106549902
mmms
2005-01-24 09:58
2005.02.20
Господа, подскажите, почему мышь не меняет курсор, код:


14-1107225865
X9
2005-02-01 05:44
2005.02.20
mail.com


1-1107518717
elected
2005-02-04 15:05
2005.02.20
OpenCV Кто нибудь работал?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский