![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Kak podshitati v faile kolichestvo naprimer simvolov '#'
Eksell © (2005-11-03 16:43:00)Privet vsem! Help please! Mojet kto znaet kak mojno podshitati v faile kolichestvo simvolov ('#'), i potom vyvesti v label.caprion = skoliko ih tam? Ocheni nujno. Zaranie spasibo!
PZ (2005-11-04 07:43:00) [1]>Johnmen © (04.11.05 00:13) [11]
Зато работает!
Johnmen (2005-11-04 00:13:00) [2]>Digitman ©
Серёга, а зачем по 4 кило нарезаешь?
>PZ (03.11.05 19:51) [9]
Это самый тормознутый вариант, который можно себе представить.
Eksell (2005-11-03 22:07:00) [3]Ok, PZ, balishoe te spasibo. Vseo rabotaet.
PZ (2005-11-03 19:51:00) [4]Вот простой работающий пример
procedure TForm1.Button1Click(Sender: TObject);
Var
F : file of Char;
C : Char;
I : Integer;
begin
If OpenDialog1.Execute then
AssignFile(F, OpenDialog1.FileName);
Reset(F);
I := 0;
While not EOF(F) do
begin
Read(F, C);
If C = '#' then Inc(I);
end;
Label1.Caption := IntToStr(I);
CloseFile(F);
end;
Eksell (2005-11-03 18:18:00) [5]Da ladno Digitman..., kakie blin pritenzii, k tebe ih net, spasibo konechno za kod, prosto pomogi razobratsea, ja v delphi novichok. :)
Vot oshibka : Missing Operator or Semicolon, pokazyvaet na 'Min(SizeOf(buf)'.
Digitman (2005-11-03 17:53:00) [6]
> Eksell (03.11.05 17:49) [6]
совесть имей, да ?
мало того, "халява цветет махровым цветом". так еще и с претензиями)
хоть бы сообщение об ошибке компиляции привел что ли) ... код писан "на ходу", ибо тривиален, посему не проверялся
Eksell (2005-11-03 17:49:00) [7]Ok. blagodarchik Digitman. Toliko kod ne sovsem pravelen, chota v stroke
' len := ReadBuffer(buf, Min(SizeOf(buf), Size - Position - 1));' ne to. A shto imenno???
Digitman (2005-11-03 17:33:00) [8]
> Jeer © (03.11.05 17:27) [4]
бывает)
не бери близко к сердцу)
Jeer (2005-11-03 17:27:00) [9]Digitman © (03.11.05 17:22) [3]
Раздобрел, однако. :)
Digitman (2005-11-03 17:22:00) [10]var
fs: TFileStream;
buf: array[0..4095] of Char;
i, j, len: Integer;
..
j := 0;
fs := TFileStream.Create('myfile.ext', fmRead);
with fs do
try
while Position < (Size - 1) do
begin
len := ReadBuffer(buf, Min(SizeOf(buf), Size - Position - 1));
for i := 0 to len - 1 do
if buf[i] = '#' then
Inc(j)
end;
Label.Caprion := IntToStr(j);
finally
fs.Free;
end;
Eksell (2005-11-03 17:06:00) [11]Amoeba, ja voobshem sovsem nedavno nachel izuchati delphi i poka ne vseo poneatno, esli ne trudno daite primer kak eto mojno realizovati.
Amoeba (2005-11-03 16:52:00) [12]Отображаешь файл в память и далее побайтово проходишься по нему, словно это обычный массив байтов в памяти, и тупо считаешь количество нужных тебе символов.