Q&A

  • 이제막 델파이를 배우기 시작했는데
implementation

{$R *.DFM}

procedure TForm1.SpeedButton1Click(Sender: TObject);  //SpeedButton1을 더블클릭하면 자동생성
var         //변수지정
SRect:TGridRect;  //SRect값을 stringGrid에 들어갈 변수로 지정
i,j:Integer;     //i,j값을 정수로 지정
flg:char;        //flg값을 ASC∥문자형으로 지정
sum:LongInt;     //sum값을 4byte크기의 정수형으로 지정
begin
   SRect:=StringGrid1.Selection; {SRect를 stringgrid1에서 고른 값으로 지정}
   flg:='A';      //flg를 문자형 'A'로 지정
   for i:=SRect.Top to SRect.Bottom do  //i가 StringGrid의 첫열에서 끝열로 가는동안
    if StringGrid1.Cells[SRect.Right,i]<>''then {Cell의 맨오른쪽까지의 들어간 수가 공백이 아니면}                                                 아니면}
    flg :=#0;   //아무런 키값도 적용시키지 말고
   if flg='A' then flg:='C'  //만약 flg가 'A'이면 'c'를 그렇지 않으면 'b'를 대입하라
   else flg :='B';
   for i:=SRect.Left to SRect.Right do //i가 왼쪽행에서 오른쪽행으로 가는 동안
    if StringGrid1.Cells[i,SRect.Bottom]<>''then  //맨 끝열값이 공백이 아닐경우
     if (flg='C')or(flg='A')then flg:='A'       {flg가 c또는 a이면 a를 대입하고 그렇지않으
                                                  면 #0을 대입하라.}
     else flg:=#0;
   if flg=#0 then MessageDlg('합계를 입력하는 영역입니다.',mtInformation,[mbOK],0);
                            {flg가 #0이면 위맨트의 메세지 창을 출력하라.}
  

대충이런 간단한 프로그램인데 주석을 달라고 해서 다는데 까지했는데
fla:='A'이런 식으로 문자형이 지정되는데 도데체 무슨 뜻인지 모르겠어여
제발 부탁드립니다.흑흑
2  COMMENTS
  • Profile
    하얀까마귀 2002.11.12 07:07
    안녕하세요 하얀까마귀 입니다.

    도데체 무슨말인지 모르겠네요..

    대충 루틴을 보았는데. 루틴은 간단하네요..

    말대로. flg := 'A' 이게 뭔지 모르겠다는건 아니죠?
    그냥 flg 에다가 A라는 문자를 넣은거잖아요. 아무의미 없는거구요..

    루틴은 선택된 영역( 그리드의 사각형이죠... 여러개 선택할수 있으니까..)
    선택한 영역에서 오른쪽 제일 끝줄과 제일 밑에 줄 을 검사해서

    비여있으면 합계입력하는 곳이라고  메세지 보여주고 그게 아니면 아무런 동작더ㅗ
    안하네요.. 그럼..

  • Profile
    채범석 2002.11.12 11:10
    답변감사드립니다.
    그런데 flg:='A' 라는 말이 왜 들어가는 거죠?
    말글데로 아무 의미가 없다면 쓸필요가 없는 거잖아요!
    근데 빼면 오류가 나요!
    혹시 캐릭터라고 지정되서 아스키코드값을 나타내는 건 아닐까요?ㅜㅜ
    정말 하나도 모르겠어요 저도 A를 집어넣으라는 말까지는 아는데
    왜 넣는지 그리고 A라는 말이 들어갈필요도 또 A나B같은걸 상수나
    변수로 지정된것도 아니고 아무 의미도 없는걸 왜 써넣어야 했는지
    그걸 모르겠어요!