Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2008.10.05;
Скачать: [xml.tar.bz2];

Вниз

Какой великий смысл в использовании resourcestring вместо const ?   Найти похожие ветки 

 
Игорь Шевченко ©   (2008-08-14 09:56) [0]

Сабж, собственно. Может, я чего не до конца не понимаю, но до сих пор не увидел внятной причины использовать эту конструкцию в коде основной программы, если не используется ITE.
Поводом для ветки послужил пост [29] в закрытой ветке
http://delphimaster.net/view/2-1218647371/

"Наверное, лучше будет для строковых констант так:

unit MyConstr;

interface

resourcestring

rsMess1 = "Привет!";
rsMess2 = "Как Сам!";
rsMess3 = "Ошибка!";

implementation

end.
"

Вот кто бы мне объяснил, нафига использовать именно resourcestring


 
oldman ©   (2008-08-14 09:59) [1]


> Вот кто бы мне объяснил


Видимо, тебе к автору шедевра


 
McSimm ©   (2008-08-14 10:01) [2]

Теоретическая возможность исправить синтаксическую ошибку без перекомпиляции :)


 
Vlad Oshin ©   (2008-08-14 10:01) [3]

править, видимо


 
Anatoly Podgoretsky ©   (2008-08-14 10:02) [4]

> Игорь Шевченко  (14.08.2008 9:56:00)  [0]

Смеешься или как?
В этом случае строки находятс в ресурсах и http://www.podgoretsky.com/OtherParts/DM/BadWill.aspx
Кроме локализации еще и более оптимальная работа  с ресурсами, в отличии от жестко кодированого.


 
Игорь Шевченко ©   (2008-08-14 10:03) [5]


> Теоретическая возможность исправить синтаксическую ошибку
> без перекомпиляции :)


С этого момента подробнее :)


 
Игорь Шевченко ©   (2008-08-14 10:07) [6]

Anatoly Podgoretsky ©   (14.08.08 10:02) [4]

Не смеюсь.


> В этом случае строки находятс в ресурсах


Догадываюсь. Но не видел кроме ITE никакого средства, позволяющего менять именно локализацию.

Я еще понимаю глубокую целесообразность, когда ID строки в ресурсе можно задавать жестко, каким-то образом, а в случае использования resourcestring, насколько мне известно, эти ID меняются при объявлении новых констант типа resourcestring.


 
Игорь Шевченко ©   (2008-08-14 10:08) [7]


> Кроме локализации еще и более оптимальная работа  с ресурсами,
>  в отличии от жестко кодированого.


"Более оптимальная" - это как ? :)


 
DrPass ©   (2008-08-14 10:09) [8]


> Игорь Шевченко ©   (14.08.08 10:03) [5]
>
> > Теоретическая возможность исправить синтаксическую ошибку
>
> > без перекомпиляции :)
>
>
> С этого момента подробнее :)

Restorator


 
Rouse_ ©   (2008-08-14 10:11) [9]

Вот что говорит хэлп по этому поводу:

Extracting resource strings helps centralize string definitions which can then be more easily translated, if necessary. You can extract string values to resource strings that are defined in the resourcestring section of your code file. If there is no resourcestring section in your code, the refactoring engine creates one following either the implementation keyword or the uses list.


 
Игорь Шевченко ©   (2008-08-14 10:18) [10]

Rouse_ ©   (14.08.08 10:11) [9]

Переведи :)

DrPass ©   (14.08.08 10:09) [8]


> Restorator


Я не понимаю глубокого смысла использовать пятые колеса у телег.

Кроме того, насколько мне известно, любой Delphi-йский EXEшник при своем запуске ищет ресурсную DLL - творчество ITE, основываясь на текущей локализации Windows. Мне бы хотелось этот процесс контролировать самому, определяя нужную DLL самостоятельно, а не от локализации операционной системы.


 
turbouser ©   (2008-08-14 10:20) [11]


> Rouse_ ©   (14.08.08 10:11) [9]
>
> Вот что говорит хэлп по этому поводу:
>

...

