Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.03.2019, 20:53   #1
MayOL
 
Регистрация: 03.03.2019
Сообщений: 4
По умолчанию при использовании combobox ошибка, помогите пожалуйста !

Здравствуйте!
Раньше писал на делфи 7 всё нормально было, тут недавно решил опять взяться за писанину на делфи, но уже в community Rio 10.3.1 .Написал прогу по сохранению паролей к сайтам, нужно было при совпадении названия сайта в комбобокс выводился один раз этот адрес(название), и при выборе из комбобокса по названию сайта в два листбокса выводятся логины и пароли, ошибка при использовании комбобокса.
Код:
procedure Tfmain.BtnOpenClick(Sender: TObject);
var
  i: integer;
begin
  if fileexists('data.red') then
  begin
    loadfromfile('data.red');
  for i := 1 to rcount do
  begin
    with rmass[i] do
     if checkcombo(Saite)<>true then
      ComboBox1.Items.Add(Saite);
  end;
  end;
end;
function Tfmain.CheckCombo(a: string): boolean;
var
 i,n:integer;
begin
  result:=false;
  n:=combobox1.Items.Count;
  for I := 1 to n do
   begin
     if (combobox1.Items[i]=a) or (n=0) then
     begin
       result:=true;
       exit;
     end;
   end;
end;
procedure Tfmain.ComboBox1Change(Sender: TObject);
var
 i:integer;
begin
   Listbox1.Items.Clear;
   Listbox2.Items.Clear;
   for I := 1 to rcount do
   begin
    with rmass[i] do
      begin
      if (Combobox1.Items.CommaText = Saite) then
      begin
       ListBox1.Items.Add(Login);
       ListBox2.Items.Add(Password);

      end;
    end;
   end;
end;
если убрать
Код:
if checkcombo(Saite)<>true then
в первой процедуре, то ошибки нет, но не выводит в листбоксы ничего, а если оставить, ошибка, но выводит в листбоксы, но только две записи, остальные почему-то не видит и в комбобокс заполняет один адрес, а не 4 как в файле, там два адреса с майл.ру и два с яндексом.ру.Щас проще скрины a1.jpg

a2.jpg

a3.jpg

a4.jpg

a5.jpg

a6.jpg

a7.jpg

a8.jpg
MayOL вне форума Ответить с цитированием
Старый 03.03.2019, 21:10   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

индексация в Items с 0, а не с 1. И, соответственно, не до Count, а до Count-1
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 03.03.2019, 21:50   #3
MayOL
 
Регистрация: 03.03.2019
Сообщений: 4
По умолчанию

Спасибо за замечание это я уже поправил, но не отображается как раньше combobox1.text щас я так понял combobox1.items.commatext ищу как получить комбобокс выбранный текст
MayOL вне форума Ответить с цитированием
Старый 03.03.2019, 21:57   #4
MayOL
 
Регистрация: 03.03.2019
Сообщений: 4
По умолчанию

ф10.jpg

ф11.jpg
работает если в подпроцедуре show('text') при совпадении в "базе" выводит в литбоксы как надо, но только то что я занёс , а не содержимое комбобокса.текста как мне надо. при смене его.
MayOL вне форума Ответить с цитированием
Старый 03.03.2019, 22:12   #5
MayOL
 
Регистрация: 03.03.2019
Сообщений: 4
По умолчанию

всё решил всем спасибо получилось в обработчике комба:
Код:
procedure Tfmain.ComboBox1Change(Sender: TObject);
var
 ast:string;
 j:integer;
begin
   Listbox1.Items.Clear;
   Listbox2.Items.Clear;
   j:= Combobox1.ItemIndex;
   ast:= ComboBox1.Items.Strings[ComboBox1.ItemIndex] ;
   Show(ast);
end;
и вот результат :
q1.jpg

q2.jpg

Последний раз редактировалось Аватар; 03.03.2019 в 22:14.
MayOL вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка при использовании << dimon_snake Общие вопросы C/C++ 3 08.02.2016 21:09
Ошибка при использовании ajax linkoln_7 JavaScript, Ajax 8 17.04.2015 19:32
Ошибка 429 при использовании Call HenryO Microsoft Office Excel 2 18.05.2013 10:29
ошибка в использовании vector ichigo9911 Общие вопросы C/C++ 14 29.03.2012 19:17
Ошибка при использовании copyfile The Best Общие вопросы Delphi 20 22.07.2009 13:26