![Фотография](https://vse.kz/uploads/av-23851.jpg?_r=0)
Delphi.вопрос.
#2
Отправлено 24.10.2006, 14:51:58
![](https://vse.kz/public/style_images/osnovnoi34/post_offline.png)
#8
Отправлено 25.10.2006, 22:23:16
![](https://vse.kz/public/style_images/osnovnoi34/post_offline.png)
Эта функиция позволяет задать текст сообщения, заголовок, тип и кнопки.
Выглядит это примерно ват так.
MessageBoxEx(Self.Handle, PСhar('Такст сообщения'), PChar('Pаголовок'), MB_YESNO + MB_ICONQUESTION, LANG_RUSSIAN);
Да, это API фунция, так что... учи матчасть.
![:spy:](http://vse.kz/public/style_emoticons/default/smile.gif)
З.Ы. Если захочется поменять параметры шрифта, задумайся о написании собственного класса вывода сообщений
![:spy:](http://vse.kz/public/style_emoticons/default/smile.gif)
#9
Отправлено 26.10.2006, 11:18:56
![](https://vse.kz/public/style_images/osnovnoi34/post_offline.png)
спасибо! учимс мат и ее часть!2Splin: Используй MessageBoxEx
Эта функиция позволяет задать текст сообщения, заголовок, тип и кнопки.
Выглядит это примерно ват так.
MessageBoxEx(Self.Handle, PСhar('Такст сообщения'), PChar('Pаголовок'), MB_YESNO + MB_ICONQUESTION, LANG_RUSSIAN);
Да, это API фунция, так что... учи матчасть.
З.Ы. Если захочется поменять параметры шрифта, задумайся о написании собственного класса вывода сообщений
![:D](http://vse.kz/public/style_emoticons/default/wink.gif)
#11
Отправлено 01.11.2006, 16:15:01
![](https://vse.kz/public/style_images/osnovnoi34/post_offline.png)
Если ищешь только ради того, чтобы решить проблему с локализацией своей программы - забудь. Мультиязычность, поддержка кириллицы/юникода от платформы в твоём случае не зависит.ищеццо Delphi 2005 или 2006!
Попробуй перейти на XP+SP-2 (решается траблы со шрифтами), потом забей в приложение TNT-memo (сделай невидимым, или визуальной рамки), загони туда свои строки на казахском, и подгружай их, допустим, после клика юзером кнопки "казахский" (решается проблема удаления нерадивым юзером твоего *.lng или *.ini).
Т.е. на выходе у тебя получится один-единственный *.exe (или *.dll, что там у тебя), с возможностью смен языка и прочего. Помни, что приложение будет требовать больше ОЗУ. Но раз уж ты пишешь на Delphi - забудь про оптимизацию и утечки памяти. Они будут, ибо кодинг визуальный, и ты юзаешь компоненты.
#12
Отправлено 01.11.2006, 21:47:53
![](https://vse.kz/public/style_images/osnovnoi34/post_offline.png)
это все есть... просто купил 2 серьезных бука по 2005му Delphi и вот решили перейти на него...Если ищешь только ради того, чтобы решить проблему с локализацией своей программы - забудь. Мультиязычность, поддержка кириллицы/юникода от платформы в твоём случае не зависит.
ищеццо Delphi 2005 или 2006!
Попробуй перейти на XP+SP-2 (решается траблы со шрифтами), потом забей в приложение TNT-memo (сделай невидимым, или визуальной рамки), загони туда свои строки на казахском, и подгружай их, допустим, после клика юзером кнопки "казахский" (решается проблема удаления нерадивым юзером твоего *.lng или *.ini).
Т.е. на выходе у тебя получится один-единственный *.exe (или *.dll, что там у тебя), с возможностью смен языка и прочего. Помни, что приложение будет требовать больше ОЗУ. Но раз уж ты пишешь на Delphi - забудь про оптимизацию и утечки памяти. Они будут, ибо кодинг визуальный, и ты юзаешь компоненты.
#13
Отправлено 02.11.2006, 09:15:19
![](https://vse.kz/public/style_images/osnovnoi34/post_offline.png)
Тогда забей на версию "2005" (там глюк на глюке, после инсталляции запаришься портировать проекты с семёрки). Сразу бери "Borland Developer Studio 2006", + не забудь сервис-паки (т.н. "Update 1" и "Update 2"), а к этим двум сервис-пакам - ещё и заплатки (т.н. "hotfix", их сейчас, по-моему, 9 штучек, но точно не помню, может, их уже и больше).это все есть... просто купил 2 серьезных бука по 2005му Delphi и вот решили перейти на него...
Если ищешь только ради того, чтобы решить проблему с локализацией своей программы - забудь. Мультиязычность, поддержка кириллицы/юникода от платформы в твоём случае не зависит.
ищеццо Delphi 2005 или 2006!
Попробуй перейти на XP+SP-2 (решается траблы со шрифтами), потом забей в приложение TNT-memo (сделай невидимым, или визуальной рамки), загони туда свои строки на казахском, и подгружай их, допустим, после клика юзером кнопки "казахский" (решается проблема удаления нерадивым юзером твоего *.lng или *.ini).
Т.е. на выходе у тебя получится один-единственный *.exe (или *.dll, что там у тебя), с возможностью смен языка и прочего. Помни, что приложение будет требовать больше ОЗУ. Но раз уж ты пишешь на Delphi - забудь про оптимизацию и утечки памяти. Они будут, ибо кодинг визуальный, и ты юзаешь компоненты.
Кстати, помимо серьёзной литературы, - чем ещё обусловлено твоё желание перейти на новую платформу? Ведь принципиальных, кроме косметики, изменений нет - язык и его структура остались прежними. Просто захотелось комфорта?
![:D](http://vse.kz/public/style_emoticons/default/wink.gif)
#14
Отправлено 02.11.2006, 10:50:50
![](https://vse.kz/public/style_images/osnovnoi34/post_offline.png)
Использовать скрытый визуальный компонент для хранения строковых констант - плохой тон в програмировании.Попробуй перейти на XP+SP-2 (решается траблы со шрифтами), потом забей в приложение TNT-memo (сделай невидимым, или визуальной рамки), загони туда свои строки на казахском, и подгружай их, допустим, после клика юзером кнопки "казахский"
Если пишешь для заведомо тупого юзера, лучше сделай проверку целосности программы при запуске.(решается проблема удаления нерадивым юзером твоего *.lng или *.ini).
Это правильнее и удобнее.
#15
Отправлено 02.11.2006, 13:28:05
![](https://vse.kz/public/style_images/osnovnoi34/post_offline.png)
1. Это не совсем константа, это просто текст, а при таком положении вещей, я думаю, подобное решение (пусть и не совсем верное с точки зрения правильного кодинга) будет более целесообразным, нежели тянуть прицепом второй файл.Использовать скрытый визуальный компонент для хранения строковых констант - плохой тон в програмировании.Попробуй перейти на XP+SP-2 (решается траблы со шрифтами), потом забей в приложение TNT-memo (сделай невидимым, или визуальной рамки), загони туда свои строки на казахском, и подгружай их, допустим, после клика юзером кнопки "казахский"
Если пишешь для заведомо тупого юзера, лучше сделай проверку целосности программы при запуске.(решается проблема удаления нерадивым юзером твоего *.lng или *.ini).
Это правильнее и удобнее.
2. Ок, а если проверка целостности обнаружит, что файл *.lng/*.ini был изменён/переименован/удалён - что делать?
Предложить переустановку приложения?
Или выдать стандартный мессабокс: "Обнаружена ошибка! Пожалуйста, обратитесь к разработчику", и убить приложение?
Или всё-таки позволить запустить, но выдать все лейблы и меню в формате "?????"?
#17
Отправлено 03.11.2006, 09:34:41
![](https://vse.kz/public/style_images/osnovnoi34/post_offline.png)
Хорошо, не совсем константа. Ресурсы.1. Это не совсем константа, это просто текст, а при таком положении вещей, я думаю, подобное
решение (пусть и не совсем верное с точки зрения правильного кодинга) будет более целесообразным,
нежели тянуть прицепом второй файл.
![:D](http://vse.kz/public/style_emoticons/default/smile.gif)
Допустим приложение работает на трёх языках (ру-каз-енг).
Тебе придётся хранить в памяти кол-во строк*3.
Я конечно понимаю, сейчас пол гига памяти - это норма. Но наглеть тоже не надо.
![:D](http://vse.kz/public/style_emoticons/default/smile.gif)
Это один вариант.Ок, а если проверка целостности обнаружит, что файл *.lng/*.ini был изменён/переименован/удалён - что делать?
Предложить переустановку приложения?
Вот здесь логичней выдать список отсутствующих или повреждённых файлов.Или выдать стандартный мессабокс: "Обнаружена ошибка! Пожалуйста, обратитесь к разработчику", и убить приложение?
А там уже в зависимости насколько критичные файлы, решать - "казнить нельзя помиловать".
![:kiss:](http://vse.kz/public/style_emoticons/default/smile.gif)
Если не найден файл локализации, оставлять названия лейблов по умолчанию.Или всё-таки позволить запустить, но выдать все лейблы и меню в формате "?????"?
У тебя же меню в дизайн тайме у тебя не в виде "?????".
![:-)](http://vse.kz/public/style_emoticons/default/smile.gif)
---
Теперь немного лирики.
*дребезжащим голосом древненего старика и тыча перстом в небо*
За свою долгую и нелёгкую жизнь, я написал много разных программ.
Больших и маленьких, сложных и очень сложных....
О чём это я.... ах да.
Задача программиста - написать инструмент для пользователя.
Удобный инструмент для человека который знает что делает. Но при этом помните,
что пользователь, это не программер, так что озаботьтесь обработкой ошибок и их
выводом в человеко понятном виде (вам же лехше будет).
И не пишите дуракостойкие программы, потому что сил на это уйдёт немеряно,
а программа потеряет в скорости и удобстве. А дурак, если не вашу программу,
то винду он себе угробит. А потом скажет, мол, эт твоя программа не работать.
Ибо дурак, он и @#$ вдоль сломать может.
#18
Отправлено 03.11.2006, 09:38:37
![](https://vse.kz/public/style_images/osnovnoi34/post_offline.png)
просто тут еще стоят 4е версии Delphi поскольку для них куплено довольно много дополнительных компонент и библиотек. и далеко не все они могут использоваться в 7й версии к которой я тяготею больше всего. Как вариант использовать 7ю версию меня оч устраивает во всех отношениях. но если можно сделать более серьезный шаг и посмотреть в недалекое будущее то думаю есть смысл задуматься о последних версиях поскольку там уже как .NET технология используется так и Win32 платформа поддерживается.Кстати, помимо серьёзной литературы, - чем ещё обусловлено твоё желание перейти на новую платформу? Ведь принципиальных, кроме косметики, изменений нет - язык и его структура остались прежними. Просто захотелось комфорта?
![:D](http://vse.kz/public/style_emoticons/default/smoke.gif)
#19
Отправлено 03.11.2006, 09:42:41
![](https://vse.kz/public/style_images/osnovnoi34/post_offline.png)
В пакет Dklang входит компонента и софт для создания *.lng файлов.
Количество пользователей, читающих эту тему: 1
пользователей: 0, неизвестных прохожих: 1, скрытых пользователей: 0