Page 1 of 1

Whether GET without DCSAY is possible?

Posted: Wed Dec 12, 2012 8:17 pm
by Eugene Lutsenko
Understood

Re: Whether GET without DCSAY is possible?

Posted: Wed Dec 12, 2012 8:56 pm
by bwolfsohn
DCGET - check the help file...

Re: Whether GET without DCSAY is possible?

Posted: Thu Dec 13, 2012 2:09 am
by Tom
It's just like DCSAY ... GET, but all the parameters lose the "SAY"- or "GET"-prefix:

Code: Select all

@ 1,1 DCSAY 'Test' GET cTEST GETSIZE 10 GETFONT "12.Arial" 
->

Code: Select all

@ 1,1 DCGET cTEST SIZE 10 FONT "12.Arial" 

Re: Whether GET without DCSAY is possible?

Posted: Thu Dec 13, 2012 8:40 am
by GeneB
You can get the same result with:
@ 1,1 DCSAY "" GET cTest

If you add SAYSIZE it often helps when building a screen of multiple gets.

Re: Whether GET without DCSAY is possible?

Posted: Thu Dec 13, 2012 12:23 pm
by Eugene Lutsenko
Thanks!
Earlier I and did, and then saw that after the message there is too much blank space and began to do so:

Code: Select all

   @ 3.25,28 DCSAY "Глубина-горизонт:"  PARENT oGroup6                 EDITPROTECT {|| .NOT.M_Interval=3 } HIDE {|| .NOT.M_Interval=3 }
   @ 3.1,mPosGet DCGET N_Glubina        PARENT oGroup6 PICTURE "#####" EDITPROTECT {|| .NOT.M_Interval=3 } HIDE {|| .NOT.M_Interval=3 }
Positioning of a conclusion of DCSAY and the entry field of DCGET is made separately that gives the chance more on creation of a screen form

Re: Whether GET without DCSAY is possible?

Posted: Fri Dec 14, 2012 1:51 am
by reganc
Eugene Lutsenko wrote:Thanks!
Earlier I and did, and then saw that after the message there is too much blank space and began to do so:

Code: Select all

   @ 3.25,28 DCSAY "Глубина-горизонт:"  PARENT oGroup6                 EDITPROTECT {|| .NOT.M_Interval=3 } HIDE {|| .NOT.M_Interval=3 }
   @ 3.1,mPosGet DCGET N_Glubina        PARENT oGroup6 PICTURE "#####" EDITPROTECT {|| .NOT.M_Interval=3 } HIDE {|| .NOT.M_Interval=3 }
Positioning of a conclusion of DCSAY and the entry field of DCGET is made separately that gives the chance more on creation of a screen form
Eugene

The SAYSIZE clause of a DCSAY...GET combination allows you to control the width of the SAY object.

Re: Whether GET without DCSAY is possible?

Posted: Fri Dec 14, 2012 2:42 am
by Tom
The SAYSIZE clause of a DCSAY...GET combination allows you to control the width of the SAY object.
If you have something like this:

Code: Select all

@ 1,1 DCSAY 'Test:' GET cTest SAYSIZE 25
you may think that the SLE/GET is positioned at column 26, since 1+25 equals 26. This is not true. eXpress++ adds 1.5 columns to the SAY-portion, in order to have a blank area between the say and the get. In separated code, it's this:

Code: Select all

@ 1,1 DCSAY 'Test:'
@ 1,27.5 DCGET cTest
In other words, this:

Code: Select all

@ 1,1 DCSAY 'Test:' GET cTest SAYSIZE 25
is not the same as this:

Code: Select all

@ 1,1 DCSAY 'Test:'
@ 1,26 DCGET cTest
So, Eugene is right. Separating the objects makes it a little easier to design the screen, since DCSAY ... GET ... SAYSIZE manipulates the object positions.

Re: Whether GET without DCSAY is possible?

