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

Вниз

возникли сомнения!   Найти похожие ветки 

 
ReWQ   (2006-10-21 16:46) [0]

Ведь это одно и тоже!?
k: longint=0;
и
в теле программы
...
k:=0;
...
Верно?
А как делаете вы?


 
antonn ©   (2006-10-21 16:50) [1]

в Д7 у меня не получается k: longint=0;, ругается...
хотя исходники с Д5 и там компились...
=> делаю №2


 
Sergey Masloff   (2006-10-21 16:51) [2]

Это далеко не одно и то же. Мы делаем по-разному в зависимости от того что мы хотим.


 
Loginov Dmitry ©   (2006-10-21 16:52) [3]

Если переменная глобальная или является полем класса, то она инициализируется автоматически. Поэтому просто

k: longint

Если переменная (числовая) локальная то ее нужно инициализировать вручную.

var
 k: longint;
begin
 k := 0;


 
TUser ©   (2006-10-21 16:53) [4]

Нет. Строка k := 0 может выполняться
(а) много раз
(б) после некоторых действий уже произведенных со значением к
(в) никогда

В многопоточном приложении могут быть серьезные различия.

Кроме того, первый синтаксис FreePascal не кушает почему-то.


 
Sergey Masloff   (2006-10-21 16:54) [5]

Loginov Dmitry ©   (21.10.06 16:52) [3]
>k: longint=0;
Где тут  ПЕРЕМЕННЫЕ?


 
Sergey Masloff   (2006-10-21 16:57) [6]

или это метод слона? Когда на экзамене вытаскиваешь билет про слона а знаешь только про червяка. И начинаешь "слон это большое животное у него есть хобот который поход на червяка. А червяк..." и дальше вываливаешь все что знаешь? ;-))


 
TUser ©   (2006-10-21 16:57) [7]

> Sergey Masloff   (21.10.06 16:54) [5]

А что?

var k: longint = 0;

В Турбо Паскале так нельзя было, кажется (???), но в Д7 - пожалуйста.


 
Sergey Masloff   (2006-10-21 17:01) [8]

TUser ©   (21.10.06 16:57) [7]
А это не переменные а типизированные константы. Которые конечно можно при соотв. ключике сделать assignable но они остаются константами. Мы же профессионалы и должны говорить на одном языке. А его нам определяет документация.


 
Sergey Masloff   (2006-10-21 17:03) [9]

Впрочем, у меня и Delphi то под рукой нет. Неужто можно написать
var k: longint = 0;
?
не const ли вместо var?


 
Sergey Masloff   (2006-10-21 17:04) [10]

Хотя... наверное для глобальных можно. Посыпаю голову пеплом ;-)))


 
TUser ©   (2006-10-21 17:07) [11]

Можно. Я собственно проверил перед тем, как запостить. Было бы const - была бы константа. Переменная - не локальная, конечно.


 
Ученик чародея ©   (2006-10-21 17:08) [12]


> Sergey Masloff   (21.10.06 17:01) [8]
>
> TUser ©   (21.10.06 16:57) [7]
> А это не переменные а типизированные константы. Которые
> конечно можно при соотв. ключике сделать assignable но они
> остаются константами. Мы же профессионалы и должны говорить
> на одном языке. А его нам определяет документация.


Они вроде бы еще статические, тоесть позволяют эмулировать отсутствие в Паскале статических классовых переменных. В D2006 их можно и прямо в полях класса объявлять.


 
default ©   (2006-10-21 17:18) [13]


> Они вроде бы еще статические, тоесть позволяют эмулировать
> отсутствие в Паскале статических классовых переменных. В
> D2006 их можно и прямо в полях класса объявлять.


записи наподобие(C#) private String Location = "location";
не определяют статической переменной
статические это когда с const или static объявлено


 
Anatoly Podgoretsky ©   (2006-10-21 17:21) [14]

Вопрос не полный


 
Чапаев ©   (2006-10-21 18:10) [15]

> [8] Sergey Masloff   (21.10.06 17:01)
Это они в Паскале "типизированными константами" были.


 
Джо ©   (2006-10-21 18:26) [16]

> [15] Чапаев ©   (21.10.06 18:10)
> > [8] Sergey Masloff   (21.10.06 17:01)
> Это они в Паскале "типизированными константами" были.

Типизированная константа это
const
 I: Integer = 0;
А это
var
 I: Integer = 0;
это переменная инициализированная значением. Разумеется, допустима там, где она допустима по синтаксису :)


 
Eraser ©   (2006-10-21 18:35) [17]

> [11] TUser ©   (21.10.06 17:07)


> Переменная - не локальная, конечно.

жаль что локальные нельзя.. очень часто этого не хватает + раздутие кода.


 
Ученик чародея ©   (2006-10-21 19:00) [18]


> default ©   (21.10.06 17:18) [13]
>
>
> > Они вроде бы еще статические, тоесть позволяют эмулировать
> > отсутствие в Паскале статических классовых переменных.
>  В
> > D2006 их можно и прямо в полях класса объявлять.
>
> записи наподобие(C#) private String Location = "location";
>
> не определяют статической переменной
> статические это когда с const или static объявлено


В Delphi  появились static переменные? Когда?

Пока приходилось извращатся через типизированные константы.


 
Джо ©   (2006-10-21 19:07) [19]

> [18] Ученик чародея ©   (21.10.06 19:00)
> В Delphi  появились static переменные? Когда?

Статических переменных нет. Появились статические поля классов в D2006.


 
Ученик чародея ©   (2006-10-21 19:10) [20]


> Джо ©   (21.10.06 19:07) [19]
>
> > [18] Ученик чародея ©   (21.10.06 19:00)
> > В Delphi  появились static переменные? Когда?
>
> Статических переменных нет. Появились статические поля классов
> в D2006.


А у нас D7, так что их нет!


 
Marser ©   (2006-10-21 20:00) [21]

В D4 появилась такая возможность...


 
Marser ©   (2006-10-21 20:00) [22]

В смысле, инициализация при объявлении.


 
Джо ©   (2006-10-21 20:05) [23]

> [20] Ученик чародея ©   (21.10.06 19:10)
> А у нас D7, так что их нет!

Ну, ты же спрашивал "Когда?"...


 
ReWQ   (2006-10-21 22:11) [24]

Ну так что, ребят!?


 
Сержик   (2006-10-21 22:15) [25]

Моя токча зрения следующая я беру клавиатуру и печатаю заданный алгоритм а k: longint=0; и  k:=0 это просто как дважды два!


 
default ©   (2006-10-21 22:32) [26]

ReWQ   (21.10.06 22:11) [24]
не бери в голову


 
Loginov Dmitry ©   (2006-10-21 23:45) [27]

Sergey Masloff   (21.10.06 16:57) [6]
или это метод слона? Когда на экзамене вытаскиваешь билет про слона а знаешь только про червяка. И начинаешь "слон это большое животное у него есть хобот который поход на червяка. А червяк..." и дальше вываливаешь все что знаешь?


Sergey Masloff   (21.10.06 17:04) [10]
Посыпаю голову пеплом


:)))))



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

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

Наверх




Память: 0.53 MB
Время: 0.069 c
1-1159471239
guav
2006-09-28 23:20
2006.11.12
Аналог GetTextExtentPoint32 / GetTextExtentExPoint / TCanvas.Text


15-1161522452
Dmytro
2006-10-22 17:07
2006.11.12
Автозагрузка в Win2003


2-1161775849
KyRo
2006-10-25 15:30
2006.11.12
Код Enter


15-1161752978
nikolay_sch
2006-10-25 09:09
2006.11.12
Ошибка при инсталяции...


2-1161774262
LexXL
2006-10-25 15:04
2006.11.12
as