powered by simpleCommunicator - 2.0.36     © 2025 Programmizd 02
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Константа номера строки редактора
25 сообщений из 76, страница 1 из 4
Константа номера строки редактора
    #40100071
FreeAdman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
День добрый!

Подскажите, пожалуйста, в Delphi есть волшебная константа номера текущей строки в редакторе кода?
Например:
Код: pascal
1.
2.
3.
4.
5.
6.
0: procedure proc1;
1: begin
2:     ShowMessage('Line num ' + CURRENT_LINE_NUM);
3: end;

Result: Line num 2
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40100073
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreeAdman,

Зачем тебе такое?

P.S. В SynEdit и его клонах - такое есть (ну вдруг ты свой редактор пишешь).
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40100075
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет. Но есть способы получить на основании отладочной информации
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40100143
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreeAdman
Код: pascal
1.
2.
3.
4.
5.
6.
0: procedure proc1;
1: begin
2:     ShowMessage(
3:           'Line num ' 
4:                + CURRENT_LINE_NUM);
5: end;


А в таком случае что должно написать?

Строки-то понятие условное. Можно в отладочной инфе что-то наковырять. Главное понять - для чего?
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40107923
FreeAdman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
wadman
А в таком случае что должно написать?


В теории это: Line num 4
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108004
Vizit0r
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreeAdman,

а на практике отладчик покажет, что это номер 2. И будет полностью прав.
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108018
FreeAdman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vizit0r
FreeAdman,

а на практике отладчик покажет, что это номер 2. И будет полностью прав.


Да нифига.

В примере очевидно же, что то служебная константа.
И вообще вы чушь пишите и противоречите логике.
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108021
FreeAdman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vizit0r
FreeAdman,
а на практике отладчик покажет, что это номер 2. И будет полностью прав.


Не будет он прав. Ибо по вашей логике:

Код: pascal
1.
2.
3.
4.
5.
6.
7.
1: begin
2:     ShowMessage(
3:           'Line num ' 
4:                + CURRENT_LINE_NUM);
5: end;

Result: Line num 2



И

Код: pascal
1.
2.
3.
4.
5.
6.
7.
1: begin
2:     
3:     ShowMessage('Line num '  + CURRENT_LINE_NUM);
4:
5: end;

Result: Line num 2



Это одно и тоже. Тогда CURRENT_LINE_NUM вообще не будет показывать корректный номер строки в редакторе по той причине, что он не учитывает перенос строк. Развелось кодеров всяких с дипломами...
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108068
GrigoriyFomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
FreeAdman,

идея наверное навеяна интерпретаторами? Лучше уж делать в традициях 8-бит и 8кБ ПЗУ - "Ошибка #8715" и уже по коду искать, в каком месте такой код ошибки записан. А то сегодня это строка 12, завтра вы чего-то там нафигачили, выдали новый релиз и сиди потом ищи 12 строка - это для какой версии сырцов и есть ли вообще эта версия сырцов у вас в наличии. Вообщем - бредовая идея с номерами строк.
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108075
Vizit0r
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreeAdman
И вообще вы чушь пишите и противоречите логике.


ок, ок.
Удаляюсь, не буду спорить со знатоком.
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108076
FreeAdman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
GrigoriyFomin, ещё один? Вы то вникайте в текст, а не на "отстань". Бесполезно разговаривать.
ПС: заодно включите голову

Vizit0r
FreeAdman
И вообще вы чушь пишите и противоречите логике.

ок, ок.
Удаляюсь, не буду спорить со знатоком.

Начните соображать в конце концов
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108080
goldmi45
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreeAdman
День добрый!

Подскажите, пожалуйста, в Delphi есть волшебная константа номера текущей строки в редакторе кода?


Вы так и не ответили, для чего вам это надо.
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108099
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreeAdman
Подскажите, пожалуйста, в Delphi есть волшебная константа номера текущей строки в редакторе кода?

В FPC есть {$INCLUDE %LINE%}, в Delphi ничего похожего нет.
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108118
FreeAdman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Kazantsev Alexey
FreeAdman
Подскажите, пожалуйста, в Delphi есть волшебная константа номера текущей строки в редакторе кода?

В FPC есть {$INCLUDE %LINE%}, в Delphi ничего похожего нет.

Вот дураки FPC, вот глупость придумали же
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108122
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreeAdman,

И все-таки интересно: а зачем это?
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108151
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
FreeAdman,

можешь (например) получить номер строки и имя файла из текста исключения, сгенерированного псевдофункцией assert().
Опции сборки проекта, естественно, должны быть настроены на генерацию assert's, с отладочной информацией (включая номера строк).
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108163
Vizit0r
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ
FreeAdman,

можешь (например) получить номер строки и имя файла из текста исключения, сгенерированного псевдофункцией assert().
Опции сборки проекта, естественно, должны быть настроены на генерацию assert's, с отладочной информацией (включая номера строк).


Assert покажет ему для примера

Код: pascal
1.
2.
3.
4.
5.
6.
0: procedure proc1;
1: begin
2:     ShowMessage(
3:           'Line num ' 
4:                + CURRENT_LINE_NUM);
5: end;



строку 4?
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108165
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vizit0r,

проблемы? Проверь.
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108185
GrigoriyFomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ъъъъъ
Vizit0r,

проблемы? Проверь.

Вопрошающий скорее всего хотел в рантайме получить номер строки в исходнике и вывести его в лог либо на экран, а не сгенерить исключение, чем прервать исполнение программы. Как по мне - номер строки ничего не даст, так как эта ошибка могла произойти при разных условиях и стек вызовов тут куда более информативен, чем просто номер строки. Уже много лет использую библиотеку madException, которая решает все проблемы по поиску проблем в коде.
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108198
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GrigoriyFomin
Вопрошающий скорее всего хотел в рантайме получить номер строки в исходнике и вывести его в лог либо на экран
Это все понятно, фича прикольная, но ЗАЧЕМ?!

Номер текущей строки и так известен программисту в момент написания вывода в лог.

Код: pascal
1.
2.
3.
4.
0: procedure proc1;
1: begin
2:     ShowMessage('Line num 2');
3: end;

vs
Код: pascal
1.
2.
3.
4.
0: procedure proc1;
1: begin
2:     ShowMessage('Line num '+LINE_NUM);
3: end;

Чем эти 2 варианта друг от друга принципиально отличаются?
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108200
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С точки зрения отладки лучше уж сразу написать:
Код: pascal
1.
2.
3.
4.
0: procedure proc1;
1: begin
2:    ShowMessage('unitx.proc1.my_featureXXX');
3: end;

Надежней и понятней будет.
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108210
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rgreat
Чем эти 2 варианта друг от друга принципиально отличаются?
Тем, что добавление/удаление кода перед калькулируемой строкой похерит все твои индексы
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108211
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_,

Ну и что?

Обычный поиск по тексту прекрасно найдет этот самый showmessage.

При изменении сорцов после релиза этот LineNumber будет все одно показывать погоду на марсе.

Мой вариант с ShowMessage('unitx.proc1.my_featureXXX'); надежней.
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108212
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rgreat
При изменении сорцов после релиза этот LineNumber будет все одно показывать погоду на марсе.

В VCS всё будет на своих местах.
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108213
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexey,

Угу. А смысл?
Зачем вообще эти хуевые решения если есть нормальное?
...
Рейтинг: 0 / 0
25 сообщений из 76, страница 1 из 4
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Константа номера строки редактора
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]