Q&A

  • 델파이를 공부하는 학생입니다. 어제에 이은 또다른 질문
안녕하세요. 델파이를 공부하는 학생입니다.
소스 작성은 다 했는데...주석을 못달고 있습니다..-_-; 다 못단거는 아니고...아는것만 달았습니다.
이거 공부하기 힘드네요..-0-; 답변 부탁드립니다. (이런글 올렸다고 욕먹을거 같기도 하네요..ㅠㅠ)
(줄마다 다 주석을 달아줘야 하는데...몰라서 미치겠네요..제가 한심스럽네요..ㅠㅠ)

procedure TForm1.btnOutputClick(Sender: TObject); // 출력 버튼 클릭시 이벤트 발동
var // 변수 선언
  i, j, k, sum1, sum2, sav_sum, rank,  sav_rank  : integer;
  // i, j, k, sum1, sum2, sav_sum, rank,  sav_rank를 정수형으로 변환시킨다. 사용 할 함수 선언
  temp : string; // temp를 문자열로 변환시킨다. temp를 임시 저장 공간으로 지정
begin // 첫 번째 프로시저의 시작
//총점 내림차순 정렬
  for i := 1 to Count-2 do // 열에 1부터 5까지 반복
  for j := i+1  to Count-1 do begin //  
    sum1 := StrToInt(Ground[i, 7]); //
    sum2 := StrToInt(Ground[j, 7]); //
      if (sum1 < sum2) then //
        for k := 1 to 8 do
          begin // // 두 번째 프로시저의 시작
            temp := Ground[i, k]; //
            Ground[i, k] := Ground[j, k];
            Ground[j, k] := temp;
          end; // 두 번째 프로시저의 끝
end; // 첫 번째 프로시저의 끝

//석차부여(동일 총점은 동일 석차)
  rank := 0; // 석차부여의 초기 값
  for  i := 1 to Count-1 do begin //  
  if sav_sum <> StrToInt(Ground[i, 7]) then
begin // 첫 번째 프로시저의 시작
  rank := rank + 1;
    Ground[i, 1] := IntToStr(rank);
    sav_sum := StrToInt(Ground[i, 7]);  
    sav_rank := StrToInt(Ground[i, 1]);
  end // for의 끝
  else // 추가로...
   begin // 두 번째 프로시저의 시작
     Ground[i, 1] := IntToStr(sav_rank);
     rank := rank + 1; //
   end; // 두 번째 프로시저의 끝
end; // 첫 번째 프로시저의 끝

//배열 Ground의 값을 Form2의 스트링그리드로 이동
  for i := 1 to Count-1 do begin
     for j := 1 to 8 do  begin
       Form2.StringGrid1.Cells[j-1, i] := Ground[i, j]; // Form2에 행을 중심으로 열이 바뀜
     end;
   end;
  Form2.Show;  //Form2 보기
end;

2  COMMENTS
  • Profile
    깔쌈보이 2009.05.30 00:15
    리포트인가요?
    이전 질문과 연계해서 보니 공부가 아니라 리포트때문인것 같은데...
  • Profile
    ez.J 2009.06.01 05:34
    제가 보기에도 그런듯...
    유재호님 프로그래밍은 학점채우기용&눈요기거리가 아닙니다...
    진심으로 배우고싶으시다면 간단한 서적부터...