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

Вниз

Флёнов М.   Найти похожие ветки 

 
Мефисто   (2006-08-27 22:41) [280]

Судя по вновь распухшей ветке - пиар вокруг книги вновь удался... :)


 
ronyn ©   (2006-08-27 22:44) [281]

Удалено модератором
Примечание: Выбирай выражения и не надо наездов на пользователей, подумай лучше о своем уровне.


 
Anatoly Podgoretsky ©   (2006-08-27 22:47) [282]

SetLength(S, MAX_PATH + 1);
SetLength(S, GetWindowsDirectory(PChar(S), MAX_PATH))
end;
Если Вы знаете, где расположены локальные переменные, что стек надо экономить и какой размер имеет переменная S, то легко поймете, почему этот вариант ровно в 64 раза лучше. А если не знаете - то извините, но не надо спорить.

У него также есть другая очень важная, неочевидная вещь - MAX_PATH
С этим код становится рабочим, чего нельзя сказать про жестко закодированый 255, что даже не соответсвует требованиям ОС и не является переносимым.


 
Юрий Зотов ©   (2006-08-27 22:47) [283]

> Loginov Dmitry ©   (27.08.06 21:08) [266]

> Где - то я уже об этом слышал (все программисты со стажем <= 1.5 года -
> лаймеры, с которыми и разговаривать не очень-то хочется).

ЭТО Вы нигде не могли слышать. По крайней мере, от меня. Потому что НИГДЕ и НИКОГДА я не говорил, что ВСЕ молодые программисты - ламеры.

Ламеры - это те, кто, зная в каком-то вопросе еще очень мало, полагают, что знают в нем уже очень много. И поэтому готовы до посинения спорить с теми, кто в данном вопросе разбирается раз в 100 лучше и глубже. Даже не понимая, какую чушь они несут и как смешно ее слышать. И даже не пытаясь понять никаких объяснений.

Так что, если человек хотя бы пытается понять объяснения - то он уже никак не ламер.

Кстати, от стажа и возраста ламерство не очень сильно зависит. Скорее, оно зависит от особенностей характера. А стаж и возраст просто помогают лучше понять известную истину: "чем больше я знаю, тем лучше понимаю, как мало я еще знаю".


 
Anatoly Podgoretsky ©   (2006-08-27 22:48) [284]

DevilDevil ©   (27.08.06 22:29) [277]
С чего ты взял?


 
ronyn ©   (2006-08-27 22:53) [285]

Удалено модератором
Примечание: Очередное обсуждение модерирования, придется охладить, три дня хватит?


 
vuk ©   (2006-08-27 22:53) [286]

to ronyn ©   (27.08.06 22:44) [281]:
>Но вам  же неоднократно  было предложено написать свою,
>крутую книжецу
Ага, чичас, все всё бросили, пошли книги писать...

>низкоуровневый код для новичков
А оно им действительно надо?


 
Гарри Поттер ©   (2006-08-27 22:55) [287]

ronyn ©   (27.08.06 22:44) [281]
вам  же неоднократно  было предложено написать свою, крутую книжецу - Антифленов Глазами Хакера, низкоуровневый код для новичков. А на самом деле, книгу такую никто не пишет, не по-тому, что совесть не дает, а потому...

Ты наверное думаешь что написание книг - мечта каждого? А не пишут, потому что сомневаются в своем знании вопроса? Ты ошибаешься.


 
ronyn ©   (2006-08-27 22:55) [288]


> >низкоуровневый код для новичков
> А оно им действительно надо?

Для тех кто не понял, это ТИПА с иронией написано было.


 
Другой ©   (2006-08-27 22:57) [289]

Зашел на VR, народ вроде не злой, хороший.
Если здесь если видутся "св.войны", то до победного. :) Но народ тоже хороший!


 
vuk ©   (2006-08-27 22:58) [290]

to ronyn ©   (27.08.06 22:55) [288]
> А оно им действительно надо?
Для тех кто не понял, это ТИПА ТОЖЕ с иронией написано было.

Ну и на всякий случай:
:o)


 
Ketmar ©   (2006-08-27 23:06) [291]

