Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Вопрос про 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]

Это зависит от того, что ты написал в "маленькой программке".


Наверх

Титульная страница Поиск, карта сайта Написать письмо