Буфер буянит

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by Tip.the.besT, 29 Mar 2012.

  1. Tip.the.besT

    Tip.the.besT Member

    Joined:
    24 Jun 2009
    Messages:
    267
    Likes Received:
    10
    Reputations:
    4
    Имею следующий код:
    Code:
    var
    s1,s2,ss:string;
      I,ii: integer;
      w:boolean;
      list:tstringlist;
      t: Integer;
    begin
      clipboard.Open;
    List:=tstringlist.Create;
    
    for ii := 0 to login.Lines.Count-1 do
      begin
    
    s1:=login.Lines[ii];
    
    SetCursorPos(strtoint(x.Text), strtoint(y.Text));
    mouse_event(MOUSEEVENTF_LEFTDOWN,strtoint(x.Text),strtoint(y.Text),0,0);
    mouse_event(MOUSEEVENTF_LEFTUP,strtoint(x.Text),strtoint(y.Text),0,0);
    
    Clipboard.clear;
    Clipboard.AsText:=s1;
     keybd_event(17, 0, 0, 0);
     keybd_event(86, 0, 0, 0);
     keybd_event(86, 0, KEYEVENTF_KEYUP, 0);
     keybd_event(17, 0, KEYEVENTF_KEYUP, 0);
     keybd_event(9, 0, 0, 0);                        //tab
     keybd_event(9, 0, KEYEVENTF_KEYUP, 0);
     keybd_event(9, 0, 0, 0);                        //tab
     keybd_event(9, 0, KEYEVENTF_KEYUP, 0);
    
    
    Clipboard.clear;
    Clipboard.AsText:=text.Text;
    
     keybd_event(17, 0, 0, 0);
     keybd_event(86, 0, 0, 0);
     keybd_event(86, 0, KEYEVENTF_KEYUP, 0);
     keybd_event(17, 0, KEYEVENTF_KEYUP, 0);
    
     keybd_event(9, 0, 0, 0);                        //tab
     keybd_event(9, 0, KEYEVENTF_KEYUP, 0);
     keybd_event(9, 0, 0, 0);                        //tab
     keybd_event(9, 0, KEYEVENTF_KEYUP, 0);
    
     keybd_event(13, 0, 0, 0);                        //enter
     keybd_event(13, 0, KEYEVENTF_KEYUP, 0);
     keybd_event(13, 0, 0, 0);                        //enter
     keybd_event(13, 0, KEYEVENTF_KEYUP, 0);
    for t := 0 to 10 do
    sleep(100);
     end;//////конец цикла ii
    
    clipboard.Close;
    end;
    И собственно всё было бы хорошо, но код вставляет и первый и второй раз текст из едита по имени text. тоесть то, что добавляется в буфер вторым. Почему так происходит остаются загадкой. Вроде уже буфер закрываю и очищаю, а всё равно херня какай-то. Помогите.
     
  2. Tip.the.besT

    Tip.the.besT Member

    Joined:
    24 Jun 2009
    Messages:
    267
    Likes Received:
    10
    Reputations:
    4
    Помогите кто нить, не могу понять где ошибка, вроде всё правильно присваиваю!