wm-help.net -> Электронная библиотека -> Delphi -> Вопросы и Ответы по Delphi -> Вопрос и Ответ 23 -> Версия для печати

Вопрос и Ответ 23



Вопрос и Ответ 23

Вопросы и Ответы


      23. Для API функций необходим формат строк типа PChar. Как его получить из строк типа String?

      Для перевода строк из типа PChar в тип String, и обратно, есть две основные функции:

      function StrPCopy(Dest: PChar; Source: String): PChar; {Из String в PChar}
      function StrPas(Str: PChar): String; {Из PChar в String}

      Если использование второй функции не вызывает проблем, то использование первой - требует создания указателя на строку типа PChar и выделения необходимой памяти, что не очень приятно. Но это можно обойти одним очень хорошим способом:

      1. Добавить в конец строки типа String символ #0;
      2. Передать вместо PChar адрес первого символа строки типа String.

      Пример:

      ............

      VAR S: String;

      ............

        +#0;
        ExtractIcon(HInstance, @S[1], 0);

      ............


...предыдущая страница следующая...
оглавление

Rambler's Top100