$pf = 0
$sf = 0
$who = ", сеть супермаркетов"
$n = 1
$file = FileOpenDialog ("Выберите файл", "C:\", "Text (*.txt)", 1)
If $file = -1 Then
MsgBox(0, "Error", "Unable to open file.")
Exit
EndIf
; Read in lines of text until the EOF is reached
While 1
$line = FileReadLine($file, $n) ; Считываем строки
If @error = -1 Then ExitLoop
MsgBox (0, $pf, $line)
if StringInStr ($line, $who) <> 0 Then ; Если попалась $who (мы впервые нашли то что искали)
MsgBox (0, "","Найдено предприятие")
$predpr = StringLeft ($line, StringInStr ($line, $who)-1)
MouseClick ("left", 710, 507)
Sleep (50)
ClipPut ($predpr)
Send("^v")
MouseClick ("left", 710, 538)
ClipPut ("Россия")
Send("^v")
MouseClick ("left", 710, 570)
ClipPut ("Пензенская")
Send("^v")
MouseClick ("left", 710, 600)
ClipPut ("Пенза")
Send("^v")
$pf = 1 ; Выставляем прзнак того, что мы нашли наше предприятие
EndIf
If $pf = 1 Then ; $sf = 1 Then ; Если выставлен признак того, что мы находили ранее улицу, то забиваем наши данные (попробовать заменить на $pf, т.к. признака предприятия думаю достаточно
MouseClick ("left", 70,40)
sleep (2500)
;Sleep (250)
;Send ("{PGDN}")
;Sleep (250)
;Send ("{PGDN}")
;;Sleep (250)
;MouseClick ("left", 481, 552)
;Sleep (250)
;MouseClick ("left", 548, 607)
;Sleep (250)
;MouseClick ("left", 1245, 431)
;Sleep (250)
;MouseClick ("left", 455, 963)
;Sleep (250)
;MouseClick ("left", 1356, 991)
;Sleep (5000)
;MouseClick ("left", 1565, 291)
;Sleep (5000)
MouseClick ("left", 710, 507)
Sleep (50)
ClipPut ($predpr)
Send("^v")
MouseClick ("left", 710, 538)
ClipPut ("Россия")
Send("^v")
MouseClick ("left", 710, 570)
ClipPut ("Пензенская")
Send("^v")
MouseClick ("left", 710, 600)
ClipPut ("Пенза")
Send("^v")
EndIf
if StringInStr ($line, "ул.") <> 0 Then ; Если попалась "ул."
$street = StringMid ($line, StringInStr ($line, "ул.")+4) ; Отрезаем слово "ул."
$sPattern="\s*(\d+?\D?)\s*($|\r\n)"
$sReplace=", \1\2"
$sNewText=StringRegExpReplace($street,$sPattern,$sReplace)
If $pf = 1 Then ; Если есть признак того, что предприятие уже вбивалось, а в строчке есть "ул.", это значит что это то же самое предприятия - печатаем улицу
$sf = 1 ; Выставляем признак того, что мы вбили улицу
MouseClick ("left", 710, 625)
ClipPut ($sNewText)
Sleep (500)
Send("^v")
EndIf
EndIf
if StringInStr ($line, "пр-кт") <> 0 Then ; Если попалось "пр-кт"
$line = StringReplace ($line, "пр-кт", "ул. Проспект ")
$street = StringMid ($line, StringInStr ($line, "ул.")+4) ; Отрезаем слово "ул."
$sPattern="\s*(\d+?\D?)\s*($|\r\n)"
$sReplace=", \1\2"
$sNewText=StringRegExpReplace($street,$sPattern,$sReplace)
If $pf = 1 Then ; Если есть признак того, что предприятие уже вбивалось, а т.к. в строчке есть "ул.", это значит что это то же самое предприятия - печатаем улицу
$sf = 1 ; Выставляем признак того, что мы вбили улицу
MouseClick ("left", 710, 625)
ClipPut ($sNewText)
Sleep (500)
Send("^v")
EndIf
EndIf
$phone = StringReplace ($line, chr(09), "")
$phone = StringReplace ($phone, " ", "")
If StringIsDigit (StringLeft ($phone, 1)) = 1 Then ; Если первый символ в строке числовой, значит это номер телефона
If $pf = 1 Then ; а т.к. у нас есть признак того, что мы вбили предприятие, то печатаем этот номер телефона
MouseClick ("left", 710, 746)
Sleep (500)
Send ($phone)
EndIf
EndIf
If StringInStr ($line, "www") <> 0 Then ; Если попалась "www.", значит нашли сайт предприятия
$www = StringReplace ($line, chr(09), "") ; Избавляемся от знаков табуляции и пробелов
$www = StringReplace ($www, " ", "")
If $pf = 1 Then ; И если унас есть признак того, что предприятие уже вбито, то печатаем его
MouseClick ("left", 710, 687)
Sleep (500)
Send ($www)
EndIf
EndIf
If StringInStr ($line, "@") <> 0 Then ; Если попалась "@", нашли адрес электронной почты
$email = StringReplace ($line, chr(09), "")
$email = StringReplace ($email, " ", "")
If $pf = 1 Then ; И если унас есть признак того, что предприятие уже вбито, то печатаем его
MouseClick ("left", 710, 658)
Sleep (500)
Send ($email)
EndIf
EndIf
If StringLen ($line) = 0 Then ; Если попалась строка нулевой длины, значит предприяте закончилось, признак предприятия сбрасываем
$pf = 0
$sf = 0
EndIf
$n+=1
Wend