> helps centralize string definitions which can then be more
> easily translated, if necessary


Угу... как же... easily translated...
devexpress например здорово экономит на переводах, но это им только минус.


 
Rouse_ ©   (2008-08-14 10:20) [12]


> Переведи :)

Оно мне надо? :)


 
turbouser ©   (2008-08-14 10:22) [13]


> Rouse_ ©   (14.08.08 10:20) [12]


> Оно мне надо? :)

Вот-вот :))))


 
MsGuns ©   (2008-08-14 10:31) [14]

>Игорь Шевченко ©   (14.08.08 10:18) [10]
>Переведи :)

Примерно так:
Чтобы попасть с Малой Бронной на Большую Грузинскую, нужно вызвать такси по номеру 322223. Хотя, конечно, оттуда туда есть автобусы 112, 186 и 834, троллейбусы 54, 76 и трамвай 137, да и метро туда ходит. Можно даже потратить 7 минут и пройти туда пешком. Но мы все же советуем обязательно воспользоваться вышеуказанным такси.


 
Anatoly Podgoretsky ©   (2008-08-14 10:34) [15]


> Но не видел кроме ITE никакого средства, позволяющего менять
> именно локализацию.

Существуют и технология сильно используемая в Виндоус, например MUI


 
Anatoly Podgoretsky ©   (2008-08-14 10:36) [16]


> "Более оптимальная" - это как ?

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


 
Игорь Шевченко ©   (2008-08-14 10:37) [17]

Anatoly Podgoretsky ©   (14.08.08 10:34) [15]


> Существуют и технология сильно используемая в Виндоус, например
> MUI


Оно, MUI, как-то к Delphi и к resourcestring относится ? Я просто не видел никаких упоминаний на эту тему.


 
Anatoly Podgoretsky ©   (2008-08-14 10:38) [18]

> Игорь Шевченко  (14.08.2008 10:18:10)  [10]

На моем сайте есть пример текстового редактора, на основе TRichEdit, там есть подобная технология, как авто, так и принудительно, вне зависимости от локализации. Если интересует, то взгляни.


 
Anatoly Podgoretsky ©   (2008-08-14 10:39) [19]

> Rouse_  (14.08.2008 10:20:12)  [12]

Ты прямо говори, сколько и в баксах или евро.


 
xayam ©   (2008-08-14 10:42) [20]

Игорь начал искать смысл. Ты на правильном пути. Что конечно не означает что дойдешь до конца этого пути))


 
DVM ©   (2008-08-14 10:42) [21]


> Игорь Шевченко ©   (14.08.08 09:56)

Особой разницы нет кроме как в отличие от const, эти константы размещаются не в сегменте данных, а в ресурсах, а затем подгружаются оттуда по мере необходимости. Каждая такая константа на вид обычная строка. Но за каждой из них стоит структура:

   PResStringRec = ^TResStringRec;
   TResStringRec = packed record
      Module: ^Cardinal;
      Identifier: Integer;
   end;


 
Игорь Шевченко ©   (2008-08-14 10:42) [22]

Anatoly Podgoretsky ©   (14.08.08 10:36) [16]

Я про работу с ресурсами несколько в курсе, но ни const, ни ресурсы в своп-файл не выкидываются никогда (за исключением запакованных файлов), так как и const и ресурсы находятся в EXE-файле (ну или в DLL).

Я немножко о другом - я прекрасно понимаю, что вынос строковых констант в ресурсы есть механизм полезный, в частности, для локализации, я к тому, что механизм именно resourcestring мне представляется крайне неудобным.

Мне бы хотелось строковые ресурсы в DLL собирать самостоятельно, вместе с другими ресурсами, битмапами, курсорами и прочими иконами. А если я объявлю resourcestring в программе и resourcestring в DLL у меня получится два набора ресурсов :)


 
Игорь Шевченко ©   (2008-08-14 10:43) [23]

DVM ©   (14.08.08 10:42) [21]


