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
[11834] 답변 정말 감사합니다. 확인하고 이렇게 바꿔봤습니다.
leo21c [leo21c] 1531 읽음    2008-03-18 10:40
말씀해 주신 부분중에 Byte**형태로 처리하라는 부분에서 이해가 잘 안됩니다.
아래와 같이 type에서 선언으로 하고 사용하면 문제가 있는지요?
new를 이용하고 싶은데 아직 책을 보고 있는 중이라 적용을 못해 봤습니다.
좀더 공부해야 할 것 같습니다.

선언부
void __fastcall Test(Byte* bArray, int count = 10);
구현부
void __fastcall TData::Test(Byte* bArray, int count)
{
  bArray = new Byte[count];
  for (int i=0; i<count; i++) {
    bArray[i] = 0;
  }
}


파스칼로

선언부
PArrayByte = Array of Byte;
procedure TData.Test(bArray : PArrayByte ; count : Integer = 10);
구현부
procedure TData.Test(bArray : PArrayByte ; count : Integer);
var
  i : Integer;
begin
  SetLength(bArray, count);
  for I:=0 to count do begin
    bArray[i] := 0;
  end;
end;


허정주 님이 쓰신 글 :
: 파스칼 코드로 기본 인자값은
:     procedure Test(A: Integer = 10);
: 이렇게 해보니 되네요.
:
: 그런데 C++ 코드를 보니...
: 함수 내부에서 동적 생성해 주려면 Byte** 형태로 받아서 하셔야 할겁니다.
:
:
:
: leo21c 님이 쓰신 글 :
: : 사실 void*를 이용해서 타입에 따라 byte 데이터를 만들어 사용하려고 하는데
: : 어떻게 하는지 몰라서 우선 이렇게 테스트 하고 있습니다.
: : byte 동적배열을 만들어서 처리하려고 합니다.
: :
: : 인자(파라메터)로 아래와 같이 만들어서 사용하는데 무리가 없는지 모르겠습니다.
: : 현재 C++ builder에서 작업을 하고 있습니다.
: : 예전 소스가 파스칼이라 기존 작업을 예전 소스에 적용하고 있습니다.
: :
: : 파스칼 문법 c++과 비교해서 설명한 책이 있었으면 정말 좋겠습니다.
: : 그런 책이 있으면 소개시켜 주세요.
: : 그럼, 글 읽어 주신 모든 분들 감사합니다. 복 받으실거예요.
: :
: :
: : C++에서는 동적 배열을 만들면 delete로 삭제를 해야 합니다.
: : 파스칼에서는 동적으로 만든것을 어떻게 삭제하는지요?
: : 배열은 new, dispose를 사용하면 안된다고 파스칼 안내서에서 읽었습니다.
: : 그리고 함수 선언을 할 때 인자값 초기화가 파스칼에서 가능한가요?
: :
: : 예를 들어
: : void __fastcall Test(Byte* bArray, int count = 10);
: : 이렇게 말입니다.
: :
: : void __fastcall TData::Test(Byte* bArray, int count)
: : {
: :   bArray = new Byte[count];
: :   for (int i=0; i<count; i++) {
: :     bArray[i] = 0;
: :   }
: : }
: :
: :
: : 파스칼로
: :
: : procedure TData.Test(bArray : Array of Byte; count : Integer);
: : var
: :   i : Integer;
: : begin
: :   SetLength(bArray, count);
: :   for I:=0 to count do begin
: :     bArray[i] := 0;
: :   end;
: : end;

+ -

관련 글 리스트
11832 C++에서 파스칼로 마이그레이션 중입니다. 파스칼 함수에서 인자값 표현이 맞는지 궁금합니다. leo21c 1625 2008/03/17
11833     Re:C++에서 파스칼로 마이그레이션 중입니다. 파스칼 함수에서 인자값 표현이 맞는지 궁금합니다. 아루스 1696 2008/03/17
11834         답변 정말 감사합니다. 확인하고 이렇게 바꿔봤습니다. leo21c 1531 2008/03/18
11835             Re:답변 정말 감사합니다. 확인하고 이렇게 바꿔봤습니다. 아루스 1581 2008/03/18
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.