![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 16.11.2006
Сообщений: 175
|
![]()
Добрый вечер. Вопрос вот в чём есть файл (Opendialog.FileName) Заранее известно, что он текстовый, надо загрузить его строки в RichEdit1 и при этом отображать ход процесса (например в ProcessBar1.Position) Подскажите как узнать, сколько строк в файле(чтобы знать ProcessBar1.Max) если их не считать с помощью цикла (например while not EOF ...).A, например, с помощью, какой-нить API(только какой?)
чайник юзеру не товарищ, а сам себе враг...
Последний раз редактировалось Аlex; 14.04.2007 в 22:47. |
![]() |
![]() |
![]() |
#2 |
Пользователь
Регистрация: 12.04.2007
Сообщений: 21
|
![]()
а ты сначала загрузи файл в TStringList, а потом в цикле добавляй строки в RichEdit и отображай процесс загрузки в ProgressBar х)
Пусть баги обходят вас стороной
|
![]() |
![]() |
![]() |
#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
Пусть баги обходят вас стороной
|
![]() |
![]() |
![]() |
#4 |
добрый няша
Старожил
Регистрация: 29.10.2006
Сообщений: 4,804
|
![]()
зачем такой большой пример можно проще
примерно так Код:
|
![]() |
![]() |
![]() |
#5 |
Новичок
Джуниор
Регистрация: 16.04.2007
Сообщений: 2
|
![]()
ребят, а как с файла с данными (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 в чем косяк то ? |
![]() |
![]() |
![]() |
#6 |
Кодер
Форумчанин
Регистрация: 27.01.2007
Сообщений: 271
|
![]()
Используй TStrings для чтения
|
![]() |
![]() |
![]() |
#7 |
Новичок
Джуниор
Регистрация: 16.04.2007
Сообщений: 2
|
![]()
можно поподробнее...
|
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 16.11.2006
Сообщений: 175
|
![]()
Там же в теме ясно написано, что считать строки в цикле не желательно хотябы из-за того что придется повторять операцию два раза...Так что так не пойдет..
чайник юзеру не товарищ, а сам себе враг...
|
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 14.11.2007
Сообщений: 74
|
![]()
Добрый вечер. Подскажите как узнать, сколько строк в TXT файле?
Как Подсчитать с помощью цикла ( while not EOF) ![]()
Каждый из нас в чём-то новичок
|
![]() |
![]() |
![]() |
#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 |