Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/10: Рейтинг темы: голосов - 10, средняя оценка - 4.60
F1oyd
2 / 2 / 0
Регистрация: 08.04.2011
Сообщений: 44
1

Заполнение комбобокса значениями массива

17.02.2012, 12:24. Просмотров 1836. Ответов 4
Метки нет (Все метки)

Добрый день
Есть код
Delphi
1
2
3
4
5
6
7
8
9
  for j := 0 to High(Array) do
  begin
    for z := 0 to ComboBox.Items.Count-1 do
    begin
      if Array[j] = ComboBox.Items[z] then goto combo;
    end;
    ComboBox.Items.Add(Array[j]);
combo:
  end;
Пытаюсь в комбобокс добавить айтемы из массива, исключая повторяющиеся стринги.
Код работает, но может как то проще можно?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.02.2012, 12:24
Ответы с готовыми решениями:

Заполнение Edit1 случайными значениями
Необходимо заполнить Edit1 случайными значениями ноликов и единиц,т.е. например...

Заполнение StringGrid значениями другого
Есть 2 StringGrida. Количество строк и столбцов, и сами значения у первого...

Заполнение первого столбца StringGrid значениями от 0000 до FFFF
Необходимо заполнить ячейки 1 столбца StringGrid значениями от 0000 до FFFF....

Тип для строкового массива с большими значениями
Написал программу которая выводит из блокнота рандомные слова на английском с...

Вывести номера элементов массива Х с минимальными значениями
Ребят помогите пожалуйста, так как я не очень опытный, можно сказать новичек....

4
БогДелфей
422 / 330 / 36
Регистрация: 31.05.2011
Сообщений: 1,156
17.02.2012, 12:34 2
ну мош как то так
Delphi
1
2
3
4
5
6
7
for j := 0 to High(Array) do
  begin
    for z := 0 to ComboBox.Items.Count-1 do
      begin
        if not Array[j] = ComboBox.Items[z] then ComboBox.Items.Add(Array[j]);
      end;
end;
0
Jazon_deenAlt
4111 / 986 / 191
Регистрация: 09.04.2009
Сообщений: 4,226
17.02.2012, 12:39 3
например чтобы без "гоуту" можно так, но станет ли он при етом проще трудно сказать, я просто не люблю "гоуту")
Delphi
1
2
3
4
5
6
7
8
9
10
11
var //Дополнительная
k:integer;    //переменная
for j := 0 to High(Array) do
  begin
    k:=0;
    for z := 0 to ComboBox.Items.Count-1 do
    begin
      if Array[j] = ComboBox.Items[z] then k:=k+1;
    end;
    if k<1 then ComboBox.Items.Add(Array[j]);
  end;
1
F1oyd
2 / 2 / 0
Регистрация: 08.04.2011
Сообщений: 44
17.02.2012, 12:45  [ТС] 4
БогДелфей, я так пробовал, не работает. просто форма не запускается и никакой ошибки не выдаёт

Добавлено через 3 минуты
Jazon_deenAlt, да, не плохо, тогда если всеравно какое колличество повторяющихся элементов то можно просто использовать флаг
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
var
flag:boolen;
for j := 0 to High(Array) do
  begin
    flag:=true;
    for z := 0 to ComboBox.Items.Count-1 do
    begin
      if Array[j] = ComboBox.Items[z] then
      begin 
         flag:=false;
         break;
      end;
    end;
    if flag then ComboBox.Items.Add(Array[j]);
  end;
Добавлено через 2 минуты
Jazon_deenAlt, спасибо, осенил. сам гоуту не люблю
0
Jazon_deenAlt
4111 / 986 / 191
Регистрация: 09.04.2009
Сообщений: 4,226
17.02.2012, 12:50 5
F1oyd, да ваш вариант еще лудше
0
17.02.2012, 12:50
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.02.2012, 12:50

Перед элементом массива номера К вставить М новых элементов с нулевыми значениями
Дан массив размера N и два целых числа К и M. Перед элементом массива номера К...

Найти сумму элементов массива, расположенных между максимальным и минимальным значениями включительно
У нас начались массивы, и у меня начались с ними проблемы, помогите,...

Все элементы массива с четными номерами заменить средним арифметическим элементов с нечетными значениями
1)Дан одномерный массив Yn. Удалить первые три элемента массива. Все элементы с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru