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

Вниз

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

Наверх





Память: 0.51 MB
Время: 0.007 c
1-6109
Caries_
2004-02-19 18:25
2004.03.03
не загружается dll (похоже 16-разр) в 32-битное приложение


1-6050
European
2004-02-18 19:40
2004.03.03
Подскажите компонент


3-5949
КомофОнСамый
2004-02-05 19:53
2004.03.03
как добавить строчку в service??


7-6266
Vredina
2003-12-12 09:48
2004.03.03
Папки


3-5943
race1
2004-02-04 16:43
2004.03.03
name by id





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