C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[43748] Re:메모리상의 ini 내용에서 값들을 읽어들이는 방법
박지훈.임프 [cbuilder] 1649 읽음    2006-02-18 16:24
결론부터 말하자면, 가능합니다.

물론 TMemIniFile은 기본적으로는 TIniFile과 마찬가지로 디스크상의 ini 파일을 다루기 위한 것입니다.
TIniFile과의 차이점은 TIniFile의 경우 Write... 함수로 변경한 내용이 디스크의 ini 파일에 즉시 저장되지만(95/98에서는
예외, 즉시 저장이 안됩니다), TMemIniFile의 경우에는 모든 변경 내용이 일단 버퍼링되고 UpdateFile() 함수를 호출했을
때에만 저장됩니다.

하지만 비공식적이긴 하지만, TMemIniFile은 실제 파일이 없고 메모리상에만 존재하는 ini 내용도 다룰 수 있는데요.
생성자에서 인자로 FileName을 받지만, 파일 이름을 빈 문자열("")로 넘기면 내부 ini 버퍼가 빈 상태로 생성됩니다.

이렇게 빈 ini 객체를 만든 후, 멤버 함수 SetStrings()를 실행시키면서 인자로 메모리상의 ini 파일 내용을 문자열로
넘기면 됩니다. 이렇게 하면 파일 이름은 없고 내부 버퍼에 ini 내용이 들어있는 상태가 되지요.

일단 이렇게 ini 내용을 읽어들이고 나면 당연히 ReadString()과 같은 ini 관련 내용을 읽어들이는 멤버함수들을 쓸 수
있습니다.


개골이 님이 쓰신 글 :
: 안녕하세요~
: ini화일을 ftp에서 받아오는데, 화일로 저장 하는게 아니라 TMemoryStream에다가 저장을 하였습니다.
: 궂이 화일로 남길 필요가 없이 메모리 상에서 처리를 하면 되기 때문입니다.
: 그런데 TIniFile아니 TMemIniFile 모두 생성시에 ini화일을 요구하네요.
:
: 메모리 스트림에 받아놓은 ini화일을 처리(해당섹센 읽고, 쓰기등) 할 수 있는 방법이 있을까요?
: 방법이 있다면 부탁드립니다.
: 수고하세요~

+ -

관련 글 리스트
43692 ini 처리 관련 질문입니다. 개골이 1015 2006/02/15
43748     Re:메모리상의 ini 내용에서 값들을 읽어들이는 방법 박지훈.임프 1649 2006/02/18
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.