Как программно по условию IF уcтановить RadioButton

Sensor230
Дата: 25.08.2019 01:36:34
Подскажите пожалуйста кто знает, что не так?
В DataModule1 есть переменная UserLevel:string, при скрытии главной формы Form1.Hide и вызове Form2 переменной присваивается значение из стольбца "Должность"
begin
UserLevel:=(DataModule1.ADOQuery1.FieldByName('Должность').AsString);
end;

На Form2 есть RadioGroup1 с двумя радиокнопками (0:UserAdmin, 1:UserNotAdmin), надо при вызове Form2 проверять значение переменной UserLevel и если оно равно или не равно 'Администратор' то установить соответсвующие радиокнопки (UserAdmin или UserNotAdmin)
Делал так:
if  (UserLevel = 'Администратор') then
  begin
  RadioGroup2.ItemIndex:=0;
  FlagZayavka:='СтЗаявка';
  end
  else
  begin
  RadioGroup2.ItemIndex:=1;
  FlagZayavka:='СтЗаявление';
  end;

Не получается.... Спасибо.
Gator
Дата: 25.08.2019 12:00:50
Sensor230,
  FlagZayavka:='СтЗаявка';
  if  (UserLevel = 'Администратор') then 
    RadioGroup2.ItemIndex := 0
  else
    RadioGroup2.ItemIndex := 1
  ;
softwarer
Дата: 25.08.2019 12:50:03
Sensor230
В DataModule1 есть переменная UserLevel:string, при скрытии главной формы Form1.Hide и вызове Form2 переменной присваивается значение из стольбца "Должность"

Зачем? Это заведомая лажа. Так просто не должно быть никогда.

Sensor230
Делал так: .... Не получается....

Что именно не получается? Отладка - это тупой механический процесс. Начните с того места, где точно всё в порядке, пройдите по шагам до того места, где точно не так, и на каждом шагу смотрите - что меняется, что не меняется и соответствует ли это тому, что Вы хотите.

Хотя вообще-то это делается куда проще:

RadioGroup.ItemIndex := Ord(UserLevel = 'Заявка');

Вслепую мой хрустальный шар говорит, что у Вас где-нибудь затесалась ещё и локальная переменная UserLevel, и до значения из модуля данных Вы не дотягиваетесь.
Sensor230
Дата: 25.08.2019 19:39:30
softwarer
Sensor230
В DataModule1 есть переменная UserLevel:string, при скрытии главной формы Form1.Hide и вызове Form2 переменной присваивается значение из стольбца "Должность"

Зачем? Это заведомая лажа. Так просто не должно быть никогда.

Просто все формы в программе динамические. На первой форме авторизация, после авторизации данные текущего пользователя (ФИО, должность, и еще парочка параметров) храняться в переменных из DataModule1 и запрашиваются по необходимости из любой активной формы. Каждая форма при
fForm1:= TfForm1.Create(Nil) запрашивает эти первичные значения переменных из DataModule1.
Gator
Дата: 25.08.2019 21:11:13
Sensor230
Просто все формы в программе динамические. На первой форме авторизация, после авторизации данные текущего пользователя (ФИО, должность, и еще парочка параметров) храняться в переменных из DataModule1 и запрашиваются по необходимости из любой активной формы. Каждая форма при
fForm1:= TfForm1.Create(Nil) запрашивает эти первичные значения переменных из DataModule1.

И как эти формы узнают о DataModule1? Он везде прописан в uses?
Gator
Дата: 25.08.2019 21:14:31
Sensor230,

Про интерфейсы я молчу, ибо изначальный вопрос предполагает незнание их.
softwarer
Дата: 25.08.2019 21:32:03
Sensor230
На первой форме авторизация, после авторизации данные текущего пользователя

Тогда они должны присваиваться никак не при вызове Form2.
Sensor230
Дата: 26.08.2019 02:23:30
Gator
Sensor230
Просто все формы в программе динамические. На первой форме авторизация, после авторизации данные текущего пользователя (ФИО, должность, и еще парочка параметров) храняться в переменных из DataModule1 и запрашиваются по необходимости из любой активной формы. Каждая форма при
fForm1:= TfForm1.Create(Nil) запрашивает эти первичные значения переменных из DataModule1.

И как эти формы узнают о DataModule1? Он везде прописан в uses?

Естественно во всех формах прописан DataModule1. и все функции и процедуры из модуля вызываются и работают, затык в том, что на одной из форм есть RadioGroup1 с двумя кнопками и задача в том, чтобы при создании формы отмечалась первая или вторая кнопка в соответствии с условием.
Sensor230
Дата: 26.08.2019 02:32:21
softwarer
Sensor230
На первой форме авторизация, после авторизации данные текущего пользователя

Тогда они должны присваиваться никак не при вызове Form2.

Может я где не правильно выразился, но... При нажатии кнопки авторизации сравнивается логин и пароль с данными таблицы, если совпадают то из этой же таблицы тащатся другие данные в т.ч. должность авторизуемого. все это (вытащенное) сохраняется в переменных в DataModule1, создается новая форма уже со значением переменных из модуля, а форма авторизации закрывается.
makhaon
Дата: 26.08.2019 11:16:51
всё это можно сделать прямо в dpr, без DataModule'ей. может будет удобнее?