Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.10.09;
Скачать: CL | DM;

Вниз

ListBox и алфавит   Найти похожие ветки 

 
Stranger2003   (2003-09-30 14:34) [0]

Здраствуйте, уважаемые мастера.

Не поможете ли с возникшей у меня проблемой.
На форме есть listbox на tabcontrole.
В listboxe`e написана куча имен пользователей. А Tab"ы идут как в записной книжке (А-Б, В-Г и т.д.). Как сделать так, чтобы при при переходе на tab(корешок например С-Т) в листбоксе отображались имена только на эти буквы С и Т.


 
KSergey ©   (2003-09-30 14:42) [1]

Его необходимо перезаполнять соответствующими элементами синхронно с переключением вкладок


 
ZEE ©   (2003-09-30 14:43) [2]

надо хранить "кучу имен пользователей" гденить в другом месте (например TStringList)а "при переходе на tab" выбирать нужные имена в ListBox ...


 
VAleksey ©   (2003-09-30 14:57) [3]

Может лучше использовать In memory table ?
Типа RXMemoryTable или ClientDataSet. И использовать возможности фильтрации.


 
Stranger2003   (2003-09-30 15:05) [4]

KSergey © (30.09.03 14:42) [1]

Все данные храняться в Ini файле и все имена юзеров это секции ини-файла. Естевственно при переходе на новый Tab ListBox обновляется снова.


 
ZEE ©   (2003-09-30 15:10) [5]

> Stranger2003 (30.09.03 15:05) [4]
> Все данные храняться в Ini файле и все имена юзеров это
> секции ини-файла. Естевственно при переходе на новый Tab
> ListBox обновляется снова.
ну так при обновленнии ListBox-а выбирай только имена начинающиеся с нужных букв, в чем сложность?


 
Stranger2003   (2003-09-30 15:33) [6]

ZEE © (30.09.03 15:10) [5]

Сложность и есть в этом
Знал бы не задавал вопрос
Разъясните плиз если не сложно.


 
Palladin ©   (2003-09-30 15:36) [7]

if условие then действие


 
ZEE ©   (2003-09-30 15:41) [8]

> Stranger2003 (30.09.03 15:33) [6]
> Сложность и есть в этом
> Знал бы не задавал вопрос
> Разъясните плиз если не сложно.
покажи как "ListBox обновляется"...


 
Stranger2003   (2003-09-30 16:13) [9]

ZEE © (30.09.03 15:41) [8]

var
Ini: TIniFile;
begin
Ini:= TIniFile.Create(AppPath + "db.dat");
Ini.ReadSections(ListBox1.Items);
Ini.Free
end;


 
Amoeba   (2003-09-30 16:16) [10]

Примерно так:

ListBox.BeginUpdate;
ListBox.Clear;
...
for I := 1 to N do
ListBox.Items.Add(S);//добавляем в цикле строки
ListBox.EndUpdate


 
ZEE ©   (2003-09-30 16:25) [11]

> Stranger2003 (30.09.03 16:13) [9]
ну если так, то можно добавить после загрузки ЛистБокса:

var i:integer;
SelChar:char;//первая буква в именах
...
for i:= ListBox1.Items.Count-1 downto 0 do
begin
if pos(SelChar,ListBox1.Items.Strings[i])<>1
then ListBox1.Items.Delete(i);
end;


или еще вариант

var ini:TIniFile;
sl:TStringList;
i:integer;
SelChar:char;
begin
sl:=TStringList.Create;
ini:= TIniFile.Create(AppPath + "db.dat");
ini.ReadSections(sl);
ini.Free;
ListBox1.Clear;
for i:=0 to sl.Count-1 do
begin
if pos(SelChar,sl.Strings[i])=1
then ListBox1.Items.Add(sl.Strings[i]);
end;
sl.Free;
end;


 
Stranger2003   (2003-09-30 16:48) [12]

ZEE © (30.09.03 16:25) [11]

Огромное спасибо, все заработало.
Удачи

С уважением Stranger2003.



Страницы: 1 вся ветка

Текущий архив: 2003.10.09;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.02 c
1-27502
Khloo!
2003-09-26 15:59
2003.10.09
Пароль


1-27571
sagchat
2003-09-29 14:10
2003.10.09
Где найти инфу по Randomize


9-27292
R2D2
2003-04-04 11:29
2003.10.09
GLScene - Запись AVI файла.


14-27719
Knight
2003-09-19 12:41
2003.10.09
Как окупить затраты на web-проект?


1-27551
bfg1000ke
2003-09-29 16:26
2003.10.09
hide process