|
뭔가 생각을 잘못하신것 같습니다.
님께서 작성하신 코드로는 아래와같은 위치만 검색됩니다.
(위치가 정확한것은 아니나 한칸씩 밀리며 한줄에 하나만 검색함)
[v][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]
[ ][v][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][v][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][v][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][v][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][v][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][v][ ][ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ][v][ ][ ][ ][ ][ ][ ][ ][ ]
8 x 16 구조라면 모든 곳을 검색하기 위해서는 for 문을 중복해서 2개를 사용해야합니다.
for(){ // Line 반복
for(){ // 한 라인의 모든 칸 반복.
// 조건을 줘서 체크된것 확인.
}
}
궁금이 님이 쓰신 글 :
: CheckScanList[0~7][0~15] check 박스 수열을 만들어서 체크 박스에 체크는 제대로 됩니다
: scan 버튼을 누르면
: -------------------------------------------------------------------------
: CheckScanList[0] 에 16 개중 체크된 맨처음것의 값 (아무것도 체크 안되있으면 0으로 인식)
: CheckScanList[1] 에 16 개중 체크된 맨처음것의 값
: CheckScanList[2] 에 16 개중 체크된 맨처음것의 값
: .
: ...
: CheckScanList[6] 에 16 개중 체크된 맨처음것의 값
: CheckScanList[7] 에 16 개중 체크된 맨처음것의 값 이렇게 16개의 값을 구한뒤 전송
: -------------------------------------------------------------------------
:
: CheckScanList[0] 에 16 개중 체크된 그 다음 체크된 값
: CheckScanList[1] 에 16 개중 체크된 그 다음 체크된 값
: CheckScanList[2] 에 16 개중 체크된 그 다음 체크된 값
: .
: ...
: CheckScanList[6] 에 16 개중 체크된 그 다음 체크된 값
: CheckScanList[7] 에 16 개중 체크된 그 다음 체크된 값 이렇게 16개의 값을 구한뒤 전송
: -------------------------------------------------------------------------
: 16 까지 체크한뒤 다시 처음에 체크된 값 16개를 전송
:
:
:
: void __fastcall TFormMtx::TimerScanTimer(TObject *Sender)
: {
:
: for (int i = 0; i < OutCnt; ++i) {
: ++CurScanInNo[i];
: if (CurScanInNo[i] >= InCnt || CurCntScan[i] == CntScan[i]) {CurScanInNo[i] = 0; CurCntScan[i] = 0;}
: <--- 카운트가 16보다 커지면 다시 0으로,, 체크된 모든 갯수를 세서 모두 체크했으면 다시 처음으로
: if (CheckScanList[i][CurScanInNo[i]] == true){ <-- 체크박스 체크되면 값 얻기
: ScanInNo[i] = CurScanInNo[i]+1;
: CurCntScan[i]++;
: }
: }
:
: Send(ScanInNo[0], ScanInNo[1], ScanInNo[2], ScanInNo[3], ScanInNo[4], ScanInNo[5], ScanInNo[6], ScanInNo[7]); <-- 전송
: }
:
: ScanInNo[0] 의 값은 잘 들어와지는데 그 뒤 ScanInNo[1]~ScanInNo[7] 까지는 값들이 들어왔다 안들어왔다 들쑥 날쑥 하네요,,, ㅜㅜ
:
: Timer 안에서 for이 잘 안되서 그런건지 해서
: for 문이 아니라 직접 쭉 늘어놓아도 이상하게 그 뒤에 것들은 값을 잘 못찾아요 ㅜㅜ
:
: 질문이 너무 두서없어서 답글이 달릴까 걱정스럽네요,,
: 간단하게 생각했다 아주 하루종일 퇴근도 못하고 미치겠네요
: 도와주세요~
|