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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.05.2010, 21:28   #1
inforus
 
Регистрация: 25.05.2010
Сообщений: 4
По умолчанию Найти и исправить ошибку в программе

Всем привет! Дали такое задание: создать программу, которая автоматизирует процесс перевода градусной меры угла в радианную и наоборот, в зависимости от выбора пользователя. Использовать компонент RadioButton и функцию MessageDlg

Программу я написал, работает, считает, но только неправильно Помогите найти и исправить ошибку.

http://narod.ru/disk/21142125000/RadToGrad.rar.html

Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Math;

type
  TForm1 = class(TForm)
    RadioButton1: TRadioButton;
    RadioButton2: TRadioButton;
    Edit1: TEdit;
    Button1: TButton;
    Label1: TLabel;
    Edit2: TEdit;
    Label2: TLabel;
    Label3: TLabel;
    Button2: TButton;
    Button3: TButton;
    procedure Button1Click(Sender: TObject);
    procedure RadioButton1Click(Sender: TObject);
    procedure RadioButton2Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
Close
end;

procedure TForm1.RadioButton1Click(Sender: TObject);
begin
 MessageDlg('Вы выбрали режим "Градусы в радианы"', mtInformation,
[mbOk], 0);
end;

procedure TForm1.RadioButton2Click(Sender: TObject);
begin
MessageDlg('Вы выбрали режим "Радианы в градусы"', mtInformation,
[mbOk], 0);
end;

procedure TForm1.Button2Click(Sender: TObject);
var G, R, GRes, RRes: real;
begin

If RadioButton1.Checked = True
then G := StrToFloat(Form1.Edit1.Text);
     GRes := GradToRad (G);
     Form1.Edit2.Text := FloatToStr(GRes);

If RadioButton2.Checked = True
then R := StrToFloat(Form1.Edit1.Text);
     RRes := RadToGRad (R);
     Form1.Edit2.Text := FloatToStr(RRes);
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
Edit1.Text := '';
Edit2.Text := '';
end;

end.

Последний раз редактировалось inforus; 25.05.2010 в 22:12.
inforus вне форума Ответить с цитированием
Старый 25.05.2010, 21:50   #2
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,434
По умолчанию

оформи код тегом
[ C O D E ][ / C O D E ] <=без пробелов
Человек_Борща вне форума Ответить с цитированием
Старый 25.05.2010, 23:48   #3
Sibedir
Тот ещё
Старожил
 
Аватар для Sibedir
 
Регистрация: 14.11.2007
Сообщений: 2,242
По умолчанию

Тебе нужны функции RadToDeg и DegToRad.
Сделай поиск по нэту. Запрос: функция RadToGrad.

Добавил --------------------------------
Кстати, может выдел на калькуляторах Deg - Rad - Grad
Sibedir вне форума Ответить с цитированием
Старый 25.05.2010, 23:52   #4
Скандербег
Форумчанин
 
Регистрация: 04.04.2009
Сообщений: 438
По умолчанию

Функции без надобности - все тривиально:
Код:
procedure TForm1.Button2Click(Sender: TObject);
var
  G, R, GRes, RRes: Double;
begin
  If RadioButton1.Checked = True then begin
    G := StrToFloat(Edit1.Text);
    RRes := (pi / 180) * G;
    Edit2.Text := FloatToStr(RRes);
  end;

  If RadioButton2.Checked = True then begin
    R := StrToFloat(Form1.Edit1.Text);
    GRes := (180 / pi) * R;
    Form1.Edit2.Text := FloatToStr(GRes);
  end;
end;
Скандербег вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите исправить ошибку в программе Antifa Помощь студентам 3 29.04.2009 23:17
Помогите исправить ошибку в программе Paul_AG Общие вопросы C/C++ 12 24.03.2009 19:36
ПОМОГИТЕ исправить ошибку в программе SYL@R Помощь студентам 1 07.12.2008 19:42
ПОМОГИТЕ исправить ошибку в программе SYL@R Помощь студентам 1 21.11.2008 14:48