Witam. Mam do zrobienia program w Delphi, któy będzie liczył X do potęgi K. Obydwie liczby wpisywane z klawiatury. Poprzez okienka. X ma być typu real, a K typu byte. Próbowałem już dużo róznych wersji, zawsze tam gdzie powienien być wynik mnożenia, jest 0 (zmienna z). Rzuci ktoś okiem? Tak mi to wygląda w praktyce --> http://imageshack.us/photo/my-images/543/xdokfail.jpg/
Poniżej cały kod programu... Prawdopodobnie błąd jest gdzieś w definicjach zmiennych, ale za cholerę nie mogę wymyśleć gdzie i jak powinienem zrobić żeby poszło... tzn, do wyświetlania jest dobrze i się zgadza wszystko na lajcie, tyle tylko że za nic nie chce obliczać tego co powinien. Zawsze jest zero ;f
unit X_do_K;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Math;
type
TForm1 = class(TForm)
XdopotegiK: TLabel;
wpiszX: TLabel;
wpiszK: TLabel;
WyswietlX: TLabel;
WyswietlK: TLabel;
WprowadzX: TEdit;
WprowadzK: TEdit;
Wprowadz: TButton;
Label1: TLabel;
Zakoncz: TButton;
Rownasie: TLabel;
WyswietlZ: TLabel;
wyswWynik: TButton;
procedure ZakonczClick(Sender: TObject);
procedure WprowadzXChange(Sender: TObject);
procedure WyswietlXClick(Sender: TObject);
procedure WprowadzClick(Sender: TObject);
procedure WprowadzKChange(Sender: TObject);
procedure wyswWynikClick(Sender: TObject);
private
public
{ Public declarations }
end;
var
Form1: TForm1;
x:double;
k:byte;
z:double;
i:integer;
implementation
{$R *.dfm}
procedure TForm1.ZakonczClick(Sender: TObject);
begin
close;
end;
procedure TForm1.WprowadzXChange(Sender: TObject);
begin
x:=StrToFloat(WprowadzX.Text);
end;
procedure TForm1.WyswietlXClick(Sender: TObject);
begin
WyswietlX.Caption:=FloatToStr(x);
end;
procedure TForm1.WprowadzClick(Sender: TObject);
var
i:integer;
k:byte;
z:double;
x:double;
begin
x:=StrToFloat(WprowadzX.Text);
k:=StrToInt(WprowadzK.Text);
for i:=1 to 10 do
begin
z:=0;
z:=z*x;
end;
end;
procedure TForm1.WprowadzKChange(Sender: TObject);
begin
k:=StrToInt(WprowadzK.Text);
end;
procedure TForm1.wyswWynikClick(Sender: TObject);
begin
WyswietlX.Caption:=(FloatToStr(x));
WyswietlK.Caption:=(IntToStr(k));
WyswietlZ.Caption:=(FloatToStr(z));
end;
end.