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

Вниз

If ....Then   Найти похожие ветки 

 
Drozdov A   (2004-02-18 15:22) [0]

procedure TForm1.N12Click(Sender: TObject);
var
nkv,kvar:integer;
begin
nkv:=3;
if nkv = 3 then
kvar:=1;
nkv:=kvar; // смотрю тут NKV в отладчике, а она у меня пустая,
не равна т.е. 1
end;
end;
Подскажите в чём тут дело ???


 
Guest   (2004-02-18 15:24) [1]

В оптимизации.


 
Плохиш   (2004-02-18 15:24) [2]

Оптимизацию отключи, студент.


 
Guest   (2004-02-18 15:28) [3]

Замените все на:
kvar := 1;
nkv :=1


 
Anatoly Podgoretsky ©   (2004-02-18 15:35) [4]

В отлажчике


 
Drozdov A   (2004-02-18 15:36) [5]

КВАР и НКВ я не могу присвоить равным единице, просто я тут упрощённо написал свой вопрос.
Вообщем, что такое ОПТИМИЗАЦИЯ тут ?


 
Плохиш   (2004-02-18 15:38) [6]


> Drozdov A (18.02.04 15:36) [5]

Это значит тут ?

И вообще весь твой приведённый код не имеет смысла.


 
Drozdov A   (2004-02-18 15:45) [7]

код в самом деле такой !
Но я не могу Nkv:=1 и Kvar:=1
присвоение такое поставить.


 
Guest   (2004-02-18 15:47) [8]

[7] Drozdov A (18.02.04 15:45)

Приведите полный код, тогда сможем объяснить, почему так происходит.
А оптимизация - это когда умный компилятор вставляет вместо вашего кода свой, выполняющий то же самое, но быстрее.


 
DenK_vrtz ©   (2004-02-18 15:49) [9]

А хде ж тут базы? :)


 
Drozdov A   (2004-02-18 15:55) [10]

Guest (18.02.04 15:47) [8]
Я ж вроде написал свой код полный
procedure TForm1.N12Click(Sender: TObject);
var
nkv,kvar:integer;
begin
nkv:=3;
if nkv = 3 then
kvar:=1;
nkv:=kvar; // смотрю тут NKV в отладчике, а она у меня пустая, не равна т.е. 1
end;
больше у меня в этой процедуре ничего нету.


 
Val ©   (2004-02-18 15:56) [11]

>DenK_vrtz © (18.02.04 15:49) [9]
в оптимизаторе! :))


 
Guest   (2004-02-18 15:57) [12]

[10] Drozdov A (18.02.04 15:55)

Тогда можете эту процедуру удалить. Она вообще ничего не делает.
Естественно, компилятор ее "выбросил".


 
Fay ©   (2004-02-18 15:59) [13]

Попробуйте так:
procedure TForm1.N12Click(Sender: TObject);
var
nkv,kvar:integer;
begin
nkv:=1;
if nkv = 1 then kvar:=1
else kvar := 1;
repeat
nkv:=StrToInt(IntToStr(kvar));
until nkv = kvar;
end;


 
Johnmen ©   (2004-02-18 16:00) [14]

Это либо очередной развод, либо страсть по орехам...
:))))))))


 
Drozdov A   (2004-02-18 16:05) [15]

Guest (18.02.04 15:57) [12]
А эта делает ?
procedure TForm1.N12Click(Sender: TObject);
var
dmes:string;
nkv,kvar:integer;
begin

nkv:=3;
dmes:=formatdatetime("mm",Date);
if strtoint(dmes)<4 then
kvar:=1;
if (strtoint(dmes)>3) and (strtoint(dmes)<7) then
kvar:=2;
if (strtoint(dmes)>6) and (strtoint(dmes)<10) then
kvar:=3;
if (strtoint(dmes)>9) and (strtoint(dmes)<13) then
kvar:=4;
nkv:=kvar;

end;


 
Fay ©   (2004-02-18 16:08) [16]

2 Drozdov A (18.02.04 16:05) [15]
Это просто ГЕНИАЛЬНЫЙ код !!!! Мастер! Возьмите меня в ученики!!!


 
Guest   (2004-02-18 16:11) [17]

[15] Drozdov A (18.02.04 16:05)

Нет, тоже ничего не делает.


 
Плохиш   (2004-02-18 16:13) [18]

