내 접근 방식. 코어 - 엔진. - 페이지 98

 
이를 수행하는 방법에 대한 가이드 로 zip 아카이브의 구조를 살펴보십시오. 간단한 구조와 데이터로 구성되어 있습니다. 이와 같은 구조는 데이터 전송에 적합할 수 있습니다. 다른 이름을 가진 수백 개의 파일이 있는 미니어처 파일 시스템의 뛰어난 표시를 방해하지 않는 zip 아카이브에는 한 줄도 없습니다.
 
Vasiliy Sokolov :
이를 수행하는 방법에 대한 가이드 로 zip 아카이브의 구조를 살펴보십시오. 간단한 구조와 데이터로 구성되어 있습니다. 이와 같은 구조는 데이터 전송에 적합할 수 있습니다. zip 아카이브에는 이름이 다른 수백 개의 파일이 포함된 미니어처 파일 시스템의 탁월한 표시를 방해하지 않는 한 줄도 없습니다.

나는 문제에 대한 당신의 전문적인 견해에 동의합니다. 바이트를 전달하는 것은 MT 개체를 통해 문자열을 전달하는 것보다 더 심각해 보입니다.

문제는 그것을 구현하는 방법입니다.

전송되는 데이터의 크기와 유형은 미리 알 수 없습니다. 결합을 고정하는 방법?

 
Реter Konow :

나는 문제에 대한 당신의 전문적인 견해에 동의합니다. 바이트를 전달하는 것은 MT 개체를 통해 문자열을 전달하는 것보다 더 심각해 보입니다.

문제는 그것을 구현하는 방법입니다.

전송되는 데이터의 크기와 유형은 미리 알 수 없습니다. 결합을 고정하는 방법?

아마도.

지퍼의 구조를 자세히 연구하십시오. 이해가 올 것입니다. 패킹 전 패킹된 파일의 크기는 알 수 없습니다. 파일 이름의 길이는 다양할 수 있습니다. 파일 수도 매우 다를 수 있습니다. 그럼에도 불구하고 zip은 데이터를 참조하는 강력한 형식의 유한 구조 집합을 나타냅니다.

어떤 구조로 작업해야 하는지 이해하면 통합에 문제가 없을 것입니다. 통합은 이러한 구조를 바이트 형식으로 표현한 것일 뿐이기 때문입니다.

 
Vasiliy Sokolov :

아마도.

지퍼의 구조를 자세히 연구하십시오. 이해가 올 것입니다. 패킹 전 패킹된 파일의 크기는 알 수 없습니다. 파일 이름의 길이는 다양할 수 있습니다. 파일 수도 매우 다를 수 있습니다. 그럼에도 불구하고 zip은 데이터를 참조하는 강력한 형식의 유한 구조 집합을 나타냅니다.

어떤 구조로 작업해야 하는지 이해하면 통합에 문제가 없을 것입니다. 통합은 이러한 구조를 바이트 형식으로 표현한 것일 뿐이기 때문입니다.

예를 들어, 노동 조합 없이는 할 수없는 이유는 무엇입니까?

각 이벤트에서 EA는 변경된 모든 매개변수와 모든 유형의 해당 값을 포함하는 메시지 문자열을 수집합니다. 그런 다음 이 문자열을 StringToChar를 사용하여 바이트 배열로 변환하고 리소스에 씁니다. 그런 다음 역순으로 포장을 풉니다.

처음에는 리소스가 있는 그런 솔루션을 상상했습니다. 단, 스트링의 조립과 분할이 필요합니다.

 
어쨌든 결정에 자원 없이는 할 수 없습니다. 따라서 문제는 문자열 구문 분석 없이 수행하는 방법입니다. 당신은 그것이 가능하다고 생각합니다. 솔직히 말하면 의심스럽습니다. 하지만 나는 제외하지 않습니다 ...
 
Реter Konow :

예를 들어, 노동 조합 없이는 할 수없는 이유는 무엇입니까?

각 이벤트에서 EA는 변경된 모든 매개변수와 모든 유형의 해당 값을 포함하는 메시지 문자열을 수집합니다. 그런 다음 이 문자열을 StringToChar를 사용하여 바이트 배열로 변환하고 리소스에 씁니다. 그런 다음 역순으로 포장을 풉니다.

처음에는 리소스가 있는 그런 솔루션을 상상했습니다. 단, 스트링의 조립과 분할이 필요합니다.

Union은 같은 것인 바이트 또는 int의 형태로 구조를 동시에 표현한 것입니다. Union은 말하자면 바이트 배열에 구조를 투영하고 바이트 배열은 동시에 구조 집합입니다. 리소스가 int 배열인 경우 바이트 배열을 구조 배열로 변환하고 역 연산을 수행하는 추가 절차를 수행할 필요가 없습니다. 이렇게 하면 시간이 절약됩니다.

ps 이 체계를 사용하면 메시지 소스는 데이터를 리소스에 복사하지 않고 데이터를 직접 변경하며 이러한 변경 사항은 리소스에 즉시 나타납니다. 문자열을 배열로 끝없이 변환 하고 후속 구문 분석을 통해 배열을 문자열로 변환하는 대신 데이터를 직접 사용하는 것으로 나타났습니다. ResourceReadImage를 사용하여 받는 사람에게만 복사됩니다.

 
Vasiliy Sokolov :

Union은 같은 것인 바이트 또는 int의 형태로 구조를 동시에 표현한 것입니다. Union은 말하자면 바이트 배열에 구조를 투영하고 바이트 배열은 동시에 구조 집합입니다. 리소스가 int 배열인 경우 바이트 배열을 구조 배열로 변환하고 역 연산을 수행하는 추가 절차를 수행할 필요가 없습니다. 이렇게 하면 시간이 절약됩니다.

당신은 생각해야합니다 ... 어쩌면 당신이 옳을 수도 있습니다. 노동 조합의 도움으로 이것을 구현하는 것이 가능합니다.

예를 들어 각 매개변수 값이 설정되면 해당 값을 바이트 배열로 변환합니다. 보다 정확하게는 모든 사용자 매개변수가 공용체에 속해야 합니다. 그런 다음 바이트 복사에 반영된 내용은 즉시 리소스에 쓸 수 있습니다.

 
Реter Konow :

예를 들어 각 매개변수 값이 설정되면 해당 값을 바이트 배열 로 변환 합니다. 보다 정확하게는 모든 사용자 매개변수가 공용체에 속해야 합니다. 그런 다음 바이트 복사에 반영된 내용은 즉시 리소스에 쓸 수 있습니다.

예, 정확히, 저는 이미 ps to prev로 답변했습니다. 당신이 이것을 썼을 때 메시지 :) 즉, 우리는 긴 복사 및 변환 작업이 아니라 표시 작업을 하고 있습니다.

 
요컨대, 사용자의 가치가 변할 때마다. 매개변수의 경우 이 값을 공용체의 변수 값으로 변환하고 공통 바이트 배열에 즉시 저장한 다음 uint로 변환하여 리소스에 기록해야 합니다.
 
Vasiliy Sokolov :

예, 정확히, 저는 이미 ps to prev로 답변했습니다. 당신이 이것을 썼을 때 메시지 :) 즉, 우리는 긴 복사 및 변환 작업이 아니라 표시 작업을 하고 있습니다.

좋아요, 하지만 텍스트는 어떻습니까?

StringToChar()를 통해 바이트로 변환해야 합니다. 결국 노조를 통해서는 불가능한 걸까요?