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

Вниз

Подробный и понятный комментарий!   Найти похожие ветки 

 
Денис   (2004-07-11 02:41) [0]

Приветствую Вас, пытливые умы интернета!
Все мы хорошо знаем, как сложно порой разбирать исходники столь важные для нас.
   
Даже при наличии комментариев, чаще всего авторы их не уделяют внимания нюансам, или считают их делом само собой разумеющимся.
И не раз приходилось заново всё самим раскомментировать в меру своих знаний.
Однако, это настоящее несчастье для новичков, а ещё более для тех, кому мало просто вставить код, и чтоб он работал!
Настоящий исследователь постоянно задаётся вопросами типа: А почему именно так? А можно ли сделать эдак?
Глядя на константу WS_EX_TOPMOST: А какие ещё бывают? И так далее...
В результате приходится сутками рыться в интернете и справочниках в поисках подробностей.
   
В связи с этим предлагаю в рамках данной темы создать общим усилием Базу Подробных Комментариев, которая нам позволит сохранить многие часы в поисках сути, а при необходимости выяснить детали у автора напрямую.
     
Предлагаю такую схему:
1.Источник исходника - сайт или справочник если прога не своя.
2.Описание программы - что она делает.
3.Собственно листинг, причём с прекрасным, подробным комментарием!

Помоему идея заслуживает внимания.
В качестве начинания даю первый код.
Взято со страницы http://www.delphisyte.ru/Articles/base/api_find_window_and_activate_it.html  и подробно раскомментировано мною лично.

      Как получить дескриптор(хендл) окна другого приложения и сделать его активным?

Использование фуекции Windows API FindWindow() - простейший способ нахождение окна, при условии, что известен его заголовок или имя оконного класса. Если Вам известна только часть заголовка окна (например "Netscape - " + "какой-то неизвестный URL"), Вам нужно использовать функцию EnumWindows() для получения всех окон, затем вызывать функцию GetWindowsText() и GetClassName для поиска нужного окна. Следующий пример находит первое окно, содержащее совпадающую часть заголовка окна и полностью совпадающее название оконного класса (если он задан) и делает это окно активным.
Читать следует с конца, т.к. описания всех функций расположены до их вызова.

type {объявляем свои типы}
  PFindWindowStruct = ^TFindWindowStruct;{указатель на тип TFindWindowStruct}
  TFindWindowStruct = record {тип TFindWindowStruct в себе содержит...}
    Caption : string;
    ClassName : string;
    WindowHandle : THandle;
  end;

function EnumWindowsProc(hWindow : hWnd;
                         lParam  : LongInt) : Bool
{$IFDEF Win32} stdcall; {$ELSE} ; export; {$ENDIF}
var
  lpBuffer : PChar;
  WindowCaptionFound : bool;
  ClassNameFound : bool;

begin
  GetMem(lpBuffer, 255);{выделяем 255 байт динамической памяти под указатель lpBuffer: Pointer}
  Result := True;{для продолжения перечисления окон функцией EnumWindows}
  WindowCaptionFound := False;{обнуляем перед поиском - ещё не найдено}
  ClassNameFound := False;{обнуляем перед поиском - ещё не найдено}

  try
    if GetWindowText(hWindow, lpBuffer, 255) > 0 {если текст заголовка не нулевой...}
   then
      if Pos(PFindWindowStruct(lParam).Caption, StrPas(lpBuffer)) > 0 {и если позиция
переданного заголовка("Netscape - ")в строке lpBuffer не нулевая, т.е. он в ней есть...}
       then WindowCaptionFound := true;{...заголовок найден!}

    if PFindWindowStruct(lParam).ClassName = "" then {если класс окна не указан(не важен)...}
      ClassNameFound := True {...то будем будем считать, что он найден}
     else { иначе(если указан)...}
        if GetClassName(hWindow, lpBuffer, 255) > 0 then {...если класс окна не нулевой...}
          if Pos(PFindWindowStruct(lParam).ClassName, StrPas(lpBuffer))> 0 {и если позиция
переданной строки класса в строке lpBuffer не нулевая, т.е. она в ней есть...}
then ClassNameFound := True;{...требуемый класс найден!}

    if (WindowCaptionFound and ClassNameFound) then begin {если и заголовок и  класс найдены...}
      PFindWindowStruct(lParam).WindowHandle := hWindow;{хендл окна - искомый результат,
                                                передаём в поле WindowHandle}
      Result := False; {для завершения перечисления окон функцией EnumWindows}
    end;

  finally
    FreeMem(lpBuffer, sizeof(lpBuffer^));{освобождаем область памяти размером указанным lpBuffer^ ,
                   выделенную ранее процедурой GetMem}
  end;
end;

function FindAWindow(Caption : string;
         ClassName : string) : THandle;{функция поиска должна вернуть хендл}
var
  WindowInfo : TFindWindowStruct;{присваиваем тип}

begin
  with WindowInfo do
begin {заполняем поля этого типа преданными FindAWindow параметрами}
    Caption := Caption; {"Netscape - "}
    ClassName := ClassName; {""}
    WindowHandle := 0; {обнуляем перед поиском}
    EnumWindows(@EnumWindowsProc, LongInt(@WindowInfo));{перечисляем все pодительские окна на экpане,
          передавая по очереди хендл каждого окна(hWindow)в функцию обратного вызова EnumWindowsProc
          пока не получим от неё Result := False }
    FindAWindow := WindowHandle; {хендл окна - искомый результат,
передан в поле WindowHandle функцией EnumWindowsProc}
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  TheWindowHandle : THandle;{хендл искомого окна - будет найден функцией FindAWindow}
begin
  TheWindowHandle := FindAWindow("Netscape - ", "");{FindAWindow функция поиска и её параметры}
  if TheWindowHandle = 0 then  {если не найдено...}
    ShowMessage("Окно не найдено!") {выводим сообщение}
    else  {иначе...}
    BringWindowToTop(TheWindowHandle);{...наверх и активизировать!}
end;

       Завалим толпою этого зверюгу - Delphi!


 
KilkennyCat ©   (2004-07-11 03:03) [1]

я че-то непонял... предлагается сделать Великую Универсальную Базу Комментариев На Все Случаи Жизни ?

глупости...

Я не буду писать комментарий здесь:
ShowMessage("Окно не найдено!") {выводим сообщение}
так как это глупо, как и во многих других местах примера.

И вообще, я в комментариях не разжевываю действия подобные:
 else { иначе(если указан)...}
так как мне это будет ясно и через сто лет. Я в комментариях пишу саму идею алгоритма, которая может и вылететь из памяти.


 
KilkennyCat ©   (2004-07-11 03:07) [2]

Что же касается разбора чужого кода, то такие излишние комментарии меня бесят, так как отвлекают. А если я разбираю код, чтобы понять, как это работает, то все что я хочу - отформатированный листинг. Все остальное я постараюсь понять и так, с кижечкой, чашкой чая и сигаретой - умнее стану.

Новичкам же это в сто крат полезней. А подробная каша их ничему не научит.


 
Defunct ©   (2004-07-11 04:45) [3]

> Настоящий исследователь постоянно задаётся вопросами типа: А почему именно так? А можно ли сделать эдак?

Настоящий программист при виде чужой программы задается двумя вопросами:
- Почему так?
- Как можно сделать иначе?
(C) проф. О.В.Бузовский


 
Алекс А   (2004-07-11 05:52) [4]


> Денис   (11.07.04 02:41)  

> type {объявляем свои типы}

Слово type переводится как тип.


> ShowMessage("Окно не найдено!") {выводим сообщение}

Show Message можно перевести как выводим сообщение.

Вы не знаете этих английских слов и хотите перевести их на русский язык ? Если бы вы знали, то заметили бы, что названия функций сами по себе являются комментариями.