>
> Особой разницы нет кроме как в отличие от const, эти константы
> размещаются не в сегменте данных, а в ресурсах, а затем
> подгружаются оттуда по мере необходимости. Каждая такая
> константа на вид обычная строка. Но за каждой из них стоит
> структура:
>
>    PResStringRec = ^TResStringRec;
>    TResStringRec = packed record
>       Module: ^Cardinal;
>       Identifier: Integer;
>    end;


Я в курсе, спасибо. Я хочу понять, в чем преимущества


 
oldman ©   (2008-08-14 10:49) [24]


> Игорь Шевченко ©   (14.08.08 10:43) [23]
> Я хочу понять, в чем преимущества


А кто сказал, что они есть?


 
Игорь Шевченко ©   (2008-08-14 11:00) [25]


> А кто сказал, что они есть?


Очевидно Borland


 
oldman ©   (2008-08-14 11:04) [26]


> Игорь Шевченко ©   (14.08.08 11:00) [25]
> Очевидно Borland


Судя по ссылке в [0], это сказал DVM ©.
Анатолий вот еще пытается найти какие-то плюсы.
И все.
Про Borland поясни.


 
turbouser ©   (2008-08-14 11:05) [27]

If there is no resourcestring section in your code, the refactoring engine creates one following either the implementation keyword or the uses list.
:-() а зачем?


 
Игорь Шевченко ©   (2008-08-14 11:15) [28]


> :-() а зачем?


есть такой вид рефакторинга - замена строкового литерала на resourcestring.
Удобно, чтобы явные литералы в коде не присутствовали.


 
turbouser ©   (2008-08-14 11:28) [29]


> Игорь Шевченко ©   (14.08.08 11:15) [28]

И зачем? Чем удобнее? Почему таки не const?
А уж об автоматизме сего промолчу :-х


 
Игорь Шевченко ©   (2008-08-14 11:32) [30]


> И зачем? Чем удобнее?


отсутствие литералов оно всяко удобнее.


> Почему таки не const?


вот не знаю :)


 
Anatoly Podgoretsky ©   (2008-08-14 12:07) [31]

> Игорь Шевченко  (14.08.2008 10:37:17)  [17]

А не ты говорил про ITE - это таже самая технология - ресурсные ДЛЛ


 
Anatoly Podgoretsky ©   (2008-08-14 12:11) [32]

> Игорь Шевченко  (14.08.2008 10:42:22)  [22]

Ну тут Борланд пошел своим путем, сделал так, что бы разницы в коде не было, в отличии от использования чистых строковых ресурсов.

Насчет самостоятельной сборки - этого у тебя никто не отнимал, resourcestring автоматизирует не только создание ресурса, но и его использования, в файле же обычный String Table


 
Anatoly Podgoretsky ©   (2008-08-14 12:12) [33]

> Игорь Шевченко  (14.08.2008 10:43:23)  [23]

Читай два сообщения выше, преимущество для Дельфи в автоматизации работы, Дельфи скрывает всю кухню.


 
Anatoly Podgoretsky ©   (2008-08-14 12:14) [34]

> oldman  (14.08.2008 11:04:26)  [26]

Мой ответ Игорю, также и тебе. Локализация между прочим тут ни причем, она делается и другими механизмами. Просто ITE знает и про формы и про resourcestring и про ДЛЛ, много про что знает и предоставляет механизм, но это не из=за resourcestring - оно же преобразовывается в StringTable


 
Anatoly Podgoretsky ©   (2008-08-14 12:17) [35]

> Игорь Шевченко  (14.08.2008 11:15:28)  [28]

Явные литералы худшее зло.

Явный литерал (HardCoded) -> Const -> resource (resourcestring - спецподдержка для строк)


 
Anatoly Podgoretsky ©   (2008-08-14 12:19) [36]


> И зачем? Чем удобнее? Почему таки не const?

Для строк нет смысла писать const - поскольку resourcestring абсолютно прозрачен.

const
  S1 = "abc";
resourcestring
  S1 = "abc";

S := S1;


 
Игорь Шевченко ©   (2008-08-14 12:20) [37]

Anatoly Podgoretsky ©   (14.08.08 12:11) [32]


