Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Множества и цикл for 
:(
    Опции темы
Delphist
  Дата 23.3.2006, 16:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphist Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2145
Регистрация: 3.2.2004
Где: всегда в сети

Репутация: 2
Всего: 3



Наверное вопрос смешной (для первоклассниклов), но к сожеоению с множествами не работал уже давно и кое что подзабыл, а лазить в букварь нет времент.
Вопрос следующего характера:
Есть переменная GoodSymbols: set of Char = ['a', 'b', 'c', 'd', 'e', 'g']
Имеется ли у меня возможность прогнать множество в цикле от а до g.

И ещё один вопрос, как инициализировать динамический массив:

Код

var
  GoodSymbols: array[1..9] of Char = ('1', '2', '3', '4', '5', '6', '7', '8', '9');  {тут проблем нет}


Код

var
  GoodSymbols: array of Char = ('1', '2', '3', '4', '5', '6', '7', '8', '9'); {а тут проблемы} 


Это сообщение отредактировал(а) Delphist - 23.3.2006, 16:26


--------------------
ProcessInfo 1-ая моя программа (аналог spyxx.exe с гораздо большим функц-ом - внедрение dll в адр. простр. процесса, перехват API-функций, разбор приложения на окна мн.др).
Когда-то давным-давно использовал это...
PM MAIL ICQ   Вверх
Alexeis
Дата 23.3.2006, 16:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



вот так можно
Код

var
  c : Char
For c := 'a' to 'z' do



--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Delphist
  Дата 23.3.2006, 16:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphist Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2145
Регистрация: 3.2.2004
Где: всегда в сети

Репутация: 2
Всего: 3



Цитата(alexeis1 @ 23.3.2006, 16:28)
вот так можно
Код

var
  c : Char
For c := 'a' to 'z' do

Этот трюк я знаю smile . Он перечисляет все буквы от 'a' до 'z', мне нужно перечислить в одном цикле такую последовател-ть:
q, g, z, 1, 6, &, 9, u, -, +, h

smile


--------------------
ProcessInfo 1-ая моя программа (аналог spyxx.exe с гораздо большим функц-ом - внедрение dll в адр. простр. процесса, перехват API-функций, разбор приложения на окна мн.др).
Когда-то давным-давно использовал это...
PM MAIL ICQ   Вверх
bems
Дата 23.3.2006, 16:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

Репутация: 31
Всего: 88



Цитата(Delphist @ 23.3.2006, 16:38 Найти цитируемый пост)
мне нужно перечислить в одном цикле такую последовател-ть:
q, g, z, 1, 6, &, 9, u, -, +, h
объяви множество как тип, и в цикле фор прогони с переменной-параметром цикла этого типа, так же как выше было для чара



--------------------
Обижено школьников: 8
PM MAIL   Вверх
Delphist
  Дата 23.3.2006, 16:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphist Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2145
Регистрация: 3.2.2004
Где: всегда в сети

Репутация: 2
Всего: 3



Цитата(bems @ 23.3.2006, 16:44)
Цитата(Delphist @  23.3.2006,  16:38 Найти цитируемый пост)
мне нужно перечислить в одном цикле такую последовател-ть:
q, g, z, 1, 6, &, 9, u, -, +, h
объяви множество как тип, и в цикле фор прогони с переменной-параметром цикла этого типа, так же как выше было для чара

Примерно как это будет выглядеть.


--------------------
ProcessInfo 1-ая моя программа (аналог spyxx.exe с гораздо большим функц-ом - внедрение dll в адр. простр. процесса, перехват API-функций, разбор приложения на окна мн.др).
Когда-то давным-давно использовал это...
PM MAIL ICQ   Вверх
Alexeis
Дата 23.3.2006, 16:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



Никак
Цитата

The control variable of a for loop must have type Boolean, Char, WideChar, Integer, an enumerated type, or a subrange type.

Добавлено @ 16:56
Цитата

var
  GoodSymbols: array of Char = ('1', '2', '3', '4', '5', '6', '7', '8', '9');


так можно только в C++
В delphi надо делать ручками или статический массив


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Snowy
Дата 23.3.2006, 17:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Слушай, чем тебя банальный string не устраивает?
Код

const
  s = 'qgz16&9u-+h';
var
  i: integer;
begin
  for i := 1 to Length(s) do
    Caption := Caption + s[i];
end;

PM MAIL   Вверх
Delphist
  Дата 23.3.2006, 17:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphist Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2145
Регистрация: 3.2.2004
Где: всегда в сети

Репутация: 2
Всего: 3



Цитата(Snowy @ 23.3.2006, 17:10)
Слушай, чем тебя банальный string не устраивает?

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


--------------------
ProcessInfo 1-ая моя программа (аналог spyxx.exe с гораздо большим функц-ом - внедрение dll в адр. простр. процесса, перехват API-функций, разбор приложения на окна мн.др).
Когда-то давным-давно использовал это...
PM MAIL ICQ   Вверх
Snowy
Дата 23.3.2006, 17:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Через set of Char - никак.
PM MAIL   Вверх
Delphist
Дата 23.3.2006, 17:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphist Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2145
Регистрация: 3.2.2004
Где: всегда в сети

Репутация: 2
Всего: 3



Цитата(Snowy @ 23.3.2006, 17:30)
Через set of Char - никак.

А ты сообщение bems прочитай он говорит, что можно.


--------------------
ProcessInfo 1-ая моя программа (аналог spyxx.exe с гораздо большим функц-ом - внедрение dll в адр. простр. процесса, перехват API-функций, разбор приложения на окна мн.др).
Когда-то давным-давно использовал это...
PM MAIL ICQ   Вверх
Snowy
Дата 23.3.2006, 17:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



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

Ко множеству вообще применимы только операторы множества.
in, +, -, >, <, =
Это множество, а не массив.
Можно в него вставить, выкинуть...
PM MAIL   Вверх
Romikgy
Дата 23.3.2006, 17:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 26
Всего: 146



Цитата(Delphist @ 23.3.2006, 15:14 Найти цитируемый пост)
Есть переменная GoodSymbols: set of Char = ['a', 'b', 'c', 'd', 'e', 'g']
Имеется ли у меня возможность прогнать множество в цикле от а до g.

Мож подойдет in ?
Цитата(Delphist @ 23.3.2006, 15:14 Найти цитируемый пост)
динамический массив

Код

zn: set of char;
begin
zn:=['+','-','*','/','^'];

end;



--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
bems
Дата 23.3.2006, 17:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

Репутация: 31
Всего: 88



Цитата(alexeis1 @ 23.3.2006, 16:53 Найти цитируемый пост)
Никак
ну да. не выспался я сегодня



--------------------
Обижено школьников: 8
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0902 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.