Ещё могу посоветовать статью http://delphi.vitpc.com/article/coderules.htm
Раздел Именование Методов.


 
TUser ©   (2004-07-11 08:35) [5]

Вот просто цитата:

Не надо делать слишком подробных комментариев, например

// Увеличиваем значение i
inc (i)


Кается, из ТП.


 
SergP ©   (2004-07-11 10:18) [6]

Прочитал и первый раз даже не понял что хочет автор сабжа. Бред какой-то. Пришлось еще раз перечитать...
Вобщем согласен со всеми отвечающими.

> 3.Собственно листинг, причём с прекрасным, подробным комментарием!


Это называется коментариями только потому что это текст заключенный в скобки {} . А на самом деле это не коментарии, это просто описание каждой строчки программы, и никому оно не нужно.

>   TFindWindowStruct = record {тип TFindWindowStruct в себе
> содержит...}


Думаю что такой коментарий только уменьшает читабельность кода.

И вообще в коментариях должно быть указано что делается в каком-то участке программы, в процедуре/функции, или делать так:

>  [1] KilkennyCat ©   (11.07.04 03:03)
> Я в комментариях пишу саму идею алгоритма, которая может
> и вылететь из памяти.


А описание работы каждого оператора не только не представляет никакой пользы читающему код, но и наоборот, усложняет его чтение.


 
Anatoly Podgoretsky ©   (2004-07-11 10:22) [7]

Осталось сделать последний шаг

I := 5; {присваиваем значение 5 переменной I}


 
Mim1 ©   (2004-07-11 11:33) [8]

Я какгда отдаю курсовую работу выпролненную для студентки, да еще блондинки всегда так коментирую, но думаю что и с комнетариями они не поймут.
Для себя же так коментировать - считаю садомазохизмом, зачем коментировать очевидные веши, зачастую в vcl программе вполне реально разобраться без еоментарриев. Если у вас назначена кнопка на удаление чего либо - то представте себе скорее всего обработчик события этой кнопки скорее всего это и делает :)
Есть конечно необьектные программы с жутко замороченной логикой с кучей вызовов процедур други из друга (в запущеном случае без процедур а с goto) в них разобраться сложнее, и не думаю что коментарий напротив showmessage мне поможет, зато
> И вообще в коментариях должно быть указано что делается
> в каком-то участке программы, в процедуре/функции

будет вполне уместно.


 
TUser ©   (2004-07-11 12:02) [9]

Такие комментарии очень напоминают Автосхему. Там тоже каждая строчка кода описывается.


 
GrayFace ©   (2004-07-11 14:17) [10]

Как же вы не заметили такой коментарий:
var
 WindowInfo : TFindWindowStruct;{присваиваем тип}

Или вот:
BringWindowToTop(TheWindowHandle);{...наверх и активизировать!}
Лично я, прочитав первый абзац, закрыл окно, хотя потом все-таки открыл опять.


 
KilkennyCat ©   (2004-07-11 14:57) [11]

Вообщем, если это делать - зверь-делфи точно сдохнет...


 
Igorek ©   (2004-07-11 19:32) [12]


> Приветствую Вас, пытливые умы интернета!

привет и тебе :-)))

> Однако, это настоящее несчастье для новичков

Да, такой подробно комментированный код прекрасен именно в качестве самоучитеся (напр. по WinApi). Во-первых потому что новичек может не знать английского или знать, но названия функций не будут для него нести достаточной смысловой нагрузки. Во-вторых как работает конкретная функция можно будет догадатсья по контексту, по логике кода.
Только не надо забывать, что со временем надо учиться разбирать код и без комментариев. Даже плохой код (который сильно нуждается в комментариях). Так что с каждым следующим уроком колл. комментариев следует уменьшать, предварительно проверив знания новичка на том же коде (или еще лучше - на похожем), но без комментариев.

