Что нового

Не могу закрыть Блокнот

Сообщения
75
Репутация
-2
Код:
For $i = 1 to UBound( $avArray ) - 1

      WinClose($avArray[$i]&" — Блокнот")

	Next


Поочередно открывают окна, и после изменения должно сразу закрываться. Вот если написать WinClose("1.txt — Блокнот") - оно закроется. А если $avArray[$i] = 1.txt, то не закрывается
 

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
если были изменения, то нужно сначала сохранить, а потом закрывать
Код:
Local $avArray[4] = ['', '1', '2', '3']
For $i = 1 To UBound($avArray) - 1
	WinClose($avArray[$i] & " — Блокнот")
	Send('{ENTER}')
Next
 
Автор
W
Сообщения
75
Репутация
-2
joiner сказал(а):
если были изменения, то нужно сначала сохранить, а потом закрывать
Код:
Local $avArray[4] = ['', '1', '2', '3']
For $i = 1 To UBound($avArray) - 1
	WinClose($avArray[$i] & " — Блокнот")
	Send('{ENTER}')
Next


Если я запишу вот так WinClose("1.txt — Блокнот") , то все работает, окно закрывается.
 

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
В моем блокноте заголовок без ".txt"
 
Автор
W
Сообщения
75
Репутация
-2
joiner сказал(а):
В моем блокноте заголовок без ".txt"


WinClose($avArray[$i]&" - Блокнот")
MsgBox (4, "" , $avArray[$i]&" - Блокнот")
WinClose("1.txt — Блокнот")

Они одинаковые, но WinClose($avArray[$i]&" — Блокнот") так не закрывается, и avArray[$i] = "1.txt — Блокнот"
 

ra4o

AutoIT Гуру
Сообщения
1,165
Репутация
246
У Вас в строке "WinClose($avArray[$i]&" - Блокнот")" сам знак "тире" не тире, а "дефис" (дефис короче), что-бы не заморачиваться с поиском "тире" просто скопируйте его из строки "WinClose("1.txt — Блокнот")" и всё заработает.
Или так :
Код:
WinClose($avArray[0]&" "&ChrW ( 8212 )&" Блокнот")

Или удерживая "Alt" наберите 0151
 
Автор
W
Сообщения
75
Репутация
-2
ra4o сказал(а):
У Вас в строке "WinClose($avArray[$i]&" - Блокнот")" сам знак "тире" не тире, а "дефис" (дефис короче), что-бы не заморачиваться с поиском "тире" просто скопируйте его из строки "WinClose("1.txt — Блокнот")" и всё заработает.
Или так :
Код:
WinClose($avArray[0]&" "&ChrW ( 8212 )&" Блокнот")

Или удерживая "Alt" наберите 0151

Частично решил.

