Pole Edit ze zmiennymi?

0

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ć.

1
var Liczba: Integer;
begin
  Liczba:= 1;
  Edit1.Text:= 'Wynik to ' + IntToStr(Liczba);
end;
0

Dzięki za pomoc, próbowałem kombinacji z plusem ale w innym miejscu :)

0

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=?

1
var
  X : integer;
begin
  if TryStrToInt(Edit1.Text, X) = True then
    ShowMessage(IntToStr(2 * X + 5));
end;
0

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.

0
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

0

Wkleiłem kod do edita :/ Proszę o wybaczenie, w Delphi jestem świeży, kiedyś obczajałem tylko Turbo Pascala :)

0

wybaczamy :D
kompedium programisty przeczytaj, kilka rodziałów (masz na tej stronie), stracisz trochę czasu, ale sporo się dowiesz

0

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

0

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?

0

Przede wszystkim poczytaj: 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.

0

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.

0
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.

0

A może prościej:
begin
try ShowMessage(FloatToStr(StrToFloat(Edit1.Text)+StrToFloat(Edit2.Text))); except end;
end;

1 użytkowników online, w tym zalogowanych: 0, gości: 1