Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.10.29;
Скачать: CL | DM;

Вниз

Соц. опрос   Найти похожие ветки 

 
iZEN ©   (2006-10-02 16:37) [160]


> Marser ©   (02.10.06 12:20) [152]
> Не, ну это явная агония. "Он был ранен шесть раз, но не
> сдавался"(С)

Для особо одарённых: выражение "APPTYPECONSOLE" читайте как: "исключительное использование текстового редактора вместо дизайнера форм". Считайте, что для вас я зачёркиваю слово APPTYPECONSOLE.


> DrPass ©   (02.10.06 12:27) [154]
>
> > iZEN ©   (02.10.06 11:16) [143]
>
> > Размерность Ineger зависит от разрядности процессора -
>  это
> > декларация Паскаля. Способы работы со строками (+длинные
> > строки) - это свойство языка, а не компилятора. Кодировка
> > символов, кстати, тоже разная при переходе от TP к Delphi
> > (ASCII -> ANSI).
>
> Пункт 1. В стандарте С вообще отсутствует привязка к разрядности
> процессора, оставляя размерность того же int на совести
> компилятора. Что разработчики компиляторов и делают

Разработчики C-компиляторов может быть и делают, посколько язык C МАШИННО-ЗАВИСИМ со времён PDP-7. Но мы говорим о Pascal и его вариантах. Почитайте Н. Вирта, что он пишет по поводу виртуальных машин.


> DrPass ©   (02.10.06 12:27) [154]
> Пункт 2. Способы работы со строками в Паскале совместимы
> с самой первой версии. Они только расширялись и добавлялись,
>  но никогда не менялись

Н да? Вы знаете, что в самой первой публичной версии виртовского Pascal строк НЕ БЫЛО! Строки представлялись массивом значений типа Сhar. Не заглядывал в ISO-стандарт языка, но с большей долей уверенности могу предположить, что типа String там нет.

Что касается строк типа String (здесь: ShortString в интерпретации Delphi) с ёмкостью 0-255 байт со значением размера строки в нулевом байте, то они появились как расширение языка (напомните, где, в каком диалекте).
Язык Delphi продолжил традицию: увеличил длину строки и сделал строки этого типа совместимыми с ASCIIZ - Си-реализациями массива символов-байтов с нулём в последнем элементе, и этот факт повлиял на МЕТОДЫ работы со строками, стало необходимо использовать специальный менеджер памяти длинных строк прежде всего для операций конкатенации таких строк и прицеплять его для работы с Си-кодом из чужих DLL библиотек.


> DrPass ©   (02.10.06 12:27) [154]
>
> > iZEN ©   (02.10.06 11:16) [143]
>
> Пункт 3. По поводу кодировки - странно слышать такое утверждение
> от человека, который, по его словам имеет опыт программирования
> больше 6 лет... вообще странно слышать такое от человека,
>  который имеет какой-либо опыт программирования.


Прежде всего старые иходники из TurboPascal не годятся для работы со строками, где требуется лексический анализ текста на национальном (русском) языке.
Это я и хотел сказать.


> DrPass ©   (02.10.06 12:27) [154]
>
> > iZEN ©   (02.10.06 11:16) [143]
>
> Пункт 4. Так как там насчет "хоть одного неопровергнутого
> твоего утверждения"? ;-)

Читайте внимательно, что пишете.


 
Marser ©   (2006-10-02 16:48) [161]

> [160] iZEN ©   (02.10.06 16:37)
>
> > Marser ©   (02.10.06 12:20) [152]
> > Не, ну это явная агония. "Он был ранен шесть раз, но не
>
> > сдавался"(С)
>
> Для особо одарённых: выражение "APPTYPECONSOLE" читайте
> как: "исключительное использование текстового редактора
> вместо дизайнера форм". Считайте, что для вас я зачёркиваю
> слово APPTYPECONSOLE.

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


 
iZEN ©   (2006-10-02 16:50) [162]


