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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.04.2009, 21:30   #1
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию Создание перечислимого строкового типа с возможностью использовать как STRING

Создаю новый тип Folders:
Код:
Folders = (Fonts,Cursors,Pchealth,Temp);
Тип создается, но мне нужно использовать строковое заначение:

Код:
Var 
Fol1:Folders;
Begin
Fol1:=Cursors;
S:='C:\Windows'+Fol1
Не вставляется и пишет: несовместимый тип Folders и String
Пробовал так:
Код:
Folders = ('Fonts','Cursors','Pchealth','Temp')
И программа сразу начинает посылать меня на этой строчке.

P.S. Создаю этот тип для возможности создания цикла:
Код:
For Fol1:=Fonts to Temp do...
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 20.04.2009, 21:58   #2
alexBlack
Участник клуба
 
Регистрация: 12.10.2007
Сообщений: 1,204
По умолчанию

В принципе можно:

Код:
uses TypInfo;

type
   Folders = (Fonts, Cursors, Pchealth, Temp);

function GetPathName(P:Folders):String;
var TInfo: PTypeInfo;
begin
   TInfo := TypeInfo(Folders);
   result := GetEnumName(TInfo, integer(P));
end;

var P:Folders;
    S:String;
begin
   for P := Fonts to Temp do begin
      S := 'C:\Windows\'+GetPathName(P);
      Writeln(S);
   end;
но не будет ли проще сделать так:

Код:
const
   FolderNames : array [1..4] of string = ('Fonts', 'Cursors', 'Pchealth', 'Temp');

var i:integer;
    S:String;
begin
   for i := low(FolderNames) to high(FolderNames) do begin
      S := 'C:\Windows\'+FolderNames[i];
      Writeln(S);
   end;
alexBlack вне форума Ответить с цитированием
Старый 21.04.2009, 13:56   #3
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Точно! И как это я про массив не подумал! Спасибо большое!
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание списка с возможностью админить список! Kuzmichinishe PHP 5 04.11.2013 17:22
считать данные из переменной типа String 1o1man Помощь студентам 13 17.04.2009 22:34
Как из переменной типа String удалить пару слов zotox Помощь студентам 3 30.11.2008 19:14
Создание нового типа master_root Общие вопросы Delphi 2 02.07.2008 22:33