Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Русские идентификаторы в Delphi for .Net (BDS 2006) [XP]


Страницы:   1 2

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]

> Мне НЕОБХОДИМО использовать русские буквы

почему?


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо