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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.04.2009, 09:55   #1
StudentMarat
Форумчанин
 
Регистрация: 10.10.2008
Сообщений: 123
По умолчанию Задача по Delphi 7

На форме располагаются компоненты: редактор Edit, кнопки + и -, список ListBox с опциями "Показать" и "Скрыть", кнопка "Очистить" и кнопка Close. Исходно в редакторе находится число 20. Нажатие кнопки + приводит к увеличению содержимого редактора на 1, а кнопки -, к уменьшению на 1. При выборе опции "Скрыть" кнопки исчезают и управление переходит к клавишам + и - клавиатуры. Опция "Показать" возвращает проект в исходное состояние. Нажатие кнопки «Очистить» приводит к установке редактора в исходное состояние. Close заканчивает программу.

Помогите решить эту задачку!!!

Последний раз редактировалось StudentMarat; 16.04.2009 в 10:21.
StudentMarat вне форума Ответить с цитированием
Старый 16.04.2009, 10:16   #2
VVM
Форумчанин
 
Аватар для VVM
 
Регистрация: 06.06.2007
Сообщений: 282
По умолчанию

Цитата:
При выборе опции "Скрыть"
Не совсем понял. Что при выборе опции скрыть? ListBox должен стать невидимым?
Вложения
Тип файла: rar test 10.rar (175.4 Кб, 13 просмотров)
Не важно, как часто вы падаете. Важно, как часто вы поднимаетесь. Винс Ломбарди.
VVM вне форума Ответить с цитированием
Старый 16.04.2009, 10:18   #3
Олвин
Экспериментатор
Форумчанин
 
Аватар для Олвин
 
Регистрация: 16.04.2008
Сообщений: 218
По умолчанию

Ну, очень просто.
Кнопка "+":
Код:
Edit1.Text := StrToInt(IntToStr(Edit1.Text) + 1);
Кнопка "-":
Код:
Edit1.Text := StrToInt(IntToStr(Edit1.Text) - 1);
Кнопка "Очистить":
Код:
Edit1.Clear;
Кнопка "Close":
Код:
Close;
В OnClick ListBox'а (если в нём первая строка - "Скрыть", а вторая - "Показать"):
Код:
case ListBox.ItemIndex of
0 : Edit1.Visible := FALSE;
1 : Edit1.Visible := TRUE;
end;
Ещё можно в OnKeyPress Edit'а, чтобы туда чушь вместо цифр не ввёл никто:
Код:
if not (Key in ['0'..'9']) then
 Key := #0;
Кстати, что сообщение-то недописал?
Для создания сложных вещей не нужны сложные интерфейсы. (с) Линус Торвальдс
Олвин вне форума Ответить с цитированием
Старый 16.04.2009, 10:24   #4
StudentMarat
Форумчанин
 
Регистрация: 10.10.2008
Сообщений: 123
Подмигивание

Не всё скопировал. Спасибо, Олвин дал идею, сейчас попробую реализовать её.

Проект почти доделал. Вот он сам


Код самой программы
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
  try
    Edit1.Text := IntToStr(StrToInt(Edit1.Text) + 1);
  except
    ShowMessage('В Edit1 нужно вводить только цифры!');
  end;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  try
    Edit1.Text := IntToStr(StrToInt(Edit1.Text) - 1);
  except
    ShowMessage('В Edit1 нужно вводить только цифры!');
  end;
end;

procedure TForm1.ListBox1Click(Sender: TObject);
begin
case ListBox1.ItemIndex of
0 : begin
     button1.Visible:=true;
     button2.Visible:=true;
     end;

1 :   begin
      button1.Visible:=false;
      button2.Visible:=false;
      end;
end;
end;

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not (Key in ['0'..'9']) then
 Key := #0;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
edit1.Clear;
edit1.Text:='20';
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
form1.Close;
end;
Единственное, пока что не получается, это чтобы при выборе опции скрыть Listbox управление переходило к клавишам + и - клавиатуры.
Я предполагаю, что это можно сделать так:
Код:
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
case key of
'+','-':
begin
if key='+' then  Edit1.Text := IntToStr(StrToInt(Edit1.Text) + 1);
if key='-' then  Edit1.Text := IntToStr(StrToInt(Edit1.Text) - 1);
end;
end;

end;
Хотя у меня не выходит
Вложения
Тип файла: rar Проект.rar (175.7 Кб, 7 просмотров)

Последний раз редактировалось Stilet; 16.04.2009 в 11:06.
StudentMarat вне форума Ответить с цитированием
Старый 16.04.2009, 16:37   #5
StudentMarat
Форумчанин
 
Регистрация: 10.10.2008
Сообщений: 123
По умолчанию

Все получилось. Вот сам проект

Спасибо всем, что помогли мне студенту!
Вложения
Тип файла: rar Lab 1.rar (176.0 Кб, 41 просмотров)
StudentMarat вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача в Delphi Milashka Помощь студентам 1 28.12.2008 23:22
Задача в DELPHI. Absent Помощь студентам 7 25.02.2008 14:04
Задача на Delphi Gorinicher Помощь студентам 17 22.10.2007 21:49