IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

> Множества, Проблема со Стрингридом
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 12
Пол: Женский
Реальное имя: Anna

Репутация: -  0  +


Работа идет со множеством строчных латинских букв.Требуется реализовать всевозможные операции над множествами.Формировать САМО множество необходимо посредством СтрингГрида.
Но здесь возникает проблема!!!
допустим, Litera=set of 'a'..'z';
a:Litera; Почему не удается выполнить действие a:=a+[cells[Col,Row]]? В cells[Col,Row] Col=25, Row=0.
cells[0,0]=a
cell[1,0]=b и т.д. dry.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Гость






Цитата
Почему не удается выполнить действие

Потому, что Cells[i, j] - это строка, а не символ... Бери один символ (через Copy) - не будет никаких проблем...

Кроме этого используй Include для работы с множествами:
Include(a, Copy(cells[Col,Row], 1, 1));
должно сработать.

Переношу в раздел "Дельфи" ...

P.S. Извиняюсь, не так... Вот так:
Include(a, (StringGrid1.cells[0, 0])[1]);
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 12
Пол: Женский
Реальное имя: Anna

Репутация: -  0  +


Цитата(volvo @ 12.01.2007 21:46) *

Потому, что Cells[i, j] - это строка, а не символ... Бери один символ (через Copy) - не будет никаких проблем...

Кроме этого используй Include для работы с множествами:
Include(a, Copy(cells[Col,Row], 1, 1));
должно сработать.

Переношу в раздел "Дельфи" ...

P.S. Извиняюсь, не так... Вот так:
Include(a, (StringGrid1.cells[0, 0])[1]);



Еще кое-что...Где-то ошибка..не отображается МНОЖЕСТВО,переведенное функцией SetToStr в строку, в StaticText1.Caption

function SetToStr(s:Litera):String;
var i:integer;
begin
Result:='';
for i:=0 to 25 do
if Chr(i) in s then Result:=Result+''+Chr(i+97);
end;
procedure TForm1.StringGrid1DblClick(Sender: TObject);
begin
with StringGrid1 do begin
if RadioButton1.Checked then begin include(a,(StringGrid1.cells[0,0])[1]);
StaticText1.Caption:=SetToStr(a) end;
if RadioButton2.Checked then begin include(b,Chr(StrToInt(Cells[Col,Row])));
StaticText2.Caption:=SetToStr(b) end;
end;
end;]);


 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 29.03.2024 17:26
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name