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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.08.2009, 20:37   #1
Виталий Злобин
 
Регистрация: 07.08.2009
Сообщений: 8
Восклицание Помогите начинающему!

Помогите понять почёму результат не выводится(((
Вот исходник "правильной программы":
Код:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Button1: TButton;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    CheckBox1: TCheckBox;
    Label4: TLabel;
    procedure Edit1KeyPress(Sender: TObject; var Key: Char);
    procedure Edit2KeyPress(Sender: TObject; var Key: Char);
    procedure Edit3KeyPress(Sender: TObject; var Key: Char);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation
function FloatCh(ch : char; st: string) : char;
begin
if ((ch >= '0') and (ch <= '9'))
or (ch = #8) or (ch = #13)
then result := ch
else
case ch of
',','.':
begin
ch := DecimalSeparator;
if (Pos(ch,st) = 0)
and (st[Length(st)] >= '0')
and (st[Length(st)] <= '9')
then
result := ch
else result := #0;
end;
else
result := #0;
end;
end;
{$R *.dfm}
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if Key = Char(VK_RETURN)
then Edit2.SetFocus
else Key := FloatCh(Key,Edit1.Text);
end;
procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
if Key = Char(VK_RETURN)
then Button1.SetFocus
else Key := FloatCh(Key,Edit3.Text);
end;
procedure TForm1.Edit3KeyPress(Sender: TObject; var Key: Char);
begin
if Key = Char(VK_RETURN)
then Button1.SetFocus
else Key := FloatCh(Key,Edit3.Text);
end;
procedure TForm1.Button1Click(Sender: TObject);
var
rast : real;
cena : real;
potr : real;
sum  : real;
mes: string;
begin
rast := StrToFloat(Edit1.Text);
cena := StrToFloat(Edit2.Text);
potr := StrToFloat(Edit3.Text);
sum := rast / 100 * potr * cena;
if CheckBox1.Checked then
sum := sum * 2;
mes := 'Поездка обойдётся в ' +
FloatToStrF(sum, ffCurrency,4,2);
Label4.Caption := mes;
end;
end.

Последний раз редактировалось KORN; 08.08.2009 в 08:26.
Виталий Злобин вне форума Ответить с цитированием
Старый 07.08.2009, 21:01   #2
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Все нормально выводится, вот программа. Может ChekBox не включаете?
Вложения
Тип файла: rar Поездка на дачу.rar (3.5 Кб, 8 просмотров)
puporev вне форума Ответить с цитированием
Старый 07.08.2009, 21:06   #3
Виталий Злобин
 
Регистрация: 07.08.2009
Сообщений: 8
По умолчанию

Может, это только вторая прога. А чекбокс только для умножения результата. Так то код правильный. Но я не знаю тогда где я что-то не поставил(((
Виталий Злобин вне форума Ответить с цитированием
Старый 07.08.2009, 21:32   #4
Виталий Злобин
 
Регистрация: 07.08.2009
Сообщений: 8
По умолчанию

В Object Inspector можно что-то пропуслить, например настройку для Label и в ней не будет появляться результат?
Виталий Злобин вне форума Ответить с цитированием
Старый 07.08.2009, 21:48   #5
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Никаких дополнительных настроек я не делал, все обычным способом работает. Сравните свою и мою программы.
puporev вне форума Ответить с цитированием
Старый 07.08.2009, 22:05   #6
Виталий Злобин
 
Регистрация: 07.08.2009
Сообщений: 8
По умолчанию

Сравнил и поизменял, но ничего не изменилось. Если не сложно глянь, хочется разобраться и понять
Вложения
Тип файла: rar Цены поездки)).rar (168.3 Кб, 9 просмотров)
Виталий Злобин вне форума Ответить с цитированием
Старый 07.08.2009, 22:14   #7
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

У Вас не активирована кнопка Button1. Видимо Вы просто скопировали код, а надо все процедуры создавать, активировать. Кликните на кнопке 2 раза левой клавишей мыши, или в инспекторе объектов для этой кнопки на вкладке Events выберите OnClick.
puporev вне форума Ответить с цитированием
Старый 07.08.2009, 23:17   #8
Виталий Злобин
 
Регистрация: 07.08.2009
Сообщений: 8
По умолчанию

)))Ясно, спасибо огромное!

Эта подсказка три проблемы решила, спс ещё раз!)

Последний раз редактировалось KORN; 08.08.2009 в 08:26. Причина: пользуемся правкой
Виталий Злобин вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите начинающему. alex2693 Общие вопросы C/C++ 0 09.04.2009 22:40
Помогите начинающему студенту =) dt-leon Свободное общение 2 13.01.2009 21:56
Помогите начинающему frai Общие вопросы C/C++ 3 20.12.2008 13:01
Помогите начинающему. Небесный Общие вопросы Delphi 12 04.02.2007 08:56