> isasa ©   (02.10.06 16:26) [159]
>
> iZEN ©   (02.10.06 09:44) [117]
>
> подтверждаю утверждение о преемственности кода
> Юрий Зотов ©   (02.10.06 09:11) [115]
>
> У меня в сборке под D7 работает код, писанный мною в ~1990
> году на Turbo Pascal 5.0 с использованием Turbo Professional
> 5.5.
> Функциональность довольно обширна - системы нелинейных уравнений
> 2-3 порядка. Итерация.

Даже Real на Real48 нигде не пришлось заменять или не указывать ничего компилятору по этому поводу?
Отлично!
Жму вашу мужественную руку. :)


 
iZEN ©   (2006-10-02 16:54) [163]


> Marser ©   (02.10.06 16:48) [161]
>
> Э... Вот я и говорю, что агония. Потому что ничто не мешает
> сделать это дополнительно, да и тот же dfm в тесктовом виде
> неплох вплоть то переноса в другие форматы, пусть, как сказал
> Петруха, и с долей геморроя.

Ну попробуйте перенести проект трёхзвенки из Delphi3 в Delphi6. Я думаю, благодаря библиотеке MIDAS шансов сделать это легко и непринуждённо немного.


 
Тугодум ©   (2006-10-02 16:56) [164]

iZEN ©   (02.10.06 16:54) [163]

Я переносил с 4 на 6. В итоге делал DataModule заново.

Есть другой проект, на 3. Пока решили не переносить даже на 4 :)


 
isasa ©   (2006-10-02 17:55) [165]

iZEN ©   (02.10.06 16:50) [162]
Даже Real на Real48

:)
А зачем. Я не фанат 6-ти байт. Стандарт IEEE тоже устраивает, число знаков больше.

Real types
A real type defines a set of numbers that can be represented with floating-point notation. The table below gives the ranges and storage formats for the fundamental real types.

Type Range Significant digits Size in bytes
Real48 2.9 x 10^–39 .. 1.7 x 10^38 11–12 6
Single 1.5 x 10^–45 .. 3.4 x 10^38 7–8 4
Double 5.0 x 10^–324 .. 1.7 x 10^308 15–16 8
Extended 3.6 x 10^–4951 .. 1.1 x 10^4932 19–20 10
Comp –2^63+1 .. 2^63 –1 19–20 8
Currency –922337203685477.5808.. 922337203685477.5807 19–20 8
The generic type Real, in its current implementation, is equivalent to Double.


 
Oldman ©   (2006-10-02 17:59) [166]


> Сатир   (30.09.06 13:54)  
> Назовите преимущества разработки программного обеспечения
> в среде Delphi.


не назову.
потому что их нет!
:)


 
Ketmar ©   (2006-10-02 18:00) [167]

>[166] Oldman(c) 2-Oct-2006, 17:59
>не назову.
>потому что их нет!
а вот и неправда. можно с полным правом учавствовать в обсуждениях на этом форуме. мало разве? %-))


 
Oldman ©   (2006-10-02 18:03) [168]


> Ketmar ©   (02.10.06 18:00) [167]


Ага. ты еще Борландам идею рекламы подкинь:
"Если вы разрабатываете приложение в нашей среде, то можете с полным правом потрепаться на Дельфимастер!"
:)))


 
Ketmar ©   (2006-10-02 18:05) [169]

>[168] Oldman(c) 2-Oct-2006, 18:03
>Ага. ты еще Борландам идею рекламы подкинь:
а что? знатная пиар-компания. пусть несчастный борланд погреется в лучах нашего величия. %-)


 
DrPass ©   (2006-10-02 18:25) [170]


> iZEN ©   (02.10.06 16:37) [160]

И причем здесь "академический" виртуальный язык, если мы говорим про живую реализацию? Pascal как промышленный инструмент существует с 1983 года. Обратная совместимость присутствует во всех версиях. Речь о нарушениях стандарта не идет, потому как ISO-стандарта на Паскаль нет, но разработчик фактически один - и это позволяет ему динамично развиваться, не нарушая при этом изначальную идеологию и сохраняя совместимость версий.


