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

Вниз

строковые константы   Найти похожие ветки 

 
Anatoly Podgoretsky ©   (2011-09-02 16:50) [40]

> Юрий Зотов  (02.09.2011 15:20:34)  [34]

resourcestring именно такой, не гонится в своп, он сам часть свопа


 
Anatoly Podgoretsky ©   (2011-09-02 16:52) [41]

> Rouse_  (02.09.2011 15:39:36)  [36]

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


 
Германн ©   (2011-09-03 00:50) [42]


> Anatoly Podgoretsky ©   (02.09.11 16:52) [41]
>
> > Rouse_  (02.09.2011 15:39:36)  [36]
>
> а мы как бы про физическую все время вели речь.

Ну и зачем вели?
По сабжу разницы практически никакой.


 
Германн ©   (2011-09-03 00:54) [43]

Вообще (имхо) сабж сам по себе глупый.
Ладно бы речь шла о математической обработке физического эксперимента. Или о математическом моделировании чего-то.


 
_Юрий   (2011-09-04 13:42) [44]

Немного не в тему

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

Поэтому я стал делать по другому: прятать константы в код, и его уже помещать в общие модули. Чаще всего подобные константы - текстовки ошибок.
Тогда  вместо, например

const
 SFileNotFound = "Файл %s не найден";

...
if not FileExist(fileName) then
 raise EPathException.CreateFmt(SFileNotFound, [fileName]);

пишу нечто типа

type
 EPathException = class(Exception)
 public
   constructor FileNotFound(fileName: string);
 end;

constructor EPathException.FileNotFound(fileName: string);
resourcestring;
 SFileNotFound = "Файл %s не найден";
begin
 CreateFmt(SFileNotFound, [fileName]);
end;

...
if not FileExist(fileName) then
 raise EPathException.FileNotFound(fileName);

Конструкторов может быть много - свой для каждого случая.

Если константа - какое то название, то ее лучше перенести в соответствующий класс (в виде вложенной константы, а если не позволяет версия Delphi, то в виде классовой функции). По тем же причинам.

Посмотрите, может быть вам такой подход покажется более подходящим


 
Игорь Шевченко ©   (2011-09-04 14:24) [45]

_Юрий   (04.09.11 13:42) [44]

VCL/RTL предлагают другой путь - по юнитам (rtl,db,...)consts

Где золотая середина ?

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


 
Anatoly Podgoretsky ©   (2011-09-04 14:53) [46]

> Игорь Шевченко  (04.09.2011 14:24:45)  [45]

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

А resourvestring есть смысл использовать из-за некоторой оптимальности
работы системы, но наверно ты и так это знаешь, читал наверно у Рихтера.
Потом если захочешь локализировать ничего переделывать не придется, а у ITE
локализация на уровне, не только тексты.


 
Игорь Шевченко ©   (2011-09-04 15:08) [47]

Anatoly Podgoretsky ©   (04.09.11 14:53) [46]

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


 
Anatoly Podgoretsky ©   (2011-09-04 15:55) [48]

> Игорь Шевченко  (04.09.2011 15:08:47)  [47]

Без установки никак. Нужен поноценный редактор ресурсов Дельфи, то есть
видеть и изменять формы, как минимум, такой редактор есть в ITE, он есть в
автономном варианте. С ITE основная проблема - психологическое
сопротивление.


 
Eraser ©   (2011-09-04 21:46) [49]

http://matrix.kladovka.net.ru/index.php?page=downloads&categ=other&pagenum=1 см. "multilang.zip". Мощнейшее и простое средство для работы с локализацией. Правда для полноценной работы я туда привинтил слабенькую поддержку коллекций, но зато теперь фактически универсальный инструмент. четвертый год работает отлично. а ITE мастдай, это с самого начало понятно. что за локализатор такой, которому исходники подавай? это противоречит всей концепции локализации проектов, т.к. обычно локализацию на аутсорс отдают.


 
_Юрий   (2011-09-05 21:39) [50]


> Игорь Шевченко ©   (04.09.11 14:24) [45]


> VCL/RTL предлагают другой путь - по юнитам (rtl,db,...)consts


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


 
Игорь Шевченко ©   (2011-09-05 23:02) [51]

_Юрий   (05.09.11 21:39) [50]


> Сейчас, думаю, они бы написали уже не так.


Не уверен. У них каждый юнит consts относится к конкретному пакету, при разделении vcl на vcl и rtl константы тоже разделились, на consts (vcl) и rtlconsts

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

Я к тому, что у Борландов в такой организации констант есть цель.


 
_Юрий   (2011-09-06 20:24) [52]


> Игорь Шевченко ©   (05.09.11 23:02) [51]


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



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

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

Наверх





Память: 0.55 MB
Время: 0.005 c
15-1314168862
OW
2011-08-24 10:54
2011.12.18
Два простых вопроса по Oracle и PL/SQL Developer


2-1315135096
Pcrepair
2011-09-04 15:18
2011.12.18
Блокировка клавы и мыши для активных приложений


2-1314889116
Gu
2011-09-01 18:58
2011.12.18
строковые константы


15-1314204395
Кто б сомневался
2011-08-24 20:46
2011.12.18
Свежая Windows 7 - проблемы с удалением файла


4-1252399230
Jeyson
2009-09-08 12:40
2011.12.18
одно и тоже консольное приложение работает по разному





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский