Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Problem z _FTP_FilePut(...)


Rekomendowane odpowiedzi

Opublikowano

Witam.

 

Ostatnio zacząłem się bawić z FTP i napotkałem taki błąd... Nie wiem, dlaczego tak się dzieje.

 

 

Kodzik :

 

 


#Include <FTPex.au3>

$server = 'localhost'
$username = 'Suchy'
$pass = ''



$Open = _FTP_Open("MyFTP Control")
$Connection = _FTP_Connect($Open, $Server, $Username, $Pass)
_FTP_FileGet($Connection, "naftp.txt", "nakompie.txt")

;~ $File = FileOpen("nakompie.txt",1)

;~ FileWrite($File, "AIUGFBWIUABDUYAVIUYIBWGUABOISD")

Sleep(500)


_FTP_FilePut($Connection, "Nakompie.txt", "naftp123.txt")


_FTP_Close($Connection)

 

Teraz działa, ale gdy zmodifikuję ten plik tekstowy (Linijka $File = FileOpen("nakompie.txt",1) i FileWrite($File,'...') to plik

nie leci na server FTP.

 

 

Dzięki z góry.

1352970251-U713459.png

By Maxiu
"Because limits, like fears, are often just an illusion"

Opublikowano

zamknij plik

FileClose($File)

 

podawaj błędy konsoli w razie błędnego działania

If you = stupid then

insert(foot.in.your.ass)

end if

licznik-54-96732-stat.png

Opublikowano

@EDIT

 

 

Głupi ja, głupi ja.

Przecież to logiczne.

 

Dzięki robem :)

1352970251-U713459.png

By Maxiu
"Because limits, like fears, are often just an illusion"

Opublikowano

Mam problem, wcześniej miałem chyba taki sam kod i wszystko działało, a teraz nie chce:

#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <GUIListBox.au3>
#include <StaticConstants.au3>
#include <TabConstants.au3>
#include <WindowsConstants.au3>
#Include <FTPex.au3>

$server = 'xxxxxxxxxxx'
$username = 'xxxxxxxxxxxxxxxx'
$pass = 'xxxxxxxxxxxxxxxxxxx'


$Open = _FTP_Open("MyFTP Control")
$Connection = _FTP_Connect($Open, $server, $username, $pass)
$Read = FileRead("Lista.txt")
_FTP_Close($Connection)

$Form1 = GUICreate("Program", 801, 601, 251, 162)
$Button1 = GUICtrlCreateButton("Załaduj", 616, 24, 81, 33, $WS_GROUP)
$List1 = GUICtrlCreateList("", 8, 30, 581, 552)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
   GUICtrlSetData($List1, $Read)
EndSwitch
WEnd

 

Nie wpisuje tekstu do listy.

obraz24.png


Opublikowano

Ma czytać z dysku czy z FTP ten plik?

Bo jeśli z dysku to po co jest FTP? o.O

1352970251-U713459.png

By Maxiu
"Because limits, like fears, are often just an illusion"

Opublikowano

To zrób _FTP_FileGet(), FileOpen tego fila, FileRead, FileClose, _FTP_FilePut, FileDelete... Np. :D

1352970251-U713459.png

By Maxiu
"Because limits, like fears, are often just an illusion"

Opublikowano

a babcia sąsiadka ściągnie plik na dysk ?

 

_FTP_FileGet i dopiero można go czytać z dysku, praktycznie według kolejności jak post wyżej

If you = stupid then

insert(foot.in.your.ass)

end if

licznik-54-96732-stat.png

Opublikowano

Nie rozumiem. Co mam źle?

$Open = _FTP_Open("MyFTP Control")
$Connect = _FTP_Connect($Open, $Serwer, $Login, $Pass)
$GMDL = _FTP_FileGet($Connect, "\Game_Menu.txt", "GM.txt")
$GMO = _FTP_FileOpen($Connect, "GM.txt")
$GMR = _FTP_FileRead($GMO, 10000)
$GMC = _FTP_FileClose($GMO)
$GMP = _FTP_FilePut($Connect, "GM.txt", "\Game_Menu.txt")
$GMD = _FTP_FileDelete($Connect, "\Game_Menu.txt")
$Close = _FTP_Close($Connect)

Gdy uruchamiam GUICtrlSetData, to pojawia się 0 na liście.

Trochę nie rozumiem opisu tych komend po angielsku.

obraz24.png


Opublikowano

Nie ma autoita teraz to nie powiem , nawet logu nie dałeś z konsoli, tam ci pokazuje dokładnie w którym miejscu masz błąd.

 

Bez całości kodu to jak z dupy wzięte w kawałku znajść błąd którego nawet w nim nie widać

Mózg to nie mydło; nie ubędzie Ci go, gdy go użyjesz.

