안녕하세요...
- StrPCopy 에 관하여 우선 살펴보면 ..
StrPCopy copies Pascal-style string to a null-terminated string.
위 함수는 파스칼형태의 문자열을 Null-Terminated 로 바꾸어준다고
했는데 이것은 C 형태의 문자열을 의미합니다. 왜냐하면 API 에서
사용하는것은 C 의 문자열이기 때문이죠.. 그래서 사용법을 보면...
function StrPCopy(Dest: PChar; const Source: string): PChar;
uses SysUtils;
var
A: array[0..79] of Char;
S: String;
begin
S := 'Honk if you know Blaise.';
StrPCopy(A, S);
Canvas.TextOut(10, 10, StrPas(A));
end;
위처럼 Char 의 배열로 선언할수도 있고 아예 포인터로 선언하여 메모리
를 할당하여 사용할수도 있습니다. 의미는 A 에 S 의 문자열을 복사하는
거겠죠...
- WritePrivateProfileString
BOOL WritePrivateProfileString(
LPCTSTR lpszSection, // address of section name
LPCTSTR lpszKey, // address of key name
LPCTSTR lpszString, // address of string to add
LPCTSTR lpszFile // address of initialization filename
);
위와같은 형태를 지니고 있으며 , *.ini 화일이라고 생각하시면 되는데
WritePrivateProfileString ("Section1", "FirstKey",
"It all worked out okay.", "appname.ini");
예제를 보게되면 appname.ini 라는 화일을 없으면 생성을 하게되고...
[Section1] 이라는 section name 을 가지게 되며 , 키값으로는 FirstKey
를 그리고 내용으로는 "It all worked out okay." 를 가지겠죠..
아마도 FirstKey = "It all worked out okay." 이런식으로 화일에 존재
할겁니다.
- GetPrivateProfileString
위의함수는 위에서 저장했던 내용을 불러들이기 위한 함수이죠..
DWORD GetPrivateProfileString(
LPCTSTR lpAppName, // points to section name
LPCTSTR lpKeyName, // points to key name
LPCTSTR lpDefault, // points to default string
LPTSTR lpReturnedString, // points to destination buffer
DWORD nSize, // size of destination buffer
LPCTSTR lpFileName // points to initialization filename
);
다 똑같은데 다만 Default 라고하는 없으면 기본적으로 지정을 하는값이
하나 추가가 되어있구요 .. 그리고 일정한 크기를 주어서 받아들일수가
있게되어있죠...
GetPrivateProfileString ("Section1", "FirstKey", "DefaultStr" ,
TmpBuf , 32 , "appname.ini");
위처럼 사용을 하면 되겠죠.. 물론 TmpBuf 는 PChar 입니다.
그럼...
오랫만에 하는거라서 맞는지 모르겠네.....
~도치였습니다.
|