Всю ветку в орешник, одн азначн а


 
Drozdov A   (2004-02-18 16:23) [19]

[15] Drozdov A (18.02.04 16:05)
Меня разводите ?
Ну как ничего не делает ?
Там же присвоение какое-никакое происходит...


 
Guest   (2004-02-18 16:25) [20]

[19] Drozdov A (18.02.04 16:23)

Идет присвоение локальным переменным, которые "исчезают" сразу после завершения процедуры.


 
Плохиш   (2004-02-18 16:32) [21]

>Drozdov A (18.02.04 16:23) [19]

[18]


 
Drozdov A   (2004-02-18 16:35) [22]

[19] Drozdov A (18.02.04 16:23)
Вот терь я понял слегка свою ошибку, но не до конца...
Я все свои переменные
var
dmes:string;
nkv,kvar:integer;
вынес в самый верх и там их присвоил и только после этого я смог в отладчике увидеть значение нужной переменной.
Но почему я должен был все эти переменные так далеко выносить ?
Я ж их только хочу использовать в этой конкретной процедурке и только в ней...


 
Guest   (2004-02-18 16:37) [23]

procedure TForm1.N12Click(Sender: TObject);
var
dmes:string;
nkv,kvar:integer;
begin

nkv:=3;
dmes:=formatdatetime("mm",Date);
if strtoint(dmes)<4 then
kvar:=1;
if (strtoint(dmes)>3) and (strtoint(dmes)<7) then
kvar:=2;
if (strtoint(dmes)>6) and (strtoint(dmes)<10) then
kvar:=3;
if (strtoint(dmes)>9) and (strtoint(dmes)<13) then
kvar:=4;
nkv:=kvar;
showmessage(inttostr(nkv))
end;

Вот теперь эта процедура что-то делает :)


 
Плохиш   (2004-02-18 16:41) [24]

>Drozdov A (18.02.04 16:35) [22]

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


 
Danilka ©   (2004-02-18 16:41) [25]

и куда смотрит милиция?
как не стыдно, накануне выборов и такие ветки в базах!

[19] Drozdov A (18.02.04 16:23)
может, книжку какую по программированию почитать?
вабче-то, компилятор не дурак, видит, что эти переменные нигде не используюцца, поэтому и халтурит.


 
Guest   (2004-02-18 16:42) [26]

[25] Danilka © (18.02.04 16:41)

Так я ж уже написал про умный компилятор :)


 
Danilka ©   (2004-02-18 16:44) [27]

[26] Guest (18.02.04 16:42)
дык, до чела если не дошло..
не поймет он, что лень не только людям свойственна..


 
Guest   (2004-02-18 16:45) [28]

[27] Danilka © (18.02.04 16:44)

Я думаю, что только людям (и другим живым существам) свойственна. Впрочем, это уже явный offtopic.


 
Drozdov A   (2004-02-18 16:48) [29]

ну мож кого и посмешил :-)
Чего вы в самом деле...
В натуре я новичок в Делфи...
Пасиба Guestу, поставил на путь истинный
хех..


 
Engeneer   (2004-02-18 18:53) [30]

procedure TForm1.N12Click(Sender: TObject);
begin

end;
Подскажите в чём тут дело ???


 
SergP ©   (2004-02-18 19:02) [31]

Engeneer (18.02.04 18:53)
procedure TForm1.N12Click(Sender: TObject);
begin

end;
Подскажите в чём тут дело ???

Пиши так:
procedure TForm1.N12Click(Sender: TObject);
begin
// Тут нифига нет
end;

такое будет работать, а то на твой код дельфя даже смотреть не хочет а удаляет нафиг прямо из исходников... :))


 
Verg ©   (2004-02-18 19:45) [32]

Точно, DrozdovA, я тоже полиэтиленовые мешки, перед тем как выбросить, мою с мылом и сушу....



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

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

Наверх




Память: 0.53 MB
Время: 0.017 c
14-6235
raymond
2004-02-09 13:51
2004.03.03
Как подружить The Bat и прокси?


3-5939
_юзер_
2004-02-06 16:39
2004.03.03
table xxx is in use


3-5958
alex-ran
2004-02-05 15:11
2004.03.03
Запросы на вставку и Исключения


3-5938
ivs13
2004-02-05 15:52
2004.03.03
Для Oracle есть Toad, а для - ???


7-6261
Death2
2003-12-14 08:04
2004.03.03
файлы