> [289] Другой ©   (27.08.06 22:57)
такие войны победой не оканчиваются. просто Ф., А. -- это больные темы. %-)


 
default ©   (2006-08-27 23:10) [292]

"function GetModuleName(Module: HMODULE): string;
var
 ModName: array[0..MAX_PATH] of Char;
begin
 SetString(Result, ModName, GetModuleFileName(Module, ModName, SizeOf(ModName)));
end;"
вот как борландовцы подобные вещи делают
можно ещё так, используя "If the length is greater than the size of the buffer, the return value is the size of the buffer required to hold the path. "
var
S: string;
begin
SetLength(S, GetWindowsDirectory(nil, 0)); //+1 не надо ибо нулевой символ у
                                                          //у типа String есть автоматом
GetWindowsDirectory(PChar(S), Length(S));
end;


 
Мефисто   (2006-08-27 23:12) [293]


> такие войны победой не оканчиваются.


Для вставших на путь истинный - уже победа. Аминь!


 
default ©   (2006-08-27 23:21) [294]

"//нулевой символ у типа String есть автоматом"
всмысле добавится автоматом при SetLength


 
Marser ©   (2006-08-27 23:22) [295]

А что, я бы книжечку написал. Но, боюсь, её ни Ронин, ни ДевилДевил, ни сам Фленов читать бы не стали. Патамушта художественную, да ещё и по альтернативной истории. Очень давняя задумка (лет восемь уже), уже второй год сбиваю в кучу, даже кое-чего написал, но окончательно дозрею лет через десять, не раньше. Потому что мудрости пока не хватает, потому что уточнений нужно сделать мириад, потому что я не Пикуль... Пускай на неё уйдет, таким образом, лет двадцать, но это будет Книга! Профессор JRRT создавал Средиземье всю жизнь...

И отчего это считается, что кухарка может управлять государством, а первый встречный, кому показалось, что он что-то постиг, может писать об этом пособие?

А насчёт Фленова у меня аналогия одна устойчивая давно есть. Фленов-автор это как "рок"-группа "Звери". По сравнению даже с полупопсовыми "Сплином" и "Океаном Эльзы" выглядит непроходимой попсой...

Диму Логинова немного жаль. Он ещё и малоопытный форумец, потому что вот так откровенно подставиться можно, только очень этого желая. Ну ничего, это пройдёт, и придет понимание того, что правильно отфильтрованный базар сохраняет зубы надежнее "Блендамеда".
Ну а у ДевилаДевила, кажется, миссия здесь такая - подставляться...


 
Anatoly Podgoretsky ©   (2006-08-27 23:25) [296]

default ©   (27.08.06 23:10) [292]
Нужен последний штрих - установка реальной длины строки, или с помощью SetLenght или S := PChar(S)


 
Пусик ©   (2006-08-27 23:28) [297]


> Marser ©   (27.08.06 23:22) [295]

"...Какой чудесный день,
какой чудесный пень,
какой чудесный я,
и песнка моя!"


 
default ©   (2006-08-27 23:29) [298]

прошу прощения...
вот такой полностью работоспособный код
var
 S: String;
begin
 SetLength(S, GetSystemDirectory(nil, 0)-1);
 GetSystemDirectory(PChar(S), Length(S)+1);
...


 
Anatoly Podgoretsky ©   (2006-08-27 23:33) [299]

default ©   (27.08.06 23:29) [298]
Другое дело, так красиво выглядит


 
Marser ©   (2006-08-27 23:33) [300]

> [297] Пусик ©   (27.08.06 23:28)

Вы же знаете, что этим пристыдить меня невозможно. Ну так и фигли? :-)


 
Marser ©   (2006-08-27 23:38) [301]

> 299] Anatoly Podgoretsky ©   (27.08.06 23:33)
> default ©   (27.08.06 23:29) [298]
> Другое дело, так красиво выглядит

Красиво.


 
guav ©   (2006-08-27 23:41) [302]

> [252] default ©   (27.08.06 17:40)


> появится-ли окошко с двойкой?

Сам словил грабли, других подколоть хочешь ? ;-)

Для другого исключения можно попытаться угадать, но не для этого.
Тут даже можно сомневаться насчёт "1".


> [275] Юрий Зотов ©   (27.08.06 22:24)


> стек надо экономить

