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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.04.2011, 10:00   #1
SpyCrypt
 
Регистрация: 09.04.2011
Сообщений: 7
По умолчанию Вывод строк

допустим ввожу я слово надо вывести строки в которых это слово встречается. Выводится. Но почему то каждая строка по 2 раза.

begin
Memo4.Clear;
n:=length(edit2.Text);
for i:=0 to Memo2.Lines.Count-1 do
begin
s:=Memo2.Lines[i];
if Length(s)>0 then
begin
for k:=1 to length(s) do begin
j:=k;
while j<=length(s) do begin
c:=copy(s,j,n);
if c=edit2.text then crypts:=s ;
j:=j+n;
end;
end;
end;
memo4.lines.Add(crypts);
end;
end;
SpyCrypt вне форума Ответить с цитированием
Старый 29.04.2011, 10:53   #2
Dark_Spirit
Форумчанин
 
Аватар для Dark_Spirit
 
Регистрация: 05.02.2009
Сообщений: 324
По умолчанию

Цитата:
Код:
begin
 Memo4.Clear;
 n:=length(edit2.Text);
 for i:=0 to Memo2.Lines.Count-1 do
 begin
 s:=Memo2.Lines[i];
 if Length(s)>0 then
 begin
 for k:=1 to length(s) do begin
 j:=k;
 while j<=length(s) do begin
 c:=copy(s,j,n);
 if c=edit2.text then crypts:=s ;
 j:=j+n;
 end;
 end;
 end;
 memo4.lines.Add(crypts);
 end;
 end;
а если переделать так:
Код:
 Memo4.Clear;
 if length(trim(edit2.text))<>0
  then
   begin
    for i:=0 to Memo2.Lines.Count-1 do
     if pos(edit2.text, Memo2.Lines[i])<>0
      then memo4.lines.add(memo2.lines[i]);
   end;
Тяжело быть бестолковым.....
Dark_Spirit вне форума Ответить с цитированием
Старый 29.04.2011, 10:58   #3
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,882
По умолчанию

настоятельно : пройдитесь трассировкой(F7) !
если не поможет - то весь код проектом в студию
по данному алгоритму у меня вопросов не возникло, но в уме трассировать как-то не торт, так что могу и ошибиться

есть мысль - не правильно поставлен Add среди end'ов, но проверять - Вам
phomm вне форума Ответить с цитированием
Старый 29.04.2011, 11:11   #4
chertovich
Форумчанин
 
Аватар для chertovich
 
Регистрация: 26.07.2009
Сообщений: 489
По умолчанию

Нужно разбивать сложный код на подпрограммы, где каждая подпрограммы выполяет свою задачу. После этого легко будет отладить что и где не так
Если в глубине души вы программист, то, следуя своим наклонностям, вы захотите написать кусок кода.
chertovich вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ассемблер, вывод строк M@Z@X@K@ Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 3 21.04.2010 19:57
Поиск и вывод строк из файла samCS PHP 8 10.03.2010 04:07
Вывод строк, лабораторная Sonyalex90 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 12 03.12.2009 22:46
Ввод/вывод строк anGeee Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 3 04.09.2009 21:58
вывод GridView строк Shouldercannon Общие вопросы Delphi 0 25.02.2009 12:07