![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Русские идентификаторы в Delphi for .Net (BDS 2006) [XP]
nata © (2008-06-20 16:58:00)Мне НЕОБХОДИМО использовать русские буквы в идентификаторах в Delphi for .Net (BDS 2006).
Например,
procedure TWinForm.Кнопка_Click(sender: System.Object; e: System.EventArgs);
var
{$I 'D:\Мои документы\Список_переменных';} : string;
begin
П_Переменная:='natador';
TextBox1.Text:=П_Переменная;
end;
В файле Список_переменных.pas написано имя переменной П_Переменная (для меня важно подключение такого файла).
При первой компиляции имееются сообщения об ошибках:
[Pascal Error] Список_переменных.pas(1): E2038 Illegal character in input file: 'П' (#$1F)
[Pascal Error] Список_переменных.pas(1): E2038 Illegal character in input file: 'я' (#$4F)
[Pascal Error] WinForm.pas(108): E2003 Undeclared identifier: ' П_Переменная'
[Pascal Fatal Error] Project1.dpr(15): F2063 Could not compile used unit 'WinForm.pas'
При повторной компиляции ошибок нет и все работает хорошо.
Как этого избежать, т.к. при подключении многих файлов, компиляция мучительно долгая.
Игорь Шевченко (2008-06-20 20:57:00) [21]
> {$I 'D:\Мои документы\Список_переменных';} : string;
а зачем точка с запятой после кавычки ?
Dennis I. Komarov (2008-06-20 18:24:00) [22]> [10] nata (20.06.08 17:26)
Надо будет переписать компилятор :) Расвели тут 1С, понимаешь.
> Поделитесь пожалуйста. Мне тоже очень интересно, почему
> ошибка происходит при первой компиляции, а повторная проходит
> нормально.
Чего, правда? У меня нету для .NET. Мда, дожили....
nata (2008-06-20 18:07:00) [23]спасибо за предложение, но мой шеф категорически настоен на русские имена, будем компилировать :-)
Правильный-Вася (2008-06-20 18:06:00) [24]может, лучше в годегир написать багрепорт?
или хотя бы патчи поставить?
McSimm (2008-06-20 18:03:00) [25]
> nata (20.06.08 17:58) [14]
да, это я понимаю.
Может все-таки стоит обработать генерируемый текст ? Проблему решит, а перекодировщик делается за несколько минут.
Например заменить unicode символы их 16ми кодами: var_<hex-codes>
nata (2008-06-20 17:58:00) [26]
> McSimm © (20.06.08 17:54) [13]
>
Тип не имеет значения, может быть любой, как и значение переменной, это просто иллюстрация ошибок.
McSimm (2008-06-20 17:54:00) [27]
> тогда почему String, а не WideString ?
А если Integer?
Имя переменной и его содержимое как связаны ?
Правильный-Вася (2008-06-20 17:52:00) [28]
> если языком предусмотрена возможность использования символов Unicode.
тогда почему String, а не WideString ?
McSimm (2008-06-20 17:29:00) [29]Почему неблагодарное? Во всяком случае решить проблему перекодировкой можно, и не так уж и сложно.
но и понять такое поведение тоже было бы интересно.
nata (2008-06-20 17:26:00) [30]
> Почему не знаем? Знаем.
Поделитесь если знаете, пример просто иллюстративный, если вы все еще задумываетесь над использованием данного "программного продукта". Если будет все работать на 3-х строках, будет работать и в реальной программе.
А необходимо, т.к. файл подключения генерируется автоматически на русском языке, заниматься перекодировкой неблагодарное дело, если языком предусмотрена возможность использования символов Unicode.
Правильный-Вася (2008-06-20 17:22:00) [31]явно пишется расширение языка для протых юзеров
начало
переменная:=константа
конец
McSimm (2008-06-20 17:22:00) [32]
> Почему не знаем? Знаем.
Поделитесь пожалуйста. Мне тоже очень интересно, почему ошибка происходит при первой компиляции, а повторная проходит нормально.
Dennis I. Komarov (2008-06-20 17:20:00) [33]> [4] nata (20.06.08 17:08)
Почему не знаем? Знаем. Только:
1. ответь на [1]
2. не понравиться...
McSimm (2008-06-20 17:18:00) [34]Поведение компилятора действителтьно странное.
Но странность задачи затмевает.
Цель не могу себе представить, но почему-то уверен, что ее можно добиться и другим способом, без инклуда.
stas (2008-06-20 17:11:00) [35]Мне НЕОБХОДИМО использовать русские буквы...
???
А что английской раскладки нет?
Совет:
Edit->replace
с: русские буквы
на: English
nata (2008-06-20 17:08:00) [36]Ребята, пожалуйста, если не знаете чем помочь, не пишите чушь.
Покритиковать кого я и сама могу.
Palladin (2008-06-20 17:05:00) [37]
> Мне НЕОБХОДИМО использовать русские буквы
аффигеть, серьезное ПО... ну транслит, в принципе, не запрещен :)
Dennis I. Komarov (2008-06-20 17:03:00) [38]чуръ меня, чуръ... :)
clickmaker (2008-06-20 17:00:00) [39]> Мне НЕОБХОДИМО использовать русские буквы
почему?