> Язык Delphi продолжил традицию: увеличил длину строки и
> сделал строки этого типа совместимыми с ASCIIZ - Си-реализациями
> массива символов-байтов с нулём в последнем элементе, и
> этот факт повлиял на МЕТОДЫ работы со строками, стало необходимо
> использовать специальный менеджер памяти длинных строк прежде
> всего для операций конкатенации таких строк и прицеплять
> его для работы с Си-кодом из чужих DLL библиотек

...и что? Обратная совместимость сохранена, при этом разработчику на его выбор предоставлен мощный инструмент, недоступный в других средах. Менеджер памяти - это действительно достоинство Delphi и ее большое преимущество перед конкурентами. Опять же, если разработчика что-либо не устраивает (хотя такого в принципе не случается, но мало ли что), Delphi ему предоставляет и нативный C-шный тип PChar, и нативные функции ОС работы с памятью.
Так в чем недостаток? Что Delphi предоставляет богатый выбор технологий?


> Прежде всего старые иходники из TurboPascal не годятся для
> работы со строками, где требуется лексический анализ текста
> на национальном (русском) языке.

Годятся - достаточно исходные данные переконвертировать в требуемую кодировку, либо сами исходники. Делается в пару щелчков мыши. Ту же самую операцию необходимо проделать для программы на ЛЮБОМ языке программирования при ее переносе с платформы DOS на Windows.


 
Oldman ©   (2006-10-02 18:27) [171]


> Ту же самую операцию необходимо проделать для программы
> на ЛЮБОМ языке программирования при ее переносе с платформы
> DOS на Windows.


Да ну?


 
DrPass ©   (2006-10-02 18:29) [172]


> Oldman ©   (02.10.06 18:27) [171]

А что, есть сомнения?
Если, конечно, тебе не нужно отображать в старой кодировке. Если нет - тогда и с Pascal-кодом делать ничего не придется


 
Ketmar ©   (2006-10-02 18:31) [173]

>[170] DrPass(c) 2-Oct-2006, 18:25
>потому как ISO-стандарта на Паскаль нет, но
есть. %-)


 
Oldman ©   (2006-10-02 18:32) [174]


> DrPass ©   (02.10.06 18:25) [170]
> достаточно исходные данные переконвертировать
> в требуемую кодировку,


Я DOS dbf-файлы не конвертирую...
А с паскаль-кодом приходится что-то делать...


 
DrPass ©   (2006-10-02 18:35) [175]


> Ketmar ©   (02.10.06 18:31) [173]
> есть. %-)

Есть? Тогда я круто неправ :)

> Oldman ©   (02.10.06 18:32) [174]

Все то же справедливо. Только DBF за тебя в кодировку клиента конвертирует драйвер БД


 
Ketmar ©   (2006-10-02 18:36) [176]

>[175] DrPass(c) 2-Oct-2006, 18:35
>Есть? Тогда я круто неправ :)
есть. но никто его не соблюдает. %-) GNU Pascal, кажется, умеет. %-)


 
Oldman ©   (2006-10-02 18:41) [177]


> DrPass ©   (02.10.06 18:35) [175]

Стоп! разговор о тексте? (дбф тоже потоковый текст)...
А как насчет других данных?
Электрические сигналы?
Видео?
Граф-изображения?
Двоичные файлы?


 
clickmaker ©   (2006-10-02 18:50) [178]

Лично для меня плюсы Дельфей перед C++, например, такие:
- более структурированный и дисциплинирующий синтаксис. Не позволяет слишком уж извращаться, код более читаем.
- более удобный дизайнер форм (если за уши привлечь для сравнения редактор диалогов из VC++ или .NET Forms)
- быстрая компиляция
- наглядная и понятная иерархия VCL, без лишнего геморроя в виде множественного наследования, шаблонов и прочего пальцегнутия
- местами более удобный редактор кода


 
Oldman ©   (2006-10-02 18:54) [179]


