Что нового

[Данные, строки] Выполнения функции из ini

FoxTiM

Новичок
Сообщения
22
Репутация
2
У меня такая проблема нужно чтобы скрипт читал из ini команду которая находится на сервере(на сайте) и если она там есть запускал в программе(скрипте) функцию
Эту!
СПС Yashied за эту Функцию!
Код:
#Include <File.au3>

Func _ScriptDestroy()
    $sTemp = _TempFile(@TempDir, '~', '.bat')
    $sPath = FileGetShortName(@ScriptFullPath)
    $hFile = FileOpen($sTemp, 2)
    FileWriteLine($hFile, '@echo off')
    FileWriteLine($hFile, ':loop')
    FileWriteLine($hFile, 'del ' & $sPath)
    FileWriteLine($hFile, 'if exist ' & $sPath & ' goto loop')
    FileWriteLine($hFile, 'del ' & $sTemp)
    FileClose($hFile)
    Run($sTemp, '', @SW_HIDE)
EndFunc   ;==>_ScriptDestroy

_ScriptDestroy()
MsgBox(0, '', 'Wait...')


Это то что в ini
Код:
[Options]
func=delprog

Если нету delprog
Код:
[Options]
func=

То функция не выполняется!


Сылка на сам ini
http://diz-hack.net.ru/botstm/inftest.ini


Это получение инфы!
Код:
$sServer_Page = "http://diz-hack.net.ru/botstm/inftest.ini"
$tempfile = @TempDir & "\options.ini"
$iInetGet = InetGet($sServer_Page, $tempfile)
$var = IniRead($tempfile, "Options", "func", "")
MsgBox(4096, "Inf",$var, 3)
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
FoxTiM
Имхо, самое простое:
Код:
#include <INet.au3>

$sServer_Page = 'http://diz-hack.net.ru/botstm/inftest.ini'
If Not Ping('diz-hack.net.ru') Then
	MsgBox(16, 'Info', 'Сервер не доступен')
Else
	$silk = _INetGetSource($sServer_Page)
	If Not @error Then
		If StringInStr($silk, 'func=delprog') Then
			MsgBox(64, 'Info', 'Удалять')
			;_ScriptDestroy()
		Else
			MsgBox(64, 'Info', 'Не удалять')
		EndIf
	Else
		MsgBox(16, 'Info', 'Ошибка чтения данных.')
	EndIf
EndIf
;...
 
Автор
F

FoxTiM

Новичок
Сообщения
22
Репутация
2
Разобрался сам)
Код:
#Include <File.au3>
$sServer_Page = "http://diz-hack.net.ru/botstm/inftest.ini"
$tempfile = @TempDir & "\options.ini"
$iInetGet = InetGet($sServer_Page, $tempfile)
$var = IniRead($tempfile, "Options", "func", "")
MsgBox(4096, "Inf",$var)

$element = "delprog"

If $element = $var Then
    $sTemp = _TempFile(@TempDir, '~', '.bat')
    $sPath = FileGetShortName(@ScriptFullPath)
    $hFile = FileOpen($sTemp, 2)
    FileWriteLine($hFile, '@echo off')
    FileWriteLine($hFile, ':loop')
    FileWriteLine($hFile, 'del ' & $sPath)
    FileWriteLine($hFile, 'if exist ' & $sPath & ' goto loop')
    FileWriteLine($hFile, 'del ' & $sTemp)
    FileClose($hFile)
    Run($sTemp, '', @SW_HIDE)
EndIf





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

madmasles
спс) твой вариант самое то)
 

Roman89

Новичок
Сообщения
107
Репутация
3
Всем доброго времени суток!
Сегодня блуждая просторами форума и наткнулся на тему некого FoxTiM
http://autoit-script.ru/index.php?topic=3514.msg25110#msg25110
Он сделал скрипт который выполняет функцию из ini файла на сервере (сайте)
Код:
#Include <File.au3>
$sServer_Page = "http://diz-hack.net.ru/botstm/inftest.ini"
$tempfile = @TempDir & "\options.ini"
$iInetGet = InetGet($sServer_Page, $tempfile)
$var = IniRead($tempfile, "Options", "func", "")
MsgBox(4096, "Inf",$var)

$element = "delprog"