Opublikowano

@UP Jak byś wiedział o co chodzi to byś pomógł...

Jak byś czytał uważnie to byś wiedział, że żaden błąd się nie pokazuje.

Ale masz kod:

#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <GUIListBox.au3>
#include <StaticConstants.au3>
#include <TabConstants.au3>
#include <WindowsConstants.au3>
#Include <FTPex.au3>


$Serwer = 'xxxxxxxxxxxxxxxxxx'
$Login = 'xxxxxxxxxxxxxxxx'
$Pass = 'xxxxxxxxxxxxxxxxx'

$Open = _FTP_Open("MyFTP Control")
$Connect = _FTP_Connect($Open, $Serwer, $Login, $Pass)
$GMDL = _FTP_FileGet($Connect, "\Game_Menu.txt", "GM.txt")
$GMO = _FTP_FileOpen($Connect, "GM.txt")
$GMR = _FTP_FileRead($GMO, 10000)
$GMC = _FTP_FileClose($GMO)
$GMP = _FTP_FilePut($Connect, "GM.txt", "\Game_Menu.txt")
$GMD = _FTP_FileDelete($Connect, "\Game_Menu.txt")
$Close = _FTP_Close($Connect)

$Form1 = GUICreate("Active Links", 801, 601, 251, 162)
$Tab1 = GUICtrlCreateTab(0, 0, 600, 600)
;######################################################################
$GryTab = GUICtrlCreateTabItem("Gry")
$GryLista = GUICtrlCreateList("", 8, 30, 581, 552)
$GBut1 = GUICtrlCreateButton("Wybierz", 608, 80, 81, 33, $WS_GROUP)
$GBut2 = GUICtrlCreateButton("Załaduj", 608, 32, 185, 41, $WS_GROUP)
$GBut3 = GUICtrlCreateButton("Wróć", 704, 80, 89, 33, $WS_GROUP)
;######################################################################
$FilmTab = GUICtrlCreateTabItem("Filmy")
$FilmLista = GUICtrlCreateList("", 8, 30, 581, 552)
$FBut1 = GUICtrlCreateButton("Wybierz", 608, 80, 81, 33, $WS_GROUP)
$FBut2 = GUICtrlCreateButton("Załaduj", 608, 32, 185, 41, $WS_GROUP)
$FBut3 = GUICtrlCreateButton("Wróć", 704, 80, 89, 33, $WS_GROUP)
;######################################################################
$TeledysloTab = GUICtrlCreateTabItem("Teledyski")
$TeledyskiLista = GUICtrlCreateList("", 8, 30, 581, 552)
$TBut1 = GUICtrlCreateButton("Wybierz", 608, 80, 81, 33, $WS_GROUP)
$TBut2 = GUICtrlCreateButton("Załaduj", 608, 32, 185, 41, $WS_GROUP)
$TBut3 = GUICtrlCreateButton("Wróć", 704, 80, 89, 33, $WS_GROUP)
;######################################################################
$MuzykaTab = GUICtrlCreateTabItem("Muzyka")
$MuzykaLista = GUICtrlCreateList("", 8, 30, 581, 552)
$MBut1 = GUICtrlCreateButton("Wybierz", 608, 80, 81, 33, $WS_GROUP)
$MBut2 = GUICtrlCreateButton("Załaduj", 608, 32, 185, 41, $WS_GROUP)
$MBut3 = GUICtrlCreateButton("Wróć", 704, 80, 89, 33, $WS_GROUP)
;######################################################################
$ProgramyTab = GUICtrlCreateTabItem("Programy")
$ProgramyLista = GUICtrlCreateList("", 8, 30, 581, 552)
$PBut1 = GUICtrlCreateButton("Wybierz", 608, 80, 81, 33, $WS_GROUP)
$PBut2 = GUICtrlCreateButton("Załaduj", 608, 32, 185, 41, $WS_GROUP)
$PBut3 = GUICtrlCreateButton("Wróć", 704, 80, 89, 33, $WS_GROUP)
;######################################################################
$DokumentyTab = GUICtrlCreateTabItem("Dokumenty")
$DokumentyLista = GUICtrlCreateList("", 8, 30, 581, 552)
$DBut1 = GUICtrlCreateButton("Wybierz", 608, 80, 81, 33, $WS_GROUP)
$DBut2 = GUICtrlCreateButton("Załaduj", 608, 32, 185, 41, $WS_GROUP)
$DBut3 = GUICtrlCreateButton("Wróć", 704, 80, 89, 33, $WS_GROUP)
;######################################################################
GUISetState(@SW_SHOW)

While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit

Case $GBut2
GUICtrlSetData($GryLista, $GMR)
EndSwitch
WEnd

obraz24.png


Opublikowano