> clickmaker ©   (02.10.06 18:50) [178]
> - более структурированный и дисциплинирующий синтаксис.
> Не позволяет слишком уж извращаться


гы...
кому как...
:)))


 
clickmaker ©   (2006-10-02 19:02) [180]

правда иногда очень не хватает в делфях сишной конструкции
d = (a == b ? c : f);
пожалуй, это единственная элегантная по-настоящему фишка :)


 
isasa ©   (2006-10-02 19:24) [181]

clickmaker ©   (02.10.06 19:02) [180]

пожалуй, это единственная элегантная по-настоящему фишка


А как в MS VS задрала фишка по добавлению private метода в класс, делающего его(метод) public в описании. Или это только я такой счасливый. :)


 
Oldman ©   (2006-10-02 19:28) [182]


> clickmaker ©   (02.10.06 19:02) [180]
> правда иногда очень не хватает в делфях сишной конструкции
> d = (a == b ? c : f);
> пожалуй, это единственная элегантная по-настоящему фишка
> :)


А в чем фишка?
Ты, видимо, никогда не работал в команде...


 
default ©   (2006-10-02 19:29) [183]

clickmaker ©   (02.10.06 19:02) [180]
это просто великолепная конструкция, её создателю надо поставить памятник


 
default ©   (2006-10-02 19:31) [184]

Oldman ©   (02.10.06 19:28) [182]
причём тут команда?


 
Oldman ©   (2006-10-02 19:34) [185]


> default ©   (02.10.06 19:31) [184]


Команде потом сложно разбраться в твоем синтаксисе без присутствия тебя...


 
default ©   (2006-10-02 19:36) [186]

Oldman ©   (02.10.06 19:34) [185]
это не так, а наоборот


 
Oldman ©   (2006-10-02 19:38) [187]


> default ©   (02.10.06 19:36) [186]


илахеорп ,ондал и ун


 
default ©   (2006-10-02 19:40) [188]

ну вот хотя бы такой пример
string state = IsOn ? "ON" : "OFF";

string state;
if (IsOn) state = "ON"; else state = "OFF"
да хоть так отформатировать
string state;
if (IsOn)
  state = "ON";
else
  state = "OFF"

первая конструкция выигрывает


 
Oldman ©   (2006-10-02 19:41) [189]


> default ©   (02.10.06 19:40) [188]


давай еще вспомним iif из clipper...


 
Marser ©   (2006-10-02 19:43) [190]

> [180] clickmaker ©   (02.10.06 19:02)
> правда иногда очень не хватает в делфях сишной конструкции
> d = (a == b ? c : f);
> пожалуй, это единственная элегантная по-настоящему фишка
> :)

Да, это оно, иогда так хочется, а нету... :-)
> [185] Oldman ©   (02.10.06 19:34)
>
> > default ©   (02.10.06 19:31) [184]
>
>
> Команде потом сложно разбраться в твоем синтаксисе без присутствия
> тебя...

Да, мне по этому поводу накостыляли в соответствующей ветке :-)


 
default ©   (2006-10-02 19:49) [191]

Marser ©   (02.10.06 19:43) [190]
ещё, например, в метод можно передавать типа
Object.Method( IsValidString ? Str : "", 5);
с if-ом тут бы были строки кода....


 
default ©   (2006-10-02 19:51) [192]

то есть мы получаем компактность не теряя наглядности


 
saxon   (2006-10-02 19:52) [193]


> Oldman ©   (02.10.06 19:41) [189]

IIf тут и рядом не стояла, откуда бы она нибыла :)


 
Чапаев ©   (2006-10-02 19:59) [194]

> давай еще вспомним iif из clipper...

Лучше Фортран с "арифметическим if"... ;-)


 
Marser ©   (2006-10-02 20:49) [195]

> [191] default ©   (02.10.06 19:49)
> Marser ©   (02.10.06 19:43) [190]
> ещё, например, в метод можно передавать типа
> Object.Method( IsValidString ? Str : "", 5);
> с if-ом тут бы были строки кода....

