Stránka 1 z 1

Delphi - kalkulačka, n-tá mocnina/odmocnina

Napsal: 13 bře 2015 21:12
od Milhouse
Zdravím,
Dělám kalkulačku s jedním editem. Mám již udělané funkce pro jednoduché počítání, sin, cos, mocniny i odmocniny na 2 apod. ale v žádném případě nemůžu přijít nato jak udělat n-tou mocninu a odmocninu v případě že x i n vypíšu do jednoho editu, jelikož když zadám tyto dvě proměnné jako:

x:=strtofloat(edit1.Text);
n:=strtofloat(edit1.Text);


tak program vyhodnotí obě proměnné jako jedno číslo.
Ale v případě že dám na formulář 2 edity a napíšu to takto, tak vše jde jak má:

procedure TForm1.BitBtn4Click(Sender: TObject); //mocnina na n-tou
var vysledek:extended;
begin
x:=strtofloat(edit1.Text);
n:=strtofloat(edit2.Text);
vysledek:=power(x,n);
edit1.Text:=floattostr(vysledek);

procedure TForm1.BitBtn3Click(Sender: TObject); // n-tá odmocnina
begin
x:=strtofloat(edit1.Text);
n:=strtofloat(edit2.Text);
z:=power(x,1/n);
edit1.Text:=floattostr(z);
end;


Takže by mě zajímalo jak to lze napsat aby to fungovalo přes jeden edit, za všechny rady budu rád.

Re: Delphi - kalkulačka, n-tá mocnina/odmocnina

Napsal: 14 bře 2015 10:41
od domitea
Takže máš v jednom Editu čísla 5 a 6. Když si z Editu vytáhneš aktuální text, tak tam máš někde x a někde n. Musíš nějak říct, co je co. Neboli, musíš nějak rozlišit ty čísla. Na to se hodí nějaký oddělovač, jako je tečka, čárka, mezera, středník či tabulátor... Protože se jedná o matematickou appku, tak škrtám tečku a čárku. Nejvhodněji se jeví středník ;)

Když uživatel zadá do Editu string "5;6", tak musíš nějakou metodou rozseknout ten string na dva jiné, v jednom bude "5" a ve druhém "6". Pak už si s tím můžeš hrát jako chceš ;)

A protože delphi neznám, tak ti neřeknou přesnou metodu, ale v jiných jazycích je metoda známa pod názvem .split()