Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Форум группы: delphi > [Записки диверсанта]общее обсуждение материалов


Автор: THandle 22.1.2009, 23:33
Привет. Это продолжение тем:

http://forum.vingrad.ru/forum/topic-202178/view-all.html
http://forum.vingrad.ru/topic-244918.html

Хочу обсудить, те материалы которые надо было бы поместить в наше "это надо знать".

Итак, какие темы мы имеем, и что лично я хочу написать о них.
  • 1. Работа со строками в цикле. 
    Почему цикл следует начинать не с 0, а с одного.
    Собственно, ответ на вопрос. Можно привести структуру строк(AnsiString, UnicodeString, ShortString, PChar), кратенько об этом рассказать. Как с ними работать в циклах.
    Можно расширить тему до более подробного разбора работы со строками, или же просто дать ссылку на материал. (Например мне нравится как написано у Антона Григорьева про траблы со строчками).
    Тут главное решить, что нам нужно. Подробный справочник новичка, или же кратенький ответник на вопросы.
    Если подробный, то я думаю, вы, народ, понимаете что этим должен заниматься не один человек, потребуются соавторы. smile 
    Вот, в той первой теме про записки, тоже еще про строки проскакивало:

    http://forum.vingrad.ru/index.php?showtopic=202178&view=findpost&p=1496521

  • 2. Работа со списками в цикле.
    Почему с 0, а не с 1.
    Касается всяких там TStringList'ов и ему подобных. Можно, конечно запихнуть в одну бочку со строками, но, ИМХО, таким образом могут и не найти.
    Тут никаких возможных углублений я не вижу. просто ответ на вопрос. ПАЧИМУ ТАК?
  • 3-4. Почему конструктор надо вызывать не как обычный метод? Почему конструктор надо вызывать до try..finally..end?
    Это я объединил бы в одну большую статью. Идея написать нечто полностью рассказывающее о конструкторе появилась у меня еще сразу после делфистского конкурса, из за третьего задание, придуманное Rrader'ом.
    Вопросу насчет конструктизации объектов возникают чаще всего, как мне кажется.
    Хочется написать о том как и что создается. Что за _createclass, про два режима вызова конструктора и что за это отвечает всего лишь единичка в одном из регистров процессораsmile
  • 5. Почему нельзя уничтожить объект в своем же обработчике?
    Тут все донельзя просто.  Даже обсуждать, как мне кажется, нечего. smile
  • 6. Почему надо вызывать не Destroy, а Free?
    Тут тоже все просто. Избитая тема smile
  • 7. Почему в цикле for нельзя менять значение переменной-счетчика этого же цикла?
    И тут, как не странно, ИМХО, все просто smile
  • 8. Эквивалентны ли записи if b = true then и if b then?
    Ответ: Да. Не знаю даже, стоит ли это включать в наш сборник.
  • 9. Почему в цикле for со строками не надо вводить еще одну переменную в которую будет перед циклом заносится длина строки, и эта переменная будет являться конечным значением цикла?
    Тут тоже не сложно. См. пост:
    http://forum.vingrad.ru/index.php?showtopic=202178&view=findpost&p=1490029
  • 10. Почему в цикле for 0т 1 до длины некоторой строки и удалении некоторых знаков из этой строки, удаляются не все знаки? То же самое относится и к удалению строк в TStringList.
    Тоже не сложно. См. посты:
    http://forum.vingrad.ru/index.php?showtopic=202178&view=findpost&p=1490029
    http://forum.vingrad.ru/index.php?showtopic=206543&view=findpost&p=1480549
    http://forum.vingrad.ru/index.php?showtopic=202178&view=findpost&p=1537072
  • 11. Локальные переменные, которые при not Assigned выкидывают AV.
    Тут я тоже не вижу ничего такого особенного, глубинного. smile
  • 12. Зачем ovverride при перекрытии методов класса? НИПАНЯТНА.
    Вот. Еще одна не сложная штучка.


Вот. Это все что пока имеется.
Нужны мнения, и предложения. После того как решим про стиль я начну писать. Кто хочет присоединиться - пожалуйста.
У меня есть желание и немного времени. НЕ УБИВАЙТЕ МЕНЯ И ДАННЫЙ ПРОЕКТ СВОИМ МОЛЧАНИЕМ.




Автор: SneG0K 22.1.2009, 23:48
Очень даже не плохая идея. Но я думаю, что стоит уделить еще внимание ООП и DLL.
А еще прояснить смысл видимости переменных. И вообще сделать прояснения про типы переменных.

Автор: Alexeis 23.1.2009, 00:11
  Нужно развивать фак. Публиковаться там и пиарить ссылки на темы в факе. Старый мусор убирать, особенно то что не работает, а новые темы вперед.

Автор: Kbl4AH 23.1.2009, 01:24
Цитата(SneG0K @  22.1.2009,  23:48 Найти цитируемый пост)
А еще прояснить смысл видимости переменных

