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

Вниз

Delphi 6 - Руководство разработчика   Найти похожие ветки 

 
Dmk   (2002-07-27 19:20) [0]

Купил сегодня Delphi 6 - Руководство разработчика (Стив Тейксейра, Ксавье Пачеко). Просто супер. Денег вот только 434 р. содрали.
Понравилась нововведенная сишная конструкция "Х += 1;".
Не знал, что такое D6 может. Описание работы со строками наиболее полное из тех, что видел. C Variant"ами тоже.
Наверно меня еще куча интересного ждет. До конца пока не дочитал.

Что нибудь подобное от Microsoft по VisualStudio есть?


 
ZZ   (2002-07-27 19:37) [1]

Понравилась нововведенная сишная конструкция "Х += 1;".
Не знал, что такое D6 может.


Я тоже не знал (теперь знаю). И моя Delphi6 тоже не знала (но вот ей эту новость объяснить труднее):(((


 
Oleg_Gashev   (2002-07-27 19:54) [2]

В С проще. i++ тоже что i+=1 или i=i+1

Борланд пытается внедрить конструкции С и правильно делает. Давно пора.


 
Dmk   (2002-07-27 21:47) [3]

Странно в книге написано, а реально не работает. Кто нибудь пробовал? Конструкция Си "Х += 1;".


 
Юрий   (2002-07-27 21:58) [4]

Не работает Х += 1;
Delphi 6 Update Pack 1


 
Dmk   (2002-07-27 21:59) [5]

спасибо :)


 
Neox   (2002-07-27 22:35) [6]

Странно, у меня Update Pack 2 стоит - все равно не работает


 
drpass   (2002-07-27 23:18) [7]

Где ты там такое мог вычитать??? У меня есть DDG6, только на английском языке, и там в Главе 2 (про язык ОП) четко написано
... таким образом, этот код на Java или C
х+=5
на ОП будет выглядеть как
х:=х+5

Так что либо это "издержки перевода", либо ты как-то невнимательно читал :)


 
Вадим   (2002-07-27 23:52) [8]

i :=+ 1;

А что в Д6 еще есть?


 
Dmk   (2002-07-28 00:17) [9]

У меня на русском. Страница 72. Раздел "Операторы присвоения с действием".

Вот этот раздел -

Теперь в Object Pascal появились новые, очень удобные операторы присвоения с действием (do-and-assign), похожие на те, что издавна применялись в Java и C. Это такие операторы, как присвоения с суммой += и присвоение с умножением *=. Они выполняют арифметическую операцию (в данном случае сложение и умножение) перед операцией присвоения. Ранее, в Object Pascal, данный тип операций состоял из двух отдельных операторов.

x := x + 5;

Теперь, подобно языкам Java и C, вполне допустим следующий код.

x += 5;

Так, что господин drpass либо это издержки перевода, либо Вы пользуетесь "плохим переводчиком". :)
А может легкие наркотики? ;)

Но пока Update не ставил (просто нету), проверить не могу.




 
drpass   (2002-07-28 01:09) [10]

Я не пользуюсь переводчиком - я свободно говорю на английском :)
А вот выдержка из этого же раздела в моей версии:

Do-and-Assign Operators
Not present in Object Pascal are handy do-and-assign operators like those found in Java and C.
These operators, such as +=and *=, perform an arithmetic operation (in this case, an add and
an multiply) before making the assignment. In Object Pascal, this type of operation must be
performed using two separate operators. Therefore, this code in Java or C
x +=5;
becomes this in Object Pascal:
x :=x +5;

Вот дословный перевод /кто не знает английского, поверьте на слово - я прав/:
Операторы присвоения с действием
В Объектном Паскале отсутствуют удобные операторы присвоения с действием, подобные тем, что применяются в Java и С. Эти операторы, такие как += и *=, выполняют арифметическую операцию (в данном случае сложение и умножение) перед выполнением присвоения. В Объектном Паскале этот тип операций должен быть выполнен как две раздельные операции. Таким образом, этот код на Java или C
х+=5
на ОП будет выглядеть как
х:=х+5

Как видно, Update Pack не причем, Тексейра и Пачеко - не ламеры, а вот наши переводчики - ...
Я часто говорю, что переводчик должен сам разбираться в теме, которую он переводит. Этот пример - ерунда, почитайте перевод Visual C++ Мюллера - вот там полный финиш.
Хотя я бы не отказался от такого оператора в ОП Delphi7 :)


 
Dmk   (2002-07-28 02:10) [11]

:) Я в английском не силен, но достаточно знаю его, чтобы перевести этот кусок текста. Вы абсолютно правы. А может наборщик текста ошибся? Мдее...
Я уже успел разочароваться в переводе. Где то еще 2 "косяка" нашел, сейчас не помню.
Ух, я им письмецо сейчас отправлю.


 
Dmk   (2002-07-28 02:25) [12]

Хорошо, что на диске английский PDF есть. :) Даже его передрать не смогли нормально. Переводчики: В.А.Коваленко и Ю.А.Шпака.
Мурзилки, а не переводчики.


 
ION T   (2002-07-28 02:44) [13]

А действительно, зачем нужен оператор :=+ ?? Ведь он, ессно, простое присвоение делает, вместо того что ожидалось......


 
Dmk   (2002-07-30 03:23) [14]

Ну надо же! Прислали письмо с извинениями.
Сказали, что учтут это в последующих изданиях. Мдее...


 
Yong   (2002-07-30 08:55) [15]

>> Вадим © (27.07.02 23:52)
i :=+ 1; то эе самое, что i:=1;



 
Shaman_Naydak   (2002-07-30 12:10) [16]

Порадовала, откровенно порадовала меня эта дискуссия..
Особенно i:=+1; - просто шедевр!
Спасибо..
могу предложить еще один вариант (работает еше со времен TP):
inc(x,5); это x:=x+5;
dec(y,5); это y:=y-5;
когда то это компилировалось в более эффективный код, чем обычный способ ;)




Страницы: 1 вся ветка

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

Наверх





Память: 0.48 MB
Время: 0.006 c
3-84940
DenisLK
2002-07-19 11:07
2002.08.26
Как в Memo перейти на последнюю строку?


3-84880
777
2002-08-05 15:50
2002.08.26
local SQL


14-85204
Skyle
2002-07-31 09:04
2002.08.26
Сервисы NT


1-85126
dmtr
2002-08-15 11:16
2002.08.26
Динамическое переопределение


1-85113
MC TOL
2002-08-15 08:54
2002.08.26
New Entry Point... What the f*** is going on?





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