버튼 도전! - 페이지 8

 
또한 옵션입니다. 매 틱마다 생성할 필요는 없습니다.
 
static string name= NULL ;
for ( int i= 0 ;i< 10 ;i++)
  {
   bool But= ObjectGetInteger ( 0 ,( string )i, OBJPROP_STATE );
   if (but && name!=( string )i)
     {
       ObjectSetInteger ( 0 ,name, OBJPROP_STATE , false );
      name=( string )i;
     }
  }
버튼 이름이 숫자가 아니면 이름을 배열에 넣습니다.
 
Rorschach :
버튼 이름이 숫자가 아니면 이름을 배열에 넣습니다.
이전 버튼은 다음 루프 호출까지 눌려진 상태로 유지됩니다 ...
 

이 접근 방식이 얼마나 정확한지 모르겠지만 문제가 해결되었습니다.

 static string name= NULL ;
for ( int i= 0 ;i< 10 ;i++)
  {
   bool But= ObjectGetInteger ( 0 ,( string )i, OBJPROP_STATE );
   if (but && name!=( string )i)
     {
       ObjectSetInteger ( 0 ,name, OBJPROP_STATE , false );
      name=( string )i;
      i=0;
      }
  }
 
static string name= NULL ;
for ( int i= 0 ;i< 10 ;i++)
  {
    bool But= ObjectGetInteger ( 0 ,( string )i, OBJPROP_STATE );
    if (But && name!=( string )i)
     {
      ObjectSetInteger ( 0 ,name, OBJPROP_STATE , false );
      name=( string )i;
      ChartRedraw ();
       break ;
     }
  } 
아마도 그래서, 그것을 시도하지 않았습니다.
 
Rorschach :
아마도 그래서, 그것을 시도하지 않았습니다.

나는 조금 다르게 결정했다

 static string name= NULL ;
for ( int i= 0 ;i< 10 ;i++)
  {
   bool But= ObjectGetInteger ( 0 ,( string )i, OBJPROP_STATE );
   if (but && name!=( string )i)
     {
       ObjectSetInteger ( 0 ,name, OBJPROP_STATE , false );
      name=( string )i;
      i= 0 ;
      }
  }

마지막 옵션을 확인하지 않았지만 인덱스 10이 있는 버튼을 누른 다음 인덱스 9를 누르면 인덱스 9에서 사이클이 중단되기 때문에 인덱스 10이 눌리지 않을 것이라는 의혹이 있습니다...