[아카이브!] 포럼을 어지럽히 지 않도록 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 2. - 페이지 311

 
chief2000 :

- 파일에서 배열 요소의 수를 찾을 수 있습니까? 이 경우 불필요한 조치를 피하는 방법은 무엇입니까?


FileSize (핸들)를 요소 크기로 나눈 값 = 요소 수?
 
Figar0 :

FileSize(handle)를 요소 크기로 나눈 값 = 요소 수?

추측인가요?

바이너리 파일에서 요소의 크기를 찾는 방법은 무엇입니까? 아마도 그것의 일부는 요소뿐만 아니라 점유되어 있습니까?

 
chief2000 :

count를 너무 크게 설정하면 많은 null 값이 형성됩니다(맞나요?)

그리고 문서는 말한다

Функция возвращает количество фактически прочитанных элементов.
 
chief2000 :

추측인가요?

바이너리 파일에서 요소의 크기를 찾는 방법은 무엇입니까? 아마도 그것의 일부는 요소뿐만 아니라 점유되어 있습니까?


요소의 크기는 4 또는 8 중 무엇을 작성하느냐에 따라 달라집니다. 작성 과정은 어떤 모습인가요?
 
Roger :

그리고 문서는 말한다

파일에 1000개의 요소가 있고 count=20이면 실제로 20개를 읽습니다.

하지만 count=5000이면 어떻게 될까요?

"데이터를 읽기 전에 배열의 크기가 충분해야 합니다"가 의미하는 바가 명확하지 않습니다. 모든 요소를 요소 수만큼 배열로 읽는 것이 더 쉬울 것이며 필요한 경우 배열을 자를 수 있습니다. , 등.

 
Figar0 :

요소의 크기는 4 또는 8 중 무엇을 작성하느냐에 따라 달라집니다. 작성 과정은 어떤 모습인가요?

나는 다음을 사용합니다(쓰기와 읽기는 서로 독립적인 두 단계입니다).

 FileWriteArray( int handle, object array[], int start, int count) 
 
chief2000 :

나는 다음을 사용합니다(쓰기와 읽기는 서로 독립적인 두 단계입니다).


int 파일 쓰기 배열 ( int 핸들, 객체 array[], int start, int count)

이 함수는 배열을 바이너리 파일에 씁니다. int, bool, datetime 및 color 유형의 배열은 4바이트 정수로 요소별로 작성됩니다. 이중 배열은 8바이트 부동 소수점 숫자로 요소별로 작성됩니다.

관심을 가져야 할 사항을 강조 표시했습니다. 이중 배열이 파일에 기록된 경우 파일 크기를 8로 나누면 파일 의 배열 요소 수가 표시됩니다.

 
Figar0 :

int 파일 쓰기 배열 ( int 핸들, 객체 array[], int start, int count)

이 함수는 배열을 바이너리 파일에 씁니다. int, bool, datetime 및 color 유형의 배열은 4바이트 정수로 요소별로 작성됩니다. 이중 배열은 8바이트 부동 소수점 숫자로 요소별로 작성됩니다.

관심을 가져야 할 사항을 강조 표시했습니다. 이중 배열이 파일에 기록된 경우 파일 크기를 8로 나누면 파일의 배열 요소 수가 표시됩니다.

이제 텍스트 뷰어에서 저장된 파일 하나를 열었습니다. 다음과 같습니다.

약 50개의 요소가 있는 것처럼 보이지만(이 정도의 요소가 있어야 함) 크기는 2432바이트입니다. 그에게 "공백"이있는 것처럼 보입니다.

 
안녕하세요. 말해 주세요. 히스토그램이 0이 아닌 주어진 값에서 그려지도록 MQL4의 별도 창에서 표시기의 히스토그램을 만드는 방법. Ichimoku 표시기가 별도의 창에서 다른 기간에 대한 값을 그리기를 원합니다.
 
chief2000 : 빈 조개껍데기를 품고 있는 것 같습니다.
당신이 기록한 것을 저장합니다) 기적은 여기서 일어나지 않습니다.