Конференция "Прочее" » Книги по Delphi
 
  • kilkennycat © (13.09.16 23:12) [20]

    > Тимохов Дима ©   (13.09.16 20:39) [16]
    >
    > Все больше хочется быть новичком, у которого есть мануал как сделать то-то и то-то и все.


    Не то чтобы новичком, но неохота тратить время на осмысление, как прикрутить именно эту гайку именно в этом месте, которую уже мильен раз прикручивали. Это время интереснее тратить на обдумывание глобальной конструкции.
  • Германн © (14.09.16 01:28) [21]

    > Kerk ©   (13.09.16 14:11) [8]
    >
    > С другой стороны, перенос проекта из D2007 в новые версии
    > может быть очень болезненным. Такой опыт тоже был. Но тоже
    > успешный в итоге.

    Добавлю своё имхо. Непрограммиста, но пофигиста широкого профиля. Перенос проекта из Д2007 (а мои дельфийские проекты на нем и сидят до сих пор) в новые версии Дельфи разделяется на две сущности/проблемы.
    Первая это переход с ANSI на Юникод. При отсутствии в проекте сторонних компонент и проблема сия отсутствует. При наличии сторонних компонент иногда вызывает проблемы, но сравнительно легко решаемые.
    Вторая - многоплатформенность. Вот тут уже действительно могут быть проблемы. Переход с VCL на FMX простой заменой не выполнишь.
  • Eraser © (14.09.16 01:47) [22]

    > Германн ©   (14.09.16 01:28) [21]


    > Переход с VCL на FMX простой заменой не выполнишь.

    На FMX переходить никто не заставляет в новых версиях.
  • Германн © (14.09.16 01:55) [23]
    Но Дима об этом тоже спрашивал.
  • Тимохов Дима © (14.09.16 01:59) [24]

    > Германн ©   (14.09.16 01:55) [23]
    > Но Дима об этом тоже спрашивал.

    это для нового проекта.

    Про уникод. На самом деле ты не совсем прав. Сторонних компонент нет, но есть что-то типа
    var
      p: PChar
    begin
      p := p+1.
      ...
    end.


    Когда-то такой подход был удобен, чтобы "бегать" по байтам в памяти. Я лично так не писал никогда (предвидел, что будет Ж). Но у нас в проекте есть подобный код, и не мало.
    Так, что с уникодом тоже придется повозиться в своих исходниках.
  • Германн © (14.09.16 02:10) [25]

    > Тимохов Дима ©   (14.09.16 01:59) [24]
    >
    >
    > > Германн ©   (14.09.16 01:55) [23]
    > > Но Дима об этом тоже спрашивал.
    >
    > это для нового проекта.
    >
    > Про уникод. На самом деле ты не совсем прав. Сторонних компонент
    > нет, но есть что-то типа
    > var
    >   p: PChar
    > begin
    >   p := p+1.
    >   ...
    > end.
    > Когда-то такой подход был удобен, чтобы "бегать" по байтам
    > в памяти. Я лично так не писал никогда (предвидел, что будет
    > Ж). Но у нас в проекте есть подобный код, и не мало.
    > Так, что с уникодом тоже придется повозиться в своих исходниках.
    >

    А что такой код не работает в юникодных версиях Дельфи?
    Казалось бы что сей код изначально должен бегать по символам (Char), а не по байтам.
    Сам сейчас проверить не могу.
  • Германн © (14.09.16 02:25) [26]
    Или что мешает массово заменить объявление PChar на PAnsiChar?
  • kilkennycat © (14.09.16 02:51) [27]
    Note: AnsiChar is used by the Delphi desktop compilers, but is not supported by the Delphi mobile compilers. Так что тож, просто замена не для всех.
  • Pavia © (14.09.16 07:22) [28]

    > А что такой код не работает в юникодных версиях Дельфи?Казалось
    > бы что сей код изначально должен бегать по символам (Char),
    >  а не по байтам.

    XE10.1 код бегает по Char, т.е +2 байта.
    Для бега по байтам есть PByte, только включить арифметику указателей {$POINTERMATH ON}. Проверил по умолчанию включена.


    > Warning: Do not cast non-character pointer types to PAnsiChar
    > to do pointer arithmetic. Instead, use the PByte pointer
    > type, which is declared with the {$POINTERMATH ON} compiler
    > directive.
  • Pavia © (14.09.16 07:25) [29]

    > Переход с VCL на FMX простой заменой не выполнишь.

    А какие подводные камни? А то в книге с рецептами о них ни слово.
    Правда стандарты дизайна вернее управления в мобильных приложения отличаются от настольных компьютеров.
  • Pavia © (14.09.16 07:37) [30]

    > для профи вообще ничего не надо, на то он и профи. а если
    > профи читает, то он уже не профи, а новичек.

    Не говорите чуши. Основное умение которое учат в вузе это умение собирать материал. Гораздо выгоднее учиться на чужих ошибках, а не на своих. Вот книга и есть кладезь знаний которая и позволяет быстро учится. И профи тем и отличается от новичка что умеет быстро учиться.
    Проблема с книгами по программированию только одна - очень трудно оценить книгу с первого взгляда. Это связано с тем, что суть передаётся словами и выделить мелкую рыбку среди моря воды очень трудно (таки программирование ближе к гуманитарным наукам).
  • kilkennycat © (14.09.16 08:34) [31]

    > Pavia ©   (14.09.16 07:37) [30]
    > Основное умение которое учат в вузе это умение собирать материал.

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

    > Гораздо выгоднее учиться на чужих ошибках, а не на своих.

    Спорно. Свои лучше понимаются и запоминаются и нарабатывается опыт их решения. Выгода чужих лишь во времени.

    > И профи тем и отличается от новичка что умеет быстро учиться.

    Не спорю. О времяпровождении я примерно так же говорил.

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

    Программирование абсолютно техническая наука, по крайней мере сегодня.
    А суть в любых книгах передается словами и картинками, это как бы в определении книги заложено. И если в гуманитарной или же художественной литературе суть может быть между строк, разная по одной теме и как угодно ещё, то в технической она буквальна, так как 2*2 =4 независимо от политики, погоды и предпочтений автора.
  • kilkennycat © (14.09.16 08:45) [32]
    Ща подумалось:почему вообще так говорят: "учиться на чужих ошибках"?
    Разве учиться на чужих успехах не выгодней?
    Да и те же книжки взять, по программированию, там же не пишется, что вот если вы сбацаете так - будет ошибка, если попробуете так - будет тоже ошибка... и еще двадцать восемь вариантов приведут к ошибкам, так что пишете так - будет хорошо :)
    Представляю книжку для радиомонтажника:
    "Следует помнить, что большинство клеевых составов, используемых для монтажа деталей, приведут к ошибке. Лучше паять".
  • Игорь Шевченко © (14.09.16 11:22) [33]

    > "Следует помнить, что большинство клеевых составов, используемых
    > для монтажа деталей, приведут к ошибке. Лучше паять".


    Возможно, токопроводящим клеем можно что-то склеить :)


    > Разве учиться на чужих успехах не выгодней?


    Отрицательный эффект от неуспеха меньше, чем от повторения ошибки, не ?
  • Внук © (14.09.16 14:04) [34]
    Представил себе сапера: "Не, не буду я учиться на чужих ошибках, я уж лучше на своих" :)
  • kilkennycat © (14.09.16 20:04) [35]

    > Игорь Шевченко ©   (14.09.16 11:22) [33]

    я поэтому и напечатал "... большинство клеев" ;)


    > Отрицательный эффект от неуспеха меньше, чем от повторения ошибки, не ?

    наверное. и наверное, тут просто всего должно быть в меру.


    > Внук ©   (14.09.16 14:04) [34]

    он может учиться на успехах, то есть, выполнять лишь действия, гарантированно успешные (в его случае - почти гарантированные). Иные действия считать ошибочными и не выполнять.
    Но сапер - это неправильный пример, портящий теорию :)
  • Rouse_ © (14.09.16 23:30) [36]
    Дим, тебе то книжки по дельфи нафига?
    Ну заскочи к нам в офис, мы тебе всю нашу макулатуру отгрузим, там на школу хватит :)
  • Rouse_ © (14.09.16 23:33) [37]

    > Тимохов Дима ©   (14.09.16 01:59) [24]
    >
    > Про уникод. На самом деле ты не совсем прав. Сторонних компонент
    > нет, но есть что-то типа
    > var
    >   p: PChar
    > begin
    >   p := p+1.
    >   ...
    > end.
    > Когда-то такой подход был удобен, чтобы "бегать" по байтам
    > в памяти. Я лично так не писал никогда (предвидел, что будет
    > Ж). Но у нас в проекте есть подобный код, и не мало.

    Такой подход удобен если использовать PByte() как "все правильные пацаны", а не брать ахинею из книжек Миши Фленова.
    Оть читал бы правильные книги - небыло бы такого кода :)
  • Германн © (15.09.16 01:19) [38]

    > Pavia ©   (14.09.16 07:25) [29]
    >
    >
    > > Переход с VCL на FMX простой заменой не выполнишь.
    >
    > А какие подводные камни?

    Ну не знаю правильно ли тут использовать термин "подводные камни", но мне при написании того ответа вспомнилось. Использовался в одном проекте TStringGrid. И в нем (проекте) часто использовались свойства TStringGrid.Cols и TStringGrid.Rows. А при переносе проекта на FMX выяснилось что в FMX у TStringGrid таких свойств нет! Есть только Cells и ничего более.
  • Eraser © (15.09.16 01:32) [39]

    > Германн ©   (15.09.16 01:19) [38]

    какой может быть перенос UI с VCL на FMX вообще? вы о чем?
    с горем пополам еще можно перенести какой-то код, не связанный с UI и платформой, и то там куча проблем может возникнуть. например ARC.

    вообще для меня главная загадка, почему под Mac используется FMX, но ARC нет, хотя, вопрос конечно риторический.
 
Конференция "Прочее" » Книги по Delphi
Есть новые Нет новых   [134431   +13][b:0][p:0.001]