Delphi Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
델파이 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
FreePascal/Lazarus
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
델마당
볼랜드포럼 광고 모집

델파이 Q&A
Delphi Programming Q&A
[6562] [질문] 리스트박스에서 up,down키 속도
오늘맑음 [ ] 720 읽음    1999-08-27 11:33
procedure TFrmGer.MHoisaKeyPress(Sender: TObject; var Key: Char);
  var
  i:byte;
  j:byte;
  M_count:string[5];
  m_hoisa:string[24];
  begin
   If Key = #13 then                        // Enter를 치면
      If ChSin.Checked=False then
  begin
    key:=#0;
    if Mhoisa.Text = ' ' then                // 이름에 입력하지 않고 enter를 쳤을 경우
      begin
      MSajang.setFocus;
      exit;
      end;
    with Query1 do
    begin                   // 이름을 완벽하게 입력하였을 경우 SQL
      Close;
      Sql.clear;
      Sql.add('select * ');
      Sql.add('from ger');
      Sql.add('where hoisa like :hoisa order by hoisa ');
      ParamByName('hoisa').AsString :=  Mhoisa.Text + '%';
      Open;
      if RecordCount = 0 then      // 찾아온 자료가 없으면 신규이다.
      begin
     If IDYES = Application.MessageBox('신규등록하시겠습니까?','신규확인',
                       mb_YESNO + mb_ICONQUESTION) then      //저장전 확인박스
        begin
        chsin.Checked:=true;
        lasin.Visible:=true;

        Msajang.SetFocus;
        end else
        begin
        screenclear;
        end;
      end
      else if RecordCount >0 then
      begin
        Key := #0;
        LBgName.Items.BeginUpdate;
        LBgName.Items.Clear;                 //이름 리스트박스 초기화
        while not EOF do                     // 이름 검색 리스트박스에 데이터 넣기
        begin
        M_hoisa:=FieldByName('hoisa').AsString;
        for i := 0 to 23 - Length(m_hoisa) do
          m_hoisa := m_hoisa+' ' ;   //나머지는 공백으로 처리
        M_count:=FieldByName('hoico').AsString;
        for j:=  24 to 29 - Length(m_count) do
          M_count := M_count+' ';
          next;
        LBgName.Items.Add(M_hoisa+' '+m_count +' ');
           end;
        LBgName.Items.EndUpdate;
        LBgName.ItemIndex := 0;
        if LBgName.Items.Count = 1 then      // 찾아온 자료가 하나 존재한다면 DBSHOW수행
        begin
           SendMessage(LBgName.Handle, WM_CHAR, 13, 0);
        end else
        begin
         LbgName.Height  := 145;
         LbgName.BringToFront;
         LbgName.Visible := True;
         LbgName.SetFocus;
         LbgNameClick(Sender);
          end;
        end;
      end;
      end else
      begin
      Msajang.SetFocus;
      end;
end;



editbox에서 검색한 자료중 특정필드만 listbox로 뽑아낸후

up,down 키를 이용해 다시 editbox로 뿌려주는 작업을 하고 있는데

현재 화면에 뿌려진 데이타에서 up,down 키를 사용하면

빨리 움직여지는데 아래위 가려진 데이타로 갈수록

느려지는군요.

edit로 뿌려지는것도 느리고요.

query를 사용했습니다.

Lbgname:특정필드를 뿌려주는 listbox

Mhoisa:검색하는 editbox

hoisa:리스트박스로 뿌려지는 특정필드

좀 설명하기 까다로운것 같은데 부족한게 있으면

말씀해주세요!


+ -

관련 글 리스트
6562 [질문] 리스트박스에서 up,down키 속도 오늘맑음 720 1999/08/27
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.