Как оформить пояснения в программе?

Федор_Федор
Дата: 06.10.2006 12:35:14
В четыре панели StatusBar выводится текстовая информация на разных этапах выполнения програмы. Подсказки, типа, «Откройте изображение правого кадра стереопары» или сообщения, типа «Выполняется такое-то преобразование изображения…».
Все эти сообщения нужно выводить, в зависимости от настроек, либо на русском, либо на английском. Все они раскиданы по всему коду программы. Очень неудобно редактировать, если где нужно что-то поменять.
Как это умнее организовать?
Может быть определить все текстовые строки как строки-константы, а потом просто в нужном месте писать:
Form1.StatusBar1.Panels[0].Text:=String25Rus;

Как лучше сделать? Подскажите, пожалуйста.
optimizer
Дата: 06.10.2006 13:00:10
принято в resoursestring значения текстовых констант забивать
Федор_Федор
Дата: 06.10.2006 13:04:32
optimizer
принято в resoursestring значения текстовых констант забивать

Извините, а что такое ResourcesString?
Может, еще есть какие-то способы?
Бектуров Роман
Дата: 06.10.2006 13:12:27
Федор_Федор
Может, еще есть какие-то способы?


ini-файл например, дешево и сердито :-)
optimizer
Дата: 06.10.2006 13:13:57
Федор_Федор
optimizer
принято в resoursestring значения текстовых констант забивать

Извините, а что такое ResourcesString?


delphi help

Resource strings are stored as resources and linked into the executable or library so that they can be modified without recompiling the program. For more information, see Internationalization and localization and the topics that follow it.

Resource strings are declared like other true constants, except that the word const is replaced by resourcestring. The expression to the right of the = symbol must be a constant expression and must return a string value. For example,

resourcestring
CreateError = 'Cannot create file %s'; { for explanations of format specifiers, }
OpenError = 'Cannot open file %s'; { see 'Format strings' in the online Help }
LineTooLong = 'Line too long';
ProductName = 'Borland Rocks';
SomeResourceString = SomeTrueConstant;
Федор_Федор
Дата: 06.10.2006 14:44:52
Бектуров Роман
Федор_Федор
Может, еще есть какие-то способы?

ini-файл например, дешево и сердито :-)

Очень сердито :-)
Пользователь удалит ini-file и будет испуганно глазеть на пустые окна сообщений :-)
DimaBr
Дата: 06.10.2006 14:53:15
Федор_Федор
Пользователь удалит ini-file и будет испуганно глазеть на пустые окна сообщений :-)

Ini.ReadString(Section,Name,DefaultValue);
Пропишите в DefaultValue сообщения на китайском, и при отсутствии файла всё будет в порядке
Федор_Федор
Дата: 06.10.2006 15:12:31
DimaBr
Федор_Федор
Пользователь удалит ini-file и будет испуганно глазеть на пустые окна сообщений :-)

Ini.ReadString(Section,Name,DefaultValue);
Пропишите в DefaultValue сообщения на китайском, и при отсутствии файла всё будет в порядке

Енто я умею :-)
Посмотрел ResourceString. Не понял чем отличается от Const.
Да и неудобно при смене языка, мне кажется.
Почему нельзя сделать, например, так:

procedure TForm1.FormCreate(Sender: TObject);
Begin
    If Form2.Checkbox.Checked then//Включен русский язык
    begin
         Open1:=' Откройте исходное изображение левого кадра стереопары';
         .......... 
    End
    Else
    begin//Включен нерусский язык
         Open1:=' Open source left image';
         .....
    End
End;

Зато тут можно переключаться между языками. Зачем мучаться с Ини-файлой?
optimizer
Дата: 06.10.2006 15:28:32
Федор_Федор

Почему нельзя сделать, например, так:

procedure TForm1.FormCreate(Sender: TObject);
Begin
    If Form2.Checkbox.Checked then//Включен русский язык
    begin
         Open1:=' Откройте исходное изображение левого кадра стереопары';
         .......... 
    End
    Else
    begin//Включен нерусский язык
         Open1:=' Open source left image';
         .....
    End
End;



тогда лучше оформить функцию
Dimitry Sibiryakov
Дата: 06.10.2006 15:37:36

Федор_Федор

Почему нельзя сделать, например, так:

При локализации на 20-й язык тебя проклянет тот кто этим будет заниматься.

Posted via ActualForum NNTP Server 1.3