• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Написать программу. Delphi

  • Автор темы Автор темы allg
  • Дата начала Дата начала

allg

Ученик
Регистрация
26 Дек 2011
Сообщения
8
Реакции
0
Баллы
0
Написать программу. Delphi

Здравствуйте.
Необходимо решить задачку на делфи:
Из test1 считать строку s1.
Из test2 считать строку s2 (длина строки s2 не больше длины строки s1)
Определить, сколько раз строка s2 встречается в строке s1.
Результат вывести в test3.
Товарищи, кому не сложно, напишите пожалуйста.
 
Сами-то пробовали хоть что-нибудь сделать? Если да, в чем проблема? Если нет, то почему?
 
Сами-то пробовали хоть что-нибудь сделать? Если да, в чем проблема? Если нет, то почему?

Я бы с удовольствием. Поставили перед фактом, дали задания, на след.день сдать. Ну а в программировании соответственно я на "алё".
 
И ошибочка: вместо test1 - edit1, test2 - edit2, test3 - edit3
Я так понимаю свои сообщения редактировать нельзя?
 
Сообщения редактировать можно, но только 10 минут.
Ну давайте по порядку: открываете Делфи, на форму кидаете три Edit'a и кнопку Button, и сохраняйте проект.
 
MrSTEP, вы всё еще готовы помочь?
То что сказали, выполнил.
 
Поставили перед фактом, дали задания, на след.день сдать.
Следующий день прошел уже почти месяц назад :)

Далее в код нажатия кнопки (событие OnClick) пишите операцию, которая бы взяла в переменную S значение из Эдита. В эдите текст хранится в соответствующем поле. Обращение к полю компонента выполняется так: <имя компонента>.<имя поля>. То есть, Edit.Text;
 
Ничего не понял. У меня сейчас на кнопке в юните написано следующее:
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
end;
procedure TForm1.Edit1Change(Sender: TObject);
begin
end;
procedure TForm1.Edit2Change(Sender: TObject);
begin
end;
procedure TForm1.Edit3Change(Sender: TObject);
begin
end;
end.
Следующий день прошел уже почти месяц назад :)
Ну так, теперь не факт что примут у меня эти же самые задания.
 
Нужно на кнопке в OnClick выбрать Edit1? :D
Я просто реально не понимаю.
 
Нет, все не так. Откуда вы все это взяли? Дважды щелкали по эдитам?
Ну так вот удалите все это и скопилируйте проект (проверьте на ошибки, запустите) клавишами Ctrl+F9 и удалите все заголовки процедур, на которые он будет ругаться, ведь они уже удалены.
А теперь дважды щелкните по кнопке, откроется процедура обработки щелчка по кнопке (то событие OnClick). Вообще, у каждого компонента на форме есть событие. В левом нижнем углу окна есть маленькое окошко Object Inspector с двумя вкладками - Параметры и События, для выбранного объекта. Так вот, там тоже можно найти OnClick и много других событий, которые могут в дальнейшем пригодиться. Пробуйте.
 
Нет, все не так. Откуда вы все это взяли? Дважды щелкали по эдитам?
Да.
Значит начал всё сначала. На кнопке щёлкаю 2раза, открывается юнит1. В Object Inspector открываю Events (События), в OnClick стоит Button1Click.
Нашёл это, что дальше?
 
Выбор OnClick в Events'ах аналогичен двойному щелчку.
Дальше в процедуре описывайте нужные переменные s1 и s2 строкового типа таким образом: перед началом процедуры (begin) вставляете строчку:
Код:
var s1,s2:string;

Ну а в теле процедуры (после begin и перед end) пишите операцию, которая бы взяла в переменную S значение из Эдита. В эдите текст хранится в соответствующем поле. Обращение к полю компонента выполняется так: <имя компонента>.<имя поля>. То есть, Edit.Text;
Примерно будет выглядеть так:
Код:
s1:=Edit1.text;
Для второй переменной надо добавить похожую строчку. Пробуйте.
 
Таак, получаем:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var s1,s2:string;
begin
s1:=Edit1.text;
s2:=Edit2.text;
end;
end.
Верно?
 
Назад
Сверху