Имею следующий код: 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. тоесть то, что добавляется в буфер вторым. Почему так происходит остаются загадкой. Вроде уже буфер закрываю и очищаю, а всё равно херня какай-то. Помогите.