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/