> Настоящий исследователь постоянно задаётся вопросами типа:
> А почему именно так? А можно ли сделать эдак?

Согласен. Есть даже более смелые настоящие исследователи, которые думают и говорят "сделано просто отстойно". Потом думают как сделать лучше. Если придумывают - то гуд. Если нет, то тем самым загоняют себя в угол - сами же говорили "сделано отстойно" а лучше сделать не могут. Но они этого не боятся. Потому что:
- не боятся оказаться в дураках и признать свои ошибки
- то что они не смогли сделать лучше совсем не значит что "сделано прекрасно", и что кто-нибуть завтра не сделает лучше, на что они собственно искренне надеются

> Defunct ©   (11.07.04 04:45) [3]
> Настоящий программист при виде чужой программы задается
> двумя вопросами:
> - Почему так?
> - Как можно сделать иначе?

Имхо не имеет ничего общего с настоящим программистом. Настоящий программист должен по-настоящему (безглючно/полностью/до полного понимания/ основательно):
- написать программу
- разобраться в чужом коде
- вникнуть в проблему
- разобраться с доками
Так что речь все же о настоящем исследователе. Как показывает опыт далеко не каждый программист, даже настоящий, таковым является.


 
Огромное Кулясищще ©   (2004-07-11 20:26) [13]

I := 5 {присваиваем значение 5 переменной I}; {не забываем закончить строку точкой с запятой} // напомню, что комментарий в Delphi может заключаться в фигруные скобки либо с круглые скобки со звёздочкой, например {ля-ля}, (*ля-ля*), либо располгаться на отдельной строки или полсе строки, обозначенный двумя слешами: //

{Delphi является зарегистрированной торговой маркой компании Borland (http://www.borland.com)}


 
Nous Mellon ©   (2004-07-11 20:31) [14]


>
>  [13] Огромное Кулясищще ©   (11.07.04 20:26)

:)
Кое-что забыл:
{ I - объявленная переменная } { Может быть различных типов } { Подробнее о типах в справке } { Справка вызывается по F1 } { Ну или из меню } { Это все еще комментарий } { Ну так, чтоб не забыть } { Напомню вы все еще в Делфи } { Напомнить чтро такое Делфи? } { Главное оставаться человеком.. }
{ И вообще если пофилосовствовать... }


 
Anatoly Podgoretsky ©   (2004-07-11 21:03) [15]

Огромное Кулясищще ©   (11.07.04 20:26) [13]
Ты почто точку с запятой перенес в конец, нарушение авторских прав, нехорошо.


 
KilkennyCat ©   (2004-07-11 21:57) [16]


> Nous Mellon ©   (11.07.04 20:31) [14]


Предупреждать надо, что смешно... чуть чаем не захлебнулся...:)

Надо еще заставить зарубежных коллег, чтоб свои комментарии они тоже на русском писали... а то какой смысл, если они напишут подробно, но опять на английском? И в конце концов, какого хрена мы терпим такое отношение Борланда к русскоязычным программерам? Где полностью руфисированная (включая язык) Делфи ?!


 
Lenor   (2004-07-11 22:13) [17]

>Где полностью руфисированная (включая язык) Делфи ?!

Как только ее выпустят, народ в массе перейдет на Си :)


 
KilkennyCat ©   (2004-07-11 22:14) [18]


> Igorek ©   (11.07.04 19:32) [12]
>
> Да, такой подробно комментированный код прекрасен именно
> в качестве самоучитеся (напр. по WinApi). Во-первых потому
> что новичек может не знать английского или знать, но названия
> функций не будут для него нести достаточной смысловой нагрузки.


Отсутствие достаточной смысловой нагрузки, по-моему равносильно "ни хрена не понимаю, шо за функция? Шо она делает, и почему она вообще?"

> Во-вторых как работает конкретная функция можно будет догадатсья
> по контексту, по логике кода.


