Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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]

Отображаешь файл в память и далее побайтово проходишься по нему, словно это обычный массив байтов в памяти, и тупо считаешь количество нужных тебе символов.


Наверх

Титульная страница Поиск, карта сайта Написать письмо