На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! ПРАВИЛА РАЗДЕЛА · FAQ раздела Delphi · Книги по Delphi
Пожалуйста, выделяйте текст программы тегом [сode=pas] ... [/сode]. Для этого используйте кнопку [code=pas] в форме ответа или комбобокс, если нужно вставить код на языке, отличном от Дельфи/Паскаля.
Следующие вопросы задаются очень часто, подробно разобраны в FAQ и, поэтому, будут безжалостно удаляться:
1. Преобразовать переменную типа String в тип PChar (PAnsiChar)
2. Как "свернуть" программу в трей.
3. Как "скрыться" от Ctrl + Alt + Del (заблокировать их и т.п.)
4. Как прочитать список файлов, поддиректорий в директории?
5. Как запустить программу/файл?
... (продолжение следует) ...

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


Внимание
Попытки открытия обсуждений реализации вредоносного ПО, включая различные интерпретации спам-ботов, наказывается предупреждением на 30 дней.
Повторная попытка - 60 дней. Последующие попытки бан.
Мат в разделе - бан на три месяца...
Модераторы: jack128, D[u]fa, Shaggy, Rouse_
Страницы: (2) 1 [2]  все  ( Перейти к последнему сообщению )  
> CreateFile, CreateFileA, CreateFileW , В чем разница - вопросы совместимости
    Цитата BenQ @
    Дело в том что моя прога хранит свои настройки в реестре.

    Ты не знаешь где хранишь свои настройки?
    Для переносимости между системами называй их только по английски.
      Цитата BenQ @
      дак вот путь к этому ключу допустим в итальянской системе будет таким же???).

      Такими же, естественно. Структура реестра не меняется в Виндовсах с разными языками. Тем более в XP это делается с помощью MUI, которое к реестру не имеет никакого отношения.
        Ну подскажите, а???
          Цитата BenQ @
          Ну подскажите, а???

          А какие еще у тебя вопросы остались?
            Цитата s-mike @
            А какие еще у тебя вопросы остались?

            Так... допустим имеется файл, найденный при помощи стандартных функций поиска FindFirstFile, FindNextFile. Но один ньюанс... Имя этого файла на китайском или другом языке(ведь такое может быть???). Дак вот моя программа использующая функции без постфиксов(тоесть после имени функции нет W - FindFirst, а не FindFirstW), сможет корректно осуществить доступ к такому файлу? какие здесь возможны варианты? :wacko:
              Цитата BenQ @
              Дак вот моя программа использующая функции без постфиксов(тоесть после имени функции нет W - FindFirst, а не FindFirstW), сможет корректно осуществить доступ к такому файлу?

              Файл будет доступен на той системе, которая поддерживает юникод-имена файлов при использовании любой функции FindFirst. Но вот назвать или переименовать файл нужно будет с помощью xxxW.
                Цитата s-mike @
                Файл будет доступен на той системе, которая поддерживает юникод-имена файлов при использовании любой функции FindFirst. Но вот назвать или переименовать файл нужно будет с помощью xxxW.

                Мне нужно получить полную совместимость в этом деле. Не подскажешь как тут быть? Какие проверки делать, а главное как, я никогда раньше с этим не сталкивался?

                И ксати:
                Цитата s-mike @
                Файл будет доступен на той системе, которая поддерживает юникод-имена файлов при использовании любой функции FindFirst.

                Например???
                  Цитата BenQ @
                  Мне нужно получить полную совместимость в этом деле. Не подскажешь как тут быть? Какие проверки делать, а главное как, я никогда раньше с этим не сталкивался?

                  Я же говорю, если просто открыть, прочитать и сохранить или же получить список файлов, то все это получится сделать, единственное что - названия файлов могут отображаться неправильно (в самом приложении).
                  Цитата BenQ @
                  Например???

                  2000, XP...
                    s-mike, а вообще имя этого файла на китайском(и т.д...) можно будет поместить в переменную типа String или тут нужна WideString? я вообще запутался... какие бы доки почитать на эту тему???... :wacko: :blink:
                      Цитата BenQ @
                      можно будет поместить в переменную типа String или тут нужна WideString?

                      WideString
                        Цитата s-mike @
                        WideString

                        s-mike, а как же тогда быть, как сделать программу совместимой???
                        Неужели мне придется замянять в проге все String'и на WideString'и? или как тут быть? пожалуйста разъясни поподробнее... Please...
                        Сообщение отредактировано: BenQ -
                          Цитата BenQ @
                          Неужели мне придется замянять в проге все String'и на WideString'и? или как тут быть? пожалуйста разъясни поподробнее... Please...

                          Нет, String должен содержать те же данные, что и WideString, но отображать их не сможет, поскольку все использующиеся по умолчанию в Дельфи функции АПИ расчитаны на ASCII-кодировку. Поэтому придется использовать компоненты, поддерживающие юникод - TNT Controls, например. Тип string можно спокойно использовать, но в сочетании со специфическими функциями - то есть xxxW вместо xxxA. Всю работу должен сделать typecast.

                          Сайт TNT Controls http://www.tntware.com. И тут есть инфа http://www.lischke-online.de/.
                            s-mike, все дело в том что мне нужно решить данную проблемму без использования сторонних компонентов. Я пишу программу на чистом winAPI.
                            Цитата s-mike @
                            Тип string можно спокойно использовать, но в сочетании со специфическими функциями - то есть xxxW вместо xxxA

                            А вот этот момент если можно поподробней, а именно меня интересует каким образом производить выбор между тем какую функцию использовать - тоесть xxxA или xxxW(если можно то приведи какой нибудь простенький код, иллюстрирующий данную фичу).
                              s-mike, не покидай меня.
                                Цитата BenQ @
                                а именно меня интересует каким образом производить выбор между тем какую функцию использовать - тоесть xxxA или xxxW

                                Уже много раз объяснял, что xxxW. Если использовать WinApi и стандартные контролы, то они должны поддерживать юникод.
                                1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                                0 пользователей:


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0384 ]   [ 15 queries used ]   [ Generated: 18.09.25, 13:00 GMT ]