Q&A

  • 스트링그리드에 관하여.......
안녕하세요.

스트링그리드에서 정렬을 할려고 하는데 잘 되지 않아요.

정렬하는 메소드가 있나요 아니면 직접 코딩을 해야 하나ㅏ요?

도와주세요.



2  COMMENTS
  • Profile
    모승열 1999.05.24 19:56
    박용근 wrote:

    > 안녕하세요.

    > 스트링그리드에서 정렬을 할려고 하는데 잘 되지 않아요.

    > 정렬하는 메소드가 있나요 아니면 직접 코딩을 해야 하나ㅏ요?

    > 도와주세요.

    >



    만약 Sort가 아니구 Alignment라면요...

    TStringGrid의 OnDrawCell Event를 이용해서 해결하면 됩니다.



    procedure TForm1.StringGrid1DrawCell(.........생략......);

    var

    iLength : integer;

    sTemp : string

    begin

    with StringGrid1.Canvas do begin

    sTemp := StrignGrid1.Cells[Acol, ARow];



    if Acol = 0 then // 가운데 정열

    iLength := (Rect.Right - Rect.Left - TextWidth(sTemp) div

    2 + Rect.Left



    else if Acol = 1 // 왼쪽정열 (기본값이 왼쪽)

    iLength := Rect.Left + 2



    else // 오른쪽 정열

    iLength := Rect.Right - TextWidth(sTemp) - 4;

    FillRect(Rect);

    TextRect(Rect, iLength, Rect.Top+4, sTemp);

    end;//with

    end;

  • Profile
    김우철 1999.05.24 11:21
    정확히 어떤 내용인지 모르겠지만, 혹시 도움이 될까 해서 적습니다.

    db에 있는 데이터라면 SQL의 Order By를 이용하면 되겠지만, 그런건 아닌것 같구요.스트링그리드에 뿌려줄 데이터가 배열형태로 되어 있으면 sorting algorithm을 이용하면 되지않을까 생각합니다.

    삽입정렬, Quick Sort, Binary Sort, Bubble Sort등 여러가지가 있는데,

    제가 만든 프로그램에서 사용한 삽입정렬 소스를 올려드리겠습니다.



    procedure TfrmAdjust.Isort(var DayOfinv : array of DayOfInvRec ; n : integer);

    var

    i, j : integer;

    Temp : real;

    TempName : String;

    begin

    for j := 1 to (n-1) do begin

    Temp := DayOfInv[j].value;

    TempName := DayOfInv[j].Name;

    i := j - 1;

    while (i >= 1) and (DayOfInv[i].value > temp) do begin

    DayOfInv[i+1].value := DayOfInv[i].value;

    DayOfInv[i+1].Name := DayOfInv[i].Name;

    i := i - 1;

    end; // while

    DayOfInv[i+1].value := Temp;

    DayOfInv[i+1].Name := TempName;

    end; // for

    end; //procedure...



    여기서 DayofInv는 레코드배열 형태로 선언된 변수이고, DayOfInv.value에 의해서

    정렬하도록 되어있습니다.

    이런식으로 정렬을 한다음에 StringGrid에 뿌려주면 될것같은데.....

    도움이 되셨으면 좋겠네요....

    • 김병태
    • 1999.05.24 22:15
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      1999.05.25 00:21
      이미 패치가 되어져 있는것으로 되어있습니다. 즉 해결이 되었다고 하더군요. 또 퀵리포트 정품을 사용하...
    • 고부성
    • 1999.05.24 21:25
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      1999.05.25 03:16
      Edit46안에 숫자가 아닌다른문자를 쓰신것 같네요. 숫자만 변환이 가능해집니다. AccessViolation은 아...
    • 이기남
    • 1999.05.24 20:31
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      1999.05.25 01:27
      모든DB파일이 같은디렉토리안에 있다면 특별히 알리아스를 변경하실 필요는 없을것 같습니다. TableName만...
    • 반정현
    • 1999.05.24 20:25
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 모승열
      1999.05.25 00:23
      반정현 wrote: > 저는 델파이 초보입니다. > > 시간함수 > time() > > 를 값으로 추출하여 ...
    • 이천주
    • 1999.05.24 20:04
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      1999.05.24 22:17
      아래처럼 해보세요. 그냥 온라인상에서 바꿨으므로 약간의 수정이 필요할 수 있습니다. var netrc :...
    • 이천주
      1999.05.26 03:05
      "그냥 온라인상에서 바꿨으므로 약간의 수정이 필요할 수 있습니다." 그래서, 수정한 소스를 다른 분들을 ...
    • 이상석
    • 1999.05.24 19:17
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 모승열
      1999.05.24 20:11
      메인윈도우의 name이 FrmMain, 자식윈도우 name이 FrmChild라면 . . . implementation uses uChild;//...
    • 이상석
      1999.05.24 22:04
      모승열 wrote: > 메인윈도우의 name이 FrmMain, 자식윈도우 name이 FrmChild라면 > . > . > . > imple...
    • 조용덕
    • 1999.05.24 19:15
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      1999.05.24 22:04
      아래를 참고하세요. 알맞게 고쳐서 사용하세요. procedure DrawIcon(Fs: String); var Icon ...
    • 이미영
    • 1999.05.24 18:07
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      1999.05.24 18:40
      GetFocus를 사용해 보세요. GetFocus를 하면 현재 키보드입력상태에 있는 콘트롤의 핸들값을 반환합니다. ...
    • 이미영
      1999.05.24 22:08
      Procedure MessageHandler(mm: Tmessage); var CHandle: HWND; Begin CHandle := GetFocus(); ...
    • 이정욱
      1999.05.24 22:22
      아래를 참고하세요. 쩝.. 근데 저 안 멋져요.. ^^; procedure SendData(TargetWnd : HWnd; StrMsg: str...
    • 최장민
    • 1999.05.24 17:03
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      1999.05.24 18:57
      TMediaPlayer를 보면 OnNotify 이벤트가 있습니다. 이곳에서 코딩을 해주시면 되는데... 예를들면.. pro...
    • 하명훈
    • 1999.05.24 15:29
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      1999.05.24 18:43
      데이타베이스는 어떤것을 사용하셨나요? 혹시 ODBC로 연결을 하셨는지요? 짐작이 가는것이라면 맨 처음 ...
    • 이정현
    • 1999.05.24 11:27
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      1999.05.24 18:45
      AsMemo말고 AsString으로 해보세요. Query1.ParamByName('N3').AsString := Memo1.Text; //메모... 그리...
    • VMNT
    • 1999.05.24 08:56
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      1999.05.24 19:05
      아마도 생성은 하셨지만 어느순간에 지워야 하는지를 여쭙는것 같습니다. 그렇다면 이렇게 해보세요. Chi...
    • 영인
    • 1999.05.24 06:10
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 신인재
      1999.05.24 08:42
      영인 wrote: > 집합형 변수중에서 궁금한게 있는데요...빨리 답을 좀 알아야 하는 상황이라서......어느 ...
    • 박용근
    • 1999.05.24 02:37
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 모승열
      1999.05.24 19:56
      박용근 wrote: > 안녕하세요. > 스트링그리드에서 정렬을 할려고 하는데 잘 되지 않아요. > 정렬하는 ...
    • 김우철
      1999.05.24 11:21
      정확히 어떤 내용인지 모르겠지만, 혹시 도움이 될까 해서 적습니다. db에 있는 데이터라면 SQL의 Order B...
    • 이호선
    • 1999.05.23 23:32
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      1999.05.24 01:08
      이호선 wrote: > 안녕하세요.. > 시스템 디렉토리(예 : C:Windows 또는 C:WINDOWSSYTEM )을 얻어올수 있...
    • 초심
      1999.05.24 00:15
      이호선 wrote: > 안녕하세요.. > 시스템 디렉토리(예 : C:Windows 또는 C:WINDOWSSYTEM )을 얻어올수 있...
    • 조진희
    • 1999.05.23 21:02
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 구창민
      1999.05.24 01:16
      조진희 wrote: > 제가 델파이 헬펑에서 음력양력 로직을 받아서 작업을 하고 있어요.. > 근데 아무리 봐...
    • 초보
      1999.05.25 10:18
      정말 감사합니다.. 훨씬 이해가 가는군요.. 근데 저희 초보들은 파라미터는 쿼리 할때 변수사용하려고 사...
    • 초보
    • 1999.05.23 08:32
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 초심
      1999.05.24 00:40
      초보 wrote: > 저희가 개발중인 프로그램의 프로젝트 이름을 바꾸려고 해요... > 어디를 바꾸면 되는지요...
    • 초보
      1999.05.24 08:05
      고맙습니다.. 근데요... 한글은 안되나요.. 그래도...정말 정말 고마와요...
    • 박성식
    • 1999.05.23 07:01
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      1999.05.24 01:10
      아스키 문자라는것이.. 아스키 코드를 말씀하시나요? 그렇다면... ord 를 사용하시면 됩니다. 단, Ord...
    • 박성식
      1999.05.27 23:09
      이정욱 께서 말씀하시기를... > 아스키 문자라는것이.. 아스키 코드를 말씀하시나요? > 그렇다면... > ...
    • 이정욱
      1999.05.27 23:28
      온라인 상에서 직접 작성하는것이라서 수정이 필요할 수 있습니다. function StrToAsc(Str : String) : ...