![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
ПОМОГИТЕ, ПОЖАЛУЙСТА, СРОЧНО!!!
На форме имеются следующие компоненты: поле Memo, два компонента MaskEdit, кнопка Button, компонент Radiogroup внутри него две радиокнопки (Radiobutton). - Как настроить свойства масок в полях редактирования, чтобы туда можно было вводить только двухзначные числа??? - Как в окне кода запрограммировать две функции: SrArifm и SrGeom, которые должны считать среднее арифметическое (половину от суммы) и среднее геометрическое (квадратный корень из произведения) двух чисел??? - Как создать процедуру Count, которая выполняет над числами, введенными в поля редактирования ту операцию, которая выбрана в Радиогруппе и помещает результат в поле Memo??? - Как запрограммировать кнопку, чтобы она вызывала процедуру Count и затем очищала редактируемые поля??? - Как отредактировать программу так, чтобы результат в поле Memo не обновлялся каждый раз после нажатия вычислить, а добавлялся на следующую строчку??? Заранее, большое спасибо откликнувшимся!!! Последний раз редактировалось Andrew1266, 10.12.2010 в 05:52. |
|
#2
|
|||
|
|||
|
И в чем проблема? все по пунктам расписано. не пойму в чем вопрос то?
|
|
#3
|
|||
|
|||
|
просто я в делфи вообще не шарю.... куда заходить, что нажимать???
|
|
#4
|
|||
|
|||
|
Для начала запустить Делфи.
далее п1. Создать новый проект. и далее по пунктам. не совсем понимаю какую вы помощь хотите получить? |
|
#5
|
|||
|
|||
|
У maskedit-ов ставишь editmask в 00
Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, ComCtrls, StdCtrls, Mask, Buttons;
type
TForm1 = class(TForm)
medt1: TMaskEdit;
btn1: TBitBtn;
medt2: TMaskEdit;
rg1: TRadioGroup;
mmo1: TMemo;
procedure btn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
function srarifm:Real;
begin
Result:=(StrToInt(Form1.medt1.text)+strtoint(Form1.medt2.text))/2
end;
function srgeom:Real;
begin
Result:=Sqrt(StrToInt(Form1.medt1.text)*strtoint(Form1.medt2.text))
end;
procedure count;
begin
if Form1.rg1.ItemIndex=0 then Form1.mmo1.Lines.Append(FloatToStr(srarifm))
else Form1.mmo1.Lines.Append(FloatToStr(srgeom))
end;
procedure TForm1.btn1Click(Sender: TObject);
begin
count;
end;
end. |
|
#6
|
|||
|
|||
|
Огромное спасибо!!!
|
|
#7
|
|||
|
|||
|
При запуске программы слово "Memo1" отображается в поле. Как его убрать???
И при выводе ответа на поле Memo, среднее арифметическое получается дробное число с 12-ю знаками после запятой. Как это исправить??? Последний раз редактировалось Andrew1266, 12.12.2010 в 06:11. |
|
#8
|
||||
|
||||
|
Цитата:
Или в OnCreate формы: Код:
Memo1.Clear; |
|
#9
|
|||
|
|||
|
Посмотрите, вот код:
Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,ExtCtrls, ComCtrls, StdCtrls, Mask, Buttons;
type
TForm1 = class(TForm)
MaskEdit1: TMaskEdit;
MaskEdit2: TMaskEdit;
Button1: TButton;
RadioGroup1: TRadioGroup;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
Label1: TLabel;
Button2: TButton;
Memo1: TMemo;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
function SrArifm: double;
begin
result:= (StrToInt(Form1.MaskEdit1.Text)+StrToInt(Form1.MaskEdit2.Text) )/2
end;
function SrGeom: double;
begin
result:=sqrt(StrToInt(Form1.MaskEdit1.Text)*StrToInt(Form1.MaskEdit2.Text))
end;
procedure count;
begin
if Form1.RadioGroup1.ItemIndex=0
then Form1.Memo1.Lines.Append(FloatToStr(SrArifm))
else Form1.Memo1.Lines.Append(FloatToStr(SrGeom))
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
count;
MaskEdit1.Clear;
MaskEdit2.Clear;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Form1.Close;
end;
end.И при выводе ответа на поле Memo, среднее арифметическое получается дробное число с 12-ю знаками после запятой. Как это исправить??? |
|
#10
|
||||
|
||||
|
Цитата:
Код:
procedure count; begin if Form1.RadioGroup1.ItemIndex=0 then Form1.Memo1.Lines.Append(IntToStr(Round(SrArifm))) else Form1.Memo1.Lines.Append(IntToStr(Round(SrGeom))) end; |