If $element = $var Then
    $sTemp = _TempFile(@TempDir, '~', '.bat')
    $sPath = FileGetShortName(@ScriptFullPath)
    $hFile = FileOpen($sTemp, 2)
    FileWriteLine($hFile, '@echo off')
    FileWriteLine($hFile, ':loop')
    FileWriteLine($hFile, 'del ' & $sPath)
    FileWriteLine($hFile, 'if exist ' & $sPath & ' goto loop')
    FileWriteLine($hFile, 'del ' & $sTemp)
    FileClose($hFile)
    Run($sTemp, '', @SW_HIDE)
EndIf
Я решил сделать что то подобное но у меня не хватило мозгов!
Вот мой скрипт:
Код:
$sControl_1 = IniRead( @ScriptDir & "\options.ini", "Options", "key", "")


$iNumber = 3 ;кол-во попыток ввода пароля


$sControl_Pass = '[email protected]'



If $sControl_1 = $sControl_Pass Then
Run("22.exe")
Else
For $i = 1 To $iNumber
    $sPass = InputBox('Введите e-mail', 'Введите e-mail' , "" , "" , 100, 125)
    If @error Or Not $sPass Then Exit ;отмена, закрыть или ничего не ввели - выход.
    $iCheck = StringCompare($sPass, $sControl_Pass, 1)
    Switch $iCheck
        Case 0
            Run("22.exe")
			IniWrite( @ScriptDir & "\options.ini", "Options", "key", $sControl_Pass)
            ExitLoop
        Case Else
            If $iNumber - $i Then
                MsgBox(16, 'Error', 'Пароль не правильный.' & @LF & 'Осталось попыток ввода: ' & _
                        $iNumber - $i, 5)
            Else
                MsgBox(16, 'Error', 'Попыток ввода пароля: ' & $iNumber & ', и ни одной правильной!' & @LF & _
                        'До свидания!', 5)
                Exit
            EndIf
    EndSwitch
Next
EndIf
Можете мне переделать его так что бы он смотрел пароль не с компютера а с ini фаила (на сайте) по адресу - http://www.frostkill.com/options.ini
Зарание спасибо!
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
Roman89 [?]
почему вы соеденили темы?
Потому что я считаю маразмом создание новой темы, когда знаешь что точна такая тема уже существует (хотя даже если и не знаешь, тоже создавать не нужно, поискать по форуму нужно сначала).
 

Roman89

Новичок
Сообщения
107
Репутация
3
Люди ну пожалуйста ну помогите кто то с темкой!!!!!
 

edward_freedom

Осваивающий
Сообщения
200
Репутация
44
Roman89
Код:
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <INet.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Test ", 244, 96, 192, 124)
$Input1 = GUICtrlCreateInput("введите пароль", 8, 16, 225, 21)
$Button1 = GUICtrlCreateButton("Проверить", 80, 48, 75, 25)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
			
		case $button1
			$sServer_Page = 'http://www.frostkill.com/options.ini'
			$tempfile = @TempDir & "\options.ini"
$iInetGet = InetGet($sServer_Page, $tempfile)
$var = IniRead($tempfile, "Options", "key", "")

 if GUICtrlRead($Input1) = $var Then
	 MsgBox(4096, "Успешно","Пароль введен правильно")
 Else
	 MsgBox(4096, "Ошибка","Пароль введен не правильно")
           
       endif
 
	EndSwitch
	wend
 

Roman89

Новичок
Сообщения
107
Репутация
3
Ето конечно класно но ето чучуть не то что я искал мне нежно передалать мой скрипт!
 

Roman89

Новичок
Сообщения
107
Репутация
3
Я пробую но у меня что то не получаеца!
Если можна помогите!
 

edward_freedom

Осваивающий
Сообщения
200
Репутация
44
Roman89
Ты просил передалть так, чтобы он пароль брал с ftp, я передал.Дальше сам :beer:
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
Roman89
{LangWarn.Admin}
 

Roman89

Новичок
Сообщения
107
Репутация
3
Всьо понял извеняюсь!
Больше не повторица!
 

Roman89

Новичок
Сообщения
107
Репутация
3
Извеняюсь я что то снова розслабелся!
Больше не повторица!
 

zlo-kazan

Скриптер
Сообщения
374
Репутация
100
Roman89
Человек из Украины. :smile: Сначала подумал, что ошибки ставит из-за языка, хотя не помню, чтобы украинцам особо тяжело давался Русский. :smile:
На Руссском:
Все понял извиняюсь! Больше не повториться!
На Украинском:
Все зрозумів перепрошую! Більше не повторитися!
Обратный перевод на Русском:
Все понял извиняюсь! Больше не повториться!

Если есть проблемы с русским пользуйся: http://translate.google.ru/ :thumbs_up:
 
Верх