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

наткнулся на форуме 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. Можете ли вы прислать мне неисполняемую версию (оригинальную версию) этого проекта для лучшего изучения? Спасибо.

Добавить комментарий для Pavlenkovv Отменить ответ

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