Зачем экономить стек ? Разве есть разумное применение GetWindowsDirectory в рекурсивной функции ?


 
DiamondShark ©   (2006-08-27 23:48) [303]


> Ошибки, произошедшие в блоке finally не останавливают выполнение
> данного блока.

Ой...


 
Anatoly Podgoretsky ©   (2006-08-27 23:52) [304]

guav ©   (27.08.06 23:41) [302]
Зачем экономить стек ? Разве есть разумное применение GetWindowsDirectory в рекурсивной функции ?

Стек экономить надо, иначе снова прибегут на форум с жалобой, но экономить надо не везде, а вот в таких случаях
var
a: array[1..1000000] of byte


GetWindowsDirectory мало где имеет смысла кроме инициализационных частей программы, или сохраняем в глобальной переменной или постоянно динамично вызываем, но только не в цикле, тем более в рекурсивном.


 
Юрий Зотов ©   (2006-08-27 23:52) [305]

Странно...

Сначала человек задает вопрос:

"Кто как относится к книге Михаила Флёнова БиблияДелфи, Делфи Глазами ][акера? Да и вообще к способам его работы в Делфе?"

То есть, запрашивается ИМХО каждого желающего высказаться.

Человеку на этот вопрос отвечают. И даже не просто отвечают, а отвечают доказательно, подкрепляя свои слова конкретными примерами и конкретным кодом.

После этого человек заявляет, что книгу незаслуженно обругивают.

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

Вы хотели услышать мнения? Вы их услышали. На что же обижаться?

Странно...


 
Anatoly Podgoretsky ©   (2006-08-27 23:54) [306]

Юрий Зотов ©   (27.08.06 23:52) [305]
Надо прямо заявлять, что принимаются только хвалебные отзывы.


 
Loginov Dmitry ©   (2006-08-27 23:57) [307]

> DiamondShark ©   (27.08.06 23:48) [303]
>
> > Ошибки, произошедшие в блоке finally не останавливают
> выполнение
> > данного блока.
>
> Ой...


Что ой. Ну накололся. С кем ни бывает.

Зато кое что написал:

http://delphimaster.net/view/15-1156707585/


 
Юрий Зотов ©   (2006-08-28 00:01) [308]

> guav ©   (27.08.06 23:41) [302]

> Зачем экономить стек?

Чтобы он не переполнился и программа не рухнула.

> Разве есть разумное применение GetWindowsDirectory
> в рекурсивной функции?

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


 
Gero ©   (2006-08-28 03:00) [309]

Просто страшный пиар. Фленов молодец, деньги гребет лопатой. Знает, как пиарить нужно.


 
DevilDevil ©   (2006-08-28 04:17) [310]

> Anatoly Podgoretsky ©   (27.08.06 22:48) [284]
> DevilDevil ©   (27.08.06 22:29) [277]
> С чего ты взял?


Не взял. Просто интересно было конкретно Ваше мнение

> Мефисто   (27.08.06 22:41) [280]
> Судя по вновь распухшей ветке - пиар вокруг книги вновь
> удался... :)


Какой пиар? Новички сидят в соответствующей конференции, сида заходят редко. Да и 280 постов читать будет лень.

> Другой ©   (27.08.06 22:57) [289]
> Зашел на VR, народ вроде не злой, хороший.


Да, ты прав. Меня именно это и удивило на "Мастерах", что каждый (условно говоря) наровит постебаться (над новичком), вместо ясного и чёткого ответа, как на VR. Зато здесь народу больше и контенгент интелектуальней... хоть и злой :)

> Anatoly Podgoretsky ©   (27.08.06 20:16) [257]
> Дьявол в квадрате - ацкий сотона

Вообще мой ник - Devil. Но, так как на большинстве форумов этот ник уже занят, приходится использовать нечто похожее

> default ©   (27.08.06 23:29) [298]
var
S: String;
begin
SetLength(S, GetSystemDirectory(nil, 0)-1);
GetSystemDirectory(PChar(S), Length(S)+1);
> Marser ©   (27.08.06 23:38) [301]
> Красиво


