Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.12.2010, 12:20   #1
OlegII
 
Регистрация: 08.12.2010
Сообщений: 5
По умолчанию Обработчик нажатия кнопки

Здравствуйте!
Помогите, пожалуйста, с решением задачки или дайте ссылку на материал по теме.
На форме установлены: метка Label1, редакторы Edit1 и Edit2 и кнопка Button1. Описать обработчик нажатия кнопки, в котором в метку выводятся символы, имеющиеся в Edit1 и отсутствующие в Edit2.
Заранее огромное спасибо!!!
OlegII вне форума Ответить с цитированием
Старый 08.12.2010, 13:19   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Покажи код проверки символов, имеющиеся в Edit1 и отсутствующие в Edit2.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 08.12.2010, 14:45   #3
Snejnaya
Форумчанин
 
Регистрация: 12.05.2010
Сообщений: 219
По умолчанию

на форму скидываешь label и 2 окошка edit а также кнопку. Дважды щелкаешь по кнопке - открывается окно кода - в нем автоматически создается обработчик щелчка по кнопке - что-то типа

Код:
void __fastcall TForm1::Button1Click(TObject *Sender)
{

}
у меня С-билдер, в делфи синтаксис будет другой. Внутри этого обработчика пишешь свой код.

Чтобы считать текст, написанный в Edit в том же с-билдере можно сделать так:
Код:
char massiv[20];
sscanf((Form1->Edit1->Text).c_str(), "%c", &massiv);
в массив будет считаны символы из Edit.

В делфи еще проще

Код:
var massiv:string[20];
string: = Form1.Edit1.Text;
Так считываешь содержимое двух Editов в два разных символьных массива. Теперь с этими массивами можно работать, как тебе нравится. Например, в Си:
Код:
char massiv1[20], massiv2[20], resultm[20]=""; ch;
int i, j, k=0, flag;

for(i=0;i<20;i++)
{
ch = massiv1[i];
flag=0;
for(j=0;j<20;j++)
{
if (massiv2[j] == ch) flag=1;
}
if (flag==1)
 {
   resultm[k]=ch;
   k++;
  }
}
Затем выводим результат в label:
Form1->Label1->Caption = AnsiString(resultm);

Последний раз редактировалось Snejnaya; 08.12.2010 в 14:52.
Snejnaya вне форума Ответить с цитированием
Старый 08.12.2010, 15:41   #4
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

не надо массивов. Ф-ия Pos и цикл тут поможет
Код:
procedure TForm1.Button2Click(Sender: TObject);
var i:integer;
begin
 for i:=1 to Length(Edit1.Text) do
  if Pos(Edit1.Text[i],edit2.Text)=0 then
  Label1.Caption:=Label1.Caption + Edit1.Text[i];
end;

Последний раз редактировалось SERG1980; 08.12.2010 в 15:44.
SERG1980 вне форума Ответить с цитированием
Старый 08.12.2010, 16:24   #5
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Код:
procedure TForm1.Button2Click(Sender: TObject);
var i:integer;
begin
 for i:=1 to Length(Edit1.Text) do
  if (Pos(Edit1.Text[i],edit2.Text)=0) and (Pos(Edit1.Text[i],label1.Caption)=0) {я бы добавил}
 then
  Label1.Caption:=Label1.Caption + Edit1.Text[i];
end;
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дата нажатия кнопки Jantar Общие вопросы Delphi 2 29.10.2009 10:27
обработчик событий кнопки Dmitriy.Ch Общие вопросы C/C++ 0 04.07.2009 09:35
Вызвать процедуру нажатия кнопки Rusl92 Общие вопросы Delphi 1 23.11.2008 13:13
Эмуляция нажатия кнопки F3 Dimixis Помощь студентам 4 17.06.2007 23:42