Powiem ci tak, program robi dokładnie to co mu karzesz czyli : NIC

 

Określiłeś zmienne ale nie wykonujesz żadnych działań nawet związanych ze ściagnięciem czegoś

Mózg to nie mydło; nie ubędzie Ci go, gdy go użyjesz.

Opublikowano

Może poprostu wytłumaczysz jak to zrobić, a mianowicie, program odczyruje plik txt z serwera ftp i jego zawartość wkleja do czegoś tam...

@Edit Chyba mam :). Ale jeszcze nie sprawdziłem.

obraz24.png


Opublikowano

Dobra mam kolejny problem.

 

Mam sobię Connecta :

 

 

Func Refresh()

Local $Data

$Open = _FTP_Open("MyFTP Control")
$Conn = _FTP_Connect($Open, $Server, $User, $Pass)

MsgBox(0,"",$conn)
_FTP_FileGet($Conn, "Players.txt", "Temporary.txt")
$plik = FileOpen("Temporary.txt",0)
For $i = 1 To 50
  $readed = FileReadLine($plik, $i)

  If $readed = "" Then
   $Data = "-"
   ExitLoop
  EndIf
;~   
  $i = $i + 1
  $Data = $readed & "|"

  GUICtrlSetData($GamersList,$Data)
  MsgBox(0,"",$data)

Next

FileDelete("Temporary.txt")

_FTP_Close($Open)
EndFunc

 

Niby nic... Działa, ale tylko za pierwszym razem (Klikne sobię na przycisk Refreshu, odświezy, wypełni listę - ogólnie okej).

Gdy kliknę odśwież drugi raz, już się nic nie dzieje. Nie odświeży listy... Za cholerę.

 

Co tutaj jest źle?

1352970251-U713459.png

By Maxiu
"Because limits, like fears, are often just an illusion"

Opublikowano

Tak, ale nie użyłem tutaj _FTP_FileOpen, tylko go ściągnałem, otworzyłem i zamknąłem, więc to chyba nie to :D

1352970251-U713459.png

By Maxiu
"Because limits, like fears, are often just an illusion"

Opublikowano

#EDIT

 

 

Dobra, zapomniałem (nie wiem jakim cudem) o FileClose...

 

Rozwiązane.

1352970251-U713459.png

By Maxiu
"Because limits, like fears, are often just an illusion"

Opublikowano

