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

델파이 Q&A
Delphi Programming Q&A
[15119] TFileStream 과 TMemoryStream 에서 특정 구간 삭제
kivalan [openpgc] 2493 읽음    2014-04-03 19:21
안녕하세요.
파일 스트림 통째로 복사하거나 Write Read해서 사용하는것을 하다가.
특정 구간을 삭제하고 싶습니다.
그런데 아래 코드가 제대로 동작하지 않는것 같습니다.

0번부터 90바이트 까지 삭제 할때 어떻게 해야 할까요?

또   전체크기의 -90 에서 끝까지 삭제할때는요?


procedure StreamDelete( var AStream: TMemoryStream; AFrom, ATo: integer );
var
  TmpStream: TMemoryStream;
begin
  TmpStream := TMemoryStream.Create;
  AStream.Position := 0; // 위치 0으로 이동.
  TmpStream.CopyFrom( AStream, 0 ); // 0위치 부터 모두 복사.
  AStream.Clear;
  TmpStream.Seek( 0, 0 ); // 0에서 순차 앞으로.
  AStream.CopyFrom( TmpStream, AFrom );
  TmpStream.Seek( ATo, 0 ); 
  AStream.CopyFrom( TmpStream, TmpStream.Size-ATo );
  AStream.Position := 0;
  TmpStream.Free;
end;

+ -

관련 글 리스트
15119 TFileStream 과 TMemoryStream 에서 특정 구간 삭제 kivalan 2493 2014/04/03
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.