안녕하세요.
ini파일에서 key값을 삭제하고 싶어서..
deletekey함수를 사용했습니다.
그런데 제 ini파일의 내용이 대충 아래와 같습니다.
progname[1]=LocationPASP
progname[2]=LocationPNGEL
progname[3]=LocationPVAS
progname[4]=Edit1
progname[7]=Edit1
progname[8]=pp
key를 배열로 잡아서 값을 할당했습니다.
LogIniFile.deletekey('PROG_NAME', 'LocationPVAS');
이렇게 하면 세번째 배열의 키값이 삭제되지 않나요?
아무런 반응이 없네요.. .
아시는분...답좀 주세요. 제가 하고자 하는 것은... = 뒤에 있는 key값만
인자로 주어서 삭제하고 싶거든요. . 전체를 하려고 하면... 배열의 인덱스
값을 맞추기가 힘들어서요. 다른 방법이 있다면..좀 알려주시구여..>^^
LogIniFile.deletekey('PROG_NAME', 'LocationPVAS');
===>
LogIniFile.deletekey('PROG_NAME', 'progname[3]');
문제는 'LocationPVAS'의 값을 가지는 항목명 'progname[3]'를 찾는 것.
님의 ini 파일 구조가 아래와 같을때
[PROG_NAME]
progname[1]=LocationPASP
progname[2]=LocationPNGEL
progname[3]=LocationPVAS
progname[4]=Edit1
progname[7]=Edit1
progname[8]=pp
//프로그램 내용========================
var
sValue: string;
i : integer;
...
begin
...
i := 0;
sValue := '';
// 지우고자하는 값을 가지고 있는 항목명 찾기
repeat
i := i + 1;
sValue := LogIniFile.ReadString('PROG_NAME', 'progname['+ IntToStr(i) + ']', '');
until sValue = 'LocationPVAS';
// 해당 값을 가지고 있는 항목 전체 삭제
//LogIniFile.DeleteKey('PROG_NAME', 'progname['+ IntToStr(i) + ']');
// 해당 되는 키값만 삭제하는 경우
LogIniFile.WriteString('PROG_NAME', 'progname['+ IntToStr(i) + ']', '');
....
답변이 되었기를...