Ага. Особенно учитывая, ежели эта функция вызвалась, скажем так из длл, или апишная, и особенно учитывая недостаточную смысловую нагрузку.

> Только не надо забывать, что со временем надо учиться разбирать
> код и без комментариев.


Учиться лучше сразу.

> Так что с каждым следующим уроком
> колл. комментариев следует уменьшать, предварительно проверив
> знания новичка на том же коде (или еще лучше - на похожем),
> но без комментариев.
>


Я тут программку написал, можете скачать:
----------------------- для начинающих "блондинок" ----
Bloknot.pas (10 MB)
Bloknot.dpr
и т.д.
----------------------- для начинающих -----
Bloknot.zip (1 MB)
----------------------- для немного продвинутых ------
Bloknot.zip (450 KB)
----------------------- для средних -----------
Bloknot.zip (50 KB)
----------------------- для нормальных --------
а оно вам надо? (0 В)


> Согласен. Есть даже более смелые настоящие исследователи,
> которые думают и говорят "сделано просто отстойно". Потом
> думают как сделать лучше. Если придумывают - то гуд. Если
> нет, то тем самым загоняют себя в угол - сами же говорили
> "сделано отстойно" а лучше сделать не могут. Но они этого
> не боятся. Потому что:
> - не боятся оказаться в дураках и признать свои ошибки
> - то что они не смогли сделать лучше совсем не значит что
> "сделано прекрасно", и что кто-нибуть завтра не сделает
> лучше, на что они собственно искренне надеются
>


Тут смайлик забыт. Явно забыт смайлик...

> > Defunct ©   (11.07.04 04:45) [3]
> > Настоящий программист при виде чужой программы задается
>
> > двумя вопросами:
> > - Почему так?
> > - Как можно сделать иначе?
>
> Имхо не имеет ничего общего с настоящим программистом. Настоящий
> программист должен по-настоящему (безглючно/полностью/до
> полного понимания/ основательно):
> - написать программу
> - разобраться в чужом коде
> - вникнуть в проблему
> - разобраться с доками
> Так что речь все же о настоящем исследователе. Как показывает
> опыт далеко не каждый программист, даже настоящий, таковым
> является.


Я надеюсь, Ваши исследования Windows уже завершены?

И небывает настоящих программистов! Есть просто программисты, а есть все остальные. Нельзя чуть-чуть опоздать на поезд.


 
Danilka ©   (2004-07-11 22:17) [19]

Lenor   (11.07.04 22:13) [17]
KilkennyCat ©   (11.07.04 22:14) [18]

Не спится? :))


> Где полностью руфисированная (включая язык) Делфи ?!

Хватит пирацкого извращения с переводом интерфейса, после которого какое-то время проскакивали такие веселые вопросы на форуме..


 
Nous Mellon ©   (2004-07-11 22:22) [20]


> Предупреждать надо, что смешно... чуть чаем не захлебнулся...:)

Вот уж не хотел греха на душу взять :)
> Где полностью руфисированная (включая язык) Делфи ?!

Боже упаси! :)
Видел я 1Совский язык вот уж тут действительно чаем захлебнешься..


 
Nous Mellon ©   (2004-07-11 22:23) [21]


> Не спится? :))

А что "Спокойной Ночи малыши" уже прошли?
:)


 
Danilka ©   (2004-07-11 22:31) [22]

Nous Mellon ©   (11.07.04 22:23) [21]
> А что "Спокойной Ночи малыши" уже прошли?

Незнаю, у меня телевизор пол-года уже не работает. :))


> Видел я 1Совский язык вот уж тут действительно чаем захлебнешься..

Хех, ты его только видел, а я сейчас прямо на нем пыряю. :))


 
KilkennyCat ©   (2004-07-11 22:35) [23]

А у меня нет телевизора :))


 
Nous Mellon ©   (2004-07-11 22:50) [24]


> Незнаю, у меня телевизор пол-года уже не работает. :))

