Сайт - http://tt-luther.narod.ru. Предложения и замечания по рассылке отсылайте по e-mail: NC.Luthermail.ru.
Я обязательно учту ваши пожелания предложения при составлении рассылки.
Чтобы
создать калькулятор, нужно для начала разместить на форме 3 компонента TEdit.
Они находятся во вкладке компонентов Standart. Затем на той же панели находим
компонент TButton и добаляем три кнопки. Затем находим на этой же панели компонент
TLabel и добавляем три штуки. В свойство Caption для первого лейбла = 'Первое
число', для второго 'Второе число', для третьего пишем 'Результат'. Разместите
рядом с каждым компонентом TEdit лейбл. Надписи на кнопках меняем на '*' '+'
'-' '/'. Эти кнопки будут выполнять действия с числами. В первых два компонента
мы будем вводить числа, а в после нажатия одной из кнопок, будет выполняться
соответствующая операция. Но если мы введем в Edit1 текст, то его свойство text
изменится. Но текст не цифра, как же мы будем её считать? Совершенно верно!
Вот для этого мы и будем использовать две функции: StrToInt(cons: string)
и IntToStr(value: integer). Первая функция преобразует текстовое выражение
в число, а вторая число в текствое выражение.
В
первых два компонента TEdit( дадим им имена Edit1 и Edit2) мы будем вводить
нужные нам цифры, а в третьем Edit3 мы будем видеть результат. Соответсвенно
поставте свои лейблы, чтобы мы видели куда вводить числа, а где видеть результат.
После
того, как пользователь введет цифры и нажмет на одну из кнопок мы преобразуем
тексты содержащиеся в Edit1 и Edit2 в цифры и будем выполнять с ними операции.
После выполнения операций, мы преобразуем цифры в текст и поместим этот текст
в Edit3.
Исходный
код программы вы можете скачать на моем сайте tt-luther
Вопросы
от читателей
Максим:
Здравствуйте. я подписан на вашу рассылку. помогите пожалуйста советом.
на форме компонент чекбокс по событию онмаусмуве которого у меня выскакивает
хинт с большим текстом, но он выскакивает на пару секунд, как поставить задержку
на хинт т.е. увеличить её? я понимаю, что можно это сделать по другому, поставить
лабел например или прямо на канвасе писать, но хинты красивее))). заранее благодарен.
Существует
несколько свойств(ну кроме времени показа вспылвающей подсказки). У каждого компонента
в Delphi есть два свойства:
property
Hint : String;
property
ShowHint : Boolean;
В
первом свойстве содержиться текст оперативной подсказки. Второе свойство разрешает
или запрещает показ оперативной подсказки. Если False, то не показывает. Если
True, то показывает.
Для
того, чтобы отобразить длинную подсказку, нужно сначала поместить длинное сообщение
сразу после короткого и отделить их символом, как показано в нижеприведенном
примере.
MyComponent.Hint
:= 'Подсказка I Развернутое сообщение';
Далее,
необходимо в начале программы( обычно в обработчике события OnСreate главной
формы) указать Вашей программе метод, который и будет обрабатывать событие OnHint.
Это сообщение будет возникать в момент появления оперативной подсказки и предназначено
для отображения длинной подсказки, которое метод-обработчик может получить в
свойстве Hint глобального обьекта Application. Ниже приведен пример:
type
TForm1
= class(TForm)
pnStatus:
TPanel; // Панель для отображения длинной части свойства Hint
...
public
procedure
ShowLongHint(Sender: TObject); // Обьявляем метод-обработчик события
OnHint
...
end;
procedure
TForm1.ShowLongHint(Sender: TObject);
begin
pnStatus.Caption
:= Application.Hint; // Помещаем на панель pnStatus длинную часть Hint
Так
же следует учитывать, что метод OnHint должен быть методом класса, а не простой
процедурой. Именно поэтому в секцию public класса TForm1 мы вставили
метод ShowLongHint.
Кроме
длинной подсказки, можно создать многострочную подсказку. Ниже приводится код:
ButtonClose.Hint
:= 'Эта кнопка '#13' завершит работу '#13' программы';
property
HintColor: TColor; // Определяет цвет фона оперативной подсказки
property
HintHidePause: Integer; //Определяет длительность показа оперативной посказки.
По умолчанию 2500(в милисекундах) или 2,5 секунд.
property
HintPause: Integer; //Определяет паузу(в милисекундах) после остановки указателя
мыши и перед появлением оперативной подсказки. По умолчанию 500.
property
HintShortPause: Integer; // Определяет паузу перед появлением оперативной
подсказки при переходе с одного компонента на другой, у которого задано свойство
Hint. По умолчанию 50.
Все
вышеперечисленные свойства определяют паузы в милисекундах. 1 секунда = 1000
милисекунд.
Я добавил в архив и поместил на своем сайте TT-Luther
исходник, в котором показано, как работать со свойствами глобального компонента
Application.
Максим
: Какой язык следует выбрать для создания игр? Хочу заняться проффесиональной
разработкой программного обеспечения, какой язык выбрать? Какие существуют языки
и какой язык вы посоветуете изучать?
Для
создания игр обычно используют язык Visual C или C++. На Delphi тоже можно делать
игры, но одному человеку и без очень хороших знаний практически невозможно.
Для начала посоветовал бы заняться изучением языка Pascal. Он прост и помогает
новичкам развить логику. Затем можно просто перейти к Delphi. На Delphi можно
писать программное обеспечение и лично я предпочитаю этот язык все другим. Есть
такие языки как Assembler, C++, Basic, Pascal, Delphi.
Assembler
-символическое представление машинного языка. Это один из самых старых
и не самый удобный язык программирования. С помощью команд Вы можете работать
с "железом" своего компьютера. Не знаю насколько точны мои определения,
но надеюсь я смог ответить на Ваши вопросы.
Заключение
Напоминаю, что предыдущие выпуски рассылки вы можете прочитать на моем сайте
http://tt-luther.narod.ru в разделе
рассылки http://tt-luther.narod.ru/mail.htm
И не бойтесь присылать свои вопросы, я отвечу на них и помещу их в рассылки,
чтобы
все читатели узнали что-то новое. Присылайте их сюда NC.Luthermail.ru.