NULL - это ноль, а мне нужно пустое значение.

 

Добрый день господа!


У меня возникла проблема, мне необходимо удалить ключ в ini файле. Для этого его можно написать вот такой код:

#property library
#import "kernel32.dll"
 
  int WritePrivateProfileStringA
      ( string SectionName,    // Наименование секции
        string KeyName,        // Наименование параметра
        string sString,        // Записываемое значение параметра
        string FileName);      // Полное имя файла
#import
void DeleteKey(string FileName, string SectionName, string KeyName)
                    
                    
                    {
                     int nValue = WritePrivateProfileStringA(SectionName, KeyName,NULL, 
                                           FileName);
                    }

Но поскольку NULL это не пустое значение, то KeyName не удаляется из ini файла а перезаписывается на 0. Есть у кого-нибудь предложения. Писать отдельную библиотеку на Delphi как то не красиво.

 
mbkeker:

Добрый день господа!


У меня возникла проблема, мне необходимо удалить ключ в ini файле. Для этого его можно написать вот такой код:

#property library
#import "kernel32.dll"
 
  int WritePrivateProfileStringA
      ( string SectionName,    // Наименование секции
        string KeyName,        // Наименование параметра
        string sString,        // Записываемое значение параметра
        string FileName);      // Полное имя файла
#import
void DeleteKey(string FileName, string SectionName, string KeyName)
                    
                    
                    {
                     int nValue = WritePrivateProfileStringA(SectionName, KeyName,NULL, 
                                           FileName);
                    }

Но поскольку NULL это не пустое значение, то KeyName не удаляется из ini файла а перезаписывается на 0. Есть у кого-нибудь предложения. Писать отдельную библиотеку на Delphi как то не красиво.

попробуйте поставить пробел, " ", вместо NULL ;)
 
fxrobots:
попробуйте поставить пробел, " ", вместо NULL ;)
Я пробовал но это не помогает, еще предложения?
 
Попробуй так:
string NullString;
int nValue = WritePrivateProfileStringA(SectionName,KeyName,NullString,FileName)
 
Meat:
Попробуй так:
string NullString;
int nValue = WritePrivateProfileStringA(SectionName,KeyName,NullString,FileName)


Слушай! спасибо, заработало. Всем кто откликнулся спасибо за участие.