И как можно подробнее!

Добавлено через 29 секунд
Про ООП как можно больше всего нужно... Это же основа...

Автор: Kbl4AH 23.1.2009, 11:04
Мне кажется, что для начинающих (сужу по себе) предпочтительнее было бы узнать о тонкостях, которые затруднительно проверить экспериментально или придумать эксперимент (проверку, трассировку) достаточно сложно...
Зачем освещать элементы строки и списка, если их просто можно посмотреть в мессейджбоксе?
А вот, например, то, что локальные переменные при автоматической инициализации не нулевые, мне лично было очень полезно узнать...
И я мог бы сильно помучаться, если бы доходил до этого эмпирически, если бы не прочел этого в вышеуказанных темах...
Код

var
  Form1: TForm1;
  B: Integer;

procedure Qwerty;
var
  A: Integer;
begin
  ShowMessage(IntToStr(A));
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Qwerty;
  ShowMessage(IntToStr(B));
end;

ИМХО, нужно освещать вопросы, до которых начинающему тяжело додуматься самому, и тонкости, которые он сам на опыте может вообще не узнать...
Вот например на квинтане в дельфикингдом очень интересно читать ответы на вопросы теста...
Мне кажется, что что-то типа такого нужно...
В общем, все, до чего тяжело додуматься на практике самому...
Ну и, конечно, как можно больше практических советов по основам...

Автор: THandle 23.1.2009, 11:19
Цитата(Kbl4AH @  23.1.2009,  11:04 Найти цитируемый пост)
Мне кажется, что что-то типа такого нужно...
В общем, все, до чего тяжело додуматься на практике самому...


Это все хорошо smile Ноч то конкретнее? smile Нужны темы, темы. В данном списке собраны самые распространенные ошибки новичков. Такие нам и нужны, потому что единичный случай будет решаться на самом форуме, когда это потребуется smile

Цитата(Alexeis @  23.1.2009,  00:11 Найти цитируемый пост)
  Нужно развивать фак. Публиковаться там и пиарить ссылки на темы в факе. Старый мусор убирать, особенно то что не работает, а новые темы вперед.


Да. С этим тоже проблемы, но данный набор советов, обсуждаемый в этой теме идет о самсых распространенных заблуждения/ошибках. А это все таки не совсем FAQ. Можно конечно оформить как просто статьи... Ну это как то не интересно smile Душа просит творчества, криииатиффа и поэзии )))

Цитата(SneG0K @  22.1.2009,  23:48 Найти цитируемый пост)
А еще прояснить смысл видимости переменных. И вообще сделать прояснения про типы переменных. 

Основная идея этого проекта: не осветить какие то там темы, а дать полные, ясные ответы на те вопросы которые чаще всего случаются... Хотя... Высказывайте свои мысли насчет оформления в соседней теме, может быть это будет совсем уже другая вещь smile 

Автор: Kbl4AH 23.1.2009, 11:37
Цитата(THandle @  23.1.2009,  11:19 Найти цитируемый пост)
В данном списке собраны самые распространенные ошибки новичков.

Ну, тогда, наверное, обязательно нужно сказать пару слов о региональных настройках на компе (про формат даты и десятичный разделитель)...
Для меня это составляло определенную трудность и непонимание при преобразовании типов и вводе/выводе данных...

Автор: Rrader 23.1.2009, 16:11
THandle, определись, что будешь объяснять, выработай стиль изложения. Или ты объясняешь основы того или иного:
Цитата(THandle @  23.1.2009,  05:33 Найти цитируемый пост)
Хочется написать о том как и что создается. Что за _createclass, про два режима вызова конструктора и что за это отвечает всего лишь единичка в одном из регистров процессора

Или 
Цитата(THandle @  23.1.2009,  05:33 Найти цитируемый пост)
Тут никаких возможных углублений я не вижу. просто ответ на вопрос. ПАЧИМУ ТАК?


Пройдись по разделу для новичков (можно и в общих), посмотри, что народ чаще задает. Это и надо выносить. Вот примеры:
http://forum.vingrad.ru/forum/topic-244868/kw-ontimer-dll.html
http://forum.vingrad.ru/forum/topic-240036.html
Etc

Автор: Kbl4AH 23.1.2009, 16:29
 smile 

Автор: THandle 25.1.2009, 19:22
Rrader, в том то и проблема что хочется и то и другое. Сложное интереснее лично для меня, легкое - для большинства публики. Простых вопросов больше. Думаю придется на них ориентироваться. Потом можно будет уже отдельно рассказать о более сложном. smile Мне лично хочется сделать в виде рассказика... То есть не чисто вопрос/ответ. Хотел в этой:
http://forum.vingrad.ru/forum/topic-244918.html
теме услышать чужие мнения... Но видимо всем все все равно. Придется решать самому. А мой выбор может оказаться не лучшим.  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)