Q&A

  • 입력할때....
데이타를 입력받을때..
손으로 직접 치지 않구..
이마트나 까르푸등 대형슈퍼에서 처럼..
어떤 기계를 바코드에 가져다 대면 "
2  COMMENTS
  • Profile
    조규춘 2002.02.15 21:50


    차라리 이 방법은 어떨까요?
    익스플러러 에서 주소칠때처럼 나오는 방법이요..

    아래의 소스를 이용해서 만들어 보셔요..

    unit Unit1;

    interface

    uses
      Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
      StdCtrls;

    type
      TForm1 = class(TForm)
        ComboBox1: TComboBox;
        Edit1: TEdit;
        Label1: TLabel;
        Label2: TLabel;
        procedure ComboBox1KeyDown(Sender: TObject; var Key: Word;
          Shift: TShiftState);
        procedure ComboBox1Change(Sender: TObject);
      private
        { Private declarations }
        key_ch  : Word;  // 입력한 키값을 저장
        idx_URL : integer;
        sv_URL  : array [0..9] of string;
      public
        { Public declarations }
      end;

    var
      Form1: TForm1;

    implementation

    {$R *.DFM}

    procedure TForm1.ComboBox1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    begin
      key_ch := key;
      if key = VK_RETURN then begin
        // 입력URL로 이동하는 부분 구현
        // HTML1.RequestDoc(ComboBox1.Text);
        ComboBox1.Items.Add(ComboBox1.Text);
        if (idx_URL <= 9) then begin
            Inc(idx_URL);
         // 현재 URL을 저장
            sv_URL[idx_URL] := ComboBox1.Text;
        end;
      end;
    end;

    procedure TForm1.ComboBox1Change(Sender: TObject);
    var
    index : integer;
    pc    : PChar;
    begin
      if ((key_ch <> VK_BACK) and (key_ch <> VK_DELETE)) then begin
           pc := PChar(String(ComboBox1.Text));
           // ComboBox에게 CB_FINDSTRING 메시지를 전달
           // 전달한 lParam값은 검색할 문자열의 주소
           index := SendMessage(ComboBox1.Handle, CB_FINDSTRING, -1, Integer(pc));

           // 비슷한 문자열을 찾으면 다음을 수행
           if index >= 0 then begin
              ComboBox1.Text := ComboBox1.Items[index];
              ComboBox1.SelStart := StrLen(pc);
              ComboBox1.SelLength := StrLen(PChar(ComboBox1.Items[index]));
           end;
      end;
    end;

    end.
  • Profile
    프로초보 2002.02.16 00:27