Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.06.19;
Скачать: CL | DM;

Вниз

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

 
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;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.027 c
7-60447
kalishenko
2003-04-14 16:59
2003.06.19
Компоненты


1-60216
Артем К
2003-06-05 14:53
2003.06.19
Как отсортировать данные в StrinGride


1-60125
MSTX
2003-06-06 08:50
2003.06.19
Как осуществить подсветку?


4-60455
tytus
2003-04-19 17:45
2003.06.19
Button


14-60364
Zigs
2003-06-02 16:46
2003.06.19
Есть ли кого-нить модуль экспорта отчета QReport в Excel?