Перейти к содержимому

Фотография

Delphi.вопрос.


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 199

#1
Splin

Splin
  • В доску свой
  • 1 474 сообщений
как изменить font в caption формы!?
  • 0

#2
GrayFox

GrayFox
  • Завсегдатай
  • 259 сообщений
Перерисовать ручками. Пример: http://itby.ru/content/view/1606/40/
  • 0

#3
Splin

Splin
  • В доску свой
  • 1 474 сообщений
grande merci!
а как изменить текст и шрифт ситемных сообщений?
  • 0

#4
GrayFox

GrayFox
  • Завсегдатай
  • 259 сообщений
А что такое "системные сообщения"?
  • 0

#5
RZ_RZ

RZ_RZ
  • Гость
  • 17 сообщений
Может это соообщения типа "Access voilation..."

Их надо перехватывать
см. try...catch
  • 0

#6
Splin

Splin
  • В доску свой
  • 1 474 сообщений
это сообщения типа "Вы действительно хотите выйти!?" и заголовок у них например Confirmation.
как перевести заголовок!?
  • 0

#7
serenkii

serenkii
  • Гость
  • 43 сообщений
ага перехватывать - если прав хватает, или думать как получить ети самые права....
  • 0

#8
GrayFox

GrayFox
  • Завсегдатай
  • 259 сообщений
2Splin: Используй MessageBoxEx
Эта функиция позволяет задать текст сообщения, заголовок, тип и кнопки.

Выглядит это примерно ват так.
MessageBoxEx(Self.Handle, PСhar('Такст сообщения'), PChar('Pаголовок'), MB_YESNO + MB_ICONQUESTION, LANG_RUSSIAN);

Да, это API фунция, так что... учи матчасть. :spy:

З.Ы. Если захочется поменять параметры шрифта, задумайся о написании собственного класса вывода сообщений :spy:
  • 0

#9
Splin

Splin
  • В доску свой
  • 1 474 сообщений

2Splin: Используй MessageBoxEx
Эта функиция позволяет задать текст сообщения, заголовок, тип и кнопки.

Выглядит это примерно ват так.
MessageBoxEx(Self.Handle, PСhar('Такст сообщения'), PChar('Pаголовок'), MB_YESNO + MB_ICONQUESTION, LANG_RUSSIAN);

Да, это API фунция, так что... учи матчасть. :spy:

З.Ы. Если захочется поменять параметры шрифта, задумайся о написании собственного класса вывода сообщений :spy:

спасибо! учимс мат и ее часть! :D
  • 0

#10
Splin

Splin
  • В доску свой
  • 1 474 сообщений
ищеццо Delphi 2005 или 2006! :D
  • 0

#11
netwriter

netwriter
  • Завсегдатай
  • 273 сообщений

ищеццо Delphi 2005 или 2006! :D

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

Попробуй перейти на XP+SP-2 (решается траблы со шрифтами), потом забей в приложение TNT-memo (сделай невидимым, или визуальной рамки), загони туда свои строки на казахском, и подгружай их, допустим, после клика юзером кнопки "казахский" (решается проблема удаления нерадивым юзером твоего *.lng или *.ini).
Т.е. на выходе у тебя получится один-единственный *.exe (или *.dll, что там у тебя), с возможностью смен языка и прочего. Помни, что приложение будет требовать больше ОЗУ. Но раз уж ты пишешь на Delphi - забудь про оптимизацию и утечки памяти. Они будут, ибо кодинг визуальный, и ты юзаешь компоненты.
  • 0

#12
Splin

Splin
  • В доску свой
  • 1 474 сообщений


ищеццо Delphi 2005 или 2006! :D

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