Posted: Fri Dec 14, 2012 8:23 pm
by Eugene Lutsenko
Yes. Here this screen form:
Image
On another it couldn't be made. Pay attention to entry fields at the very bottom on the right.
And it is its code

Code: Select all

   ***** ОТОБРАЖЕНИЕ ИНФОРМАЦИИ О ФУНКЦИЯХ ПРОГРАММНОГО ИНТЕРФЕЙСА ************

   Mess1 = 'Автоматическая формализация предметной области: генерация классификационных и описательных шкал'
   Mess2 = 'и градаций,  а также обучающей и распознаваемой выборки  на  основе  базы исходных данных: "Inp_data"'
   @ 0,0 DCSAY Mess1 FONT '10.Helvetica Bold' SAYSIZE 0
   @ 1,0 DCSAY Mess2 FONT '10.Helvetica Bold' SAYSIZE 0

   mStrinFrame = 2.5  // Позиция первой строки нулевой группы, следующая группа ниже на 2+N строки, если в группе N строк
   mWidthFrame = 51   // Ширина группы, следующая группа справа правее этой ширины   на 3 символа
   mPosGet     = 42   // Отступ полей ввода числовых значений внутри групп
   
   @ mStrinFrame, 0             DCGROUP oGroup1 CAPTION 'Задайте тип файла исходных данных:' SIZE mWidthFrame,3.5
   @ 1,  2                      DCRADIO M_XlsDbf VALUE 1 PROMPT 'XLS - имя файла базы исходных данных: Inp_data.XLS' PARENT oGroup1
   @ 2,  2                      DCRADIO M_XlsDbf VALUE 2 PROMPT 'DBF - имя файла базы исходных данных: Inp_data.DBF' PARENT oGroup1

   @ mStrinFrame, mWidthFrame+3 DCGROUP oGroup2 CAPTION 'Считать нули и пробелы отсутствием данных?' SIZE mWidthFrame,3.5
   @ 1, 2                       DCRADIO Flag_zer VALUE 1 PROMPT 'Да'  PARENT oGroup2
   @ 2, 2                       DCRADIO Flag_zer VALUE 2 PROMPT 'Нет' PARENT oGroup2   
   Mess = 'Стандарт внешней базы данных: "Inp_data"'
   @ 1.5,13 DCPUSHBUTTON PARENT oGroup2 CAPTION Mess SIZE LEN(Mess)-4, 1.2 ACTION {||Help2_3_2_2()}

   mStrinFrame = mStrinFrame+4
   @ mStrinFrame,  0            DCGROUP oGroup3 CAPTION 'Задайте диапазон столбцов классификационных шкал:' SIZE mWidthFrame,3.5
   @ 1, 2                       DCSAY "Начальный столбец классификационных шкал:" PARENT oGroup3;@1,mPosGet DCGET M_KlSh1 PARENT oGroup3 PICTURE "#####"
   @ 2, 2                       DCSAY "Конечный  столбец классификационных шкал:" PARENT oGroup3;@2,mPosGet DCGET M_KlSh2 PARENT oGroup3 PICTURE "#####"

   @ mStrinFrame, mWidthFrame+3 DCGROUP oGroup4 CAPTION 'Задайте диапазон столбцов описательных шкал:' SIZE mWidthFrame,3.5
   @ 1, 2                       DCSAY "Начальный столбец описательных шкал:" PARENT oGroup4;@1,mPosGet DCGET M_OpSh1 PARENT oGroup4 PICTURE "#####"
   @ 2, 2                       DCSAY "Конечный  столбец описательных шкал:" PARENT oGroup4;@2,mPosGet DCGET M_OpSh2 PARENT oGroup4 PICTURE "#####"
   
   mStrinFrame = mStrinFrame+4
   @ mStrinFrame, 0             DCGROUP oGroup5 CAPTION 'Задайте режим:' SIZE mWidthFrame,4.5
   @ 1, 2                       DCRADIO Regim VALUE 1 PROMPT 'Формализации предметной  области (на основе Inp_data.dbf)' PARENT oGroup5
   @ 2, 2                       DCRADIO Regim VALUE 2 PROMPT 'Генерации распознаваемой выборки (на основе Inp_rasp.dbf)' PARENT oGroup5
   @ 3, 2                       DCCHECKBOX M_ChastObi PROMPT 'Делить обучающую выборку на части?'                        PARENT oGroup5 EDITPROTECT {|| .NOT.Regim=1 } HIDE {|| .NOT.Regim=1 }
   @ 3, 2                       DCCHECKBOX M_ChastRso PROMPT 'Делить распознаваемую выборку на части?'                   PARENT oGroup5 EDITPROTECT {|| .NOT.Regim=2 } HIDE {|| .NOT.Regim=2 }
   @ 3.1, mPosGet               DCGET N_ChastObi PARENT oGroup5 PICTURE "#####" EDITPROTECT {|| .NOT.M_ChastObi } HIDE {|| .NOT.M_ChastObi }
   @ 3.1, mPosGet               DCGET N_ChastRso PARENT oGroup5 PICTURE "#####" EDITPROTECT {|| .NOT.M_ChastRso } HIDE {|| .NOT.M_ChastRso }

   @ mStrinFrame, mWidthFrame+3 DCGROUP oGroup6 CAPTION 'Задайте способ выбора размера интервалов:'  SIZE mWidthFrame,4.5
   @ 1, 2                       DCRADIO M_Interval VALUE 1 PROMPT 'Интервалы равного размера с разным числом наблюдений' PARENT oGroup6
   @ 2, 2                       DCRADIO M_Interval VALUE 2 PROMPT 'Интервалы с равным числом наблюдений разного размера' PARENT oGroup6
   @ 3, 2                       DCRADIO M_Interval VALUE 3 PROMPT 'Сценарии'                                             PARENT oGroup6
   @ 3.25, 13                   DCSAY "Число уровней:"     PARENT oGroup6             EDITPROTECT {|| .NOT.M_Interval=3 } HIDE {|| .NOT.M_Interval=3 }
   @ 3.10, 25.0                 DCGET N_Urovney        PARENT oGroup6 PICTURE "#"     EDITPROTECT {|| .NOT.M_Interval=3 } HIDE {|| .NOT.M_Interval=3 }
   @ 3.25, 28                   DCSAY "Глубина-горизонт:"  PARENT oGroup6             EDITPROTECT {|| .NOT.M_Interval=3 } HIDE {|| .NOT.M_Interval=3 }
   @ 3.10, mPosGet              DCGET N_Glubina        PARENT oGroup6 PICTURE "#####" EDITPROTECT {|| .NOT.M_Interval=3 } HIDE {|| .NOT.M_Interval=3 }

   // Всегда M_ObAnk Создавать базу событий на основе БД Inp_data.dbf

   DCGETOPTIONS TABSTOP
   DCREAD GUI ;
      FIT ;
      OPTIONS GetOptions ;
      ADDBUTTONS;
      MODAL ;
      TITLE '2.3.2.2. Универсальный программный интерфейс импорта данных в систему "ЭЙДОС-X++"'
PS By the way with an icon everything well turned out. In general for all thanks. Very pleasantly also it is very useful to communicate with you.

Re: Whether GET without DCSAY is possible?

Posted: Sat Dec 15, 2012 3:11 am
by c-tec
Hello Eugene,
a little addition:
@ 1,1 dcsay "Hello"
@ 1,DCGUI_COL+10 dcget cVar pict "#####"
works also if you need to separate say and get
regards
Rudolf

Re: Whether GET without DCSAY is possible?

Posted: Sat Dec 15, 2012 3:49 am
by Eugene Lutsenko
It is much more convenient, than a way which we discuss. I will surely use