![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Нужно выполнить условие: если в комбобоксе1 выбрано "автокредит" и в комбобоксе2 выбрано "3", то едит1 присвоить значение "13,5"
Пишу такой код: Код:
begin if (CB_vid_kred.Items[CB_vid_kred.ItemIndex]='автокредит') and (CB_srok_kr.Items[CB_srok_kr.ItemIndex]='3') then Edit1.Text:='13,5'; end; Ошибку не выдает, но и результат не выводит, по ходу просто игнорирует условия, либо они не выполняются. Помогите, пожалуйста Последний раз редактировалось lmikle, 05.09.2013 в 06:13. |
|
#2
|
|||
|
|||
|
У себя проверил - все работает. А вы куда именно этот код вписали?
Если я правильно понял то вот ваш код: Код:
procedure TForm8_kalculator.CB_vid_kredChange(Sender: TObject); begin if (CB_vid_kred.Items.ValueFromIndex[CB_vid_kred.ItemIndex]='автокредит') and (CB_srok_kr.Items.ValueFromIndex[CB_srok_kr]='3')then Edit1.Text:='13,5'; end; Замените Change в этом обработчике событий в 2 местах на Click(CB_vid_kredClick), затем в OnFormCreate добавьте: Код:
CB_srok_kr.OnClick:=CB_vid_kredClick; Последний раз редактировалось M.A.D.M.A.N., 05.09.2013 в 11:39. |
|
#3
|
|||
|
|||
|
а что вы накидали на форму чтобы проверить? У меня не работает
сначала писала код в изменение значения комбобокса, сейчас перенесла на кнопку - результата нет Последний раз редактировалось M.A.D.M.A.N., 05.09.2013 в 11:38. |
|
#4
|
|||
|
|||
|
ValueFromIndex работает только, если StringList состоит из строк такого вида
Name1 = Value1 Name2 = Value2 .... NameN = ValueN где Name1,Name2,Value1,Value2 .. NameN,ValueN - произвольные строки разделённые символом равно =. Скорее всего в Вашем случае нужно писать Код:
if (CB_vid_kred.Items[CB_vid_kred.ItemIndex]='автокредит') and (CB_srok_kr.Items[CB_srok_kr]='3') then Edit1.Text:='13,5'; |
|
#5
|
||||
|
||||
|
Такая тривиальная задача и до сих пор не смогли решить?
|
|
#6
|
|||
|
|||
|
Может все проще чем кажется, либо автокредит в каком либо месте не правильно написано, либо в комбобоксе значение не 3 а 2...
|
|
#7
|
|||
|
|||
|
Если все еще не смогли решить, кидайте исходник в ЛС.
|
|
#8
|
|||
|
|||
|
в первом комбобоксе значения:
автокредит кредит на образование потребительский кредит ... во втором комбобоксе подразумевается значение месяцев: 3 6 12 24 36 60 |
|
#9
|
||||
|
||||
|
Нумерация же, с ноля.
С учётом того, что я увидел в столбике с месяцами, второе условие должно сравниваться нолём а не с тройкой o.O |
|
#10
|
||||
|
||||
|
Код:
if (CB_vid_kred.Text = 'автокредит') and (CB_srok_kr.Text = '3') then
Edit1.Text := '13,5'; |
|
#11
|
|||
|
|||
|
не работает.
Мой код: Код:
unit Unit8;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm8_kalculator = class(TForm)
Label1: TLabel;
But_razmer: TButton;
But_summa: TButton;
Edit1_razmer: TEdit;
Label2: TLabel;
CB_vid_kred: TComboBox;
Label3: TLabel;
CB_srok_kr: TComboBox;
Label4: TLabel;
Label5: TLabel;
CB_stavka: TComboBox;
But_raschet: TButton;
Label6: TLabel;
Edit1_sum_dox: TEdit;
Label7: TLabel;
CB_vid: TComboBox;
Label8: TLabel;
CB_srok: TComboBox;
Label9: TLabel;
Label10: TLabel;
CB_stavka_dox: TComboBox;
But_raschet_dox: TButton;
Label11: TLabel;
Label12: TLabel;
But_oformit_kredit: TButton;
But_new_raschet: TButton;
Edit1: TEdit;
procedure But_oformit_kreditClick(Sender: TObject);
procedure But_razmerClick(Sender: TObject);
procedure But_summaClick(Sender: TObject);
procedure CB_vid_kredChange(Sender: TObject);
procedure CB_srok_krChange(Sender: TObject);
procedure But_raschetClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form8_kalculator: TForm8_kalculator;
implementation
uses Unit9;
{$R *.dfm}
procedure TForm8_kalculator.But_oformit_kreditClick(Sender: TObject);
begin
Form9_oformlenie_kredita.Show;
end;
procedure TForm8_kalculator.But_razmerClick(Sender: TObject);
begin
Label1.Visible:=true;
Edit1_razmer.Visible:=true;
Label2.Visible:=true;
CB_vid_kred.Visible:=true;
Label3.Visible:=true;
CB_srok_kr.Visible:=true;
Label4.Visible:=true;
Label5.Visible:=true;
CB_stavka.Visible:=true;
But_raschet.Visible:=true;
But_summa.Visible:=false;
// Label12.Visible=true;
// But_oformit_kredit.Visible=true;
// But_new_raschet.Visible=true;
end;
procedure TForm8_kalculator.But_summaClick(Sender: TObject);
begin
Label6.Visible:=true;
Edit1_sum_dox.Visible:=true;
Label7.Visible:=true;
CB_vid.Visible:=true;
Label8.Visible:=true;
CB_srok.Visible:=true;
Label9.Visible:=true;
Label10.Visible:=true;
CB_stavka_dox.Visible:=true;
But_raschet_dox.Visible:=true;
But_razmer.Visible:=false;
// Label11.Visible=true;
//But_oformit_kredit.Visible=true;
//But_new_raschet.Visible=true;
end;
procedure TForm8_kalculator.CB_vid_kredChange(Sender: TObject);
begin
// if (CB_vid_kred.Items.ValueFromIndex[CB_vid_kred.ItemIndex]='автокредит') and (CB_srok_kr.Items.ValueFromIndex[CB_srok_kr.ItemIndex]='3')then
// Edit1.Text:='13,5';
end;
procedure TForm8_kalculator.CB_srok_krChange(Sender: TObject);
begin
//if (CB_vid_kred.Items[CB_vid_kred.ItemIndex]='автокредит')
// and (CB_srok_kr.Items[CB_srok_kr.ItemIndex]='3')
// then
// Edit1.Text:='13,5';
end;
procedure TForm8_kalculator.But_raschetClick(Sender: TObject);
begin
// if (CB_vid_kred.Items[CB_vid_kred.ItemIndex]='автокредит') and (CB_srok_kr.Items[CB_srok_kr.ItemIndex]='3') then
//Edit1.Text:='13,5';
//if (CB_vid_kred.text='автокредит') and (CB_srok_kr.text='3') then
//Edit1.Text:='13,5';
// if (CB_vid_kred.Items[CB_vid_kred.ItemIndex]='автокредит')
//and (CB_srok_kr.Items[CB_srok_kr]='3')
//then
//Edit1.Text:='13,5';
if (CB_vid_kred.Text = 'автокредит') and (CB_srok_kr.Text = '3') then
Edit1.Text := '13,5';
end;
end.Последний раз редактировалось M.A.D.M.A.N., 08.09.2013 в 22:12. |
|
#12
|
||||
|
||||
|
Цитата:
) |
|
#13
|
|||
|
|||
|
Архив Клиент ДЕЛФИ.rar
|
|
#14
|
||||
|
||||
|
ну вот ... как и предпологалось в cb_srok_kr.Items в первой строке (там где 3ка) стоит не '3', а '3 ' ... найдите отличие
из-за этого условие и не работает. |
| Этот пользователь сказал Спасибо Yurk@ за это полезное сообщение: | ||
anghela (09.09.2013)
| ||