Попробуй перейти на XP+SP-2 (решается траблы со шрифтами), потом забей в приложение TNT-memo (сделай невидимым, или визуальной рамки), загони туда свои строки на казахском, и подгружай их, допустим, после клика юзером кнопки "казахский" (решается проблема удаления нерадивым юзером твоего *.lng или *.ini).
Т.е. на выходе у тебя получится один-единственный *.exe (или *.dll, что там у тебя), с возможностью смен языка и прочего. Помни, что приложение будет требовать больше ОЗУ. Но раз уж ты пишешь на Delphi - забудь про оптимизацию и утечки памяти. Они будут, ибо кодинг визуальный, и ты юзаешь компоненты.

это все есть... просто купил 2 серьезных бука по 2005му Delphi и вот решили перейти на него...
  • 0

#13
netwriter

netwriter
  • Завсегдатай
  • 273 сообщений



ищеццо Delphi 2005 или 2006! :D

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

Попробуй перейти на XP+SP-2 (решается траблы со шрифтами), потом забей в приложение TNT-memo (сделай невидимым, или визуальной рамки), загони туда свои строки на казахском, и подгружай их, допустим, после клика юзером кнопки "казахский" (решается проблема удаления нерадивым юзером твоего *.lng или *.ini).
Т.е. на выходе у тебя получится один-единственный *.exe (или *.dll, что там у тебя), с возможностью смен языка и прочего. Помни, что приложение будет требовать больше ОЗУ. Но раз уж ты пишешь на Delphi - забудь про оптимизацию и утечки памяти. Они будут, ибо кодинг визуальный, и ты юзаешь компоненты.

это все есть... просто купил 2 серьезных бука по 2005му Delphi и вот решили перейти на него...

Тогда забей на версию "2005" (там глюк на глюке, после инсталляции запаришься портировать проекты с семёрки). Сразу бери "Borland Developer Studio 2006", + не забудь сервис-паки (т.н. "Update 1" и "Update 2"), а к этим двум сервис-пакам - ещё и заплатки (т.н. "hotfix", их сейчас, по-моему, 9 штучек, но точно не помню, может, их уже и больше).
Кстати, помимо серьёзной литературы, - чем ещё обусловлено твоё желание перейти на новую платформу? Ведь принципиальных, кроме косметики, изменений нет - язык и его структура остались прежними. Просто захотелось комфорта? :D
  • 0

#14
GrayFox

GrayFox
  • Завсегдатай
  • 259 сообщений

Попробуй перейти на XP+SP-2 (решается траблы со шрифтами), потом забей в приложение TNT-memo (сделай невидимым, или визуальной рамки), загони туда свои строки на казахском, и подгружай их, допустим, после клика юзером кнопки "казахский"

Использовать скрытый визуальный компонент для хранения строковых констант - плохой тон в програмировании.

(решается проблема удаления нерадивым юзером твоего *.lng или *.ini).

Если пишешь для заведомо тупого юзера, лучше сделай проверку целосности программы при запуске.
Это правильнее и удобнее.
  • 0

#15
netwriter

netwriter
  • Завсегдатай
  • 273 сообщений

Попробуй перейти на XP+SP-2 (решается траблы со шрифтами), потом забей в приложение TNT-memo (сделай невидимым, или визуальной рамки), загони туда свои строки на казахском, и подгружай их, допустим, после клика юзером кнопки "казахский"

Использовать скрытый визуальный компонент для хранения строковых констант - плохой тон в програмировании.

(решается проблема удаления нерадивым юзером твоего *.lng или *.ini).

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

1. Это не совсем константа, это просто текст, а при таком положении вещей, я думаю, подобное решение (пусть и не совсем верное с точки зрения правильного кодинга) будет более целесообразным, нежели тянуть прицепом второй файл.

