Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.06.19;
Скачать: [xml.tar.bz2];

Вниз

Множества   Найти похожие ветки 

 
GIL   (2003-06-06 11:26) [0]

как создать множество строкового типа, что-то вроде
s=["clWhite","clBlack"]
чтобы можно было потом использовать оператор in


 
ladybird   (2003-06-06 11:29) [1]

никак


 
han_malign   (2003-06-06 11:33) [2]

никак..., только поиском, TStringList - в самый раз, можно еще с хэш-функцией помудрить...


 
kull   (2003-06-06 11:57) [3]

Например, вот так объявить и пользоваться ...

type
TMyColors = (myWhite, myBlack, ....);
var
MyColors: Set of TMyColors;
const
MyStrColors: array[TMyColors] of string = ("myWhite", "myBlack", ....);


А если поподробнее, зачем енто надо?


 
GIL   (2003-06-06 12:07) [4]

Энто надо для проверки правильности введенного HTML-цвета


 
Sandman25   (2003-06-06 12:17) [5]

GIL © (06.06.03 12:07)

Тогда заведите функцию типа

function ValidColor(const Color: string):boolean;
const ValidColors: array[1..3] of string = ("clBlack","clWhite",clRed");
var
i:integer;
begin
Result := False;
for i := Low(ValidColors) to High(ValidColors) do
if ValidColors[i] = Color then
begin
Result := True;
exit;
end;
end;


 
GIL   (2003-06-06 14:27) [6]

не это не подходит, там около 100 цветов и каждый раз так перебирать каждый раз - это много.


 
Skier   (2003-06-06 14:30) [7]

>GIL © (06.06.03 14:27)
А что если использовать, например, сумму численных представлений
символов строки с названием цвета для идентификации оного.


 
Palladin   (2003-06-06 14:35) [8]

удобней TStringList.Find


 
GIL   (2003-06-06 14:51) [9]

первый способ больно мудр - уйдет много времени на преодразование.
а Stringlist не подходит, т.к. действие происходит в юните, где собраны все глобальные функции и процедуры.


 
Skier   (2003-06-06 14:52) [10]

>GIL © (06.06.03 14:51)

> т.к. действие происходит в юните, где собраны все глобальные
> функции и процедуры.

И что ? Это как-то мешает ?


 
GIL   (2003-06-06 14:55) [11]

а как в нем создать глобальную переменную типа TstringList, ведь ее потом надо прокреатить, а я не хочу ее креатить и заполнять при каждом вызове процедуры


 
Skier   (2003-06-06 14:59) [12]

>GIL © (06.06.03 14:55)
initialization
ColorList := TStringList.Create;
finalization
FreeAndNil(ColorList)


 
Sandman25   (2003-06-06 14:59) [13]

Initialization
Finalization


 
Palladin   (2003-06-06 15:01) [14]

ну да... это зеласложно...
в модуле после
implemantation
var
__ColorsDefs:TStringlist;

.....

initialization
begin
__ColorsDefs:=TStringList.Create;
заполнил
end;

finalization
__ColorDefs.Free;
end.


 
GIL   (2003-06-06 15:02) [15]

а заполнять тоже после указания initialization?
это пишется
initialization
ColorList := TStringList.Create;
или
procedure initialization
ColorList := TStringList.Create;


 
Skier   (2003-06-06 15:05) [16]

>GIL © (06.06.03 15:02)
-Заполнять после создания ColorList
- Это пишется как я написал


 
GIL   (2003-06-06 15:05) [17]

всем спасибо за просвящение в еще одну бывшую тайну


 
Palladin   (2003-06-06 15:06) [18]

это пишется в точности так как написал я


 
kull   (2003-06-06 16:45) [19]

только если пользоваться TStringList, то неплохо бы сделать следующее при его создании.

ColorList := TStringList.Create;
ColorList.Sorted := True;
ColorList.Duplicates := dupIgnore;




Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2003.06.19;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.01 c
14-60421
Fredericco
2003-06-03 17:47
2003.06.19
Вопрос про корректность кода.


6-60300
xman
2003-04-18 12:03
2003.06.19
Сеть + Аудио


1-60107
Nucl
2003-06-06 10:39
2003.06.19
Долгие вычисления и прогресс бар


14-60387
Duke
2003-05-30 16:36
2003.06.19
Комплексные числа


7-60428
YDV
2003-04-13 19:26
2003.06.19
запуск в определенный момент времени !?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский