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

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.51 MB
Время: 0.056 c
1-1159801544
SpellCaster
2006-10-02 19:05
2006.11.12
Exception при закрытии проги


15-1161670572
kroner
2006-10-24 10:16
2006.11.12
А Вы в это верите?


15-1161764920
Rentgen
2006-10-25 12:28
2006.11.12
Proxy server на Delphi/BC++


1-1159532237
Ангела
2006-09-29 16:17
2006.11.12
Проблема с реестром.


2-1162031764
oleg_v
2006-10-28 14:36
2006.11.12
как удалить (очистить) все записи из БД(*.db)





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