![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Помогите с программкой [D7, XP]
igroman © (2008-02-18 16:30:00)Я пробывал сделать программу в делфи, книгу покупал в магазине, и попалась мне книжка очень плохая. Но программку я написать хчу поэтому у меня вышла вот так4ая вот фигня, вроде всё правильно но при попытке запустить мне выдаётся ошибки....
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
mmOutput: TMemo;
Button1: TButton;
Label5: TLabel;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
X, Y, Z, D :Real;
begin
If (Edit1.Text='')
or (Edit2.Text='') or (Edit3.Text='') then Exit;
Try
X := StrToFloat(Trim(Edit1.Text));
except
ShowMessage('Îøèáî÷íàÿ çàïèñü ÷èñëà: '+Edit1.Text);
Edit1.SelectAll;
Exit;
end;
Try
Y := StrToFloat(Trim(Edit2.Text));
except
ShowMessage('Îøèáî÷íàÿ çàïèñü ÷èñëà: '+Edit2.Text);
Edit2.SelectAll;
Exit;
end;
Try
Z := StrToFloat(Trim(Edit3.Text));
except
ShowMessage('Îøèáî÷íàÿ çàïèñü ÷èñëà: '+Edit3.Text);
Edit3.SelectAll;
Exit;
end;
begin
D := (X + Y) * 2 + (Z * 8);
begin
Label5.Caption := ('D');
Edit1.Text := '';
Edit2.Text := '';
Edit3.Text := '';
end.
TIF (2008-02-18 18:27:00) [1]
> Ой только вот вместо этих непонятных символов у меня русские
> слова....
это Юникод :-)
{RASkov} (2008-02-18 18:11:00) [2]> В конце программы нехватает трёх End'ов
Точно) ...Понаделал бегинов :)
{RASkov} (2008-02-18 18:09:00) [3]> [0] igroman © (18.02.08 16:30)
procedure TForm1.Button1Click(Sender: TObject);
function GetValue(Ed: TEdit): Double;
begin
try Result:=StrToFloat(Ed.Text);
except
Ed.SetFocus;
raise Exception.Create('Ошибочная запись числа: '+Ed.Text);
end;
end;
var X, Y, Z, D: Double;
begin
X:=GetValue(Edit1);
Y:=GetValue(Edit2);
Z:=GetValue(Edit3);
D := (X + Y) * 2 + (Z * 8);
Label1.Caption:=FloatToStr(D);
end;
Запускать желательно не из под делфи... из-за галки "Stop on Delphi Exceptions"
icWasya (2008-02-18 18:06:00) [4]Ошибка не при запуске а при компиляции
В конце программы нехватает трёх End'ов
saNat (2008-02-18 16:39:00) [5]Хм... Генератор случайного кода? Выложите весь код, а лучше конкретно ошибку и код ее вызывающий.
igroman (2008-02-18 16:32:00) [6]Ой только вот вместо этих непонятных символов у меня русские слова....