> Насчет самостоятельной сборки - этого у тебя никто не отнимал,
>  resourcestring автоматизирует не только создание ресурса,
>  но и его использования, в файле же обычный String Table


Вот у меня есть задача локализации.

Я пишу

unit langconsts;
interface

resourcestring
 SYes = "Да";
 SNo = "Нет";

end.

для другого языка я пишу

unit langconsts;
interface

resourcestring
 SYes = "Yes";
 SNo = "No";

end.

Хочу сделать две DLL для ресурсов на русском и английском языках.

1. Какой юнит я должен вставлять в приложение ?
2. Как я должен использовать идентификаторы в программе, чтобы ресурсные строки загружались из DLL ?
3. Будут ли соответствовать идентификаторы строк в приложении и в DLL ?
4. Я хочу язык приложения определять самостоятельно, не используя настройки Windows. Как ?


 
Anatoly Podgoretsky ©   (2008-08-14 12:32) [38]

> Игорь Шевченко  (14.08.2008 12:20:37)  [37]

1. Какой юнит я должен вставлять в приложение ?
Любой, в Дельфи обычно выбирается один базовый язык, на нем делается интерфейс, потом с помощью ITE создаются языковые файлы, если язык не находится, то используется ресурс не из ДЛЛ, а из программы (язык по умолчанию).

2. Как я должен использовать идентификаторы в программе, чтобы ресурсные строки загружались из DLL ?
Не знаю, не интересовался. Но идентификаторы могут быть любые. В Дельфи этот процесс как создание ИД для идентификаторов, так и использования ресурса по его имени автоматизировано. Но я уже ответил, в Дельфи S := S1; и синтаксис использования одинаков и для const и для resourcestring. Не в дельфи это все надо делать ручками, создавать ресурс, создавать файл определений, самостоятельно загружать строки из ресурса.

3. Будут ли соответствовать идентификаторы строк в приложении и в DLL ?
Идентификаторы не нужны, нужны ИД из StringTable и они должны быть одинаковы в приложении и во всех ресурсных ДЛЛ, ITE это обеспечивает.

4. Я хочу язык приложения определять самостоятельно, не используя настройки Windows. Как ?
Я тебя уже посылал на свою страницу, ну не лезть же мне самому в проект и смотреть как именно я там реализовал, а по памяти я не помню. Учти, что у Борланда своя поддержка, отличающаяся от Микрософт. Но в кратче нужны несколько записей в реестре, а сама поддержка встроена в код.

В ITE все продумано, но к нему надо привыкнуть, ну а это осуществляется с помощью пары матюгов, да и ITE сильно улучшили по сравнению с первыми версиями, где матюгов надо было три.


 
Игорь Шевченко ©   (2008-08-14 13:56) [39]

Anatoly Podgoretsky ©   (14.08.08 12:32) [38]


> В ITE все продумано, но к нему надо привыкнуть,


Я использовал ITE несколько лет назад, потом оставшееся время плевался.

ITE может быть хорошо использовать для готового более-менее неизменного проекта, а для реального, то есть, достаточно часто и интенсивно меняющегося использовать ITE получится только с заклинаниями "твой кролик написал".

То, что сама поддержка встроена в код, я в курсе, но ITE использовать не хочу, потому как неудобно.


> Не в дельфи это все надо делать ручками, создавать ресурс,
>  создавать файл определений, самостоятельно загружать строки
> из ресурса.


Собственно это можно и в Delphi делать, и, собственно, делается. Немного дольше на начальном этапе получается, но при наличии генератора ресурсов вполне сопоставимо с затратами на время с ITE.
Кроме того, я могу попросить стороннего переводчика создать .rc файл, а вот просить его же поработать с ITE я, увы, не могу :)


 
DiamondShark ©   (2008-08-14 15:16) [40]


> а для реального, то есть, достаточно часто и интенсивно
> меняющегося использовать ITE получится только с заклинаниями
> "твой кролик написал".

А доморощенный механизм удобнее, что-ли, будет? Не еврю!


