Форум: "Начинающим";
Текущий архив: 2008.07.20;
Скачать: [xml.tar.bz2];
ВнизРусские идентификаторы в Delphi for .Net (BDS 2006) Найти похожие ветки
← →
nata (2008-06-20 16:58) [0]Мне НЕОБХОДИМО использовать русские буквы в идентификаторах в 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"
При повторной компиляции ошибок нет и все работает хорошо.
Как этого избежать, т.к. при подключении многих файлов, компиляция мучительно долгая.
← →
clickmaker © (2008-06-20 17:00) [1]> Мне НЕОБХОДИМО использовать русские буквы
почему?
← →
Dennis I. Komarov © (2008-06-20 17:03) [2]чуръ меня, чуръ... :)
← →
Palladin © (2008-06-20 17:05) [3]
> Мне НЕОБХОДИМО использовать русские буквы
аффигеть, серьезное ПО... ну транслит, в принципе, не запрещен :)
← →
nata (2008-06-20 17:08) [4]Ребята, пожалуйста, если не знаете чем помочь, не пишите чушь.
Покритиковать кого я и сама могу.
← →
stas © (2008-06-20 17:11) [5]Мне НЕОБХОДИМО использовать русские буквы...
???
А что английской раскладки нет?
Совет:
Edit->replace
с: русские буквы
на: English
← →
McSimm © (2008-06-20 17:18) [6]Поведение компилятора действителтьно странное.
Но странность задачи затмевает.
Цель не могу себе представить, но почему-то уверен, что ее можно добиться и другим способом, без инклуда.
← →
Dennis I. Komarov © (2008-06-20 17:20) [7]> [4] nata (20.06.08 17:08)
Почему не знаем? Знаем. Только:
1. ответь на [1]
2. не понравиться...
← →
McSimm © (2008-06-20 17:22) [8]
> Почему не знаем? Знаем.
Поделитесь пожалуйста. Мне тоже очень интересно, почему ошибка происходит при первой компиляции, а повторная проходит нормально.
← →
Правильный-Вася (2008-06-20 17:22) [9]явно пишется расширение языка для протых юзеров
начало
переменная:=константа
конец
← →
nata (2008-06-20 17:26) [10]
> Почему не знаем? Знаем.
Поделитесь если знаете, пример просто иллюстративный, если вы все еще задумываетесь над использованием данного "программного продукта". Если будет все работать на 3-х строках, будет работать и в реальной программе.
А необходимо, т.к. файл подключения генерируется автоматически на русском языке, заниматься перекодировкой неблагодарное дело, если языком предусмотрена возможность использования символов Unicode.
← →
McSimm © (2008-06-20 17:29) [11]Почему неблагодарное? Во всяком случае решить проблему перекодировкой можно, и не так уж и сложно.
но и понять такое поведение тоже было бы интересно.
← →
Правильный-Вася (2008-06-20 17:52) [12]
> если языком предусмотрена возможность использования символов Unicode.
тогда почему String, а не WideString ?
← →
McSimm © (2008-06-20 17:54) [13]
> тогда почему String, а не WideString ?
А если Integer?
Имя переменной и его содержимое как связаны ?
← →
nata (2008-06-20 17:58) [14]
> McSimm © (20.06.08 17:54) [13]
>
Тип не имеет значения, может быть любой, как и значение переменной, это просто иллюстрация ошибок.
← →
McSimm © (2008-06-20 18:03) [15]
> nata (20.06.08 17:58) [14]
да, это я понимаю.
Может все-таки стоит обработать генерируемый текст ? Проблему решит, а перекодировщик делается за несколько минут.
Например заменить unicode символы их 16ми кодами: var_<hex-codes>
← →
Правильный-Вася (2008-06-20 18:06) [16]может, лучше в годегир написать багрепорт?
или хотя бы патчи поставить?
← →
nata (2008-06-20 18:07) [17]спасибо за предложение, но мой шеф категорически настоен на русские имена, будем компилировать :-)
← →
Dennis I. Komarov © (2008-06-20 18:24) [18]> [10] nata (20.06.08 17:26)
Надо будет переписать компилятор :) Расвели тут 1С, понимаешь.
> Поделитесь пожалуйста. Мне тоже очень интересно, почему
> ошибка происходит при первой компиляции, а повторная проходит
> нормально.
Чего, правда? У меня нету для .NET. Мда, дожили....
← →
Игорь Шевченко © (2008-06-20 20:57) [19]
> {$I "D:\Мои документы\Список_переменных";} : string;
а зачем точка с запятой после кавычки ?
← →
Anatoly Podgoretsky © (2008-06-20 20:58) [20]> nata (20.06.2008 18:07:17) [17]
У Борланда в отличии от Микрософт очень напряженые отношения с неанглийскими символами, если по рабоче крестьянски - плохо у них выходит. Чего стоит наличие буквы Я в комментариях dpr файла. И тут видимо в лужу сели. А вот у Микрософта еще в 1993 году был с этим порядок, полный порядок.
Вот так Борланд на корню гноит национальные кадры.
← →
Игорь Шевченко © (2008-06-20 21:02) [21]TurboDelphi 2006:
varnames.incМояПеременная1, МояПеременная2, МояПеременная3
unit main;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure ПоказатьСообщение (Сообщение: string);
begin
ShowMessage(Сообщение);
end;
procedure TForm1.Button1Click(Sender: TObject);
var
{$I varnames.inc}
: string;
begin
МояПеременная1 := "Foo ";
МояПеременная2 := "Bar ";
МояПеременная3 := "Baz ";
ПоказатьСообщение(МояПеременная1+МояПеременная2+МояПеременная3);
end;
end.
← →
Игорь Шевченко © (2008-06-20 21:03) [22]Все компилируется и даже работает. Единственно - набирать неудобно, все время промеж раскладками переключаться да и редактор в IDE с русскими буквами не дружит
← →
Dummy (2008-06-20 21:04) [23]
> мой шеф категорически настоен на русские имена
Может проще сменить щефа? по-моему он - идиот.
← →
Palladin © (2008-06-20 21:11) [24]шеф, в том, что он идиот, - не виноват. а вот всяким натам осталось грамотно продемонстрировать шефу на несовместимость желалок и возможностей приобретенного продукта. пусть сам решает что ему надо...
← →
Игорь Шевченко © (2008-06-20 21:13) [25]Впрочем, гораздо интереснее так:
unit main;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
Строка = string;
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure ПоказатьСообщение (Сообщение: Строка);
begin
ShowMessage(Сообщение);
end;
procedure TForm1.Button1Click(Sender: TObject);
var
胡锦涛, 王岐山, 令肌肤绽放珍珠般净白 : Строка;
begin
令肌肤绽放珍珠般净白 := "Foo ";
王岐山 := "Baz ";
胡锦涛 := "Bar";
ПоказатьСообщение(令肌肤绽放珍珠ഄ 4;净白+王岐山+胡锦涛);
end;
end.
← →
Anatoly Podgoretsky © (2008-06-20 22:03) [26]> Игорь Шевченко (20.06.2008 21:13:25) [25]
Я стесняюсь спросить, а что там написано?
← →
Anatoly Podgoretsky © (2008-06-20 22:04) [27]Основенно здесь 令肌肤绽放珍珠般净白
← →
Игорь Шевченко © (2008-06-20 22:04) [28]Anatoly Podgoretsky © (20.06.08 22:03) [26]
Все имена переменных - цензурные :)
← →
Anatoly Podgoretsky © (2008-06-20 23:24) [29]> Игорь Шевченко (20.06.2008 22:04:28) [28]
Меня интересует, что за длинное имя идентификатора, я ведь в курсе, что каждый значок это одно слово, это наверно немецкий идентификатор и для уменьшения физического размера записан иерофглифами. Модно ли узнать каждое слово?
← →
Игорь Шевченко © (2008-06-20 23:27) [30]
> Модно ли узнать каждое слово?
у каждого программиста свои секреты :)
← →
nata (2008-06-20 23:41) [31]ой ребята, вам явно не хватает общения, а проблема все еще имеется. TurboDelphi 2006 мне не подходит. И впервые меня называют "всякая НАТА".
← →
Игорь Шевченко © (2008-06-20 23:57) [32]nata (20.06.08 23:41) [31]
и все-таки, зачем точка с запятой после имени файла, который по Include включается ?
← →
nata (2008-06-20 23:58) [33]можите ее убрать
← →
Игорь Шевченко © (2008-06-21 00:01) [34]nata (20.06.08 23:58) [33]
Да у меня вообще-то и проблемы нет (как и BDS2006, впрочем), так что убирать я ее не буду. С вашего позволения.
← →
Anatoly Podgoretsky © (2008-06-21 00:05) [35]> Игорь Шевченко (20.06.2008 23:27:30) [30]
Так и не удалось на слабо взять.
← →
Anatoly Podgoretsky © (2008-06-21 00:07) [36]> nata (20.06.2008 23:41:31) [31]
Что бы была не всякая - начинать надо с фото.
← →
Германн © (2008-06-21 01:16) [37]
> Игорь Шевченко © (20.06.08 21:13) [25]
Сегодня днём там были иероглифы. Сейчас вопросительные знаки. Совсем не красиво :(
← →
Leonid Troyanovsky © (2008-06-21 11:20) [38]
> Anatoly Podgoretsky © (20.06.08 22:04) [27]
> Основенно здесь 令肌肤绽放珍珠般净白
Кожа расцветает, как жемчуг из незамутненного источника?
--
Regards, LVT.
← →
clickmaker © (2008-06-23 12:37) [39]> мой шеф категорически настоен на русские имена
прямо как в монологе Задорнова: "могём или не могём?" )
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2008.07.20;
Скачать: [xml.tar.bz2];
Память: 0.54 MB
Время: 0.038 c