Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.07.2009, 13:57   #1
valiza
 
Регистрация: 03.07.2009
Сообщений: 8
Восклицание не получается прога на делфи.поиск символов в файле

всем драсте)суть такова.есть этот код:
var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
i,j,k,x: integer;
s1,s: string;
begin


k:=0;

for i := 0 to Memo1.Lines.Count - 1 do
Begin
s1:= Edit1.Text;
s := Memo1.lines[i];
for j := 0 to Length(s)-1 do
Begin
if s[j] = Edit1.Text then k := k + 1;
end;

Label2.Caption := IntToStr(k);

end;

end;
procedure Tform1.Button2Click(Sender: TObject);
begin
Memo1.Lines.LoadFromFile('gh.txt');

end;


end.



програма делает подсчет символов в загружонном файле(txt)
мне нужно что б она считала не только по одному символу,а и несколько символов подряд..но чет не выходит нифигапомогите если не трудно)
кто не рискует,tот не умеет жить...
valiza вне форума Ответить с цитированием
Старый 03.07.2009, 14:14   #2
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

во первых эту строку for j := 0 to Length(s)-1 do
лучше переделать на for j := 1 to Length(s) do т.к. нумерация строки начинается с 1
эту строку s1:= Edit1.Text; можно вынести за пределы цикла. например после строки k:=0; никчему это
а несколько символов подряд можно считать с помощью ф-ии Pos
Код:
if Pos(Edit1.Text,s)<>0 then k := k + 1;
Только тогда лучше это проверять в цикле while
если я вообще правильно понял выражение
Цитата:
несколько символов подряд
SERG1980 вне форума Ответить с цитированием
Старый 03.07.2009, 14:41   #3
valiza
 
Регистрация: 03.07.2009
Сообщений: 8
По умолчанию

тоесть я в эдите пишу символ и прога считает количество в файле символов:например "а" и выдается некое количество.а когда пишу например "аа" не считает уже нифига и выдает результат 0
кто не рискует,tот не умеет жить...
valiza вне форума Ответить с цитированием
Старый 03.07.2009, 14:48   #4
valiza
 
Регистрация: 03.07.2009
Сообщений: 8
По умолчанию

чуть переделал:
k:=0;
s1:= Edit1.Text;
for i := 0 to Memo1.Lines.Count - 1 do
Begin

s := Memo1.lines[i];
for j := 1 to Length(s) do
Begin
if s[j] = Edit1.Text then k := k + 1;
end;
while x>0 do
begin
if Pos(Edit1.Text,s)<>0 then k := k + 1;
end;

Label2.Caption := IntToStr(k);

end;

end;
procedure Tform1.Button2Click(Sender: TObject);
begin
Memo1.Lines.LoadFromFile('gh.txt');

end;


end.



всеравно не считает два символа подряд
кто не рискует,tот не умеет жить...
valiza вне форума Ответить с цитированием
Старый 03.07.2009, 15:00   #5
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

Что то вроде этого
Код:
procedure TForm1.Button1Click(Sender: TObject);
var i,k:integer;
    s:string;
begin
 k:=0;
 for i := 0 to Memo1.Lines.Count - 1 do
 Begin
  s := Memo1.lines[i];
  while Pos(Edit1.Text,s)<>0 do
  begin
   k:=k+1;
   Delete(s,Pos(Edit1.Text,s),Length(edit1.Text));
  end;
 end;
 label2.Caption:=inttostr(k);
end;
SERG1980 вне форума Ответить с цитированием
Старый 03.07.2009, 15:07   #6
valiza
 
Регистрация: 03.07.2009
Сообщений: 8
По умолчанию

Огромнейшее спасибо.задача выполняется)щас буд разбираться с кодом)
кто не рискует,tот не умеет жить...
valiza вне форума Ответить с цитированием
Старый 03.07.2009, 15:49   #7
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Цитата:
количество в файле символов:например "а" и выдается некое количество.а когда пишу например "аа" не считает уже нифига и выдает результат 0
А Вы уверены что 'аа' - это есть символ?
puporev вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Посчитать количество символов в файле Sabyr Помощь студентам 1 31.05.2009 18:50
Не получается добавить в memo текст больше 255 символов Norton Общие вопросы Delphi 8 01.04.2009 11:58
Поиск символов в текстовом файле. Uomo Общие вопросы Delphi 8 24.10.2007 15:57