> Кроме того, я могу попросить стороннего переводчика создать
> .rc файл, а вот просить его же поработать с ITE я, увы,
> не могу :)

Давненько я не брал в руки шашек, но разве ITE не создаёт .rc файлов, которые можно отдать стороннему переводчику?


 
Игорь Шевченко ©   (2008-08-14 15:27) [41]

DiamondShark ©   (14.08.08 15:16) [40]


> А доморощенный механизм удобнее, что-ли, будет? Не еврю!


Как бы доморощенным я сам управляю, хотя бы в выборе языка локализации работы приложения.


> Давненько я не брал в руки шашек, но разве ITE не создаёт
> .rc файлов, которые можно отдать стороннему переводчику?
>


Вот честно не видел. DLL он создает.


 
Anatoly Podgoretsky ©   (2008-08-14 15:36) [42]


> Я использовал ITE несколько лет назад, потом оставшееся
> время плевался.

Я плевался в Д5, а в Д7 уже работал без проблем, при том с постоянными изменениями, но последний раз использовал несколько лет назад, что сейчас творится не знаю, к тому же я перешел на Юникод, не думаю, что ITE даст мне нужное.

Что в первый раз порадовало с ITE - это то, что кроме своих ресурсов я увидел и много чужих, например из Quick Reports.

Естественно все можно делать ручками, только соблюдать культуру производства, сначала файл определений, а потом уж rc файл.
Ну и дальше решить, использовать поддержку многоязычности Борланда или также самому загружать библиотеки.


 
Anatoly Podgoretsky ©   (2008-08-14 15:38) [43]


> Кроме того, я могу попросить стороннего переводчика создать
> .rc файл, а вот просить его же поработать с ITE я, увы,
> не могу :)

Забыл про это, нормальный редактор ресурсов в состоянии создавать этот файл даже из ехе или длл, по крайней мере это нормально делал Борландовский Workshop


 
Anatoly Podgoretsky ©   (2008-08-14 15:39) [44]


> Как бы доморощенным я сам управляю, хотя бы в выборе языка
> локализации работы приложения.

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


 
DiamondShark ©   (2008-08-14 15:43) [45]


> Игорь Шевченко ©   (14.08.08 15:27) [41]

*сдувая пыль с пятёрки*


> Как бы доморощенным я сам управляю, хотя бы в выборе языка
> локализации работы приложения.


In addition to locating a resource DLL at application startup, it is possible to switch resource DLLs dynamically at runtime. To add this functionality to your own applications, you need to include the ReInit unit in your uses statement. (ReInit is located in the Richedit sample in the Demos directory.) To switch languages, you should call LoadResourceModule, passing the LCID for the new language, and then call ReinitializeForms.


> Вот честно не видел. DLL он создает.

А DLL же не святым духом создаётся.
Вытаскивает все DFM из проекта, а ресурсстринги собирает в один .rc
Потом это всё радостно компилится в DLL.
Если DFM текстовые, то можно и DFM переводчику отдать.


 
DiamondShark ©   (2008-08-14 15:44) [46]


> Что в первый раз порадовало с ITE - это то, что кроме своих
> ресурсов я увидел и много чужих, например из Quick Reports.

Вот оно!
Ни один доморощенный велосипед не умеет собрать ресурсы из всех используемых пакетов компонентов.


 
ЛшдлуттнСфе   (2008-08-14 15:49) [47]

Удалено модератором
Примечание: Offtopic


 
Игорь Шевченко ©   (2008-08-14 15:50) [48]

Убедили :)


 
Игорь Шевченко ©   (2008-08-14 15:53) [49]

DiamondShark ©   (14.08.08 15:44) [46]


> Ни один доморощенный велосипед не умеет собрать ресурсы
> из всех используемых пакетов компонентов.


А мне это, собственно, и не требуется. Мне требуется локализовать вполне определенные места в приложении, русифицировать диагностические сообщения сторонних компонент я не собирался и впредь не собираюсь.


 
Anatoly Podgoretsky ©   (2008-08-14 16:33) [50]

> DiamondShark  (14.08.2008 15:43:45)  [45]

