Что нового

[Сеть, интернет] Загрузка из удаленного сервера

Fever

Скриптер
Сообщения
308
Репутация
112
вот есть одна проблемка, нужно чтобы в моем гуи отображался текст из txt файла к примеру по адресу: http://site.ru/text.txt - возможно ли? :wacko:
___________
если что, не ругайте, аутоит ток учу :whistle:
 

Medic84

Омега
Команда форума
Администратор
Сообщения
1,590
Репутация
341
А как насчет что бы файл сначала скачать, а потом отобразить?
 
Автор
F

Fever

Скриптер
Сообщения
308
Репутация
112
Medic84 сказал(а):
А как насчет что бы файл сначала скачать, а потом отобразить?
я об етом думал, файл то скачиваю, а как отобразить txt незнаю... через #include не выходит
 

snoitaleR

AutoIT Гуру
Сообщения
855
Репутация
223
Fever
Вот мой вариант...

Код:
; НАЧАЛО

 $ADR="http://www.autoitscript.com/autoit3/files/beta/update.dat"
 $FILE=@TempDir&"\update.dat"

 GUICreate("Файл из интернета",300,300)
 $EDIT=GUICtrlCreateEdit("",0,0,300,250)
 $BUTTON=GUICtrlCreateButton("Загрузить",0,250,300,50)

 GUISetState()

 While true
  Switch GUIGetMsg()
   Case -3
    Exit
   Case $BUTTON
    LOAD()
    $TEXT=FileRead($FILE)
    GuiCtrlSetData($EDIT,$TEXT)
  EndSwitch
 WEnd

 Func LOAD()
  $hDownload=InetGet($ADR,$FILE,1,1)
  Do
   Sleep(250)
  Until InetGetInfo($hDownload,2)
  InetClose($hDownload)
 EndFunc

; КОНЕЦ
 
Автор
F

Fever

Скриптер
Сообщения
308
Репутация
112
спасибо! работает) :beer: :IL_AutoIt_1:
 
Автор
F

Fever

Скриптер
Сообщения
308
Репутация
112
ладно, а дальше всплывает ещё один вопрос, как сделать чтобы адрес из перепенных $ADR и $FILE вводил я сам?? Пробывал так:
====================================================
$ADR=GUICtrlCreateInput("",0,0,0,0)
$FILE=@TempDir&GUICtrlCreateInput("",0,0,0,0)
====================================================
но не выходит
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
Fever сказал(а):
ладно, а дальше всплывает ещё один вопрос, как сделать чтобы адрес из перепенных $ADR и $FILE вводил я сам?? Пробывал так:
====================================================
$ADR=GUICtrlCreateInput("",0,0,0,0)
$FILE=@TempDir&GUICtrlCreateInput("",0,0,0,0)
====================================================
но не выходит

Вот код из документации.
Далее по аналогии. :smile:

Код:
#include <GUIConstants.au3>

GUICreate("Test", 320,120, @DesktopWidth/2-160, @DesktopHeight/2-45, -1, 0x00000018)
$file = GUICtrlCreateInput ( "", 10,  5, 300, 20)

$btn = GUICtrlCreateButton ("Ok", 40,  75, 60, 20)

GUISetState () 


$msg = 0
While $msg <> $GUI_EVENT_CLOSE
       $msg = GUIGetMsg()
       Select
           Case $msg = $btn
               exitloop
       EndSelect
Wend
  
MsgBox (4096, "drag drop file", GUICtrlRead($file))
 
Автор
F

Fever

Скриптер
Сообщения
308
Репутация
112
точно, о guictrlread забыл) спс


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

Код:
#include <GUIConstants.au3>
 
 GUICreate("Файл из интернета",300,300)
 $ADR=GUICtrlCreateInput("http://www.autoitscript.com/autoit3/files/beta/update.dat",0,210,300,20)
 $FILE=GUICtrlCreateInput("/update.dat",0,230,300,20)
 $FILE_P=@TempDir&GUICtrlRead($FILE)
 $EDIT=GUICtrlCreateEdit("",0,0,300,210)
 $BUTTON=GUICtrlCreateButton("Ok",0,250,300,50)
 
 GUISetState()

 While true
  Switch GUIGetMsg()
   Case -3
    Exit
   Case $BUTTON
    LOAD()
    $TEXT=FileRead($FILE_P)
    GuiCtrlSetData($EDIT,$TEXT)
  EndSwitch
 WEnd

 Func LOAD()
  $hDownload=InetGet(GUICtrlRead($ADR),GUICtrlRead($FILE),1,1)
  Do
   Sleep(250)
  Until InetGetInfo($hDownload,2)
  InetClose($hDownload)
 EndFunc

=======================================
всеравно не пашет...обьясните нубу что не так... :wacko:
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
Смотрим внимательно:
Код:
$ADR=GUICtrlCreateInput("http://www.autoitscript.com/autoit3/files/beta/update.dat",0,210,300,20)
$FILE=GUICtrlCreateInput("/update.dat",0,230,300,20)
$FILE_P=@TempDir&GUICtrlRead($FILE)

