äh.. du verstehst glaub ich das konzept nicht, also erstmals
diese ganzen funktionen da wie trackbar1change usw, das sind events die aufgerufen werden wenn etwas passiert, wenn man also die position des balkens der trackbar1 verändert wird das change event aufgerufen, der parameter TObject sender ist wahrscheinlich das element von dem trackbar1 das child ist oder das parent window
du willst wahrscheinlich irgendwas machen wenn sich die trackbar ändert, zb lautstärke ändern etc, in deinem fall willst du bei label1 anzeigen an welcher position der slider steht
zunäst einmal ist TrackBar1->Max->Trackbar1->Position 100% falsch, zweitens versuchst du TrackBar1->Max->Trackbar1->Position = irgendwas in einer IntToStr() methode?!
man macht in den seltensten fällen zuweisungen im aufruf einer methode außer bei so sachen wie zb if(Succeeded(x = Initialize()))
also zunächst einmal, TrackBar1 ist ein objekt und hat attribute, die sind zb Min, Max, Position (wahrscheinlich) und wahrscheinlich hats noch sowas wie stepsize (spring ich um 1 oder mach 10er sprünge), enabled (kann ich den slider verschieben) und das attribut Max wird sicher ein integer oä sein aber keine klasse die schon garnicht als attribut noch eine TrackBar1 variable enthält -.-
du willst jetzt einfach dass das label die pos anzeigt, also wenn min = 0 und max=9 is und der slider sitzt in der mitte wird position = 5 sein und du willst dass in deinem label 5 steht... dann machst du einfach
void _fastcall TForm1::TrackBar1Change(TObject *Sender)
{
Label1->Caption = IntToStr(TrackBar1->Position);
}
und das wars.. ich meine bei dem mist der bei dir in der fkt steht setzt du die caption (den text) von deinem label auf
TrackBar1->Min
und weist den wert von TrackBar1->Min auf TrackBar1->Position zu (wenn man sich mal das falsche TrackBar1->Max->Trackbar1.. wegdenkt) bevor du das machst... also du setzt die position auf min und den text des labels auf min... -.-
und in der funktion da
void __fastcall TForm1::FormCreate(TObject *Sender)
{
Label1->Caption=StrToInt(TrackBar1->Max);
}
beim createn von dem form setzt du die caption des labels auf max, aber ist die position der trackbar auch auf max? der default wert auf dem das beim starten steht ist wahrscheinlich wenn ich raten müsste entweder die mitte oder Min, jedenfalls würd ich da auch
Label1->Caption = IntToStr(TrackBar1->Position);
setzen
und am ende noch, zu deinem problem mit den kommazahlen und potenzen
wenn du kommazahlen zulassen willst dann wirst du wohl nicht StrToInt benutzen so wie beim addieren wie du es geschrieben hast sondern StrToFloat oder StrToDouble oder was auch immer die API für nen namen für die funktion hat, ein Int ist ganzzahlig und wenn in deiner textbox 1,23 steht dann wird das ,23 abgeschnitten, erst ein float oder double hat dann den wert 1,23
wenn du dein ergebnis hast und das ist 3,334 und du machst beim setzen in edit3 StrToInt dann wird wieder das nachkomma zeug abgeschnitten also musst du dann StrToFloat / sonst was machen... und das mit potenzieren
ja die funktion wird irgend sowas wie pow oder Pow heißen.. je nachdem was du verwendest, wenn du Math.h inkludierst dann hast du pow(x, y) -> x hoch y und du machst im
OnButtonPower
Edit3->Text = FloatToStr(pow(StrToFloat(Edit1->Text), StrToFloat(Edit2->Text));