|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
14.04.2007, 22:36 | #1 |
Форумчанин
Регистрация: 16.11.2006
Сообщений: 175
|
Колиество строк в файле
Добрый вечер. Вопрос вот в чём есть файл (Opendialog.FileName) Заранее известно, что он текстовый, надо загрузить его строки в RichEdit1 и при этом отображать ход процесса (например в ProcessBar1.Position) Подскажите как узнать, сколько строк в файле(чтобы знать ProcessBar1.Max) если их не считать с помощью цикла (например while not EOF ...).A, например, с помощью, какой-нить API(только какой?)
чайник юзеру не товарищ, а сам себе враг...
Последний раз редактировалось Аlex; 14.04.2007 в 22:47. |
14.04.2007, 23:07 | #2 |
Пользователь
Регистрация: 12.04.2007
Сообщений: 21
|
а ты сначала загрузи файл в TStringList, а потом в цикле добавляй строки в RichEdit и отображай процесс загрузки в ProgressBar х)
Пусть баги обходят вас стороной
|
14.04.2007, 23:59 | #3 |
Пользователь
Регистрация: 12.04.2007
Сообщений: 21
|
а ешо можешь попробовать вот такой способ. эвристический. ага:
var F : TextFile; S : String; L : Integer; Avrg : Integer; Cntr : Integer; FileSize : Integer; H : THandle; begin H := FileOpen( 'test.txt', fmOpenRead ); FileSize := GetFileSize( H, nil ); FileClose( H ); AssignFile( F, 'test.txt' ); Reset( F ); Avrg := 0; Cntr := 0; ReadLn( F, S ); Avrg := Length( S ); FileSize := ( FileSize div Avrg ) * 2; while not EOF( F ) do begin L := Length( S ); Inc( Cntr ); Avrg := ( Avrg + L ) div 2; L := ( FileSize + ( FileSize div Avrg ) ) div 2; L := ( Cntr * 100 ) div L; if ProgressBar1.Position < L then ProgressBar1.Position := L; Memo1.Lines.Add( S ); ReadLn( F, S ); end; ProgressBar1.Position := 100; end; PS. свойство ProrgessBar1.Max равнятся 100
Пусть баги обходят вас стороной
|
15.04.2007, 16:38 | #4 |
добрый няша
Старожил
Регистрация: 29.10.2006
Сообщений: 4,804
|
зачем такой большой пример можно проще
примерно так Код:
|
16.04.2007, 03:05 | #5 |
Новичок
Джуниор
Регистрация: 16.04.2007
Сообщений: 2
|
как с файла с данными (txt файл) забрать данные в массивы?
ребят, а как с файла с данными (txt файл) забрать данные в массивы? чет никак не получается.
Файл вида: 10 11 12 20 21 22 30 31 32 и т.д. кусок моего кода... begin OpenDialog1.Execute; if length(Opendialog1.filename)<> 0 then begin AssignFile(f,Opendialog1.filename); Reset(f); //readln(f,comm, commentline); while not EOF(f) do begin i:=1; repeat readln(f,a,b,c); //readln(f,a1[i],b1[i],c1[i]); A1[i]:=a; B1[i]:=b; C1[i]:=c; i:=i+1; until i<=3; edit2.Text:=(A1[2]); edit1.Text:=(C1[3]); end; end; CloseFile(f); end; получается вообщем A1[1]=30,B1[1]=31,C1[1]=32 а хотелось A1[1]=10,B1[1]=11,C1[1]=12 в чем косяк то ? |
16.04.2007, 09:57 | #6 |
Кодер
Форумчанин
Регистрация: 27.01.2007
Сообщений: 271
|
Используй TStrings для чтения
|
16.04.2007, 12:35 | #7 |
Новичок
Джуниор
Регистрация: 16.04.2007
Сообщений: 2
|
можно поподробнее...
|
17.04.2007, 21:44 | #8 |
Форумчанин
Регистрация: 16.11.2006
Сообщений: 175
|
Там же в теме ясно написано, что считать строки в цикле не желательно хотябы из-за того что придется повторять операцию два раза...Так что так не пойдет..
чайник юзеру не товарищ, а сам себе враг...
|
17.05.2008, 18:39 | #9 |
Пользователь
Регистрация: 14.11.2007
Сообщений: 74
|
Добрый вечер. Подскажите как узнать, сколько строк в TXT файле?
Как Подсчитать с помощью цикла ( while not EOF)
Каждый из нас в чём-то новичок
|
17.05.2008, 21:57 | #10 |
Старожил
Регистрация: 06.08.2007
Сообщений: 2,183
|
Вот что нашол(на основе количестве символов $0A):
Код:
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Секции в ини файле | russian-stalker | Общие вопросы Delphi | 1 | 02.09.2008 19:04 |
Расчет числа строк в типизированном файле | 1234 | Паскаль, Turbo Pascal, PascalABC.NET | 6 | 20.05.2008 11:14 |
Excel max 256 строк VS user надо 300 строк | Exo | Microsoft Office Excel | 3 | 10.01.2008 17:14 |
Поиск в файле | lin | Помощь студентам | 3 | 25.05.2007 08:40 |
Поиск одинаковых строк в файле | ATL | Помощь студентам | 13 | 02.05.2007 01:05 |