Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: VB

Программирование VB

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как быстро сохранить данные в текстовый файл?
 
 автор: clever77   (15.05.2011 в 15:39)   личное сообщение
 
 

Здравствуйте, помогите разобраться как можно быстро сохранить большой объем данных в текстовый файл:

Почему спрашиваю:
Если исп цикл для диапазона А50:А1048576 - это займет порядка 8с, а если исп
X = Range("A50:A1048576") - то менее 1с.
Плюс сохранение в файл

FNAME = "C:\TEXT_TXT\VB_txt.txt"
FNUM = FreeFile
Open FNAME For Binary Access Write As FNUM
Put FNUM, , X
Close FNUM

И все файл готов
Единственная проблема в том , что если открыть в текстовом редакторе увидим абра-кадабру, а хотелось бы видеть значения из диапазона А50:А1048576

Можно ли по аналогии, сделать запись файла где будут отражены именно значения данных( разделенных запятой к примеру), а не бинарный код...

Меняю (Binary Access Write) на Output, а (Put) на Write

И…… НЕ работает……
Не могу понять как переменную X преобразовать в строку.....

Спасибо.

  Ответить  
 
 автор: час   (15.05.2011 в 18:29)   личное сообщение
 
 

может при открытии шрифт выбрать - Terminal

  Ответить  
 
 автор: clever77   (16.05.2011 в 00:23)   личное сообщение
 
 

А как это поможет????
Поясню
1. работаю в VB
2. В диапазоне А50:А1048576 - числа
3. Необходимо их записать в текст файл

Можно заполнить массив через цикл, потом по средствам Join преобразовать его в строку и далее записать в файл.... Это работает...
Но хочется ускорить процесс, не применять цикл
Нашел как быстро переменной присвоить весь диапазон данных
X = Range("A50:A1048576")
И вся проблема преобразовать переменную X в строковую переменную.

  Ответить  
 
 автор: ДрЮня   (16.05.2011 в 00:39)   личное сообщение
 
 

в стринг Ваши значения не влезут
http://msdn.microsoft.com/ru-ru/library/wdzat713.aspx

  Ответить  
 
 автор: clever77   (16.05.2011 в 04:16)   личное сообщение
 
 

Про подобное ограничение мне говорили, но вот что интересно....
Если а() массив, то
MyString = Join(а, [","]) работает и вроде без ограничения....

Если А=Range, то
MyString = Join(А, [","]) не работает

Завтра перепроверю, а то уже поздновато, но помоему так.... И это странно

  Ответить  
 
 автор: час   (16.05.2011 в 08:19)   личное сообщение
 
 

MyString = str(Join(А, [","])) ? а так -не работает
или msgbox Join(А, [","]) - не работает?

можно сохранять порционно по 32000 строк

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList