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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.02.2011, 16:42   #31
drknn
Пользователь
 
Аватар для drknn
 
Регистрация: 02.09.2007
Сообщений: 51
По умолчанию

Код:
unit Unit1;

interface

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

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

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  Ishodnoe,Rezultat:Extended;
  SkolkoOtsech,BezDrobi,i:Integer;
begin
  // отсекаем лишние знаки. Для этого производим умножение на 10
  Ishodnoe:=StrToFloat(Edit1.Text);
  SkolkoOtsech:=StrToInt(Edit2.Text);
  for i:=1 to SkolkoOtsech do
    begin
      Ishodnoe:=Ishodnoe*10;
    end;
  BezDrobi:=Trunc(Ishodnoe);// отбрасываем всё, что после запятой
  // Теперь ставим запятую на место
  Rezultat:=BezDrobi;
  for i:=1 to SkolkoOtsech do
    begin
      Rezultat:=Rezultat/10;
    end;
  Edit3.Text:=FloatToStr(Rezultat);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
Edit1.Clear;
Edit2.Clear;
Edit3.Clear;
end;

end.
drknn вне форума Ответить с цитированием
Старый 09.02.2011, 16:53   #32
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

Егор выклыдывайте ваш проект и мы вам его поправим так будет проще, потому что мне кажеться вы не хотите читать предыдущие посты, в которых Вам указали на ваши ошибки
SERG1980 вне форума Ответить с цитированием
Старый 09.02.2011, 19:29   #33
Vervolf
Пользователь
 
Аватар для Vervolf
 
Регистрация: 14.01.2011
Сообщений: 97
По умолчанию

просим исходник.
Vervolf вне форума Ответить с цитированием
Старый 10.02.2011, 21:34   #34
egor088
Пользователь
 
Регистрация: 30.01.2011
Сообщений: 15
По умолчанию

unit Unit1;

interface

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

type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Button1: TButton;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
RadioGroup1: TRadioGroup;
Label4: TLabel;
procedure Button1Click(Sender: TObject);

private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}



procedure TForm1.Button1Click(Sender: TObject);
var
a,b:real; c,d,e,f,i,s,n :extended;

begin
a:=StrToFloat(Edit1.Text);
b:=StrToFloat(Edit2.Text);
c:=b/0.7;
c:=Trunc(c*10)/10;
d:=a/30;
d:=Trunc(d*10)/10;
e:=c-d;
f:=e*n;
f:=Trunc(f*100)/100;
i:=d*5.5;
i:=Trunc(i*100)/100;
s:=f+i;
Label4.Caption:=FloatToStrF(s,ffFix ed,4,1);
begin
case RadioGroup1.ItemIndex of
0: n:=4.6;
1: n:=5.8;

end;
end;

end.
egor088 вне форума Ответить с цитированием
Старый 10.02.2011, 21:51   #35
GunSmoker
Старожил
 
Регистрация: 13.08.2009
Сообщений: 2,581
По умолчанию

Да, едрён-батон, отформатируй ты код-то.

Сразу и увидишь, что begin перед case лишний.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
GunSmoker вне форума Ответить с цитированием
Старый 10.02.2011, 22:18   #36
asmodey1
Подтвердите свой е-майл
 
Регистрация: 19.12.2010
Сообщений: 808
По умолчанию

http://www.programmersforum.ru/showthread.php?t=16664
(там, правда, без флуда, но все равно интересно )
asmodey1 вне форума Ответить с цитированием
Старый 14.02.2011, 18:01   #37
egor088
Пользователь
 
Регистрация: 30.01.2011
Сообщений: 15
По умолчанию

Цитата:
Сообщение от GunSmoker Посмотреть сообщение
Да, едрён-батон, отформатируй ты код-то.

Сразу и увидишь, что begin перед case лишний.
Отформатировал .Удалил begin.
Программа заработала.Но вводимые цифры в EDIT2 не считает.Не могу
понять почему?
egor088 вне форума Ответить с цитированием
Старый 14.02.2011, 18:36   #38
GunSmoker
Старожил
 
Регистрация: 13.08.2009
Сообщений: 2,581
По умолчанию

Цитата:
Но вводимые цифры в EDIT2 не считает
А конкретней? Или пора утюг с полки доставать?
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
GunSmoker вне форума Ответить с цитированием
Старый 14.02.2011, 19:37   #39
egor088
Пользователь
 
Регистрация: 30.01.2011
Сообщений: 15
По умолчанию

Цитата:
Сообщение от egor088 Посмотреть сообщение
unit Unit1;

interface

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

type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Button1: TButton;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
RadioGroup1: TRadioGroup;
Label4: TLabel;
procedure Button1Click(Sender: TObject);

private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}



procedure TForm1.Button1Click(Sender: TObject);
var
a,b:real; c,d,e,f,i,s,n :extended;

begin
a:=StrToFloat(Edit1.Text);
b:=StrToFloat(Edit2.Text);
c:=b/0.7;<-------------------------------- вот это значение не считает
c:=Trunc(c*10)/10;
d:=a/30;<---------------------------------считает только по этому и соответственно результат
d:=Trunc(d*10)/10;
e:=c-d;
f:=e*n;
f:=Trunc(f*100)/100;
i:=d*5.5;
i:=Trunc(i*100)/100;
s:=f+i;
Label4.Caption:=FloatToStrF(s,ffFix ed,4,1);
case RadioGroup1.ItemIndex of
0: n:=4.6;
1: n:=5.8;

end;
end;

end.
Может связано с RadioGroup?
egor088 вне форума Ответить с цитированием
Старый 15.02.2011, 00:01   #40
egor088
Пользователь
 
Регистрация: 30.01.2011
Сообщений: 15
По умолчанию

Всем спасибо за помощь.
Всё работает.

Тема закрыта.
egor088 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как ограничить количество вводимых знаков числа после запятой. proggramer Общие вопросы C/C++ 1 24.03.2010 03:15
Разделение чисел на до запятой и после запятой msser Microsoft Office Excel 8 23.10.2009 11:57
знаки после запятой RiF Помощь студентам 10 16.12.2008 20:04
Как округлять числа до целых и как оставить два знака после запятой. bles Помощь студентам 9 19.02.2008 21:53
как вывести число с ограниченным количеством цифр после запятой? delphi Ensoph Помощь студентам 1 02.10.2007 07:50