Ну даже их простой пример с RichEdit криво работает с данной функцией, а чуть посложнее и особенно, если есть db aware вообще приводит к очень плохим последствиям. Нет смысла менять на ходу, надо просто попросить перегрузить приложение.


 
Anatoly Podgoretsky ©   (2008-08-14 16:34) [51]

> Игорь Шевченко  (14.08.2008 15:50:48)  [48]

Ну старались!


 
Anatoly Podgoretsky ©   (2008-08-14 16:37) [52]

> Игорь Шевченко  (14.08.2008 15:53:49)  [49]

Ну и чего упираться, искать что то, морщить мозг, попробуй сначала ITE - ведь это средство не только и не столько перевода текстов, это множе шире. Например формы могут сильно отличаться по виду, по расколожению компонент, их размеров, картинок. Это именно ITE а не поделка, у МС видимо есть аналогичные средства, судя по локализированым приложениям.


 
Игорь Шевченко ©   (2008-08-14 16:41) [53]

Anatoly Podgoretsky ©   (14.08.08 16:37) [52]


> попробуй сначала ITE


Я вроде как писал, что пробовал, несколько лет назад, потом долго плевался. Предлагаешь поплеваться еще раз ? :)


 
DiamondShark ©   (2008-08-14 16:41) [54]


> Anatoly Podgoretsky ©   (14.08.08 16:33) [50]

Криво работает ReinitializeForms.
В LoadResourceModule нет ничего кривого.
Игоря, как я понял, не устраивают борландовские правила выбора языка при старте. Тогда достачно вызывать LoadResourceModule с выбранной по своим собственныим правилам локалью в самом начале кода проекта, и забить на ReinitializeForms. Действительно, нет смысла менять локализацию налету.


 
Anatoly Podgoretsky ©   (2008-08-14 16:46) [55]

> Игорь Шевченко  (14.08.2008 16:41:53)  [53]

Предлагаю, лучше день потрахаться, потом за пять минут долететь.
Ты видимо не прочувствовал его, я тоже плевался несколько дней, но выдержал, после этого мне никакое другое средство уже не надо было.
Вот сегодня ты говоришь только про сообщения, а завтра вопрос встанет шире. Да и возможность по обработки текстов весьма широки, конечно инструмент мог бы быть и по приличнее.

При компиляции проекта делай Билд всей группы проектов сразу, это условие для успеха.


 
Anatoly Podgoretsky ©   (2008-08-14 16:48) [56]

> DiamondShark  (14.08.2008 16:41:54)  [54]

Дело не в ReinitializeForms, дело в сложности. Чем навороченее формы и чем больше связи, тем больше проблем, вплоть до вылета.

Дело в ООП :-)

И ничего тяжелого перезапустить изредка приложение нет.


 
Игорь Шевченко ©   (2008-08-14 17:02) [57]

Anatoly Podgoretsky ©   (14.08.08 16:46) [55]


> Ты видимо не прочувствовал его, я тоже плевался несколько
> дней


Я плевался на протяжении около полугода, коллеги плевались на протяжении пары лет.


> При компиляции проекта делай Билд всей группы проектов сразу,
>  это условие для успеха.


Я в курсе, спасибо. Иначе просто бардак будет.


 
Правильный$Вася   (2008-08-14 20:34) [58]

переводимыми ресурсами могут быть не только строки, но и картинки, звуки и т.п.
про внешний вид формы АП уже говорил


 
DevilDevil ©   (2008-08-15 13:03) [59]

>автор

допустим, проект уже написан, был успешный старт российской версии. Определённые люди говорят "а давай-ка сделай французскую версию и немецкую версию". Тут начинаешь искать строковые константы, оформлять их как resourcestring, компилируешь... а замещаешь переведённые строки ресторатором. Ещё лучше ситуация, когда изначально знаешь, что конечный продукт будешь локализировать.


 
ketmar ©   (2008-08-15 13:13) [60]

>[59] DevilDevil © (2008-08-15 13:03:00)
наглядный пример пагубного влияния флёнова на неокрепший детский мозг.

---
Do what thou wilt shall be the whole of the Law.


 
Игорь Шевченко ©   (2008-08-15 13:15) [61]


> Определённые люди говорят "а давай-ка сделай французскую
> версию и немецкую версию".


Чаще всего эти определенные люди в случае, если проект написан, идут конкретно лесом с подобными предложениями.


 
DevilDevil ©   (2008-08-15 13:34) [62]

> Игорь Шевченко ©   (15.08.08 13:15) [61]
> Чаще всего эти определенные люди в случае, если проект написан, идут конкретно лесом с подобными предложениями.


конкретно в той области, в которой я собираюсь в некотором будущем работать, именно так и происходит. Resourcestring в этом случае подходит как нельзя лучше.


 
Игорь Шевченко ©   (2008-08-15 13:55) [63]

DevilDevil ©   (15.08.08 13:34) [62]


> > Чаще всего эти определенные люди в случае, если проект
> написан, идут конкретно лесом с подобными предложениями.
>  
>
> конкретно в той области, в которой я собираюсь в некотором
> будущем работать, именно так и происходит


Что именно происходит - люди лесом идут ?


> Resourcestring в этом случае подходит как нельзя лучше.


Работай с ITE, никто не запрещает. Без ITE ты с resourcestring все равно ничего не сделаешь путного.


 
miek   (2008-08-15 14:30) [64]

>ресурсные строки не выкидываются в своп файл

откуда такие фантазии? у суровых российских программеров даже винда спрашивает - что выкинуть в своп, а что нет?


 
DevilDevil ©   (2008-08-15 14:36) [65]

> Что именно происходит - люди лесом идут ?

не, именно говорят (предлагают) так локализовать.

Могу показаться дураком... но что есть ITE ?


 
ketmar ©   (2008-08-15 14:36) [66]

>[64] miek (2008-08-15 14:30:00)
просто мы знаем, как винда работает. а ты, похоже, нет.

---
All Your Base Are Belong to Us


 
ketmar ©   (2008-08-15 14:37) [67]

>[65] DevilDevil © (2008-08-15 14:36:00)
>Могу показаться дураком… но что есть ITE ?

убил. наповал. и катком сверху.

слушай, скажи, в какой области работать будешь и что писать собрались. чтобы я случайно не купил.

---
All Your Base Are Belong to Us


 
DevilDevil ©   (2008-08-15 14:42) [68]

Удалено модератором


 
Игорь Шевченко ©   (2008-08-15 15:02) [69]

DevilDevil ©   (15.08.08 14:36) [65]


> Могу показаться дураком... но что есть ITE ?


Прости, а зачем ты в таком случае используешь resourcestring ?

miek   (15.08.08 14:30) [64]


> откуда такие фантазии?


В неупакованных исполняемых файлах ресурсные строки никогда не выкидываются в своп-файл. Впрочем, строковые константы в Delphi тоже...


 
DevilDevil ©   (2008-08-15 15:06) [70]

> Игорь Шевченко ©   (15.08.08 15:02) [69]
> Прости, а зачем ты в таком случае используешь resourcestring ?>


я ещё не использую resourcestring, но планировал.

Ищу ITE (в IDE) - не нахожу. TeamSource, кстати, тоже.
Это опциональная (при инсталяции) штука ?


 
Игорь Шевченко ©   (2008-08-15 15:21) [71]

DevilDevil ©   (15.08.08 15:06) [70]


> я ещё не использую resourcestring, но планировал.


А чего ты с ними дальше планировал делать ? :))

ITE - Intergrated Translation Environment, вызывается по Project|Languages|Add language


 
DevilDevil ©   (2008-08-15 15:36) [72]

> А чего ты с ними дальше планировал делать ? :))

ну понятно чего - делать некоторые константы resourcestring, и редактировать (по окончании проекта) ресурсник. К слову... текста в этой сфере не так уж и много (ну может строк 50).

>ITE - Intergrated Translation Environment, вызывается по
>Project|Languages|Add language


нет такой опции. Delphi6.


 
Palladin ©   (2008-08-15 15:41) [73]


