Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 22.03.2017, 22:08
R4gnoR R4gnoR вне форума
Прохожий
 
Регистрация: 22.03.2017
Сообщения: 1
Версия Delphi: Lazarus
Репутация: 10
По умолчанию Сделал программу которая делит числа

Сделал программу(точнее,почти сделал)которая делит числа.Однако,Результат не показывает. Делал в Lazarus. Вот код. В чем ошибка?
Код:
unit Unit1;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls;

type

  { TForm1 }

  TForm1 = class(TForm)
    Button1: TButton;
    EditNum1: TEdit;
    EditNum2: TEdit;
    EditNum3: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.lfm}

{ TForm1 }

procedure TForm1.FormCreate(Sender: TObject);
begin

end;

procedure TForm1.Button1Click(Sender: TObject);
 var Num1,Num2,Num3:Real;
begin
 Num1:=StrToFloat(EditNum1.text);
 Num2:=StrToFloat(EditNum2.text);
 Num3:=Num1 / Num2;
 EditNum3.text:=FloatToStr(Num3)
end;

end.
Админ: Пользуемся тегами при оформлении кода!

Последний раз редактировалось Admin, 22.03.2017 в 22:13.
Ответить с цитированием
  #2  
Старый 23.03.2017, 05:55
gadmaker gadmaker вне форума
Прохожий
 
Регистрация: 19.04.2009
Сообщения: 49
Репутация: 10
По умолчанию

EditNum3.text:=FloatToStr(Num3)
На конце нет ";'
Ответить с цитированием
  #3  
Старый 23.03.2017, 07:53
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

Цитата:
Сообщение от gadmaker
EditNum3.text:=FloatToStr(Num3)
На конце нет ";'
В Delphi она не обязательна.


В обработчик попадает вообще?
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #4  
Старый 23.03.2017, 13:18
Аватар для ffpereverzev
ffpereverzev ffpereverzev вне форума
Новичок
 
Регистрация: 14.02.2017
Сообщения: 50
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Цитата:
Сообщение от NumLock
Цитата:
Сообщение от gadmaker
EditNum3.text:=FloatToStr(Num3)
На конце нет ";'
В Delphi она не обязательна.

В обработчик попадает вообще?
Я с Вами не совсем согласен. Точку с запятой можно не ставить только после последнего в программе оператора. Разве не так? В любом другом месте программы Вы получите ошибку при компиляции (missing operator or semicolon). Нельзя говорить что в Delphi этот оператор не обязателен.
Ответить с цитированием
  #5  
Старый 23.03.2017, 13:23
Аватар для ffpereverzev
ffpereverzev ffpereverzev вне форума
Новичок
 
Регистрация: 14.02.2017
Сообщения: 50
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

R4gnoR, если при компиляции Вашей программы не возникает ошибок, то посмотрите выставленные в компоненте Edit опции для шрифта. Возможно, что у Вас цвет шрифта совпадает с фоном компонента?
Ответить с цитированием
  #6  
Старый 23.03.2017, 14:20
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

Цитата:
Сообщение от ffpereverzev
Я с Вами не совсем согласен.
Ну и зря, потому что я это проверил)
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #7  
Старый 23.03.2017, 15:48
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Зря спорите, здесь тема про лазаря, а как там в нём нужно кодить неизвестно, одна строка
Код:
{$mode objfpc}{$H+}
чего стоит, мож ещё нужно какиенить директивы подключить, при переносе в D7 код работает
Ответить с цитированием
  #8  
Старый 23.03.2017, 17:49
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,004
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Ну, для начала, точка с запятой у проследнего оператора не обязательна у последнего оператора функции по стандарту языка. Так что Дельфи и Лазарь (читай FreePascal, т.к. Лазарь всего лишь оболочка над ним) тут абсолютно непричем.
Теперь по поводу проблемы. Код, на первый взгляд, вполне правильный. Т.е. тут получается 3 варианта:
1. Что-то не то с компонентом. Он почему-то не отражает помещенные в него данные. Тут можно просто проверить, засунув в него что-нить через ObjectInspector и/или просто присвоив строку в коде.
2. Что-то не так с самим обработчиком. При нажатии на кнопку он просто не вызывается. Пробуем поставить точку останова и запуститься в дебаге.
3. Что-то не так с самим кодом. Например, ты вводишь число, которое не может быть обработано функцией StrToFloat, но она, вместо того, что бы "выкинуть" исключение, просто прерывает выполнене обработчика (например, там в библиотеке стоит Abort). Меняем на StrToInt и проверяем на целых числах.
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 01:48.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter