Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.07.08;
Скачать: CL | DM;

Вниз

Помогите ожалуйста.   Найти похожие ветки 

 
repus ©   (2007-06-11 16:35) [0]

Я только начал изучать Делфи, копировал код с книжки, но он не работает(( Говорит, что переменная "k" может быть не идентифицирована((

unit Unit1;

interface

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

type
 TForm1 = class(TForm)
   Label1: TLabel;
   Label2: TLabel;
   ListBox1: TListBox;
   Label3: TLabel;
   Edit1: TEdit;
   Label4: TLabel;
   Button1: TButton;
   procedure FormCreate(Sender:TObject);
   procedure Button1Click(Sender:TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender:TObject);
 begin
 {ListBox1.items.add("Россия");
 ListBox1.items.add("Австрия");
 ListBox1.items.add("Англия");
 ListBox1.items.add("Германия");
 ListBox1.items.add ("Дания");
 ListBox1.items.add("Исландия");
 ListBox1.items.add ("Италия");
 ListBox1.items.add ("Нидерланды");}
 ListBox1.Itemindex:=0;
 end;

procedure TForm1.Button1Click(Sender:TObject);
 var
   funt:real;
   kg:real;
   k:real;
 begin
   case ListBox1.Itemindex of
     0:k:=0.4095; //Россия
     1:k:=0.56001; //Австрия
     2:k:=0.453592; //Англия
     3..5,7:k:=0.5; //Германия, Дания, Исландия, Нидерланды
     6:k:=0.31762; //Италия
   end;
     funt:=StrToFloat(Edit1.Text);
     kg:=funt*k;
     Label4.Caption:=Edit1.Text + " ф. - это" + FloatToStrF(kg,ffFixed,6,3) + " кг.";
 end;
end.


Програмка должна переводить фунты в килограммы, но по разному, в зависимости от выбранной страны.


 
Плохиш ©   (2007-06-11 16:40) [1]


> Говорит, что переменная "k" может быть не идентифицирована

Это не ошибка, а предупреждение и говорит о том, что не для всех возможных вариантов ListBox1.Itemindex создана секция в case. Добавь в case секцию else, можешь даже в неё перенести всё из секции для 0:.


 
Kostafey ©   (2007-06-11 16:49) [2]

Вместо Ctrl+F9 нажать F9


 
TUser ©   (2007-06-11 17:36) [3]

А что, там фунты разные? (Мысль о том, что там разные килограммы я себе запретил. :))


 
Плохиш ©   (2007-06-11 17:47) [4]


> TUser ©   (11.06.07 17:36) [3]
> А что, там фунты разные?

ну, дык http://ru.wikipedia.org/wiki/%D0%A4%D1%83%D0%BD%D1%82_%28%D0%B5%D0%B4%D0%B8%D0%BD%D0%B8%D1%86%D0%B0_%D0%B8%D0%B7%D0%BC%D0%B5%D1%80%D0%B5%D0%BD%D0%B8%D1%8F%29


 
repus ©   (2007-06-11 17:48) [5]

угу, разные))
а можно поподробнее, что после else писать? просто это всего-лишь пятый урок в книге, и первый про case, поэтому я толком еще сообразить не могу((


 
Desdechado ©   (2007-06-11 17:53) [6]

else
 k:=0;


 
repus ©   (2007-06-11 18:31) [7]

не работает((


 
Плохиш ©   (2007-06-11 18:34) [8]


> repus ©   (11.06.07 18:31) [7]
> не работает

Это не наша проблема...


 
Anatoly Podgoretsky ©   (2007-06-11 18:47) [9]

repus ©   (11.06.07 16:35)  
Не надо самостоятельно переводить на русский, приводи оригинал сообщения.


 
repus ©   (2007-06-11 18:51) [10]

[Warning] Unit1.pas(60): Variable "k" might not have been initialized.


 
Германн ©   (2007-06-11 18:54) [11]


> repus ©   (11.06.07 18:51) [10]
>
> [Warning] Unit1.pas(60): Variable "k" might not have been
> initialized.
>

Про это предупреждение тебе уже всё сказали. Теперь рассказывай о
> repus ©   (11.06.07 18:31) [7]
>
> не работает((
>


 
repus ©   (2007-06-11 19:03) [12]

когда поставил

else
k:=0;

как сказали выше, предупреждения перестали появляться, но при при нажатии на кнопку программа не выдает никакого результата(( просто остается такое же пустое поле((


 
Desdechado ©   (2007-06-11 19:09) [13]

> просто остается такое же пустое поле
Т.е. ты ничего не вводишь и пытаешься это "ничего" перевести в кг?


 
Германн ©   (2007-06-11 19:10) [14]


> repus ©   (11.06.07 19:03) [12]
>
> когда поставил
>
> else
> k:=0;
>
> как сказали выше, предупреждения перестали появляться, но
> при при нажатии на кнопку программа не выдает никакого результата((
> просто остается такое же пустое поле((
>

Приведи ещё раз код. Уже с изменениями.


 
repus ©   (2007-06-11 19:17) [15]

все, спасибо)) разобрался, я тормоз какой-то((
я код в ручную написал, а в Events забыл поставить на OnClick - Button1Click.

Спасибо большое за помощь.



Страницы: 1 вся ветка

Текущий архив: 2007.07.08;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.033 c
2-1181789232
Wahnsinng
2007-06-14 06:47
2007.07.08
Нужна помощь по созданию WebBrowser


5-1157026701
bvz
2006-08-31 16:18
2007.07.08
Как обращаться к произвольным свойствам компонента?


15-1181377529
Rule
2007-06-09 12:25
2007.07.08
Майкрософт блин как кролики, ну сколько ж можно


2-1181717276
DEVELA
2007-06-13 10:47
2007.07.08
Ужасно много кушается памяти!!!


2-1181889608
Баян 555
2007-06-15 10:40
2007.07.08
перевод в читабельный вид