Как же ты узнаешь когда спать пора? :)
> Хех, ты его только видел, а я сейчас прямо на нем пыряю.
> :))

Бедняга, прими мои соболезнования :)


 
Danilka ©   (2004-07-12 00:26) [25]

Nous Mellon ©   (11.07.04 22:50) [24]
> Как же ты узнаешь когда спать пора? :)

Дык, если заснул - значит уже пора. :))

> Бедняга, прими мои соболезнования :)

Ничего, я уже привык, к тому-же скоро отпуск.. :))


 
Денис   (2004-07-12 01:48) [26]

Не думал я, что на форуме Мастера DELPHI встречу такое количество БОЛТУНОВ ! ! ! ! !
Нет чтобы поддержать интересное начинание, развели бодягу умники!
Кто ещё предложит прокоментировать знак равно "=" ?


 
GrayFace ©   (2004-07-12 04:24) [27]

>И небывает настоящих программистов! Есть просто программисты, а есть все остальные. Нельзя чуть-чуть опоздать на поезд.
Если на работе ты числишся, как программист - значит ты проргаммист, а настоящий программист - это стиль жизни.
>Не думал я, что на форуме Мастера DELPHI встречу такое количество БОЛТУНОВ ! ! ! ! !
Перечитай свое сообщение до слов Настоящий исследователь..., и ты поймешь, кто из нас - Настоящий болтун!
>Кто ещё предложит прокоментировать знак равно "=" ?
Никто. Ты же уже предложил. Я предлагаю прокоментировать знак ковычки и знак "?".


 
TUser ©   (2004-07-12 06:56) [28]


> Где полностью руфисированная (включая язык) Делфи ?!

Я вмдел такой язык. В старой переводной книге по информатике, выпущенной во времена махрового социализма, там все перевели, даже язык. Примерно так
повторить
  начать

  кончить
до_тех_пор_пока_не


 
Aldor_   (2004-07-12 07:19) [29]

> Денис  
> Не думал я, что на форуме Мастера DELPHI встречу такое количество БОЛТУНОВ ! ! ! ! ! Нет чтобы поддержать интересное начинание, развели бодягу умники!

 Вам же еще на Королевстве ответили. Причем ТАКЖЕ! Так может следует не обижаться, а задуматься, почему на РАЗНЫХ сайтах ответили почти ОДНО И ТО ЖЕ?!  (С) стиль by ЮЗ


 
vecna ©   (2004-07-12 10:50) [30]

за такие коментарии (см первый пост) у меня на работе бы тебе все что можно бы поотрывали! =)
зачем писать одно и тоже на Delphi и по-русски ?
зачем тогда хелп ?
у 95% читателей кода есть понятие о 95% написанного кода безо всяких коментариев.
коментировать надо логику работы, а не описывать функции.


 
Григорьев Антон ©   (2004-07-12 11:06) [31]


> Денис   (12.07.04 01:48) [26]
> Не думал я, что на форуме Мастера DELPHI встречу такое количество
> БОЛТУНОВ ! ! ! ! !


Ба! Знакомые всё лица! Когда я прочитал этот пост, эти оскорбления на пустом месте, сразу подумал, что это тот же самый Денис, с которым я вот здесь пободался: http://www.delphikingdom.com/asp/answer.asp?IDAnswer=23431 Проверил - точно, тот же самый. Рекомендую никому в дискуссии с ним не вступать, потому что любой ответ, кроме "Денис, да ты гений! Такое придумал!" его не удовлетворит.


 
Nous Mellon ©   (2004-07-12 11:14) [32]


>  [26] Денис   (12.07.04 01:48)

LOL


 
KSergey ©   (2004-07-12 16:28) [33]

> Денис   (11.07.04 02:41)
> Даже при наличии комментариев, чаще всего авторы их не уделяют
> внимания нюансам, или считают их делом само собой разумеющимся.
> Настоящий исследователь постоянно задаётся вопросами типа:
> А почему именно так? А можно ли сделать эдак?

