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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.08.2010, 18:34   #1
grafgrial
Просто хороший
Форумчанин
 
Аватар для grafgrial
 
Регистрация: 26.03.2010
Сообщений: 562
По умолчанию комбобокс и присвоение числа

Подскажите как мне сделать так.
например выбираю в комбобокс строчку и в едит показывается например число присвоеное этому слову
строчек может быть до 20000 -30000
присвоить по номеру строчки не получается т.к. по комбобокс идет сортировка
Помог, нажми весы слева
grafgrial вне форума Ответить с цитированием
Старый 11.08.2010, 18:45   #2
K.I.S.S.
Пользователь
 
Аватар для K.I.S.S.
 
Регистрация: 11.08.2010
Сообщений: 11
По умолчанию

забить данные в файл или БД и вытаскивать либо запросом(БД) либо парсером(Файл)
K.I.S.S. вне форума Ответить с цитированием
Старый 11.08.2010, 19:11   #3
chertovich
Форумчанин
 
Аватар для chertovich
 
Регистрация: 26.07.2009
Сообщений: 489
По умолчанию

Цитата:
Сообщение от grafgrial Посмотреть сообщение
Подскажите как мне сделать так.
например выбираю в комбобокс строчку и в едит показывается например число присвоеное этому слову
строчек может быть до 20000 -30000
присвоить по номеру строчки не получается т.к. по комбобокс идет сортировка
Какая там сортировка? Класс TStrings не сортирует строки по знач
Если в глубине души вы программист, то, следуя своим наклонностям, вы захотите написать кусок кода.
chertovich вне форума Ответить с цитированием
Старый 12.08.2010, 07:15   #4
grafgrial
Просто хороший
Форумчанин
 
Аватар для grafgrial
 
Регистрация: 26.03.2010
Сообщений: 562
По умолчанию

Код:
Какая там сортировка?
combobox1.Items.LoadFromFile('bd.tx t');
combobox1.Items.Sorted:=true;
а в общем у меня строчки в файле такого вида:
Код:
Барнаул, Алтайский край, Россия  -  13
Бийск, Алтайский край, Россия  -  14
нут вот как сделать чтобы при выборе Бийска в едите вылезло '14'
ну или подскажите как мне сделать так чтобы последние 4 цифры строчки вылезали в едит.
Помог, нажми весы слева
grafgrial вне форума Ответить с цитированием
Старый 12.08.2010, 07:43   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну вообще комбик при стандартных настройках вроде не позволяет такого сделать, но можно изголится собственной отрисовкой:
Код:
...
procedure TForm1.ComboBox1DrawItem(Control: TWinControl; Index: Integer;
  Rect: TRect; State: TOwnerDrawState);
var i:integer; s:string;
begin
  with ComboBox1.Canvas do begin
   FillRect(rect);
   if rect.Top=3 then begin
     s:='';
     for i:=length(ComboBox1.Items[Index]) downto 1 do begin
      if ComboBox1.Items[Index][i]=' ' then break;
      s:=ComboBox1.Items[Index][i]+s;
     end;
    TextOut(Rect.Left,Rect.Top,s)
   end   else
    TextOut(Rect.Left,Rect.Top,ComboBox1.Items[index]);

  end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
 ComboBox1.Style:=csOwnerDrawFixed;
end;
...
И не забыть что это только на экране вид такой будет
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 12.08.2010, 07:58   #6
Sparkman
220400
Форумчанин
 
Аватар для Sparkman
 
Регистрация: 21.05.2010
Сообщений: 726
По умолчанию

Цитата:
Сообщение от grafgrial Посмотреть сообщение
Подскажите как мне сделать так.
например выбираю в комбобокс строчку и в едит показывается например число присвоеное этому слову
строчек может быть до 20000 -30000
присвоить по номеру строчки не получается т.к. по комбобокс идет сортировка
А не дешевле будет сделать сортировку заранее?
Cерьёзной помощи не ждите - помогаю в перерывах на "перекур".
Не существует ничего невозможного для человека, который не собирается ничего делать сам.
Не учите человека, если вы не его учитель.
Sparkman вне форума Ответить с цитированием
Старый 12.08.2010, 08:30   #7
igh0st
Форумчанин
 
Аватар для igh0st
 
Регистрация: 05.07.2010
Сообщений: 136
По умолчанию

Можно воспользоваться ComboBoxEx, там у каждого Item есть реквизит Data, на который можешь повешать что угодно - хоть цело число, хоть указатель.
igh0st вне форума Ответить с цитированием
Старый 12.08.2010, 09:33   #8
Sanprof
Форумчанин
 
Аватар для Sanprof
 
Регистрация: 28.01.2008
Сообщений: 267
По умолчанию

еще есть вариант создать компонент наследник от TComboBox и добавить ему всего одно поле, в котором и будет храниться индекс.
Не забываем говорить спасибо за помощь - это ведь так приятно
Sanprof вне форума Ответить с цитированием
Старый 12.08.2010, 12:12   #9
grafgrial
Просто хороший
Форумчанин
 
Аватар для grafgrial
 
Регистрация: 26.03.2010
Сообщений: 562
По умолчанию

Stilet в общем код хороший- оставлю до необходимости, но не подходит
Sparkman Смысле заранее в файле? А толку по сортировка идет по названию города, а число то опред. когда сортировку сделаешь числа в файле будут в перемешку
igh0st Поискал в поиске, но так и не понял как с ним работать
Sanprof это как?
Помог, нажми весы слева
grafgrial вне форума Ответить с цитированием
Старый 12.08.2010, 14:36   #10
igh0st
Форумчанин
 
Аватар для igh0st
 
Регистрация: 05.07.2010
Сообщений: 136
По умолчанию

Цитата:
Сообщение от grafgrial Посмотреть сообщение
Поискал в поиске, но так и не понял как с ним работать
Примерно также как с TListView
igh0st вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Присвоение случайного числа изображению Волшебник_ Общие вопросы Delphi 6 29.03.2010 15:13
Внести уникальное значение в Комбобокс. KOSTIK1 Microsoft Office Excel 4 23.03.2010 10:53
[Проблема]Alphaskins: изменение темы приложения через комбобокс.. Человек_Борща Компоненты Delphi 4 15.02.2010 18:45
Присвоение ID artemavd БД в Delphi 2 20.04.2009 14:45
Комбобокс deadh5n1 Помощь студентам 1 11.12.2007 08:12