2. Ок, а если проверка целостности обнаружит, что файл *.lng/*.ini был изменён/переименован/удалён - что делать?
Предложить переустановку приложения?
Или выдать стандартный мессабокс: "Обнаружена ошибка! Пожалуйста, обратитесь к разработчику", и убить приложение?
Или всё-таки позволить запустить, но выдать все лейблы и меню в формате "?????"?
  • 0

#16
nazarkuliev

nazarkuliev

    Читатель

  • Частый гость
  • 73 сообщений
А сервис паки к BDS на Trial не ставятся.
  • 0

#17
GrayFox

GrayFox
  • Завсегдатай
  • 259 сообщений

1. Это не совсем константа, это просто текст, а при таком положении вещей, я думаю, подобное
решение (пусть и не совсем верное с точки зрения правильного кодинга) будет более целесообразным,
нежели тянуть прицепом второй файл.

Хорошо, не совсем константа. Ресурсы. :D
Допустим приложение работает на трёх языках (ру-каз-енг).
Тебе придётся хранить в памяти кол-во строк*3.
Я конечно понимаю, сейчас пол гига памяти - это норма. Но наглеть тоже не надо. :D

Ок, а если проверка целостности обнаружит, что файл *.lng/*.ini был изменён/переименован/удалён - что делать?
Предложить переустановку приложения?

Это один вариант.

Или выдать стандартный мессабокс: "Обнаружена ошибка! Пожалуйста, обратитесь к разработчику", и убить приложение?

Вот здесь логичней выдать список отсутствующих или повреждённых файлов.
А там уже в зависимости насколько критичные файлы, решать - "казнить нельзя помиловать". :kiss:

Или всё-таки позволить запустить, но выдать все лейблы и меню в формате "?????"?

Если не найден файл локализации, оставлять названия лейблов по умолчанию.
У тебя же меню в дизайн тайме у тебя не в виде "?????". :-)

---
Теперь немного лирики.

*дребезжащим голосом древненего старика и тыча перстом в небо*

За свою долгую и нелёгкую жизнь, я написал много разных программ.
Больших и маленьких, сложных и очень сложных....
О чём это я.... ах да.
Задача программиста - написать инструмент для пользователя.
Удобный инструмент для человека который знает что делает. Но при этом помните,
что пользователь, это не программер, так что озаботьтесь обработкой ошибок и их
выводом в человеко понятном виде (вам же лехше будет).
И не пишите дуракостойкие программы, потому что сил на это уйдёт немеряно,
а программа потеряет в скорости и удобстве. А дурак, если не вашу программу,
то винду он себе угробит. А потом скажет, мол, эт твоя программа не работать.
Ибо дурак, он и @#$ вдоль сломать может.
  • 0

#18
Splin

Splin
  • В доску свой
  • 1 474 сообщений

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

просто тут еще стоят 4е версии Delphi поскольку для них куплено довольно много дополнительных компонент и библиотек. и далеко не все они могут использоваться в 7й версии к которой я тяготею больше всего. Как вариант использовать 7ю версию меня оч устраивает во всех отношениях. но если можно сделать более серьезный шаг и посмотреть в недалекое будущее то думаю есть смысл задуматься о последних версиях поскольку там уже как .NET технология используется так и Win32 платформа поддерживается. :D да и потом там принципиально новая технология пострения проекта (.NET и MSIL) c которой еще предстоит разобраться...
  • 0

#19
Splin

Splin
  • В доску свой
  • 1 474 сообщений
как уже упоминал проблема реализации многоязычного интерфейса в ПО решена при помощи компонент DKLang в купе с компонентами TNT поддерживающими unicode(dklang требует наличия компонент tnt!!!)
В пакет Dklang входит компонента и софт для создания *.lng файлов.
  • 0

#20
][ackTooL

][ackTooL
  • Частый гость
  • 57 сообщений
от себя скажу, я долго искал BDS, но когда нашел - сильно разочаровался. добавились только тормоза оболочки и всякая херь, которую особо и не замечаешь. delphi 7 -самая живая версия на мой взгляд.
  • 0


Количество пользователей, читающих эту тему: 1

пользователей: 0, неизвестных прохожих: 1, скрытых пользователей: 0

Размещение рекламы на сайте     Предложения о сотрудничестве     Служба поддержки пользователей

© 2011-2022 vse.kz. При любом использовании материалов Форума ссылка на vse.kz обязательна.