문제

내가 가지고있는 것, 그러나 문자열을 pbytearray에 복사하는 더 빠른 방법이 있다면 나는 찾고 있습니다.

sysutils에서

  PByteArray = ^TByteArray;
  TByteArray = array[0..32767] of Byte;

추정하다 그리고 에스 올바르게 설정됩니다

 a:   pByteArray;
 s:   string;

이 작업을 수행하는 빠른 방법이 있습니까? 즉, 사본과 같은 것

  for i := 1 TO Length(s) - 1 do
   a^[i] := Ord(s[i]);

델파이 7

도움이 되었습니까?

해결책

이동을 사용하여 조심하십시오. Delphi 2009를 사용하는 경우 실패 할 수 있습니다. 대신, 이것을 사용하십시오 :

이동 (s [1], a^, 길이 (s) * sizeof (char));

작업을 수행하기 위해 Sysutils.pas (Delphi 2009/2010 ++ 만 해당)에서 클래스 Tencoding을 사용할 수도 있습니다.

다른 팁

신경 쓰지 마세요

 Move(s[1], a^, Length(s));

당신은 단순히 그것을 캐스팅 할 수 있습니다 :

  a := @s[1];

다른 방법은 다음과 같습니다.

  s := PChar(a);

나는 당신이 사용할 수 있다고 생각합니다 move 이와 같이 절차 예시

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top