Вы что, издеваетесь что ли? Вот это вы считаете красивым? Это НЕКРАСИВО ! Это - функционально... что принципиально разные понятия. Текст программы на языке Паскаль - это красиво; на Си - функционально. А если бы я или кто либо другой разтянул этот код на 10-20 строк ассемблерного, Marser, ты бы сказал, что код на асме - это красиво? Сомневаюсь. Или в компактности дело? Marser, надеюсь, ты употребил слово "Красиво" в другом контексте.

Хороший писатель просто обязан максимально возможно сконцентрировать внимание читателя именно на рассматриваемой теме, не распыляя его на вещи, мало относящиеся к теме. Это относится не только к самому тексту книги, но и к тексту примеров (этот простой "закон", собственно, одинакого хорош во всех сферах). Флёнов помнит об этом, а остальные - нет.

Так вот объясните мне Ламеру(по намёкам Ketmar-а © [279]), что плохого в том, что автор пошёл традиционным способом? Что?  По кой фиг (конкретно в данном случае) тратиться на безсмысленную разработку алгоритма и его отладку? Сам Флёнов кратко (стр 28-37) повествует о банальных, но действенных способах оптимизации (если они действительно требуются): "Первое с чего нужно начинать, - это с поиска самых слабых и медленных мест... Я месяц потратил потратил на оптимизацию математики, и что в результате? Мизерные 10% прироста в производительности. Но когда я реально нашёл слабое звено, то смог повысить производительность в несколько раз.". А проблему переполнения стека (и вышеупомянутые) надо рассматривать не в этой книге, а в книге об основах языка "Паскаль".

В Чём я неправ?

Юрий! Вы зря всё таки вштыки приняли мои посты о написании книги. Лично я так представляю процесс становления отечественной спецлитературы:

шаг 1) Появление хоть какой-нибудь литературы по Delphi
шаг 2) Появление информативной, но тяжелочитаемой литературы по Delphi
шаг 3-текущий) Появление интересной, но менее информативной литературы по Delphi
шаг 4) Появление очень интересной и очень информативной (иными словами - качественной) литературы по Delphi
шаг 5) ...

Так вот книги Флёнова - ГУД только из-за того, что являются следующим (долгожданным) шагом; я - за прогресс. А на четвёртый шаг, похоже, кроме Мастеров никто пойти не может. А Вы, Юрий - один из достойнейших представителей этой прослойки общества

Повторю "вопросы": 1) Сколько сейчас платят авторам? 2-личного характера) Финансовых капиталовложений в каком количестве необходимо, чтобы содержать Вас и Вашу семью в течении полугода?

> Marser ©   (27.08.06 23:22) [295]
Незнаю как ronyn, но я действительно мягко говоря не увлекаюсь ни художественной, ни исторической литературой (уж незнаю, плохо это или хорошо). В любом случае - это смелый и похвальный шаг. Искренне желаю достижения поставленных целей.

Если бы ты написал книгу по Delphi, я бы обязательно купил... не для того чтобы цитировать и стебаться... а для того чтобы восполнить некоторые пробелы качественной литературой

> Ну а у ДевилаДевила, кажется, миссия здесь такая - подставляться...
Зря ты так


 
DevilDevil ©   (2006-08-28 04:19) [311]

> Gero ©   (28.08.06 03:00) [309]
Представляешь, как бы я старался, если бы часть "этих" денег он отдавал мне?


 
Marser ©   (2006-08-28 04:37) [312]

> Незнаю как ronyn, но я действительно мягко говоря не увлекаюсь
> ни художественной, ни исторической литературой (уж незнаю,
> плохо это или хорошо).

Скорее всего, плохо. Специалист, конечно, подобен флюсу, но не настолько же...

> В любом случае - это смелый и похвальный шаг. Искренне желаю
> достижения поставленных целей.

Спасибо.

> Если бы ты написал книгу по Delphi, я бы обязательно купил...
> не для того чтобы цитировать и стебаться... а для того чтобы
> восполнить некоторые пробелы качественной литературой

Нет, по Делфи я книг точно не напишу :-)
Статьи и те всё больше в проекте, в стол пишутся. Сейчас меня вне работы  и учёбы моё второе хобби больше интересует.

> > Ну а у ДевилаДевила, кажется, миссия здесь такая - подставляться...
> Зря ты так

