Получение значения флажка в vfp - PullRequest
0 голосов
/ 01 октября 2018

Заголовок говорит сам за себя, я хочу получить значение флажка, независимо от того, является ли он числовым или символьным, чтобы я мог сохранить его в таблице.

Ответы [ 3 ]

0 голосов
/ 01 октября 2018

Цетин - «Значение флажка является либо числовым, либо логическим»возможно, в Grid, то значение Selected может быть другим.
Arnold - считывает значение в переменную памяти и затем проверяет TYPE () значения.

DO CASE
   CASE TYPE('readvalue') = "C"  && Character  
      <do whatever>
   CASE TYPE('readvalue') $ "I,N"  && Integer or Numeric
      <do whatever>
ENDCASE

Удачи

0 голосов
/ 03 октября 2018

Вы можете сами установить, какое значение вы хотите сохранить в свойстве check value, из окон свойств, если вы хотите сохранить числовое значение, тогда сделайте это, см. Изображение: putзначение в 0 или 1 , тогда вы можете получить значение следующим образом:

local nCheckVal as int
nCheckVal=thisform.check.value

Если вы хотите сохранить логические значения, сделайте следующее: Put .t.для истинного значения или .f.для ложного значения тогда вы можете получить значение следующим образом:

local lCheckVal as logical
lCheckVal=thisform.check1.value

Надеюсь, эта помощь.

0 голосов
/ 01 октября 2018

Если вы не знаете, является ли это логическим или числовым, то одним простым способом было бы привести значение к целому числу и проверить результат.Если это числовое или логическое значение, приведенное значение будет равно 1 \ 0 для .T..F.:

local llChecked
llChecked = ( cast(thisform.myCheckBox.Value as int) = 1 )

Хотя я бы не согласился, утверждает Дугалмак, значением флажка может быть символ.Я предполагаю, что это была опечатка и означало, что формат отображения логического значения может использоваться как символ (например, «Y», «N», «.T.», «.F.», «True» ...).Тогда то, что я сказал, остается в силе с небольшим изменением:

local llChecked
llChecked = cast(m.SomeValue as logical)
  • Если это символ и один из форматов, которые можно преобразовать в логическом формате, то это будет истина, иначе ложь.
  • Еслиэто числовое значение, тогда 0 будет ложным, а любое другое значение - истинным.
  • Если это уже логично, то какое бы значение оно уже не имело.
...