Регистрация Главная Сообщество
Сообщения за день Справка Регистрация
Навигация
Zhyk.org LIVE! Реклама на Zhyk.org Правила Форума Награды и достижения Доска "почета"

Ответ
 
Опции темы
Старый 05.02.2010, 14:50   #1
Я вас люблю ^^
 Старший сержант
Аватар для Glavos
 
Glavos блестящий пример для подражанияGlavos блестящий пример для подражанияGlavos блестящий пример для подражанияGlavos блестящий пример для подражанияGlavos блестящий пример для подражанияGlavos блестящий пример для подражанияGlavos блестящий пример для подражанияGlavos блестящий пример для подражанияGlavos блестящий пример для подражанияGlavos блестящий пример для подражанияGlavos блестящий пример для подражания
Регистрация: 31.08.2009
Сообщений: 189
Популярность: 1506
Сказал(а) спасибо: 62
Поблагодарили 630 раз(а) в 289 сообщениях
Отправить сообщение для Glavos с помощью ICQ Отправить сообщение для Glavos с помощью Telegram Отправить сообщение для Glavos с помощью Yahoo Отправить сообщение для Glavos с помощью Skype™
 
По умолчанию Путаетесь в коде? (Begin, end)

Бывает такая ситуация, что когда много кода в процедуре, то начинаешь путаться где начало (begin), где конец (end).

Ну например:
Цитата:
procedure TForm1.Button1Click(Sender: TObject);
begin
if x begin
if not y begin
end;
if s > 10 begin
if not lol begin
end;
end;
end;
end;

Это ещё не большой пример, но уже можно запутаться.

Я делаю так (и предлагаю Вам):
Цитата:
procedure TForm1.Button1Click(Sender: TObject);
begin
if x begin // 1

end; // 1
end;

А при большом коде:
Цитата:
procedure TForm1.Button1Click(Sender: TObject);
begin
if x begin // 1
if not y begin // 2
end; // 2
if s > 10 begin // 3
if not lol begin // 4
end; // 4
end; // 3
end; // 1
end;

Правда ведь удобнее?
________________
Все материалы исключительно для ознакомления. (Рад помочь!)

[Ссылки могут видеть только зарегистрированные пользователи. ]
  Ответить с цитированием
Старый 05.02.2010, 23:16   #2
 Разведчик
Аватар для Богомол
 
Богомол никому не известный тип
Регистрация: 18.04.2009
Сообщений: 45
Популярность: 3
Сказал(а) спасибо: 9
Поблагодарили 4 раз(а) в 2 сообщениях
Отправить сообщение для Богомол с помощью ICQ
 
По умолчанию Re: Путаетесь в коде? (Begin, end)

Не знаю, правильно ли я скажу, а нельзя ли просто сдвигать tab'ом строчки (то есть вложенные функции писать более "сдвинутыми").
Судя по "procedure TForm1.Button1Click(Sender: TObject);" это Delphi, а я в нем не силен, поэтому не знаю можно ли так в нем сдвигать, но ведь Delphi "вырос" из Turbo Pascal'я, где так делать можно.

Хотя метод помечания строк правда удобен
  Ответить с цитированием
Старый 06.05.2010, 23:01   #3
Reaper
 Фельдмаршал
Аватар для Dinmaite
 
Dinmaite сломал счётчик популярности :(Dinmaite сломал счётчик популярности :(Dinmaite сломал счётчик популярности :(Dinmaite сломал счётчик популярности :(Dinmaite сломал счётчик популярности :(Dinmaite сломал счётчик популярности :(Dinmaite сломал счётчик популярности :(Dinmaite сломал счётчик популярности :(Dinmaite сломал счётчик популярности :(Dinmaite сломал счётчик популярности :(Dinmaite сломал счётчик популярности :(
Регистрация: 13.08.2009
Сообщений: 1,004
Популярность: 25098
Золото Zhyk.Ru: 350
Сказал(а) спасибо: 110
Поблагодарили 830 раз(а) в 395 сообщениях
Отправить сообщение для Dinmaite с помощью ICQ
 
По умолчанию Re: Путаетесь в коде? (Begin, end)

А вот первый вариант вообще не геморный, там 1 удар по табу, тут 2 по слешу и 1 по цифре, а если вложенность в 30 процедур то как?)
  Ответить с цитированием
Старый 07.05.2010, 21:30   #4
Знатный Читер
 Фельдмаршал
Аватар для Leo_ня
 
Leo_ня в состоянии испепелить взглядомLeo_ня в состоянии испепелить взглядомLeo_ня в состоянии испепелить взглядомLeo_ня в состоянии испепелить взглядомLeo_ня в состоянии испепелить взглядомLeo_ня в состоянии испепелить взглядомLeo_ня в состоянии испепелить взглядомLeo_ня в состоянии испепелить взглядомLeo_ня в состоянии испепелить взглядомLeo_ня в состоянии испепелить взглядомLeo_ня в состоянии испепелить взглядом
Регистрация: 10.06.2008
Сообщений: 965
Популярность: 5501
Сказал(а) спасибо: 786
Поблагодарили 942 раз(а) в 598 сообщениях
Отправить сообщение для Leo_ня с помощью ICQ Отправить сообщение для Leo_ня с помощью Telegram
 
По умолчанию Re: Путаетесь в коде? (Begin, end)

Во всех языках используются сдвиги.

Код:
proc dialogproc,H,M,W,L
	mov eax,[M]
	cmp eax,WM_COMMAND
	je COMMAND
	cmp eax,WM_CLOSE
	je CLOSE
	xor eax,eax
	je bye

COMMAND:
	cmp [W],1001
	je b1001
	cmp [W],1002
	je b1002
	xor eax,eax
	jmp bye

	b1001:
		test [Flags],param
		jne ParamSet
		jmp fin

		ParamSet:
			cmp byte[someparam],0xFF
			je @B
			call someproc_1
			jmp fin

			@@:
				call comeproc_2
				jmp fin
	b1002:
		call someproc_3
		jmp fin

CLOSE:
	invoke EndDialog,0
	jmp fin
	
fin:
	mov eax,1
bye:
	ret
	endp
  Ответить с цитированием
Пользователь сказал cпасибо:
cunt85 (31.07.2011)
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 22:21.

Пишите нам: [email protected]
Copyright © 2024 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net