Witam,
dostałem polecenie napisania programu który, oblicza wartosci liczby zapisanej w systemie pozycyjnym o podstawie p. Postanowiłem zrealizować zagadnienie w Delphi. Stworzyłem sobie interfejs i napisałem kod, tylko nie wiem czemu podczas uruchamiania czepia się rodzaju zadeklarowanych zmiennych. Jestem początkującym programistą i pewnie ten problem wydaje się banalny, ale dla mnie taki nie jest. Myślę, że dla społeczności tego forum, która jak sądzę składa się z programistów nie będzie problemu z odpowiedzeniem na moje pytanie na podstawie kodu źródłowego, który poniżej zamieszczam: co jest źle w tym kodzie co powinienem zmienić, tak ażeby działał?
Oto kod źródłowy:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Button1: TButton;
GroupBox1: TGroupBox;
Label4: TLabel;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
s : string;
p,w,L,i,c : cardinal;
begin
p:= StrToFloat (Edit1.text);
s:= StrToFloat (Edit2.text);
w := 1; L := 0;
for i := length(s) downto 1 do
begin
c := ord(s[i]) - ord('0');
inc(L, w * c);
w := w * p;
end;
Label4.Caption:= FloatToStr(c);
end;
end.
Z góry dziękuję za pomoc i pozdrawiam.