Вот вроде не плохие слва
Но все, что под ними - никак им не соответствует!!
Где нюансы? Где ответ на вопрос "а почему так"??!

Я уже не говорю, что комментарии часто не соответствуют истине!

Когда-то в книжке по ассемблеру вычитал умную вещь:

Пример бессмысленного коментария:

mov a, 5  ; записать в а 5

Как надо:

mov a, 5  ; установить начальное значение счетчика


Почему он бессмысленный понятно, надеюсь? Да потому, что то, что делает команда - это написано в книжке по языку, который человек, читающий программу, должен знать по определению. А вот зачем тут это впихнуто - вот это да, такой комментарий есть смысл писать.
Но только когда это не понятно!

Есть такой сайт firststep.ru. Там примерно так же прокомментированные программы, но там и цель - обучение! Да и смысл больше расписывают, а не поясняют что значит а = с. Почитайте, там сделано грамотно. Может поймете.
Может, если есть время - чем-то и поможете.


 
han_malign ©   (2004-07-12 17:36) [34]

>Я вмдел такой язык.
- Школьный Алгоритмический Язык - практически прямой перевод паскаля.

>а настоящий программист - это стиль жизни.
- это уже аутизм, или, в лучшем случае, киберпанк...


 
Igorek ©   (2004-07-12 18:06) [35]


> Рекомендую никому в дискуссии с ним не вступать, потому
> что любой ответ, кроме "Денис, да ты гений! Такое придумал!"
> его не удовлетворит.

Спасибо за рекоммендации.
Я рекоммендую критически относиться ко всякого рода "рекоммендациям", включая и это. :-)))


> Aldor_   (12.07.04 07:19) [29]
> Так может следует не обижаться, а задуматься, почему на
> РАЗНЫХ сайтах ответили почти ОДНО И ТО ЖЕ?!

Резонно. Вот вы задумались? Если да, то каков ваш ответ на вопрос "Почему"? Или тому кто говорит "ЗАДУМАЙТЕСЬ!!!" нельзя ответить также? Да, и кстати, почему вопрошающий должен задумываться над вопросом Почему на двух сайтах "развели бодягу умники"? Рекоммендую не задумываться. Также см. выше про рекоммендации.

---
И вообще:
- RTFM
- RTFC
- Google/Yandex все знает
- читать доки до просветления
- я через это уже прошел - вы тоже пройдете (может быть)
- подрастете - поймете, а не понимаете - молчите в тряпочку
- понимаете, но не уверены - тоже молчите
- понимаете, уверены - тоже молчите - вдруг вы не правы
- вот напишите свою ОС на уровне Windows - тогда и поговорим
- мне не надо писать свою ОС - я могу и так с вами говорить
...
Да, и почему собственно, вы так зациклились на собственной личности?

--------


> потому что любой ответ, кроме "Денис, да ты гений! Такое
> придумал!" его не удовлетворит

Серьезно? Вы уверены? Если нет - см. выше.

2 Денис
Ты удовлетворен ответом: "Денис - ты не гений, но Такое придумал!" ?
А таким ответом ты удовлетворен (чесно): "Денис, да ты гений! Такое придумал!"?

Как по мне то ответы "Ты гений и придумал такое гениальное" и "Ты тупица и придумал такое г." в контексте вопроса одинаковые.


 
Igorek ©   (2004-07-12 18:33) [36]

2 KilkennyCat ©   (11.07.04 22:14) [18]

> Отсутствие достаточной смысловой нагрузки, по-моему равносильно
> "ни хрена не понимаю, шо за функция? Шо она делает, и почему
> она вообще?"
А по-моему это равносильно отсутствию смысловой нагрузки вообще.

