Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
04.07.2013, 10:46
|
|||
---|---|---|---|
|
|||
Считывание текстового файла более 300 Мб |
|||
#18+
Доброго времени суток! Помогите пожалуйста в решении такой проблемы, нужно считать данные с текстового файла более 300 метров. Код: for ix = 1 to ALINE(aParse,FileToStr(tekfail)) IF AT(fam+'|Специалист по ведению архива|',AParse[m.ix])=0 then new_str=new_str+aParse[m.ix]+CHR(13)+CHR(10) endif ENDFOR не работает, т.к. функция FileToStr(tekfail)) выдает ошибку недостаточно памяти. Код: SET MEMOWIDTH TO 700 CREATE CURSOR Contents(Content M) APPEND BLANK APPEND MEMO Content FROM ALLTRIM(tekdir+'\spto\'+ALLTRIM(maskbkdox(i,1))) FOR ix=1 TO MEMLINES(Content) if ATLINE(fam+'|Специалист по ведению архива|', MLINE(content,ix))=0 then res_str='' res_str=MLINE(content,ix)+CHR(13)+CHR(10) STRTOFILE(res_str, newfail,.T.) endif WAIT WINDOW 'Работаем'+tekfail nowait endfor работает сутками. Помогите пожалуйста в решении проблемы ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.07.2013, 10:59
|
|||
---|---|---|---|
|
|||
Считывание текстового файла более 300 Мб |
|||
#18+
Раз всё равно читается весь файл, почему не читать его построчно (FGETS)? С каждой строкой сразу делать что нужно. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.07.2013, 11:43
|
|||
---|---|---|---|
|
|||
Считывание текстового файла более 300 Мб |
|||
#18+
По fgets не пробовала, но там же надо указывать сколько байтов считывать нужно. Если возможно, напишите пример кода. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.07.2013, 12:24
|
|||
---|---|---|---|
|
|||
Считывание текстового файла более 300 Мб |
|||
#18+
ProgramGirlПо fgets не пробовала, но там же надо указывать сколько байтов считывать нужно. И Вы сие утверждение можете подтвердить цитатой из документации? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.07.2013, 12:29
|
|||
---|---|---|---|
|
|||
Считывание текстового файла более 300 Мб |
|||
#18+
Это необязательный параметр, но как вы себе тогда представляете считывать построчно. Всё же хочется увидеть пример кода ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.07.2013, 12:50
|
|||
---|---|---|---|
|
|||
Считывание текстового файла более 300 Мб |
|||
#18+
ProgramGirlкак вы себе тогда представляете считывать построчно.Точно так же ка и Ваше Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.07.2013, 12:57
|
|||
---|---|---|---|
Считывание текстового файла более 300 Мб |
|||
#18+
ProgramGirlЭто необязательный параметр, но как вы себе тогда представляете считывать построчно. Всё же хочется увидеть пример кода Как построчно считать файл низкого уровня ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.07.2013, 13:00
|
|||
---|---|---|---|
Считывание текстового файла более 300 Мб |
|||
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.07.2013, 22:48
|
|||
---|---|---|---|
Считывание текстового файла более 300 Мб |
|||
#18+
Код: sql 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.07.2013, 04:37
|
|||
---|---|---|---|
Считывание текстового файла более 300 Мб |
|||
#18+
PaulWist, Посмотрел пример от "piva", но возник вопрос, как можно объявить в этом примере переменную "o", например для работы с Excel, писал всегда LOCAL loexcel AS excel.APPLICATION loexcel=CREATEOBJECT('Excel.Application') а для работы с Scripting.FileSystemObject, как объявить переменную o o=CreateObject("Scripting.FileSystemObject") ... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.07.2013, 05:04
|
|||
---|---|---|---|
Считывание текстового файла более 300 Мб |
|||
#18+
q1w1e1LOCAL loexcel AS excel.APPLICATIONСтранно... Обычно при позднем связывании используется просто Код: sql 1.
Ваш вариант (с явным указанием типа) требует подключенной библиотеки в референсах. Хотя, ваша правда, - при этом IntelliSense хоть работает... Scripting.FileSystemObject - это часть объектной модели Windows Scripting Host, можете подключить его. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.07.2013, 06:58
|
|||
---|---|---|---|
Считывание текстового файла более 300 Мб |
|||
#18+
что надо написать в Local для переменной o для WSH, чтоб подключался IntelliSense, и что значит(или как) подключить WSH PS: не знаю что такое референс(это же не балет) в вашем контексте(...подключенной библиотеки в референсах) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.07.2013, 07:19
|
|||
---|---|---|---|
Считывание текстового файла более 300 Мб |
|||
#18+
q1w1e1, tools - intellisense manager - types - type libraries - отметить "windows script host object model" Код: sql 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.07.2013, 08:07
|
|||
---|---|---|---|
Считывание текстового файла более 300 Мб |
|||
#18+
спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.07.2013, 11:31
|
|||
---|---|---|---|
|
|||
Считывание текстового файла более 300 Мб |
|||
#18+
Помог код предложенный piva :) PUBLIC gnhandle new_str='' res_str='' strr='' fam=INPUTBOX('Input','Input') tekfail=GETFILE() newfail=ALLTRIM(tekdir+'\spto\result.txt') o=CREATEOBJECT("Scripting.FileSystemObject") loFile=o.GetFile(tekfail) loTextStrem=loFile.OpenAsTextStream() WITH loTextStrem DO WHILE NOT .AtEndOfStream tekline='' tekline=.ReadLine() if AT( ALLTRIM(fam+'|Специалист по ведению архива|'), ALLTRIM(tekline))=0 then res_str='' res_str=tekline+CHR(13)+CHR(10) STRTOFILE(res_str, newfail,.T.) endif Enddo .Close() Endwith считывает файл за пару минут) Спасибо всем огромное! Если можете, киньте ссылку где можно больше прочитать про функции Windows Scripting Host ... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.07.2013, 12:11
|
|||
---|---|---|---|
Считывание текстового файла более 300 Мб |
|||
#18+
ProgramGirlЕсли можете, киньте ссылку где можно больше прочитать про функции Windows Scripting Host http://www.script-coding.com/WSH.html ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=41&mobile=1&tid=1582976]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
34ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
others: | 271ms |
total: | 407ms |
0 / 0 |