Соответствие значений

наткнулся на форуме My Visual Database на такой вопрос
На форме 2 комбибокса. Допустим, в первом список 1. «русский», 2. «удмуртский». Во втором, также допустим, 1. «понимаю», 2. «воломон».
Если выбрать в первом комбибоксе русский, то при выборе во втором комбибоксе «понимаю», ничего не происходит, а если выбрать «воломон», то должно выйти сообщение «Значения не соответствуют». Если же выбрать в первом «удмуртский», а во втором «воломон» — все хорошо продолжает работать, а если «понимаю», то такое же окно с сообщением. Спасибо!

Ну в общем написал ему пример

procedure Form1_ComboBox2_OnChange (Sender: TObject);
begin
  if (Form1.ComboBox1.ItemIndex = 1) AND (Form1.ComboBox2.ItemIndex = 1) then else ShowMessage('Значения не соответствуют');

end;

procedure Form1_OnShow (Sender: TObject; Action: string);
begin
  Form1.ComboBox1.Items.Add('Русский');
  Form1.ComboBox1.Items.Add('Удмуртский');

  Form1.ComboBox2.Items.Add('Понимаю');
  Form1.ComboBox2.Items.Add('Воломон');
end;

begin

end.

Далее оказалось, что слов может быть много и нужны соответствия удмуртскому языку.

var
UdWord: string;

procedure Form1_ComboBox2_OnChange (Sender: TObject);
begin
  if (Form1.ComboBox1.Text = 'Удмуртский') AND (UdmurtWord(Form1.ComboBox2.Text)) then else ShowMessage('Значения не соответствуют');
end;

procedure Form1_OnShow (Sender: TObject; Action: string);
begin
  Form1.ComboBox1.Items.Add('Русский');
  Form1.ComboBox1.Items.Add('Удмуртский');

  Form1.ComboBox2.Items.Add('Понимаю');
  Form1.ComboBox2.Items.Add('Воломон');
  Form1.ComboBox2.Items.Add('Тосько');
  Form1.ComboBox2.Items.Add('Знаю');
  Form1.ComboBox2.Items.Add('Делаю');

  UdWord := 'Воломон, Тосько';
end;

function UdmurtWord (Word: string): Boolean;
var
i:integer;
begin
  if ( pos(Word,UdWord)) then Result := True else Result := False;
end;


begin

end.

Когда я писал второй пример, то предположил, что нужно было создавать проверку слов сразу на оба языка.

God-damn, I was right

Спасибо! Все работает. Только подскажите, как добавить соответствие со вторым значением из первого комбобокса, т.е. при выборе «Русский», чтобы он выдавал сообщение на удмуртские слова?

var
UdWord,RuWord: string;

procedure Form1_ComboBox2_OnChange (Sender: TObject);
begin
  if (UdmurtWord(Form1.ComboBox2.Text)) then else ShowMessage('Значения не соответствуют');
end;

procedure Form1_OnShow (Sender: TObject; Action: string);
begin
  Form1.ComboBox1.Items.Add('Русский');
  Form1.ComboBox1.Items.Add('Удмуртский');

  Form1.ComboBox2.Items.Add('Понимаю');
  Form1.ComboBox2.Items.Add('Воломон');
  Form1.ComboBox2.Items.Add('Тосько');
  Form1.ComboBox2.Items.Add('Знаю');
  Form1.ComboBox2.Items.Add('Делаю');

  UdWord := 'Воломон, Тосько';
  RuWord := 'Понимаю, Знаю, Делаю';
end;

function UdmurtWord (Word: string): Boolean;
var
i:integer;
begin
  if (Form1.ComboBox1.Text = 'Удмуртский') then
    if (pos(Word,UdWord)) then Result := True else Result := False;
  if (Form1.ComboBox1.Text = 'Русский') then
    if (pos(Word,RuWord)) then Result := True else Result := False;
end;


begin

end.

2 Comments

  1. Привет, мой дорогой друг
    Я студент
    Ваша замечательная программа под названием
    Я видел BookLibrary v5.2. Можете ли вы прислать мне неисполняемую версию (оригинальную версию) этого проекта для лучшего изучения? Спасибо.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *