Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Текстовый файл / 6 сообщений из 6, страница 1 из 1
10.06.2004, 12:07
    #32555915
IgorProgrammer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Текстовый файл
Можно ли как-то узнать колчество строк в текстовом файле???


Заранее спасибо...
...
Рейтинг: 0 / 0
10.06.2004, 12:35
    #32555992
Текстовый файл
Можно, открыв и прочитав его.
...
Рейтинг: 0 / 0
10.06.2004, 12:38
    #32556002
IgorProgrammer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Текстовый файл
Эт я знаю...

Текстовые файлы огромные...
и мне надо повесить процесс выполнения зачитывания(построчно)...

...
Рейтинг: 0 / 0
10.06.2004, 12:42
    #32556021
Анатолий Широков
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Текстовый файл
В лоб, если файл содержит не более 64000 строк, то с помощью alines:

Код: plaintext
? alines(laDummy, filetostr("text.txt"))

По сути, подсчитывается количество CHR(13)+CHR(10).

Если при этом надо учесть и перенос (аналог WordWrap), то использовать надо MEMLINES:

Код: plaintext
1.
2.
3.
4.
5.
set memowidth to  80 
create cursor tdummy (txt m)
select tdummy
append blank 
append memo txt from text.txt overwrite
? memlines(tdummy.txt)

Удачи.
...
Рейтинг: 0 / 0
10.06.2004, 12:51
    #32556047
IgorProgrammer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Текстовый файл
Анатолий Широков:
Сенкс...
...
Рейтинг: 0 / 0
10.06.2004, 14:41
    #32556308
XAndy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Текстовый файл
авторВ лоб, если файл содержит не более 64000 строк, то с помощью alines:
? alines(laDummy, filetostr("text.txt"))

Можно чуть отодвинуть ограничение 64K:

Код: plaintext
? occurs(chr( 13 )+chr( 10 ), filetostr("text.txt"))

Возвращается количество chr(13)+chr(10) в файле. Теперь ограничение на размер строки в фоксе (чуть меньше 16MB)
Ну а если надо еще отодвинуть ограничение до 2GB, тогда так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
iDscr = fopen("text.txt")
if iDscr> 0 
   iLines =  0 
   cChar1 = ""
   cChar2 = ""
   do while !feof(iDscr)
      cChar2 = fread(iDscr, 1 )
      if cChar1==chr( 13 ) and cChar2==chr( 10 )
         iLines = iLines +  1 
      endif
      cChar1 = cChar2
   enddo
   fclose(iDscr)
   ? iLines   
endif
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Текстовый файл / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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