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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.05.2021, 18:14   #1
Kronos913
Форумчанин
 
Регистрация: 10.02.2021
Сообщений: 627
По умолчанию Массивы с одинаковыми элементами

Не знал как назвать тему... В общем такая вот задача

Если несколько массивов констант string
Код:
s1: array [1..10] of string = ({что-то там})
s2: array [1..15] of string = ({что-то там})
s3: array [1..20] of string = ({что-то там})
s4: array [1..5] of string = ({что-то там})
И вот мне нужен еще один массив s0 констант типа стринг, все элементы которого будут дублировать НЕКОТОРЫЕ элементы выше перечисленных массивов
1й элемент из s1, пятый элемент из s3, шестой из s2, первый из s4, девятый s1, и т.д.

Вопрос: как организовать еще один массив констант так, чтобы в программе не дублировались 2 раза одни и те же данные, чтобы к одному и тому же месту памяти можно было добраться и через массивы из первого списка и через массив s0
Kronos913 вне форума Ответить с цитированием
Старый 24.05.2021, 18:27   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

если s1, s2.... есть const то наверное можно так
Код:
s5: array of string = ( s1[5], s2[3], s3[9], ..... );
но все это экономия "на спичках" и потеря "читабельности" кода.
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 25.05.2021, 13:08   #3
Kronos913
Форумчанин
 
Регистрация: 10.02.2021
Сообщений: 627
По умолчанию

Я попробовал сделать так, компилятор выдает ошибку
Kronos913 вне форума Ответить с цитированием
Старый 25.05.2021, 13:56   #4
Kronos913
Форумчанин
 
Регистрация: 10.02.2021
Сообщений: 627
По умолчанию

Пока что самый кустарный способ решения задачи, который мне пришел в голову - это создать массивы типа byte, в которых хранятся номера элементов

По сути, мне нужно в двух местах этими строками наполнить список ComboBox листа
Kronos913 вне форума Ответить с цитированием
Старый 25.05.2021, 14:10   #5
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Цитата:
По сути, мне нужно в двух местах этими строками наполнить список ComboBox листа
почему не заполнить эти списки во время конструирования форм ? (через инспектор объектов)
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 25.05.2021, 18:23   #6
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

но если все-таки хочется делать это в коде программы
1 вар.
Код:
const m1 ='раз;два;три;четыре;пять';
m2 ='one;two;three';

combobox1.items.commatext:=m1;
combobox2.items.commatext:=m2;
2 вар.
Код:
const 
  s1='раз';
  s2='два';
  s3='три';

const 
  m: array[1..3] of string =(s1, s2, s3 );
3 вар.
Код:
 const 
  s1 ='one';
  s2 ='two';
  s3 ='three';
  s4 ='for';

const m1 =s1 +';' + s2 +';' +s3;
    m2 =s3 +';' +s2 +';' +'other';

combobox1.items.commatext:=m1;
combobox2.items.commatext:=m2;
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Из элементов двух стеков с одинаково упорядоченными элементами собрать новый стек с упорядоченными элементами, изменив связи между элементами стеков (не выделяя новую память). Андрей3636 Паскаль, Turbo Pascal, PascalABC.NET 7 01.11.2017 10:47
Столбцы с одинаковыми элементами qaguero11 Общие вопросы Delphi 1 11.07.2016 08:48
Удаление строк с одинаковыми значениями artsanox Microsoft Office Excel 3 09.12.2013 04:45
Приведение типов с одинаковыми свойствами praeeo Общие вопросы Delphi 3 21.12.2010 14:14
QBasic, массивы, заполнение одного элементами другого по заданным параметрам Mik86 Помощь студентам 1 17.03.2010 14:39