![]() |
|
|
Регистрация | << Правила форума >> | 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
|
||||
|
||||
![]() Такая тривиальная задача и до сих пор не смогли решить?
— Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#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'; Поживу - увижу, Доживу - узнаю, Выживу - учту. ![]() [P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз
|
#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
|
||||
|
||||
![]() Цитата:
![]() Поживу - увижу, Доживу - узнаю, Выживу - учту. ![]() [P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз
|
#13
|
|||
|
|||
![]() Архив Клиент ДЕЛФИ.rar
|
#14
|
||||
|
||||
![]() ну вот ... как и предпологалось в cb_srok_kr.Items в первой строке (там где 3ка) стоит не '3', а '3 ' ... найдите отличие
![]() из-за этого условие и не работает. Поживу - увижу, Доживу - узнаю, Выживу - учту. ![]() [P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз
|
Этот пользователь сказал Спасибо Yurk@ за это полезное сообщение: | ||
anghela (09.09.2013)
|