Код:
For $i = 1 to UBound( $avArray ) - 1

			ShellExecute ( @ScriptDir&"\"&$avArray[$i])
			$Read = FileRead($avArray[$i])
			$Replace = StringReplace($Read, (GUICtrlRead($textsearch)), (GUICtrlRead($textreplace)))
			FileDelete($avArray[$i])
			FileWrite($avArray[$i], $Replace)

WinClose($avArray[4])

WinClose($avArray[$i-1]) вот так закрываются вс окна, кроме последнего. WinClose($avArray[4]) - закрывается четвертое окно, а если WinClose($avArray[5]) так, то пятое не закрывается


Добавлено:
Сообщение автоматически объединено:

wasd сказал(а):
ra4o сказал(а):
У Вас в строке "WinClose($avArray[$i]&" - Блокнот")" сам знак "тире" не тире, а "дефис" (дефис короче), что-бы не заморачиваться с поиском "тире" просто скопируйте его из строки "WinClose("1.txt — Блокнот")" и всё заработает.
Или так :
Код:
WinClose($avArray[0]&" "&ChrW ( 8212 )&" Блокнот")

Или удерживая "Alt" наберите 0151

Частично решил.

Код:
For $i = 1 to UBound( $avArray ) - 1

			ShellExecute ( @ScriptDir&"\"&$avArray[$i])
			$Read = FileRead($avArray[$i])
			$Replace = StringReplace($Read, (GUICtrlRead($textsearch)), (GUICtrlRead($textreplace)))
			FileDelete($avArray[$i])
			FileWrite($avArray[$i], $Replace)

WinClose($avArray[4])

WinClose($avArray[$i-1]) вот так закрываются вс окна, кроме последнего. WinClose($avArray[4]) - закрывается четвертое окно, а если WinClose($avArray[5]) так, то пятое не закрывается

Решил
Код:
For $i = 1 to UBound( $avArray ) - 1

			ShellExecute ( @ScriptDir&"\"&$avArray[$i])
			$Read = FileRead($avArray[$i])
			$Replace = StringReplace($Read, (GUICtrlRead($textsearch)), (GUICtrlRead($textreplace)))
			FileDelete($avArray[$i])
			FileWrite($avArray[$i], $Replace)

			WinClose($avArray[$i-1])

			Sleep(500)

		Next

		WinClose($avArray[UBound( $avArray ) - 1])
 

InnI

AutoIT Гуру
Сообщения
4,922
Репутация
1,432
wasd
Ваш скрипт работает напрямую с файлом. Нет необходимости открывать и закрывать блокнот. Тем более, что вы не увидите изменений, т.к. открываете файл в блокноте ДО изменений. Я закомментировал ненужные строки. Почувствуйте разницу ;)
Код:
For $i = 1 to UBound( $avArray ) - 1

            ; ShellExecute ( @ScriptDir&"\"&$avArray[$i])
            $Read = FileRead($avArray[$i])
            $Replace = StringReplace($Read, (GUICtrlRead($textsearch)), (GUICtrlRead($textreplace)))
            FileDelete($avArray[$i])
            FileWrite($avArray[$i], $Replace)

            ; WinClose($avArray[$i-1])

            ; Sleep(500)

        Next

        ; WinClose($avArray[UBound( $avArray ) - 1])
 
Автор
W
Сообщения
75
Репутация
-2
InnI сказал(а):
wasd
Ваш скрипт работает напрямую с файлом. Нет необходимости открывать и закрывать блокнот. Тем более, что вы не увидите изменений, т.к. открываете файл в блокноте ДО изменений. Я закомментировал ненужные строки. Почувствуйте разницу ;)
Код:
For $i = 1 to UBound( $avArray ) - 1

            ; ShellExecute ( @ScriptDir&"\"&$avArray[$i])
            $Read = FileRead($avArray[$i])
            $Replace = StringReplace($Read, (GUICtrlRead($textsearch)), (GUICtrlRead($textreplace)))
            FileDelete($avArray[$i])
            FileWrite($avArray[$i], $Replace)

            ; WinClose($avArray[$i-1])

            ; Sleep(500)

        Next

        ; WinClose($avArray[UBound( $avArray ) - 1])



Я знаю это, мне просто обязательно надо было сделать, чтобы он открывался
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
wasd

Предупреждение За нарушение общих правил (пункт В.2):
Старайтесь избегать “Over quoting” (преувеличенное цитирование) - цитируйте только необходимую часть сообщения, которая наилучшим образом подчеркнёт суть цитируемого.


С уважением, ваш Глобальный модератор.




Предупреждение За нарушение правил форума (пункт В.11):
Любые отрывки AutoIt кода необходимо заключать в тег [autoit]
autoit.gif
(подробнее), а обычный код соответственно в тег [code]
code.gif
(подробнее). Также большие выдержки текста помещайте под тег [spoiler]
spoiler.gif
(подробнее), там где это поддерживается естественно. Как в случае с названием темы, также короткое и эргономичное сообщение привлекает больше внимания, и шансы на получение конкретного ответа увеличиваются.


С уважением, ваш Глобальный модератор.
 
Верх