Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Помогите с синтаксисом, как код Builder в дельфи записать?


yammi ©   (2009-03-30 18:57:00) 

Всем привет! Я плохо программирую и не могу найти встроенный русский хелп для делфи и билдера (там ещё есть delphi и builder примеры для разных комманд, но только builder показывается..)...

Надо из билдера в дельфи код переделать, вот эти 3 места не знаю как записать на дельфи, помогите, пожалуйста)

if (State.Contains(gdFocused))
DrawGrid1->Canvas->DrawFocusRect(Rect);

DrawGrid1->OnDrawCell;
DrawGrid1->Repaint();

if (array[X][Y]==2&&(ProvLife(X,Y)3)) /
array[X][Y]=3;
if (array[X][Y]==0&&ProvLife(X,Y)==3)
array[X][Y]=1;
Редактировать/Удалить сообщение


KilkennyCat   (2009-03-30 22:58:00) [1]


> Anatoly Podgoretsky ©   (30.03.09 22:43) [16]


Возможно. Я и в Паскале не вижу особой разницы.


Anatoly Podgoretsky   (2009-03-30 22:43:00) [2]

> KilkennyCat  (30.03.2009 22:24:12)  [12]

В Си нет процедур.


Б   (2009-03-30 22:39:00) [3]


> KilkennyCat ©  


> Свойство?!


Ой, да. Это обработчик.
Ему можно присвоить такой же обработчик другого объекта. (Деллигилирование).


KilkennyCat   (2009-03-30 22:32:00) [4]

А если снова будет вопрос, почему там без параметров, а тут с параметрами, то возникает вопрос, а не из генофонда ли в приложение попытка писать?


KilkennyCat   (2009-03-30 22:28:00) [5]


> yammi ©   (30.03.09 20:47) [7]

> Drawgrid1.Ondrawcell;  - так ругается "Not Enough actual
> parameters"


Потому что не свойство. Процедура (события) , соответсвенно, onDrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState);


KilkennyCat   (2009-03-30 22:24:00) [6]


> DrawGrid1.Repaint(); - почему тут пустые скобки?..


Правило синтаксиса С для процедур и функций.


KilkennyCat   (2009-03-30 22:21:00) [7]


> > Drawgrid.OndrawCell; - без параметров?
>
> Это же свойство.


Свойство?!


Б   (2009-03-30 20:53:00) [8]


> спасибо, а что это вообще?


State указывает состояние компонента.
gdFocused - компонент в фокусе.


yammi   (2009-03-30 20:51:00) [9]


> > if (State.Contains(gdFocused))    // как это в дельфи
> написать?
>
> if (gdFocused in State) then

спасибо, а что это вообще?


yammi   (2009-03-30 20:49:00) [10]

http://www.google.ru/search?q=delphi+%D1%80%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9+%D1%85%D0%B5%D0%BB%D0%BF&hl=ru&client=firefox-a&rls=org.mozilla:ru:official&hs=8df&newwindow=1&start=0&sa=N

http://rl-team.net/compbook/1146201978-russkijj-help-dlja-delphi-7.html
http://www.mycomp.ru/page.aspx?t=6006&p=1


yammi   (2009-03-30 20:47:00) [11]

If State.Contains(gdFocused) then DrawGrid1.Canvas.DrawFocusRect(Rect);
ругается "Record, object or class type required"

Drawgrid1.Ondrawcell;  - так ругается "Not Enough actual parameters"


Б   (2009-03-30 20:46:00) [12]


> хелп уже нашёл нормальный :)


Будь добр, скинь ссылку. ;)


Джо   (2009-03-30 20:41:00) [13]


> if (State.Contains(gdFocused))    // как это в дельфи написать?

if (gdFocused in State) then


yammi   (2009-03-30 20:39:00) [14]

Спасибо за реакцию, буд стараться) и хелп уже нашёл нормальный :)


Б   (2009-03-30 20:37:00) [15]


> if (State.Contains(gdFocused))    // как это в дельфи написать?
>
> DrawGrid1->Canvas->DrawFocusRect(Rect);


 If State.Contains(gdFocused) then DrawGrid1.Canvas.DrawFocusRect(Rect);



> Drawgrid.OndrawCell; - без параметров?

Это же свойство.


> DrawGrid1.Repaint(); - почему тут пустые скобки?..

Можно их убрать, а можно и оставить.
Сделано это для того, чтобы переход C-шных программистов был менее болезненым. ;)


yammi   (2009-03-30 20:27:00) [16]

это я знаю, спасибо.... ) много уже переделал, тут другой вопрос

if (State.Contains(gdFocused))    // как это в дельфи написать?
DrawGrid1->Canvas->DrawFocusRect(Rect);

Drawgrid.OndrawCell; - без параметров?
DrawGrid1.Repaint(); - почему тут пустые скобки?..

if (array[X][Y]==2&&(ProvLife(X,Y)3)) /
array[X][Y]=3;
if (array[X][Y]==0&&ProvLife(X,Y)==3)
array[X][Y]=1;

if (arr[X,Y]=2) and ((ProvLife(X,Y)3)) then arr[X,Y]:=3;
if (arr[X,Y]=0) and (ProvLife(X,Y)=3) then arr[X,Y]:=1;

- ругается incompatible types


Джо   (2009-03-30 20:10:00) [17]

-> замените на . (точку).
== на =
= на :=
&& на AND
|| на OR


Наверх

Титульная страница Поиск, карта сайта Написать письмо