-
Привет! Можно ли создавать перечисления динамически, как? Спасибо.
-
на кой?
-
Выделите память под перечисление - вот и получится указатель на неициализированное перечисление. Присвойте ему сначала значение, потом используйте как хотите. В конце работы освободите память.
-
> на кой?
удобней совпадения искать
> Выделите память под перечисление
как? где можно почитать?
-
> удобней совпадения искать
кккакие совпадения? при чем тут перечисления?
-
> x-man (03.05.08 16:14)
>
> Привет! Можно ли создавать перечисления динамически, как?
> Спасибо.
>
Что собственно понимается уважаемым автором вопроса под перечислением?
-
> как? где можно почитать?Например, так:
type TMyEnum=(qwe, rty, uio);
var p :^TMyEnum;
begin
New(p);
p^ := rty;
WriteLn(Ord(p^));
Dispose(p);
end.
Читать в учебнике.
-
> palva © (05.05.08 11:46) [6]
а зачем динамически то создавать?
-
> Amoeba (05.05.2008 11:32:05) [5]
Может мы никогда не узнаем, очень он искустно молчит об этом.
-
под перечислением я понимаю это -- type TMyEnum=(qwe, rty, uio);
динамически, так как хочу грузить из файла, т.е. перечисление можно менять, а делаю я за тем, т.к. на мой взгляд искать проще с перечислениями, а еще точнее это будут разделители, я буду разбивать строку одним условием ...
-
Какое все таки бывает нестандартное мышление у некоторых!
-
> Какое все таки бывает нестандартное мышление у некоторых!
поясни
-
> поясни
Перечисления (перечислимый тип) по своей сути - это нечто имеющее конечное число элементов. Оно не может быть "резиновым".
-
Почему бы не взять список? И искать в нем удобно и сохранять на диск/читать с диска.
-
TStringList?
-
> TStringList?
Можно и его. Можно свой класс сделать или TStringList адаптировать, если чем-то не устроит.
-
спасибо
-
> , а еще точнее это будут разделители, я буду разбивать строку
> одним условием
Ну, реальных разделителей содержимого строки не так уж и много. Перечислимый тип для них легко создать статически. Как и тип множество содержащий элементы этого перечислимого типа. А так же и переменную типа этого множества. А вот уж заполнить эту последнюю при чтении из файла - как два пальца об асфальт.
-
> А вот уж заполнить эту последнюю при чтении из файла - как
> два пальца об асфальт.
как?
-
> x-man (06.05.08 12:21) [18]
>
>
> > А вот уж заполнить эту последнюю при чтении из файла -
> как
> > два пальца об асфальт.
>
> как?
>
Смотря какую структуру имеет этот файл.
-
скажем это текстовый файл, в каждой строке разделитель, всего их 5-7
-
Это
> хочу грузить из файла, т.е. перечисление можно менять
никак не вяжется с
> type TMyEnum=(qwe, rty, uio);
Определение перечислимого типа данных (как и любого другого типа) имеет отношение ко времени компиляции, а не ко времени выполнения.
-
> Сергей М. (06.05.2008 16:08:21) [21]
И оно нафиг не нужно, перечисление само по себе, в отрыве от его использования, ну например в case и так далее.
У автора вероятно серьезное сексуальное растройство, хочет потрахаться.
-
> x-man (06.05.08 16:03) [20]
>
> скажем это текстовый файл, в каждой строке разделитель,
> всего их 5-7
>
var
Separators : set of char;
Ch : Char;
F : TextFile;
Separators:=[];
AssignFile(F,FileName.txt);
Reset(F);
While not EOF(F) do begin
Readln(F,Ch);
Include(Separators, Ch);
end;
CloseFile(F);
Например так.
-
то, что надо! Германн - спасибо!
-
> x-man (06.05.08 18:11) [24]
> то, что надо
Ну и где в этом "точтонаде" т.н. "перечисления" ?
Ты, чебурек, множества от перечислений, видать, не отличаешь)
-
> Сергей М, (06.05.2008 19:02:25) [25]
Выбирай выражения.
-
Удалено модератором
Примечание: Дубль, Почта Виндоус имеет ошибку
-
АП, "чебурек" - не самое невыбираемое, что можно придумать)
Впрочем, обязуюсь "фильтровать базар".
-
> x-man (06.05.08 18:11) [24]
>
> то, что надо! Германн - спасибо!
>
Если б сегодня не дали зарплату, хрен бы я телепировал, что за перечисления тебе нужны. Да ещё и примеры писал при этом.
:)))
-
> Германн (06.05.2008 21:26:29) [29]
Вот он зверинный оскал капитализма.
-
я не знал про эти типы ...
-
делфи раньше чем горшок (С)
-
> x-man (07.05.08 00:33) [31]
>
> я не знал про эти типы ...
>
И это плохо. Прежде чем лезть с вопросами на форум нужно хотя бы усвоить по книжкам основы. Я это называю азбукой. Без неё задавать вопросы на форуме - прямой путь нарваться на флуд. И учти, что модераторы, скорее всего, осудят не флуд, а тебя с твоим безграмотным вопросом! Даже в конференции "Начинающие". Бо должна же быть некая нижняя граница начинающих, которая > 0. Иначе форум захлестнёт ураган типа того, который вчера "накрыл" Мьянму. :)
-
> Германн (07.05.2008 00:59:33) [33]
Эта граница называется, что у нас нет форума форума для идиотов, а есть только для начинающих, а то иногда с такими вопросами приходят и уровень грамотности на уровне второго класса. Некоторые темы по этой причине приходится закрывать. Ну а если при этом начинает огрызаться, ну тогда сам Бог велел, а против воли Бога не поспоришь.
Ураган Мьянму просто мелкий ветерок в некоторых случаях.
Ну что просветительной работы достаточно?
-
> Anatoly Podgoretsky © (07.05.08 01:22) [34]
Я думаю "просветительной" работы достаточно. По крайней мере в этой ветке.
P.S. Ну и по крайней мере, пока я не получу деньгу за халтурку, которая почти готова. Ну и по крайней мере, пока я не получу деньгу за халтурку, которая почти-почти готова.
Но это уже в других ветках. :)