> нет такой опции. Delphi6.

:) ага, и мне она значит только кажется?


 
Игорь Шевченко ©   (2008-08-15 15:43) [74]

DevilDevil ©   (15.08.08 15:36) [72]


> ну понятно чего - делать некоторые константы resourcestring,
>  и редактировать (по окончании проекта) ресурсник. К слову.
> .. текста в этой сфере не так уж и много (ну может строк
> 50).


Завидую я тебе - у тебя времени дофига.


> нет такой опции. Delphi6.


Пакет нужный надо включить в Component|Install packages


 
Anatoly Podgoretsky ©   (2008-08-15 15:51) [75]

> Игорь Шевченко  (15.08.2008 13:15:01)  [61]

Да ладно, но все равно к Великому смыслу это не относится, он непоколебим и независим от мнения определенных людей.


 
Anatoly Podgoretsky ©   (2008-08-15 15:53) [76]

> Игорь Шевченко  (15.08.2008 13:55:03)  [63]

Вообще то сделаю, например внешний локализатор, так локализировались в некоторое время некоторые версии Windows 3.x
Учитывая что формы это тоже ресурсы, то их и все содержимое можно также локализировать внешне.


 
Anatoly Podgoretsky ©   (2008-08-15 15:55) [77]

> Игорь Шевченко  (15.08.2008 15:02:09)  [69]

Но константы загружаются вместе с нужной страницей, а ресурсы нет, правда тут немного Микрософт подпортила. Ресурсные строки загружаются блоками по 16, хотя мне нужна только одна.


 
Anatoly Podgoretsky ©   (2008-08-15 15:55) [78]

> DevilDevil  (15.08.2008 15:06:10)  [70]

Между прочим Дельфи поставляется со справкой, кстати советую ее прочитать по части использования ITE поможет прояснить некоторые моменты.


 
Anatoly Podgoretsky ©   (2008-08-15 15:57) [79]

> DevilDevil  (15.08.2008 15:36:12)  [72]

Ну конкретные пункты могут называться иначе, в Д5 было два пункта меню в рахных местах, в Д6 немного изменилось, а после я уже не смотрел.


 
Игорь Шевченко ©   (2008-08-15 16:00) [80]

Anatoly Podgoretsky ©   (15.08.08 15:55) [77]


> Но константы загружаются вместе с нужной страницей, а ресурсы
> нет, правда тут немного Микрософт подпортила. Ресурсные
> строки загружаются блоками по 16, хотя мне нужна только
> одна.


Ресурсы тоже загружаются страницами, оно иначе попросту не работает, а что до 16 - так это внутреннее ограничение на размер одного ресурса типа STRINGTABLE


 
Anatoly Podgoretsky ©   (2008-08-15 16:04) [81]

> Игорь Шевченко  (15.08.2008 16:00:20)  [80]

Ты меня не понял, в случае констант от из загрузки отказаться нельзя, а от ресурсов можно.
Я не имел в виду физические страницы оперативной памяти.


 
Игорь Шевченко ©   (2008-08-15 16:04) [82]

Anatoly Podgoretsky ©   (15.08.08 16:04) [81]


> Ты меня не понял, в случае констант от из загрузки отказаться
> нельзя, а от ресурсов можно.


Это безусловно



Страницы: 1 2 3 вся ветка

Форум: "Прочее";
Текущий архив: 2008.10.05;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.69 MB
Время: 0.008 c
15-1218693384
Игорь Шевченко
2008-08-14 09:56
2008.10.05
Какой великий смысл в использовании resourcestring вместо const ?


2-1219739361
max
2008-08-26 12:29
2008.10.05
String literals may have at most 255 elements


1-1199488934
Vopros123123
2008-01-05 02:22
2008.10.05
Как снять флажок из Delphi у компонента HTML "checkbox"?


3-1207555954
_ozzy_
2008-04-07 12:12
2008.10.05
Как активизировать окно моего приложения?


15-1218801331
_koha
2008-08-15 15:55
2008.10.05
Неприодалимые глюги ?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский