Конференция "Начинающим" » Перечисления [D7, WinXP]
 
  • x-man (03.05.08 16:14) [0]
    Привет! Можно ли создавать перечисления динамически, как? Спасибо.
  • Palladin © (03.05.08 16:22) [1]
    на кой?
  • palva © (03.05.08 19:33) [2]
    Выделите память под перечисление - вот и получится указатель на неициализированное перечисление. Присвойте ему сначала значение, потом используйте как хотите. В конце работы освободите память.
  • x-man (05.05.08 11:23) [3]

    > на кой?

    удобней совпадения искать

    > Выделите память под перечисление

    как? где можно почитать?
  • Palladin © (05.05.08 11:30) [4]

    > удобней совпадения искать

    кккакие совпадения? при чем тут перечисления?
  • Amoeba © (05.05.08 11:32) [5]

    > x-man   (03.05.08 16:14)
    >
    > Привет! Можно ли создавать перечисления динамически, как?
    >  Спасибо.
    >

    Что собственно понимается уважаемым автором вопроса под перечислением?
  • palva © (05.05.08 11:46) [6]
    > как? где можно почитать?
    Например, так:

    {$APPTYPE CONSOLE}
    type TMyEnum=(qwe, rty, uio);
    var p :^TMyEnum;
    begin
     New(p);
     p^ := rty;
     WriteLn(Ord(p^)); // 1
     Dispose(p);
    end.


    Читать в учебнике.
  • Palladin © (05.05.08 11:51) [7]

    > palva ©   (05.05.08 11:46) [6]

    а зачем динамически то создавать?
  • Anatoly Podgoretsky © (05.05.08 12:05) [8]
    > Amoeba  (05.05.2008 11:32:05)  [5]

    Может мы никогда не узнаем, очень он искустно молчит об этом.
  • x-man (05.05.08 23:38) [9]
    под перечислением я понимаю это -- type TMyEnum=(qwe, rty, uio);
    динамически, так как хочу грузить из файла, т.е. перечисление можно менять, а делаю я за тем, т.к. на мой взгляд искать проще с перечислениями, а еще точнее это будут разделители, я буду разбивать строку одним условием ...
  • DVM © (05.05.08 23:44) [10]
    Какое все таки бывает нестандартное мышление у некоторых!
  • x-man (05.05.08 23:54) [11]

    > Какое все таки бывает нестандартное мышление у некоторых!

    поясни
  • DVM © (05.05.08 23:59) [12]

    > поясни

    Перечисления (перечислимый тип) по своей сути - это нечто имеющее конечное число элементов. Оно не может быть "резиновым".
  • DVM © (06.05.08 00:01) [13]
    Почему бы не взять список? И искать в нем удобно и сохранять на диск/читать с диска.
  • x-man (06.05.08 00:07) [14]
    TStringList?
  • DVM © (06.05.08 00:10) [15]

    > TStringList?

    Можно и его. Можно свой класс сделать или TStringList адаптировать, если чем-то не устроит.
  • x-man (06.05.08 00:40) [16]
    спасибо
  • Германн © (06.05.08 00:54) [17]

    > , а еще точнее это будут разделители, я буду разбивать строку
    > одним условием

    Ну, реальных разделителей содержимого строки не так уж и много. Перечислимый тип для них легко создать статически. Как и тип множество содержащий элементы этого перечислимого типа. А так же и переменную типа этого множества. А вот уж заполнить эту последнюю при чтении из файла - как два пальца об асфальт.
  • x-man (06.05.08 12:21) [18]

    > А вот уж заполнить эту последнюю при чтении из файла - как
    > два пальца об асфальт.

    как?
  • Германн © (06.05.08 14:28) [19]

    > x-man   (06.05.08 12:21) [18]
    >
    >
    > > А вот уж заполнить эту последнюю при чтении из файла -
    >  как
    > > два пальца об асфальт.
    >
    > как?
    >

    Смотря какую структуру имеет этот файл.
  • x-man (06.05.08 16:03) [20]
    скажем это текстовый файл, в каждой строке разделитель, всего их 5-7
  • Сергей М. © (06.05.08 16:08) [21]
    Это


    > хочу грузить из файла, т.е. перечисление можно менять


    никак не вяжется с


    > type TMyEnum=(qwe, rty, uio);


    Определение перечислимого типа данных (как и любого другого типа) имеет отношение ко времени компиляции, а не ко времени выполнения.
  • Anatoly Podgoretsky © (06.05.08 16:26) [22]
    > Сергей М.  (06.05.2008 16:08:21)  [21]

    И оно нафиг не нужно, перечисление само по себе, в отрыве от его использования, ну например в case и так далее.
    У автора вероятно серьезное сексуальное растройство, хочет потрахаться.
  • Германн © (06.05.08 16:31) [23]

    > 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.08 19:02) [25]

    > x-man   (06.05.08 18:11) [24]


    > то, что надо


    Ну и где в этом "точтонаде" т.н. "перечисления" ?

    Ты, чебурек, множества от перечислений, видать, не отличаешь)
  • app © (06.05.08 20:15) [26]
    > Сергей М,  (06.05.2008 19:02:25)  [25]

    Выбирай выражения.
  • app © (06.05.08 20:15) [27]
    Удалено модератором
    Примечание: Дубль, Почта Виндоус имеет ошибку
  • Сергей М, (06.05.08 20:19) [28]
    АП, "чебурек" - не самое невыбираемое, что можно придумать)

    Впрочем, обязуюсь "фильтровать базар".
  • Германн © (06.05.08 21:26) [29]

    > x-man   (06.05.08 18:11) [24]
    >
    > то, что надо! Германн - спасибо!
    >

    Если б сегодня не дали зарплату, хрен бы я телепировал, что за перечисления тебе нужны. Да ещё и примеры писал при этом.
    :)))
  • Anatoly Podgoretsky © (06.05.08 21:33) [30]
    > Германн  (06.05.2008 21:26:29)  [29]

    Вот он зверинный оскал капитализма.
  • x-man (07.05.08 00:33) [31]
    я не знал про эти типы ...
  • Palladin © (07.05.08 00:51) [32]
    делфи раньше чем горшок (С)
  • Германн © (07.05.08 00:59) [33]

    > x-man   (07.05.08 00:33) [31]
    >
    > я не знал про эти типы ...
    >

    И это плохо. Прежде чем лезть с вопросами на форум нужно хотя бы усвоить по книжкам основы. Я это называю азбукой. Без неё задавать вопросы на форуме - прямой путь нарваться на флуд. И учти, что модераторы, скорее всего, осудят не флуд, а тебя с твоим безграмотным вопросом! Даже в конференции "Начинающие". Бо должна же быть некая нижняя граница начинающих, которая > 0. Иначе форум захлестнёт ураган типа того, который вчера "накрыл" Мьянму. :)
  • Anatoly Podgoretsky © (07.05.08 01:22) [34]
    > Германн  (07.05.2008 00:59:33)  [33]

    Эта граница называется, что у нас нет форума форума для идиотов, а есть только для начинающих, а то иногда с такими вопросами приходят и уровень грамотности на уровне второго класса. Некоторые темы по этой причине приходится закрывать. Ну а если при этом начинает огрызаться, ну тогда сам Бог велел, а против воли Бога не поспоришь.
    Ураган Мьянму просто мелкий ветерок в некоторых случаях.
    Ну что просветительной работы достаточно?
  • Германн © (07.05.08 01:32) [35]

    > Anatoly Podgoretsky ©   (07.05.08 01:22) [34]

    Я думаю "просветительной" работы достаточно. По крайней мере в этой ветке.

    P.S. Ну и по крайней мере, пока я не получу деньгу за халтурку, которая почти готова. Ну и по крайней мере, пока я не получу деньгу за халтурку, которая почти-почти готова.
    Но это уже в других ветках.  :)
 
Конференция "Начинающим" » Перечисления [D7, WinXP]
Есть новые Нет новых   [134490   +6][b:0][p:0.001]