Красиво.


 
Petr V. Abramov ©   (2006-10-02 23:26) [196]

> Marser ©   (02.10.06 16:48) [161]
>  пусть, как сказал Петруха, и с долей геморроя.
 А кто такой Петруха? Если имелось в виду Petr V. Abramov ©   (02.10.06 12:35) [155], то заметь, что я спокойно отношусть к таким цитатам со стороны:
Rouse, он меня было дело сильно выручил
pasha_golud, я у него маааленький шмоток сала сала стырил и увез в Тимково, чем заслужил прощение жены, хоть и по приезде прошел участок на 4-х конечностях и в дверь стучал не рукой :)
 Вот пока шмоток сала в МАскву не привезешь, цитируй меня по нику.


 
clickmaker ©   (2006-10-03 09:32) [197]


> Ты, видимо, никогда не работал в команде...

Команда команде рознь.
Если выработать некий общий стиль кодинга, то проблем не будет. Главное, новобранцев вовремя вводить в курс.
А вот большая текучка и правда очень больно бьет по проектам... Особенно, если они хреново (в лучшем случае - обычно никак) документрируются


 
Lamer@fools.ua ©   (2006-10-03 10:51) [198]

>>iZEN ©   (02.10.06 16:37) [160]

> Язык Delphi продолжил традицию: увеличил длину строки и
> сделал строки этого типа совместимыми с ASCIIZ - Си-реализациями
> массива символов-байтов с нулём в последнем элементе, и
> этот факт повлиял на МЕТОДЫ работы со строками, стало необходимо
> использовать специальный менеджер памяти длинных строк


Post hoc ergo propter hoc.


 
digger ©   (2006-10-03 13:54) [199]

Во время знакомства со средствами разработки под Windows поработал немного в Delphi 5, потом открыл VisualStudio 6.0 - потыкался, закрыл и больше не открывал. К языку C++ неприязни не имею. Delphi по сравнению с билдером работает шустрее. Поэтому остановился на Delphi. Считаю, что Delphi хорошо пригодна как для новичков так и для профи.


 
iZEN ©   (2006-10-03 15:51) [200]


> Lamer@fools.ua ©   (03.10.06 10:51) [198]
> Post hoc ergo propter hoc.

Не без этого. ;)
Программист, как пользователь Delphi (языка), видит, что появился новый тип строк (длинные строки), и применяет в работе с ним новые методы, чтобы правильно использовать чужой код.
И наоборот.


> digger ©   (03.10.06 13:54) [199]
>Считаю, что Delphi
> хорошо пригодна как для новичков так и для профи.

Возможно.
„В современном мире важны не навыки, но способности.“
Новые <несовместимые> версии Delphi как раз и тренируют эти способности, нивелируя роль прежних ранее приобретённых (в ранних версиях Delphi) навыков.
Джоэл Спольски правильно говорит.

Остаётся только несколько неизменных навыков: эффективно работать мышью, "кидать батоны на формы", присваивать "свойства в Инспекторе", не сильно задумываясь о самом языке. А зачем о чём-то задумываться, если язык и библиотеки меняются с выходом каждой новой версии?



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

Текущий архив: 2006.10.29;
Скачать: CL | DM;

Наверх




Память: 0.85 MB
Время: 0.086 c
2-1160806186
dreamse
2006-10-14 10:09
2006.10.29
Запись в реестр с ограничеными правами


3-1156829716
Orxan
2006-08-29 09:35
2006.10.29
Юникоды и компонент TOracleQuery


2-1160551228
Zlodey
2006-10-11 11:20
2006.10.29
Работа с текстовым файлом


2-1160671437
pathfinder
2006-10-12 20:43
2006.10.29
Проблема с шифрованием файлов:(((


2-1160820429
fihi
2006-10-14 14:07
2006.10.29
кол-во времени (Integer), в формат даты