Вверх ↑
Этот топик читают: Гость
Разработчик
Ответов: 4698
Рейтинг: 426
#31: 2011-05-02 19:06:08 ЛС | профиль | цитата
Roma писал(а):
ты что имеешь ввиду?
Что я вставил часть кода?

Вот, попробуй это откомпилить IC:
#pas
THiAsmClass = class(TDebug)
private
var a:integer;
public

end;
Все сделано по инструкции из раздела 3
------------ Дoбавленo в 19.06:
nesco писал(а):
Assasin, ты бы еще мудренее написал


nesco писал(а):
Как правило, _Data обозначет данные из потока (принято так)

Я это и не оспаривал
карма: 10
0
Разработчик
Ответов: 26158
Рейтинг: 2127
#32: 2011-05-02 19:06:43 ЛС | профиль | цитата
Про метод ToXXXX хотелось бы добавить, что применение этого метода к MT-потоку не вызывает переход указателя на следующую звено цепи, в отличие от метода ReadXXXX, какскадирование которых приведет к последовательному чтению всей цепи MT-потока
карма: 22

0
Ответов: 1321
Рейтинг: 37
#33: 2011-05-02 19:09:51 ЛС | профиль | цитата

Assasin писал(а):
Все сделано по инструкции из раздела 3

Поспешил
карма: 0

0
Разработчик
Ответов: 26158
Рейтинг: 2127
#34: 2011-05-02 19:13:35 ЛС | профиль | цитата
В дополнение к ToXXXX: аналог этого метода на ReadXXXX -- ReadXXXX(_Data, Null), но он приведет к смещению указателя на следующее звено MT-цепи
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#35: 2011-05-02 21:11:46 ЛС | профиль | цитата
Итак, тема называется "Создание учебника по IC":
Весь учебник - это то, что в комментариях.
unit HiAsmUnit;

interface


uses kol,Share,Debug; // Объявление внешних модулей необходимых для работы
//==============================================================================
type // Секция объявления и описания типов
THiAsmClass = class(TDebug)

private // всё, используемое только внутри данного Unit-а
i:integer;
procedure calck;

public // Всё, что может быть использовано вне Unit-a
Procedure values(var _Data:TData; Index:Word);
end; // Конец объявления типа
//==============================================================================
implementation // начало раздела кодов

Procedure THiAsmClass.calck;
var n:integer;
begin
for n:=0 to 12 do i:=i+n;
end;

Procedure THiAsmClass.values;
begin
calck;
dtInteger(_Data,i);
end;
end. // конец Unit-а


А вот это:
nesco писал(а):
ToXXXX: аналог этого метода на ReadXXXX -- ReadXXXX(_Data, Null),
Roma писал(а):
нехватает _hi_createEvent между _hi_createEvent и _hi_onEvent нет почти никакой разницы
это описания функций и процедур внешних Unit-ов и никакого отношения к "учебнику по IC" не имеют.

Я специально дал пример IC с одной нижней точкой. и нет там ни ReadXXXX, ни _hi_onEvent
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26158
Рейтинг: 2127
#36: 2011-05-02 21:23:48 ЛС | профиль | цитата
Tad писал(а):
это описания функций и процедур внешних Unit-ов и никакого отношения к "учебнику по IC" не имеют

Ты не прав -- это интерфейс HiAsm-a, чаше всего на нем и сыпятся те, кто пишет IC. Без знания этого интерфейса, подключить твой код в схему не получится, или результат не оправдает ожиданий. Кстати, а почему ты привел dtInteger(_Data,i); это же отношения к учебнику по IC отношения не имеет
карма: 22

1
Голосовали:Roma
Ответов: 1321
Рейтинг: 37
#37: 2011-05-02 21:26:49 ЛС | профиль | цитата
Добавил три раздела
карма: 0

0
Разработчик
Ответов: 26158
Рейтинг: 2127
#38: 2011-05-02 21:26:54 ЛС | профиль | цитата
Если исключить все интерфейсные элементы из описания, то учебник по IC превратится в обычный учебник по Object Pascal, разновидностью которго и является Delphi
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#39: 2011-05-02 21:33:27 ЛС | профиль | цитата
nesco писал(а):
Ты не прав -- это интерфейс HiAsm-a, чаше всего на нем и сыпятся те, кто пишет IC.
Вот и назови "Учебник по интерфейсу HiAsm". И при чем тут IC ?
С таким же успехом можно назвать "Руководство по созданию компонентов HiAsm"
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 1321
Рейтинг: 37
#40: 2011-05-02 21:39:23 ЛС | профиль | цитата
InLineCode - элемент вставки кода в программу
dtInteger(_Data,i); - а это не код???
------------ Дoбавленo в 21.39:
И кстати
lnLineCode
Tad, ты и Dilme притензии предъявишь?
карма: 0

0
Разработчик
Ответов: 26158
Рейтинг: 2127
#41: 2011-05-02 21:47:01 ЛС | профиль | цитата
Tad писал(а):
И при чем тут IC ?

Да только потому, что IC -- компонент пакета, и без интерфейсной части не представляет собой никакой ценности. Скажи, как ты выведешь результат работы IC без знания интерфейса
И нахрен такой IC, результат работы которого, нельзя прочитать или запустить, метод запуска-то -- интерфейс

Roma, короче, не слушай в этой теме никого, кто говорит тебе про то, что интерфейс не относится к коду компонента IC

Самому Tad-y этот учебник нужен, как лысому расческа
карма: 22

0
Ответов: 3889
Рейтинг: 362
#42: 2011-05-02 22:40:27 ЛС | профиль | цитата
Roma, не отвлекайтесь на мелочи, нужное дело делаете, как новичок говорю) Если кто-то, наконец, в одном месте опишет (по возможности) весь внутренний интерфейс именно HiAsm по отношению к голому ObjectPascal (без отсылок к родственным средам и библиотекам), то авторов-разработчиков компонент может значительно прибавиться, что несомненно обогатит сообщество и среду ещё больше)
карма: 1

0
Ответов: 16884
Рейтинг: 1239
#43: 2011-05-02 22:54:18 ЛС | профиль | цитата
Взято из Wiki
#pas
Procedure THiAsmClass.doBeep;//Повторное обьявление процедуры
var
fr,dr:integer;
ob:string;
begin
fr := ReadInteger(_Data,Freq);
dr := ReadInteger(_Data,Dur);
if fr < 40 then fr := 40;
if fr = 0 then sleep(dr) else Beep(fr,dr);

{Roma, а Sleep у тебя никогда не сработает потому, что fr=0 никогда не будет потому,}
{ что if fr < 40 then fr := 40; }

ob:= int2str(dr)++int2str(fr);
_hi_OnEvent(onBeep,ob);
end;
------------ Дoбавленo в 22.54:
nesco, я не протв детального и полного описания - я против выкладывания туфты в Wiki
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26158
Рейтинг: 2127
#44: 2011-05-02 22:57:25 ЛС | профиль | цитата
Tad писал(а):
я против выкладывания туфты в Wiki

Вот против туфты, как в приведенном примере, я тоже против.
------------ Дoбавленo в 22.57:
Пусть пишит свой учебник, я его потом проверю по части интерфейса
карма: 22

0
Ответов: 3889
Рейтинг: 362
#45: 2011-05-02 23:06:07 ЛС | профиль | цитата
Да, всё-таки редактура гуру неизбежна. Главное, чтобы человек не обижался и не терял энтузиазм. Идея-то, в принципе, хорошая)
карма: 1

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)