Ну, извини, коли что. Просто стиль у тебя прямолинейный. Вы с Димой и Ронином в этой ветке, по разным причинам, но схлопотали.
А вот у меня со времен навящивой идеи о медали Мастера, ещё три года назад, появилась очень ценная привычка в подобных флеймах больше внимать другим, чем говорить самому, а говорить только, если полностью уверен, следуя давней мудрости "Молчи, дурак, за умного сойдёшь", именно из-за того, что дураком-то я себя и не считаю. Хотя в тематических, как и все, давал маху иногда, но это отдельная тема, здесь же полноценная бойня и попадать под разделку никакого желания нет.


 
Marser ©   (2006-08-28 04:45) [313]

> Вы что, издеваетесь что ли? Вот это вы считаете красивым?
> Это НЕКРАСИВО ! Это - функционально... что принципиально
> разные понятия. Текст программы на языке Паскаль - это красиво;
> на Си - функционально. А если бы я или кто либо другой
> разтянул этот код на 10-20 строк ассемблерного, Marser,
> ты бы сказал, что код на асме - это красиво? Сомневаюсь.
> Или в компактности дело? Marser, надеюсь, ты употребил слово
> "Красиво" в другом контексте.

Я очень падок до компактных, эффективных и остроумных решений, всегда их наматываю на ус, для меня такое красиво.
Что до  эстетического ощущения красоты, то с этим у меня всё в порядке, не беспокойся :-)


 
Ketmar ©   (2006-08-28 04:56) [314]

> [310] DevilDevil ©   (28.08.06 04:17)
да разве ж я намекал? я открытым текстом сказал... если ты после всех объяснений упорно продолжаешь считать макулатуру Ф. литературой... метла ждёт.

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

> я действительно мягко говоря не увлекаюсь ни художественной,
> ни исторической литературой

ограниченность не бывает "хорошо". художественные книги полезно читать уже хотя бы для того, чтобы понимать смысл цитат, столь любимых здесь. %-)

> Если бы ты написал книгу по Delphi, я бы обязательно купил...
лучше бы издать предложил.

> [312] Marser ©   (28.08.06 04:37)
> со времен навящивой идеи о медали Мастера
до сих пор не могу понять, зачем нужны штаны модного цвета.

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


 
Ketmar ©   (2006-08-28 04:57) [315]

> [312] Marser ©   (28.08.06 04:37)
> здесь же полноценная бойня и попадать под разделку никакого
> желания нет.

фцитатник. %-)


 
vlad-mal ©   (2006-08-28 10:39) [316]

Как ни крути - а Архангельского так не обсуждали. :)

Там сразу - "фтопку!"


 
PSPF2003 ©   (2006-08-28 10:58) [317]

Интересно сам М.Фленов хоть эпизодически читает, что про его книги пишут.


 
Skier ©   (2006-08-28 11:00) [318]

По Delphi не знаю...не читал его книги, но сейчас читаю его книгу
по Transact-SQL. Пока нравится...


 
Ketmar ©   (2006-08-28 11:07) [319]

> [318] Skier ©   (28.08.06 11:00)
"единожды солгавши -- кто тебе поверит?" (ц)


 
Ega23 ©   (2006-08-28 11:12) [320]


> С другой стороны - есть ли сомнения в том, что и сам Михаил
> при подготовке книги пользовался материалами Интернета?


Он сам признался, что других книг других авторов по данной теме не читал. А зачем? "Чукча не читатель, чукча писатель..." (с)



Страницы: 1 2 3 4 5 6 7 8 9 
10 11 12 13 14 15 вся ветка

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

Наверх





Память: 1.12 MB
Время: 0.168 c
1-1154929687
KygECHuK
2006-08-07 09:48
2006.09.17
Эмуляция событий мыши


2-1157042328
Sele
2006-08-31 20:38
2006.09.17
запуск с параметром


1-1154366246
Варяг
2006-07-31 21:17
2006.09.17
Форма без границ и заголовка


1-1154886966
ArtemESC
2006-08-06 21:56
2006.09.17
Можно ли использовать файл шрифта в Delphi...


1-1154879824
Vazelin
2006-08-06 19:57
2006.09.17
перехват закрытия окна





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