Ĺadny brzuch
Witam, Mam problem i zostałem skierowany na to forum.... :)
jestem zdesperowany. Bardzo proszę jakiegoś znawcę programowania aby poswięcił mi pare chwil...
O co chodzi? już piszę... Wpisuje liczby do Edita i poprzez nacisniecie guziczka "min&max" w odpowiednich labelach ma mi wyskoczyc najwieksza i najmniejsza liczba jaką wpisałem. Tutaj chodiz o to,że wpisuje liczbe 5 naciskam guzik i 5 ma sie pokazac w labelu1 i w labelu2 , wpisuje 4 to label1(pokazujacy najmniejsza wartosc) zmienia sie na 4 a label2(odp. za najwieksza wartosc) zostaje z 5 i tak cały czas.
co do najwiekszej liczby to zrobiłem tak i działa to:
if strtoint(edit1.Text) > strtoint(label5.Caption) then (label5.Caption:=edit1.Text);
‹gdzie oczywiscie Caption tego labela5 po uruchomieniu programu ma defaultową wartość 0›
Z gory mowie,ze zmiana znaku">" na "<" nie pomaga.
Mam nadzieje,ze wyraziłem się jasno.
jak nie to: jeszcze raz. Nie wiem jak napisac to aby ta wartosc minimalna sie zmieniala w zaleznosci od tego co wpisze do Edita... jak juz mowilem na max mi działa lecz nei na min :/
Chce porownywac liczbe wpisana do Edita z tą co niby juz tam jest(i jezeli jest mniejsza to zamienic ją) ale na poczatku programu to pole jest puste lub ma wartosc taką jaką jej dałem.
Ps. Czy jest taka mozliwosc w delphi ze po nacisnieciu guziczka czynnosc wykonuje sie tylko i wyłącznie 1 raz (pierwszy raz) a pozniej juz sie nie wykonuje ?
Użytkownik eip edytował ten post 01 listopad 2005, 12:16
Wraz nie bardzo rozumiem o co chodzi z ta liczba mniejsza :huh: Co do ps: da sie, zadeklaruj sobie zmienna lokalna typu bool, przy OnCreate ustaw sobie na false, i przy naciskaniu 'guziczka' zrob if-a, ktory sprawdza czy juz wykonano pewna czynnosc ;)
W ogóle nie jarze o co chodzi.
1. Jak te liczby są zapisane w Edicie? (12345, czy np 1-2-3-4-5)
2. Czy jesli w 1. jest pierwsza możliwosc to w gre wchodza tylko liczby 0..9 ?
3. Czy w Edicie będzie kilka liczb czy zawsze dwie (jedna?) ?
4. Czy może chodzi o to, ze program ma pamietac poprzednia liczbe, i porownac z nowa liczba wpisaną?
5. O co chodzi z tym:
Chce porownywac liczbe wpisana do Edita z tą co niby juz tam jest
Więcej zgadywać nie mam zamiaru <_<
Troche sie zagalopowałem i mozliwe,ze nikt mnie nie zrozumiał :/ ale przy pomocy pewnego kolegi znalazłem sposob na zrobienie tego...juz spiesze z wyjasnieniami, kod wyglada nastepujaco:
if (StrToInt(Label4.Caption) = 0) then (Label4.Caption:=Edit1.Text); if (StrToInt(Label5.Caption) = 0) then (Label5.Caption:=Edit1.Text); if strtoint(edit1.Text) > strtoint(label5.Caption) then (label5.Caption:=edit1.Text); if strtoint(edit1.Text) < strtoint(label4.Caption) then (label4.Caption:=edit1.Text);
Z czego label4 i label5 maja na początku przypisane wartosci rowne 0. Do edita wpisuje licbzy całkowite i naciskam guziczek a label4 i label5 pokazuja mi min i max. Taka błahostka powaliła cały moj program na kolana :/ Dzieki i przepraszam za kłopot!
Jedyny błąd jaki się pojawia w tym kodzie to to, że po wpisaniu 0 wartość najmniejsza = 0, ale po wpisaniu innej cyfry tez się zmienia. Błąd ten wynika z tego, że użyłeś 2 niezależnych od siebie warunków:
if (StrToInt(Label4.Caption) = 0) then (Label4.Caption:=Edit1.Text); if (StrToInt(Label5.Caption) = 0) then (Label5.Caption:=Edit1.Text);
Wartości z Edita powineneś wpisac do obu labelów, tylko wtedy gdy oba jednoczesnie są równe 0, więc tak:
if (StrToInt(Label4.Caption) = 0) and (StrToInt(Label5.Caption) = 0) then begin Label4.Caption := Edit1.Text; Label5.Caption := Edit1.text; end;
Masz rację, jak mogłem takiego błędu nie zauwazyc :( Dziekuje ślicznie korektę!
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
jestem zdesperowany. Bardzo proszę jakiegoś znawcę programowania aby poswięcił mi pare chwil...
O co chodzi? już piszę... Wpisuje liczby do Edita i poprzez nacisniecie guziczka "min&max" w odpowiednich labelach ma mi wyskoczyc najwieksza i najmniejsza liczba jaką wpisałem. Tutaj chodiz o to,że wpisuje liczbe 5 naciskam guzik i 5 ma sie pokazac w labelu1 i w labelu2 , wpisuje 4 to label1(pokazujacy najmniejsza wartosc) zmienia sie na 4 a label2(odp. za najwieksza wartosc) zostaje z 5 i tak cały czas.
co do najwiekszej liczby to zrobiłem tak i działa to:
if strtoint(edit1.Text) > strtoint(label5.Caption) then (label5.Caption:=edit1.Text);
‹gdzie oczywiscie Caption tego labela5 po uruchomieniu programu ma defaultową wartość 0›
Z gory mowie,ze zmiana znaku">" na "<" nie pomaga.
Mam nadzieje,ze wyraziłem się jasno.
jak nie to: jeszcze raz. Nie wiem jak napisac to aby ta wartosc minimalna sie zmieniala w zaleznosci od tego co wpisze do Edita... jak juz mowilem na max mi działa lecz nei na min :/
Chce porownywac liczbe wpisana do Edita z tą co niby juz tam jest(i jezeli jest mniejsza to zamienic ją) ale na poczatku programu to pole jest puste lub ma wartosc taką jaką jej dałem.
Ps. Czy jest taka mozliwosc w delphi ze po nacisnieciu guziczka czynnosc wykonuje sie tylko i wyłącznie 1 raz (pierwszy raz) a pozniej juz sie nie wykonuje ?
Użytkownik eip edytował ten post 01 listopad 2005, 12:16
Wraz nie bardzo rozumiem o co chodzi z ta liczba mniejsza :huh: Co do ps: da sie, zadeklaruj sobie zmienna lokalna typu bool, przy OnCreate ustaw sobie na false, i przy naciskaniu 'guziczka' zrob if-a, ktory sprawdza czy juz wykonano pewna czynnosc ;)
W ogóle nie jarze o co chodzi.
1. Jak te liczby są zapisane w Edicie? (12345, czy np 1-2-3-4-5)
2. Czy jesli w 1. jest pierwsza możliwosc to w gre wchodza tylko liczby 0..9 ?
3. Czy w Edicie będzie kilka liczb czy zawsze dwie (jedna?) ?
4. Czy może chodzi o to, ze program ma pamietac poprzednia liczbe, i porownac z nowa liczba wpisaną?
5. O co chodzi z tym:
Chce porownywac liczbe wpisana do Edita z tą co niby juz tam jest
Więcej zgadywać nie mam zamiaru <_<
Troche sie zagalopowałem i mozliwe,ze nikt mnie nie zrozumiał :/ ale przy pomocy pewnego kolegi znalazłem sposob na zrobienie tego...juz spiesze z wyjasnieniami, kod wyglada nastepujaco:
if (StrToInt(Label4.Caption) = 0) then (Label4.Caption:=Edit1.Text); if (StrToInt(Label5.Caption) = 0) then (Label5.Caption:=Edit1.Text); if strtoint(edit1.Text) > strtoint(label5.Caption) then (label5.Caption:=edit1.Text); if strtoint(edit1.Text) < strtoint(label4.Caption) then (label4.Caption:=edit1.Text);
Z czego label4 i label5 maja na początku przypisane wartosci rowne 0. Do edita wpisuje licbzy całkowite i naciskam guziczek a label4 i label5 pokazuja mi min i max. Taka błahostka powaliła cały moj program na kolana :/ Dzieki i przepraszam za kłopot!
Jedyny błąd jaki się pojawia w tym kodzie to to, że po wpisaniu 0 wartość najmniejsza = 0, ale po wpisaniu innej cyfry tez się zmienia. Błąd ten wynika z tego, że użyłeś 2 niezależnych od siebie warunków:
if (StrToInt(Label4.Caption) = 0) then (Label4.Caption:=Edit1.Text); if (StrToInt(Label5.Caption) = 0) then (Label5.Caption:=Edit1.Text);
Wartości z Edita powineneś wpisac do obu labelów, tylko wtedy gdy oba jednoczesnie są równe 0, więc tak:
if (StrToInt(Label4.Caption) = 0) and (StrToInt(Label5.Caption) = 0) then begin Label4.Caption := Edit1.Text; Label5.Caption := Edit1.text; end;
Masz rację, jak mogłem takiego błędu nie zauwazyc :( Dziekuje ślicznie korektę!