Главная страница
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.015 c
14-27745
nika_ufc
2003-09-19 18:06
2003.10.09
надоел этот английский , помогите :(


3-27361
DmitryNekl
2003-09-19 12:46
2003.10.09
Ошибка


3-27413
denis24
2003-09-17 17:29
2003.10.09
кодировка в ole db 4.0


7-27752
plotn
2003-07-24 09:44
2003.10.09
usb device aka mp3 player


11-27420
ABM
2003-01-28 19:16
2003.10.09
VCL комп-т имеет метод Paint. A в KOL что ? Что же переопределять