mojaSymfonia FORUM https://forum.mix-soft.pl/ |
|
Replace w polu Edit https://forum.mix-soft.pl/viewtopic.php?f=15&t=2558 |
Strona 1 z 1 |
Autor: | zz [ 2010-12-14, 14:39 ] |
Tytuł: | Replace w polu Edit |
W pole Edit wpisuję liczbę z przecinkiem, a do tablicy chcę wpisać z kropką. Co mam nie OK w poniższym kodzie, że nie chce wyjść z Edit-a? Kod: int sub IsDecim() replace ",", "." : message buf endsub sub xxx ..... Edit "", buf,170, 72,40,17, IsDecim()!=0: sTab(1)=buf |
Autor: | rafal [ 2010-12-14, 14:59 ] |
Tytuł: | |
Daj więcej kodu bo z tego ogryzka ciężko się połapać. |
Autor: | zz [ 2010-12-14, 15:41 ] |
Tytuł: | sie robi ;) |
Kod: int sub IsDecim() replace ",", "." : message buf endsub #define OK 2 #define ANULUJ -1 string sTabDlug(20), sTabIlosc(20) Form "OKNO",300,640 Group "", 10, 25,270,35 Text "Lp.", 60, 39, 50, 17 Text "Sztuk", 95, 39, 50, 17 Text "Wymiar", 175, 39, 50, 17 Group "", 10, 55,270,500 Edit " 1 ", sTabIlosc(1),85, 72,40,17 Edit "", buf,170, 72,40,17, IsDecim()!=0: sTabDlug(1)=buf Button "&OK", 100,560,80,25,OK Button "&Anuluj",200,560,80,25,ANULUJ ExecForm OnCommand Int Sub OnCommand(int id, int msg) If id == 2 Then Save EndSub |
Autor: | rafal [ 2010-12-14, 21:53 ] |
Tytuł: | |
1. Dlaczego zadeklarowałeś zmienne typu string do przechowywania danych typu float? 2. Nie lepiej użyć to tego projektu MxGrida? Wygląda, że świtenie by tu pasował. Wogóle jakoś dziwnie to napisałeś. Błąd jest np: Kod: Int Sub OnCommand(int id, int msg) If id == 2 Then Save EndSub id to id kontrolki na formie. Tu źle tego użyłeś. |
Autor: | koronen [ 2010-12-15, 09:43 ] |
Tytuł: | |
A nie mógłbyś przypisać do Edita nowej zmiennej którą obrobiłbyś już po wyjściu z formu i dopiero wtedy zapisał do tablicy? |
Autor: | rafal [ 2010-12-15, 09:56 ] |
Tytuł: | |
a może użyj monEdit'a |
Autor: | zz [ 2010-12-15, 12:49 ] |
Tytuł: | |
Ale do pola MonEdit też trzeba chyba wpisać z kropką? A ja chcę wpisać do Edt-a z przecinkiem, a w tablicy mieć z kropką. PS. Zrobiłem zgodnie z radą Koroner'a i wygląda na to, że działa. Thx. PS2. Chyba muszę się nauczyć MxGrida. |
Autor: | rafal [ 2010-12-15, 12:56 ] |
Tytuł: | |
Zobacz, nawet nie chciało Ci się sprawdzić. W monEdit wpisujesz z przecinkiem a wartość zapisywana jest to zmiennej typu float (czyli z kropką). |
Autor: | zz [ 2010-12-15, 13:06 ] |
Tytuł: | |
Przepraszam (za lenistwo). Przeczytałem help-a, a tam są tylko kropki. A czy da się jakoś usunąć kalkulator? |
Autor: | rafal [ 2010-12-15, 13:23 ] |
Tytuł: | |
jak chcesz bez kalkulatora to możesz użyć kontrolki MxEdit Kod: dispatch dEdit Form "OKNO",300,640 [..] CONTROL "edit", dEdit, 85, 72,80,17 [..] ExecForm OnCommand Int Sub OnCommand(int id, int msg) if id == 0 && msg == 0 then dEdit.Type = 2 endif |
Autor: | zz [ 2010-12-15, 13:46 ] |
Tytuł: | |
Dzięki za podpowiedzi, dałem dwa punciki :) |
Strona 1 z 1 | Strefa czasowa UTC+1godz. [letni] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |