| 
| 
 | Вопрос # 6 671/ вопрос открыт / | 
 |  Доброго времени суток, уважаемые эксперты!Пишу код для поиска слова по маске, uses Mask пользоваться не хочу.
 По моей логике, код должен работать, но он не работал, я попробовал снова и итог был тем же. После чего мои нубские мозги выдали еррор и вот я тут.
 
 В memo1 на разных строчках есть два слова "дом" и "дым". В Edit1 маска "д_м" должна отослать эти два слова в Memo2 но ничего не происходит.
 Как починить?
 Приложение:Переключить в обычный режим for i:=0 to Memo1.Lines.Count do if Memo1.Lines.Strings[i].Length=Length(Edit1.Text) then  begin   q1:=0;   q2:=0;   for q:=1 to Length(Edit1.Text) do    if not(Edit1.Text[q]='*') then     Inc(q2);    for q:=1 to Length(Edit1.Text) do     begin    if (Memo1.Lines.Strings[i].Chars[q]=Edit1.Text[q]) then     Inc(q1);    if q2=q1 then     begin      Memo2.Text:=Memo2.Text+Memo1.Lines.Strings[i]+#13#10     end;    end;   end;
|  |   Вопрос задал: ugorek (статус: Посетитель)Вопрос отправлен: 20 июля 2017, 15:06
 Состояние вопроса: открыт, ответов: 0.
 |  
 Мини-форум вопросаВсего сообщений: 6; последнее сообщение — 25 июля 2017, 08:41; участников в обсуждении: 2. 
|   | DNK (статус: Студент), 20 июля 2017, 15:24 [#1]:Перед людьми, которые умеют пользоваться дебагом, такого вопроса не возникает. 
 Именно тот случай:
 
 Цитата: Гораздо проще установить точку остановки и последовательно выполнить каждую строчку кода, чем провести часы за изучением того же самого кода, пытаясь выяснить, в каком месте он начал работать не так, как это было задумано нами. "Digital Networked Knight" |  
|   | ugorek (статус: Посетитель), 20 июля 2017, 15:26 [#2]:Решилась бы проблема дебагом, не задавал бы я тут этого вопроса. Условие на повышение q1 не прокатывает, а как написать по другому я не знаю. |  
|   | DNK (статус: Студент), 20 июля 2017, 15:35 [#3]:Дебаг всё покажет почему условия не прокатывают. "Digital Networked Knight" |  
|   | ugorek (статус: Посетитель), 20 июля 2017, 15:37 [#4]:Даже если и покажет, как починить я всё равно не знаю, нет вариантов. Ващ. |  
|   | DNK (статус: Студент), 21 июля 2017, 14:06 [#5]:т.е. вообще не знаешь как реализовать алгоритм? тогда гуглить "алгоритм поиска текста" или задать вопрос иначе с полным описанием необходимого функционала, ибо этого: Цитата: В memo1 на разных строчках есть два слова "дом" и "дым". В Edit1 маска "д_м" должна отослать эти два слова в Memo2-маловато будет. Кроме того, в вопросе вижу противоречие: в маске символ "_", а в коде идет сравнение с "*". Так какая в итоге маска должна быть? "Digital Networked Knight" |  
|   | ugorek (статус: Посетитель), 25 июля 2017, 08:41 [#6]:С символом опечатался, "_" должна быть вместо "*". Я уже решил проблему всё таки использовав модуль Masks :I |  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |