Wiem, że to jest na pewno banalne pytanie, ale nie mogę sobie z tym poradzić. Co trzeba zrobić aby w polu Edit wyświetliło się coś takiego "Wynik to 1" przy czym 1 to jest zmienna, którą chcę tam umieścić.
var Liczba: Integer;
begin
Liczba:= 1;
Edit1.Text:= 'Wynik to ' + IntToStr(Liczba);
end;
Dzięki za pomoc, próbowałem kombinacji z plusem ale w innym miejscu :)
Witam, podłączę się, bo mam podobne pytanko. Chciałbym, aby po wpisaniu do pola edit jakiejś wartości (x) i kliknięciu w przycisk Oblicz otrzymywać wartość jakiegoś równania, powiedzmy 2x+5=?
var
X : integer;
begin
if TryStrToInt(Edit1.Text, X) = True then
ShowMessage(IntToStr(2 * X + 5));
end;
Dzięki!
Jednak jeszcze pytanie:
To co jest tutaj odnosi się tylko do pola Edit1, a ja chciałbym, aby najpierw wpisać wartość do pola Edit1, a wynik wyskakiwał dopiero po wciśnięciu buttona Oblicz. Dodatkowo można tu wpisać tylko 1 cyfrę, a chciałbym, aby można było więcej.
TPR napisał(a)
Dzięki!
Jednak jeszcze pytanie:
To co jest tutaj odnosi się tylko do pola Edit1, a ja chciałbym, aby najpierw wpisać wartość do pola Edit1, a wynik wyskakiwał dopiero po wciśnięciu buttona Oblicz. Dodatkowo można tu wpisać tylko 1 cyfrę, a chciałbym, aby można było więcej.
eee O_o
nie rozumiem cię chyba
kod podał ci dobry, do zmiennej X jest przypisywana liczba z pola Edit1, ta liczba może być nawet wielocyfrowa np. 659 i tyle. Mam nadzieję, że ten kod wkleiłeś do buttona? 2x klik na Button, wywalasz "begin" i wklejasz jego kod i działa i tyle ;]
//a jakbyś chciał zrobić dwa x + y, to dwa edity robisz i tylko kod lekko modyfikujesz i po sprawie... ale najpierw napisz o co ci konkretnie chodzi
Wkleiłem kod do edita :/ Proszę o wybaczenie, w Delphi jestem świeży, kiedyś obczajałem tylko Turbo Pascala :)
wybaczamy :D
kompedium programisty przeczytaj, kilka rodziałów (masz na tej stronie), stracisz trochę czasu, ale sporo się dowiesz
Przeczytałem pierwsze rozdziały. Ja potrzebuję Delphi głównie do programów obliczeniowych (geodezyjnych). Kiedyś takie obliczenia pisałem w Turbo Pascalu, a w Delphi właśnie nie umiałem nawet przełożyć pascalowego Readln(x) :) Ale zobaczymy, ogólnie muszę zrobić obliczenie na podstawie kilkunastu zmiennych z uwzględnieniem odpowiednich rachunków macierzowych, także pewnie jeszcze się odezwę :) Pozdrawiam
Witam, chcę, aby button Oblicz wykonał obliczenia dla zmiennych wpisanych do kilku pół Edit. Czy muszę dla każdego pola Edit wpisać formułkę: "if TryStrToInt(Edit1.Text, X) = True then" jedno po drugim, a potem wszystkie obliczenia czy można to zrobić jakoś w jednej linijce dla każdego pola?
Przede wszystkim poczytaj: http://4programmers.net/Delphi/If a kolejne warunki mogą być w nawiasach, czyli przykładowo tak:
var
Liczba1, Liczba2 : integer;
begin
if (TryStrToInt(Edit1.Text, Liczba1))
and (TryStrToInt(Edit2.Text, Liczba2)) then
ShowMessage(IntToStr(Liczba1 + Liczba2));
end;
Funkcja TryStrToInt jest użyta po to aby upewnić się, że w Editach wpisane są na pewno są liczby całkowte.
Dzięki. Kolejny problem - zmienne będą rzeczywiste, nie całkowite, deklaruję je jako Real, ale jak wtedy wykonać to sprawdzenie, aby kliknięcie buttona wywołało obliczenia i showmessage z wynikiem? Nie ma czegoś takiego jak TryStrToReal.
var
Liczba1, Liczba2 : Double;
begin
if (TryStrToFloat(Edit1.Text, Liczba1))
and (TryStrToFloat(Edit2.Text, Liczba2)) then
ShowMessage(FloatToStr(Liczba1 + Liczba2));
end;
Tylko pamiętaj, że w pola edycyjne musi być wtedy wpisany taki separator jaki występuje w ustawieniach regionalnych czyli w DecimalSeparator, można dla pewności zamienić kropkę czy przecinek na DecimalSeparator przy użyciu funkcji StringReplace. Jej opis znajdziesz w google, a o tym jak sprawić by do pola edycyjnego można było wpisywać tylko poprawne liczby zmiennoprzecinkowe również było nie raz na tym forum, także coś w google znajedziesz na pewno. Trzeba tylko poszukać albo samodzielnie pokombinować. Oczywiście jeżeli chcesz mieć elegancki idiotoodporny program. Można też w przypadku niespełnienia warunków tych funkcji pokazać komunikat o błędzie lub deaktywować przycisk do obliczen we współnym OnChange dla editów z liczbami.
A może prościej:
begin
try ShowMessage(FloatToStr(StrToFloat(Edit1.Text)+StrToFloat(Edit2.Text))); except end;
end;