а теперь сюда:
Код:
$ADR = GUICtrlCreateInput("http://www.autoitscript.com/autoit3/files/beta/update.dat",0,210,300,20)
$ADR = GUICtrlRead($ADR)
$FILE = GUICtrlCreateInput("update.dat",0,230,300,20)
$FILE = @TempDir & "\" &  GUICtrlRead($FILE)

данные из элемента $ADR кто читать будет $ADR = GUICtrlRead($ADR)? :smile:
 
Автор
F

Fever

Скриптер
Сообщения
308
Репутация
112
данные из переменных уже считываются в функции _Load()
Код:
$hDownload=InetGet(GUICtrlRead($ADR),GUICtrlRead($FILE),1,1)

===================================
даже твой вариант у меня не работает
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
Код:
#include <GUIConstantsEx.au3>

GUICreate("Файл из интернета", 300, 300)
$ADR = GUICtrlCreateInput("http://www.autoitscript.com/autoit3/files/beta/update.dat", 0, 210, 300, 20)
$FILE = GUICtrlCreateInput("update.dat", 0, 230, 300, 20)
$EDIT = GUICtrlCreateEdit("", 0, 0, 300, 210)
$BUTTON = GUICtrlCreateButton("Ok", 0, 250, 300, 50)

GUISetState()

While True
	Switch GUIGetMsg()
		Case $GUI_EVENT_CLOSE
			Exit
		Case $BUTTON
			$FILE_P = LOAD()
			
			$TEXT = FileRead($FILE_P)
			GUICtrlSetData($EDIT, $TEXT)
	EndSwitch
WEnd

Func LOAD()
	Local $sFile = @TempDir & "\" & GUICtrlRead($FILE)
	InetGet(GUICtrlRead($ADR), $sFile, 1, 0)
	
	Return $sFile
EndFunc


В чём проблема?
 
Автор
F

Fever

Скриптер
Сообщения
308
Репутация
112
это работает))) спасибо всем за помощь :laugh:
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
Fever сказал(а):
данные из переменных уже считываются в функции _Load()
Код:
$hDownload=InetGet(GUICtrlRead($ADR),GUICtrlRead($FILE),1,1)

===================================
даже твой вариант у меня не работает
Да виноват, надо было сразу весь код выложить, :( думал смекнёшь.
Код:
; НАЧАЛО
 #include <GUIConstants.au3>

 GUICreate("Файл из интернета",300,300)

 $ADR = GUICtrlCreateInput("http://www.autoitscript.com/autoit3/files/beta/update.dat",0,210,300,20)
 $ADR = GUICtrlRead($ADR)
 $FILE = GUICtrlCreateInput("update.dat",0,230,300,20)
 $FILE = @TempDir& "\" & GUICtrlRead($FILE)
 $EDIT = GUICtrlCreateEdit("",0,0,300,210)
 $BUTTON = GUICtrlCreateButton("Загрузить",0,250,300,50)
 GUISetState()

 While true
  Switch GUIGetMsg()
   Case $GUI_EVENT_CLOSE
    Exit
   Case $BUTTON
    LOAD()
    $TEXT=FileRead($FILE)
    GuiCtrlSetData($EDIT,$TEXT)
  EndSwitch
 WEnd

 Func LOAD()
  $hDownload=InetGet($ADR,$FILE,1,1)
  Do
   Sleep(250)
  Until InetGetInfo($hDownload,2)
  InetClose($hDownload)
 EndFunc

; КОНЕЦ


И такой код, лично у меня, благополучно работает :smile:
Код:
#include <GUIConstantsEx.au3>

GUICreate("Файл из интернета", 300, 300)
$ADR = GUICtrlCreateInput("http://www.autoitscript.com/autoit3/files/beta/update.dat", 0, 210, 300, 20)
$FILE = GUICtrlCreateInput("update.dat", 0, 230, 300, 20)
$EDIT = GUICtrlCreateEdit("", 0, 0, 300, 210)
$BUTTON = GUICtrlCreateButton("Ok", 0, 250, 300, 50)

GUISetState()

While True
    Switch GUIGetMsg()
        Case $GUI_EVENT_CLOSE
            Exit
        Case $BUTTON
			If InetGet(GUICtrlRead($ADR), @TempDir & "\" & GUICtrlRead($FILE), 1, 0)Then 
				ConsoleWrite("Yes! Качаем файл!" &@CRLF)
			Else
				ConsoleWrite("Нет такого файла на сервере :( " &@CRLF)
			EndIf
			
			If FileRead(@TempDir & "\" & GUICtrlRead($FILE)) Then 
				ConsoleWrite("Читаем файл из - [" & @TempDir & "\" & GUICtrlRead($FILE) & "] ;)" &@CRLF)
				GUICtrlSetData($EDIT, FileRead(@TempDir & "\" & GUICtrlRead($FILE)))
			Else
				ConsoleWrite("И в - [" & @TempDir & "\ ] его тоже нет :(" &@CRLF)
			EndIf
    EndSwitch
WEnd

To CreatoR - сразу видна рука мастера :ok:
 
Верх