diff --git a/ba/baformed.cpp b/ba/baformed.cpp index 9d499574c..34dd1125e 100755 --- a/ba/baformed.cpp +++ b/ba/baformed.cpp @@ -9,7 +9,7 @@ class TFink_mask : public TMask { - char _chars[11]; + TString16 _chars; enum pos { // posizioni scatoletta xl = 1, @@ -33,11 +33,11 @@ class TFink_mask : public TMask public: - char* get_chars() { return _chars; } + TString & get_chars() { return _chars; } TFink_mask(const char* def) : TMask("ba21fn") { - strncpy(_chars, def, 11); + _chars = def; set_handler(C_TR, char_handler); set_handler(C_TL, char_handler); set_handler(C_TM, char_handler); @@ -133,9 +133,10 @@ void TFink_mask::start_run() bool TFink_mask::stop_run(KEY k) { if (k == K_ENTER) - { + { + _chars.cut(0); for (int i = 101; i <= 111; i++) - _chars[i-101] = field(i).get()[0]; + _chars << field(i).get()[0]; } return TMask::stop_run(k); } @@ -145,7 +146,7 @@ bool TFink_mask::char_handler(TMask_field& f, KEY k) if (f.focusdirty() && k == K_TAB) { TFink_mask& m = (TFink_mask&)f.mask(); - char* ch = m.get_chars(); + TString & ch = m.get_chars(); ch[f.dlg() - 101] = f.get()[0]; m.paint_example(); }