> > Во-вторых как работает конкретная функция можно будет
> догадатсья
> > по контексту, по логике кода.
> Ага. Особенно учитывая, ежели эта функция вызвалась, скажем
> так из длл, или апишная, и особенно учитывая недостаточную
> смысловую нагрузку.
Согласен.

> Учиться лучше сразу.
Всему?

> Я тут программку написал, можете скачать:
> ----------------------- для начинающих "блондинок" ----
> Bloknot.pas (10 MB)
> Bloknot.dpr
> и т.д.
> ----------------------- для начинающих -----
> Bloknot.zip (1 MB)
> ----------------------- для немного продвинутых ------
> Bloknot.zip (450 KB)
> ----------------------- для средних -----------
> Bloknot.zip (50 KB)
> ----------------------- для нормальных --------
> а оно вам надо? (0 В)
Это на каком языке программирования?

> Тут смайлик забыт. Явно забыт смайлик...
Он не забыт. Он не поставлен специально. Кому надо, тот дорисует в голове и смайлик и рога, копыта, павлиний хвост... - все что считает нужным для себя.

> Я надеюсь, Ваши исследования Windows уже завершены?
Нет, поскольку они и не начинались.

> И небывает настоящих программистов! Есть просто программисты,
> а есть все остальные. Нельзя чуть-чуть опоздать на поезд.
Ага. ("Есть деньги настоящые и есть ненастоящие" = False) = True.


 
Денис   (2004-07-13 03:37) [37]

Ну чтож, спасибо всем!
Рад, что вызвал такую оживлённую дискуссию, аж на нескольких сайтах(http://delphi.vitpc.com/asp/answer.asp?IDAnswer=23692).
Промывание мозгов весьма полезная штука - попробуйте сами не пожалеете!
Жаль отлько бедных новичков, многие из которых, возможно талантливей и трудолюбивее всех нас вместе взятых, которые так и не дождуться Базы Подробных Комментариев.
А что касается комментирования каждой функции, да именно на этом я продолжаю настаивать!
Каждую и подробным образом.
Сколько функций в WinApi?
Кто мне заявит, что знает их все?
Кто знает их сотню?
Вы знаете сотню?
А кто знаети их тысячу?
Ну а кто ещё больше?
И самое главное, кто мне объяснит - ЗАЧЕМ ДЕРЖАТЬ В ГОЛОВЕ ВЕСЬ ЭТОТ ХЛАМ?
Мозги наши несчастные, использовать как лавку старьёвщика...
Куда интереснее наити им более достойное(а не отстойное) применение.
Нужное в любом случае отфильтруется и запомниться.
   
А исходники - это учебный материал, кому то если он не нужен - прекрасно.
Я же говорю о тех кому он нужен(в том числе и мне), и должен быть предельно понятен.
P.S. Надеюсь на этой странице я ни кого не обидел?(http://www.delphikingdom.com/asp/answer.asp?IDAnswer=23431)


 
Денис   (2004-07-13 03:38) [38]

Удалено модератором


 
Денис   (2004-07-13 03:40) [39]

Ой, простите, это вышло случайно...
Это вовсе не повтор для даунов типа БАДЕН-БАДЕН, честно - честно.


 
KilkennyCat ©   (2004-07-13 03:44) [40]

Денис, да ты гений! Такое придумал!



Страницы: 1 2 3 4 5 6 7 8 9 
вся ветка

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

Наверх




Память: 0.63 MB
Время: 0.037 c
14-1091193438
dtm
2004-07-30 17:17
2004.08.15
А книжечку по SQL Server 2К присоветуйте, а?


6-1085922572
Piter
2004-05-30 17:09
2004.08.15
NetMessageBufferSend


1-1091003311
shc
2004-07-28 12:28
2004.08.15
Динамическое создание формы.


14-1090917276
Просто Вася
2004-07-27 12:34
2004.08.15
Пора отпусков


1-1091436210
MegaVolt
2004-08-02 12:43
2004.08.15
Дайте исходник AnsiReplaceStr из 7 дельфей.





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский