Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 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™

min@y™ (статус: Доктор наук), 11 марта 2010, 19:52 [#2]:

Опять XYZ, имхо.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
Егор

Егор (статус: 10-ый класс), 12 марта 2010, 06:31 [#3]:

min@y™:
да не, лаба какая-нить
Опасайтесь багов в приведенном выше коде; я только доказал корректность, но не запускал его.
— Donald E. Knuth.
DNK

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™

min@y™ (статус: Доктор наук), 15 марта 2010, 15:19 [#5]:

2DNK: исправь FormShow на FormCreate, FormClose - на FormDestroy.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
DNK

DNK (статус: Студент), 15 марта 2010, 15:43 [#6]:

2min@y™: Зачем?
"Digital Networked Knight"
min@y™

min@y™ (статус: Доктор наук), 15 марта 2010, 18:12 [#7]:

Цитата (DNK):

Зачем?

Ну ты ваще!
Посмотри в хэлпе, когда генерятся события OnShow и OnClose.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
DNK

DNK (статус: Студент), 15 марта 2010, 20:41 [#8]:

Если форма закрыта, то врятли будет что-либо вводиться.
"Digital Networked Knight"
Егор

Егор (статус: 10-ый класс), 15 марта 2010, 21:09 [#9]:

DNK:
FormShow не является парой к FormClose
при каждом показе формы будет создаваться новый список - утечка памяти.
А если форма будет не главной, то закрытие формы не приведёт к освобождению памяти.
Опасайтесь багов в приведенном выше коде; я только доказал корректность, но не запускал его.
— Donald E. Knuth.
min@y™

min@y™ (статус: Доктор наук), 15 марта 2010, 21:16 [#10]:

Цитата (DNK):

Если форма закрыта, то врятли будет что-либо вводиться.


Ещё раз посмотри хэлп. Особенно про OnShow.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
Егор

Егор (статус: 10-ый класс), 15 марта 2010, 21:19 [#11]:

да, кстати! min@y™ прав :)
будет вообще весело... :)))
Опасайтесь багов в приведенном выше коде; я только доказал корректность, но не запускал его.
— Donald E. Knuth.
DNK

DNK (статус: Студент), 16 марта 2010, 18:42 [#12]:

2Егор, min@y™: Завязывайте с ребусами!
"Digital Networked Knight"

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:53
Выполнено за 0.03 сек.