| 
| 
 | Вопрос # 3 870/ вопрос открыт / | 
 |  Доброго времени суток, уважаемые эксперты!Уважаемые эксперты помогите пожалуйста.
 Как в цикле например
 
 for c:= 'a'  to 'z' doИспользовать символы не только от начальной буквы и до конечной а например которые только нужны.
 например в этом цикле нужны следующие символы
 '012abcабв'
 
 И еще вопрос.
 Подскажите пожалуйста.
 Есть файл: допустим test.txt
 
 в нём текст:
 
 1 - а1
 2 - а2
 3 - а3
 4 - а4
 ...
 
 как производить в данном файле поиск введя в Edit1 например "а3"
 и в результате если есть а3 программа выводила в мемо не только "а3"
 а полностью строку "3 - а3". Если такой строки нет. В мемо выводит
 "Искомый элемент не найден"
 
 Большое спасибо!!!
 
|  |   Вопрос задал: Генка (статус: Посетитель)Вопрос отправлен: 11 марта 2010, 15:59
 Состояние вопроса: открыт, ответов: 1.
 |  Ответ #1. Отвечает эксперт: DNK Здравствуйте, Генка!1. Если символы хранятся в строке:
 s := '012abcабв';
for i := 1 to length(s) do begin
  c := s[i];
  ....
end; 2. Загрузить файл в StringList:
 sl.LoadFromFile('test.txt');По изменению редактора выполнять:procedure TForm1.Edit1Change(Sender: TObject);
var 
    i: integer;
begin
  for i := 0  to sl.Count - 1 do
    if pos(Edit1.Text, sl[i]) > 0 then begin
      Memo1.Lines.Text := sl[i];
      exit;
    end;
  Memo1.Lines.Text := 'Искомый элемент не найден';
end;
|  | Ответ отправил: DNK (статус: Студент)Время отправки: 11 марта 2010, 16:41
 Оценка за ответ: 4
 Комментарий к оценке: Здравствуйте DNK.Спасибо за ответ! Только вот я не могу собрать в кучу ответ на второй вопрос(ПОИСК)Вот мне надо что бы программа искала строку в test.txt визуально не открывая его. Не могли бы вы подробнее написать код программы? Заранее большое спасибо!!! Правда очень нужно! |  
 Мини-форум вопросаВсего сообщений: 12; последнее сообщение — 16 марта 2010, 18:42; участников в обсуждении: 4. 
|   | Ерёмин А.А. (статус: *Администратор), 11 марта 2010, 17:53 [#1]:Генка: Советы по формулированию вопросов читали? По сути, у вас два вопроса.
 |  
|   | min@y™ (статус: Доктор наук), 11 марта 2010, 19:52 [#2]:Опять XYZ, имхо. Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  
|   | Егор (статус: 10-ый класс), 12 марта 2010, 06:31 [#3]:min@y™: да не, лаба какая-нить
 Опасайтесь багов в приведенном выше коде; я только доказал корректность, но не запускал его.— Donald E. Knuth.
 |  
|   | DNK (статус: Студент), 15 марта 2010, 15:01 [#4]:Генка! TStringList - это не визуальный класс. Прописываешь поле в секцию приват.
 
 procedure TForm1.FormShow(Sender: TObject);
begin
  sl := TStingList.Create;
  sl.LoadFromFile('test.txt');
end;
 
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  sl.Free;
end;"Digital Networked Knight" |  
|   | min@y™ (статус: Доктор наук), 15 марта 2010, 15:19 [#5]:2DNK: исправь FormShow на FormCreate, FormClose - на FormDestroy. Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  
|   | DNK (статус: Студент), 15 марта 2010, 15:43 [#6]:2min@y™: Зачем? "Digital Networked Knight" |  
|   | min@y™ (статус: Доктор наук), 15 марта 2010, 18:12 [#7]: Цитата (DNK): Зачем?  Ну ты ваще!
 Посмотри в хэлпе, когда генерятся события OnShow и OnClose.
 Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  
|   | DNK (статус: Студент), 15 марта 2010, 20:41 [#8]:Если форма закрыта, то врятли будет что-либо вводиться. "Digital Networked Knight" |  
|   | Егор (статус: 10-ый класс), 15 марта 2010, 21:09 [#9]:DNK: FormShow не является парой к FormClose
 при каждом показе формы будет создаваться новый список - утечка памяти.
 А если форма будет не главной, то закрытие формы не приведёт к освобождению памяти.
 Опасайтесь багов в приведенном выше коде; я только доказал корректность, но не запускал его.— Donald E. Knuth.
 |  
|   | min@y™ (статус: Доктор наук), 15 марта 2010, 21:16 [#10]: Цитата (DNK): Если форма закрыта, то врятли будет что-либо вводиться.  
 Ещё раз посмотри хэлп. Особенно про OnShow.
 Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  
|   | Егор (статус: 10-ый класс), 15 марта 2010, 21:19 [#11]:да, кстати! min@y™ прав  будет вообще весело...
  )) Опасайтесь багов в приведенном выше коде; я только доказал корректность, но не запускал его.— Donald E. Knuth.
 |  
|   | DNK (статус: Студент), 16 марта 2010, 18:42 [#12]:2Егор, min@y™: Завязывайте с ребусами! "Digital Networked Knight" |  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |