![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вопрос про EXE файл.
FeSSik © (2004-08-02 13:31:00)Подскажите пожалуйста ...Я написал маленькую програмку скомпилировал её...и получил exe файл, но когда я его запускаю то комп что-то прогружает и в итоге ничего...не подскажете в чём тут может быть дело?
MacroDenS (2004-08-02 17:49:00) [1]to Ega23 © [16]
А криминала как такового нету, просто ошибка (вполне возможно опечатка) при написании переменной... Компилятор не поймет...
Ega23 (2004-08-02 17:18:00) [2]это выделение сотых долей чего введеного в Edit2.Text
Это понятно, просто я не понял MacroDenS © : может именно так требуется?
Anatoly Podgoretsky (2004-08-02 16:25:00) [3]Криминала нет, это выделение сотых долей чего введеного в Edit2.Text
Ega23 (2004-08-02 16:14:00) [4]2 MacroDenS ©
объявляешь переменную
sek: integer; // время, секунды
а далее у тебя используется
sec := Trunc(t*100) mod 100;
А в чём криминал-то?
MacroDenS (2004-08-02 15:45:00) [5]Да там в строке
v := (dist/1000)*((min*60+sek)/3600);
лучше все же ставить
v := (dist/1000)/((min*60+sek)/3600);
чейто я сразу и не догнал че там вообще хотят....
Кириешки (2004-08-02 15:42:00) [6]FeSSik © (02.08.04 13:31)
Мне кажется что это вообще не ты программу писал, потому что так коряво ее можно только содрать откуда-то.
" скомпилировал её...и получил exe файл, но когда я его запускаю то комп что-то прогружает и в итоге ничего"
Вопервых при таких грубых ошибках компилятор не даст файлу скомпилироваться, а во вторых как тебе то что было вопервых.
MacroDenS (2004-08-02 15:08:00) [7]ты б хотябы стиль написания кода, чтоль соблюдал... но это все фигня, а еще в этом коде огромное количество ошибок,
к примеру ты вTProg1.Button1Click(Sender: TObject);
объявляешь переменную
sek: integer; // время, секунды
а далее у тебя используется
sec := Trunc(t*100) mod 100;
эта одна из ошибок.
короче, я тут немного твой код поковырял, по крайней мере начал запускаться, и выполнять некоторые действия, правда до конца не понял, что вот здесьv := (dist/1000)?((min*60+sec)/3600)должно быть, толи *, толи /, ну короче сам поставишь,
а вот и кодик:
uses
Windows, SysUtils, Forms, Controls, StdCtrls, Classes;
type
TProg1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Prog1: TProg1;
implementation
{$R *.dfm}
procedure TProg1.Button1Click(Sender: TObject);
Var
dist : integer;
t: real;
min: integer;
sek: integer;
v: real;
begin
dist := StrToint(Edit1.Text); t := StrToFloat(Edit2.Text);
min := Trunc(t);
sek := Trunc(t*100) mod 100;
v := (dist/1000)*((min*60+sek)/3600);
label4.Caption := 'Дистанция: '+ Edit1.Text
+' ì' + #13 + 'Время: ' + IntToStr(min)
+ ' мин ' + IntToStr(sek) + 'сек' + #13 +
'Скорость: ' + FloatToStrF(v,ffFixed,4,2) + ' км/час';
end;
procedure TProg1.Button2Click(Sender: TObject);
begin
Prog1.Close;
end;
end.
Vovchik_A (2004-08-02 14:28:00) [8]2FeSSik ©
А гойловой пробовал думать, прежде, чем сюда писать ?
Digitman (2004-08-02 13:56:00) [9]
> > FeSSik
точнее - находи ЦЦа ...
может , так тебе понятней будет)
Ega23 (2004-08-02 13:55:00) [10]И где уж тогда
?
procedure TProg1.Label3Click(Sender: TObject);
Digitman (2004-08-02 13:55:00) [11]
> FeSSik
Делфи-программа начинается с того, что находится между begin..end в dpr-файле
Игорь Шевченко (2004-08-02 13:55:00) [12]Новенький (02.08.04 13:46)
Гены виноваты. Хотя бы в том, что задается такой вопрос и в такой форме.
FeSSik (2004-08-02 13:52:00) [13]Поставил end; всё равно не запускаеЦЦа...
Кириешки (2004-08-02 13:49:00) [14]А почему у тебя первая кнопка не "закрыта"
+` м` + #13 + `Время: ` + IntToStr(min)
+ ` мин ` + IntToStr(sek) + `сек` + #13 +
'Скорость: ' + FloatToStrF(v,ffFixed,4,2) + ' км/час';
procedure TProg1.Button2Click(Sender: TObject);
END где?
Новенький (2004-08-02 13:46:00) [15]Малеькая программка то где ?
>Игорь Шевченко © (02.08.04 13:39) [3]
Как где какая "маленькая программка" уродится сразу Гены виноваты?
(Гены - это не имя, это кислота)
FeSSik (2004-08-02 13:45:00) [16]unit Proga1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TProg1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Label3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Prog1: TProg1;
implementation
{$R *.dfm}
// нажатие кнопки Вычислить
procedure TProg1.Button1Click(Sender: TObject);
Var
dist : integer; // дистанция, метров
t: real; // время как дробное число
min: integer; // время, минуты
sek: integer; // время, секунды
v: real; // скорость
begin
// получить исходные данные из полей ввода
dist := StrToint(Edit1.Text); t := StrToFloat(Edit2.Text);
// предварительные преобразования
min := Trunc(t)
sec := Trunc(t*100) mod 100;
// кол-во секунд - это дробная часть
// числа t
// вычисление
v := (dist/1000)((min*60+sec)/3600)
// вывод результата
label4.Caption := `Дистанция: `+ Edit1.Text
+` м` + #13 + `Время: ` + IntToStr(min)
+ ` мин ` + IntToStr(sek) + `сек` + #13 +
'Скорость: ' + FloatToStrF(v,ffFixed,4,2) + ' км/час';
procedure TProg1.Button2Click(Sender: TObject);
begin
Prog1.Close; // закрыть главное окно программы
end;
end.
Игорь Шевченко (2004-08-02 13:39:00) [17]
> не подскажете в чём тут может быть дело?
в ДНК. Я угадал ?
Кириешки (2004-08-02 13:36:00) [18]FeSSik © (02.08.04 13:31)
Можно посмотреть код "маленькой" программки? Тогда я тебе точно скаже что "комп прогружает".
Ega23 (2004-08-02 13:33:00) [19]Это зависит от того, что ты написал в "маленькой программке".