Ja nie wiem, jak robiłem serwer przez CesarFTP, to wszystko działało, a na darmowym cba nie chce :(.

Jak korzystać z _FTP_FileGet bo nie rozumiem.

obraz24.png


Opublikowano

Dam Ci kawałek mojeg kodu:

 

 

Func Refresh()

Local $Data

$Open = _FTP_Open("MyFTP Control")
$Conn = _FTP_Connect($Open, $Server, $User, $Pass)

;~  MsgBox(0,"",$conn)

_FTP_FileGet($Conn, "Players.txt", "Temporary.txt")
$plik = FileOpen("Temporary.txt",0)
For $i = 1 To 50
  $readed = FileReadLine($plik, $i)

  If $readed = "" Then
   $Data = "-"
   ExitLoop
  EndIf
;~   
  $i = $i + 1
  $Data = $readed & "|"

  GUICtrlSetData($GamersList,$Data)
;~    MsgBox(0,"",$data)

Next


 FileClose($plik)

;~  _FTP_FileClose($Plik)
_FTP_Close($Open)
 FileDelete("Temporary.txt")
;~ MsgBox(0,"","Done")
EndFunc

 

Łączenie się, pobieranie, czytanie, modyfikacja, zamknięcie, wrzucienie na FTP, zamknięcie FTP.

1352970251-U713459.png

By Maxiu
"Because limits, like fears, are often just an illusion"

Opublikowano

Dalej nie działa. Co mam źle?

#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <GUIListBox.au3>
#include <StaticConstants.au3>
#include <TabConstants.au3>
#include <WindowsConstants.au3>
#Include <FTPex.au3>


$Serwer = '85.17.25.236'
$Login = '[email protected]'
$Pass = 'id54GB79ews57Tqu'

$Serwer_Open = _FTP_Open("MyFTP Control")
$Serwer_Connect = _FTP_Connect($Serwer_Open, $Serwer, $Login, $Pass)

$Refresh_Download = _FTP_FileGet($Serwer_Connect, "Refresh.txt", "RefreshC.txt")
$Refresh_Open = FileOpen("RefreshC.txt", 0)
$Refresh_Read = FileRead($Refresh_Open)
$Refresh_Close = FileClose($Refresh_Open)

$Form1 = GUICreate("Active Links", 801, 601, 251, 162)
$Tab1 = GUICtrlCreateTab(0, 0, 600, 600)
;######################################################################
$GryTab = GUICtrlCreateTabItem("Gry")
$GryLista = GUICtrlCreateList("", 8, 30, 581, 552)
$GBut1 = GUICtrlCreateButton("Wybierz", 608, 80, 81, 33, $WS_GROUP)
$GBut2 = GUICtrlCreateButton("Załaduj", 608, 32, 185, 41, $WS_GROUP)
$GBut3 = GUICtrlCreateButton("Wróć", 704, 80, 89, 33, $WS_GROUP)
;######################################################################
$FilmTab = GUICtrlCreateTabItem("Filmy")
$FilmLista = GUICtrlCreateList("", 8, 30, 581, 552)
$FBut1 = GUICtrlCreateButton("Wybierz", 608, 80, 81, 33, $WS_GROUP)
$FBut2 = GUICtrlCreateButton("Załaduj", 608, 32, 185, 41, $WS_GROUP)
$FBut3 = GUICtrlCreateButton("Wróć", 704, 80, 89, 33, $WS_GROUP)
;######################################################################
$TeledysloTab = GUICtrlCreateTabItem("Teledyski")
$TeledyskiLista = GUICtrlCreateList("", 8, 30, 581, 552)
$TBut1 = GUICtrlCreateButton("Wybierz", 608, 80, 81, 33, $WS_GROUP)
$TBut2 = GUICtrlCreateButton("Załaduj", 608, 32, 185, 41, $WS_GROUP)
$TBut3 = GUICtrlCreateButton("Wróć", 704, 80, 89, 33, $WS_GROUP)
;######################################################################
$MuzykaTab = GUICtrlCreateTabItem("Muzyka")
$MuzykaLista = GUICtrlCreateList("", 8, 30, 581, 552)
$MBut1 = GUICtrlCreateButton("Wybierz", 608, 80, 81, 33, $WS_GROUP)
$MBut2 = GUICtrlCreateButton("Załaduj", 608, 32, 185, 41, $WS_GROUP)
$MBut3 = GUICtrlCreateButton("Wróć", 704, 80, 89, 33, $WS_GROUP)
;######################################################################
$ProgramyTab = GUICtrlCreateTabItem("Programy")
$ProgramyLista = GUICtrlCreateList("", 8, 30, 581, 552)
$PBut1 = GUICtrlCreateButton("Wybierz", 608, 80, 81, 33, $WS_GROUP)
$PBut2 = GUICtrlCreateButton("Załaduj", 608, 32, 185, 41, $WS_GROUP)
$PBut3 = GUICtrlCreateButton("Wróć", 704, 80, 89, 33, $WS_GROUP)
;######################################################################
$DokumentyTab = GUICtrlCreateTabItem("Dokumenty")
$DokumentyLista = GUICtrlCreateList("", 8, 30, 581, 552)
$DBut1 = GUICtrlCreateButton("Wybierz", 608, 80, 81, 33, $WS_GROUP)
$DBut2 = GUICtrlCreateButton("Załaduj", 608, 32, 185, 41, $WS_GROUP)
$DBut3 = GUICtrlCreateButton("Wróć", 704, 80, 89, 33, $WS_GROUP)
;######################################################################
GUISetState(@SW_SHOW)

While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit

Case $GBut2
   GUICtrlSetData($GryLista, $Refresh_Read)

   $Refresh_Download = _FTP_FileGet($Serwer_Connect, "Game_Menu.txt", "Game_MenuC.txt")
   $Game_Menu_Open = FileOpen("Game_MenuC.txt", 0)
   $Game_Menu_Read = FileRead($Game_Menu_Open)
   $Game_Menu_Close = FileClose($Game_Menu_Open)
   GUICtrlSetData($GryLista, $Game_Menu_Read)
EndSwitch
WEnd

obraz24.png


Opublikowano

_FTP_FileGet nie musi być zadeklarowane. Ono nie czyta wartości. Po drugie, najpierw nadajesz wartość obiektu, a potem ustalasz zmienną.

 

Robisz:

 

 

$Open = _FTP_Open("MyFTP Control")
$Conn = _FTP_Connect($Open, $Server, $User, $Pass)
_FTP_FileGet($conn, "pliknaFTP.txt", "pliknakompie.txt")
$file = FileOpen("pliknakompie.txt")
$readed = FileRead($File)
GUICtrlSetData($Control, $readed)
FileClose($File)
_FTP_Close($Open)

 

Pisane tutaj, na szybko. Mów co i jak.

1352970251-U713459.png

By Maxiu
"Because limits, like fears, are often just an illusion"

Opublikowano

Ale co jest dokładniej? Błąd w konsoli? Nie przesyła pliku? Nie czyta? No kórfa powiedz coś więcej :)

1352970251-U713459.png

By Maxiu
"Because limits, like fears, are often just an illusion"

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...