|
Вопрос # 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"
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|