Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
8 / 2 / 1
Регистрация: 10.08.2011
Сообщений: 68

Всегда новое имя у загруженного на FTP файла, как?

10.08.2011, 17:27. Показов 1397. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день, господа программисты!
Создал проект, функцией которого является загрузка файла на FTP
сервер, т.е. FTP-client. Целью проекта является загрузка файла с постоянно изменяющимися данными (1.txt). Проблема такая:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Option Explicit
Private Declare Function InternetOpen Lib "wininet.dll" Alias "InternetOpenA" (ByVal sAgent As String, ByVal nAccessType As Long, ByVal sProxyName As String, ByVal sProxyBypass As String, ByVal nFlags As Long) As Long
Private Declare Function InternetConnect Lib "wininet.dll" Alias "InternetConnectA" (ByVal hInternetSession As Long, ByVal sServerName As String, ByVal nServerPort As Integer, ByVal sUserName As String, ByVal sPassword As String, ByVal nService As Long, ByVal dwFlags As Long, ByVal dwContext As Long) As Long
Private Declare Function FtpPutFile Lib "wininet.dll" Alias "FtpPutFileA" (ByVal hFtpSession As Long, ByVal lpszLocalFile As String, ByVal lpszRemoteFile As String, ByVal dwFlags As Long, ByVal dwContext As Long) As Boolean
Private Declare Function InternetCloseHandle Lib "wininet.dll" (ByVal hInet As Long) As Integer
Dim rc&
Dim rs&
 
Private Sub Command1_Click()
    rc& = InternetOpen("", 0, vbNullString, vbNullString, 0)
    rs& = InternetConnect(rc&, "ftp.XXXX.XXX", "21", "XXXXX", "XXXXX", 1, 0, 0)
    If FtpPutFile(rs&, "C:\1.txt", "1.txt", 1, 0) = False Then MsgBox "Ошибка передачи файла!", vbExclamation
    Call InternetCloseHandle(rs&)
    Call InternetCloseHandle(rc&)
End Sub
Как Вы видите из строки:

Visual Basic
1
If FtpPutFile(rs&, "C:\1.txt", "1.txt", 1, 0) = False Then MsgBox "Ошибка передачи файла!", vbExclamation
имя файла на сервере будет 1.txt, и при последующих запусках,
клиента имя файла 1.txt меняться не будет, т.е. предыдущий файл
будет перезаписан.

Вопрос:
Как сделать чтобы при запуске FTP-клиента файл сохранялся в
формате:

год-месяц-дата-часов-минут-секунд.txt

времени запуска? Т.е. имя файла никогда не повторялось.

И как сохранить файл не в корень каталога FTP, как здесь:

Visual Basic
1
rs& = InternetConnect(rc&, "ftp.XXXX.XXX", "21", "XXXXX", "XXXXX", 1, 0, 0)
а в подкаталоге, пример:

Visual Basic
1
rs& = InternetConnect(rc&, "ftp.XXXX.XXX/1", "21", "XXXXX", "XXXXX", 1, 0, 0)
когда пишу адрес ftp.XXXX.XXX/1 или ftp.XXXX.XXX/1/ - файл не отправляется вообще.

Спасибо за внимание, очень надеюсь на вашу помощь.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.08.2011, 17:27
Ответы с готовыми решениями:

Вывод имя загруженного файла в ComboBox
if ComboBox1.ItemIndex = 2 then begin OpenDialog1.Filter:='*.txt|*.txt'; OpenDialog1.FileName:=''; ...

Загрузка файла на FTP-сервер с заменой имеющегося и проверкой целостности загруженного
У меня на компе есть файл, который посредством командной строки будет отсылаться мне на ftp каждые десять минут. Но я не уверен, что если...

Передать имя загруженного файла и использовать его
Доброго времени суток, уважаемые форумчане! if(is_uploaded_file($_FILES)) { move_uploaded_file($_FILES, " /путь...

2
es geht mir gut
 Аватар для SoftIce
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
11.08.2011, 07:15
Пример записи в файл с именем датавремя.txt

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
Option Explicit
Dim File As String
Dim DenMesGod As Date
Private Sub Command22_Click()
File = App.Path + "\Data" + "\" + Str(DenMesGod) + CStr(Time) + ".txt"
Open File For Output As #1
      Write #1, CStr(Dannye)
     Close #1
End Sub
Private Sub Form_Load()
  DenMesGod = Date
End Sub
1
73 / 40 / 3
Регистрация: 07.02.2010
Сообщений: 72
12.08.2011, 08:38
к теме подключения к любой папке:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
Sub FTP_FileCopy(FileLocal As String, FileRemote As String)
On Error Resume Next
Dim hConnection As Long, hOpen As Long, sOrgPath As String
'считывание настроек FTP
Call FTP_ConnectParam
If FTP_SERVER = "" Or FTP_LOGIN = "" Or FTP_PASS = "" Then Exit Sub
   lpszLocalFile = FileLocal 'локальный файл, который необходимо закачать
   lpszRemoteFile = FileRemote 'имя, под которым сохраним закачиваемый файл
      
    'Открываем соединение с интернетом
    hOpen = InternetOpen("sample program", INTERNET_OPEN_TYPE_PRECONFIG, vbNullString, vbNullString, 0)
    'Соединяемся с FTP сервером
    hConnection = InternetConnect(hOpen, FTPServer, INTERNET_DEFAULT_FTP_PORT, FTPLogin, FTPPassword, INTERNET_SERVICE_FTP, IIf(PassiveConnection, INTERNET_FLAG_PASSIVE, 0), 0)
    'Создаем буфер для запоминания оригинальной текущей директории
    sOrgPath = String(MAX_PATH, 0)
    'Получаем текущую директорию
    Call FtpGetCurrentDirectory(hConnection, sOrgPath, Len(sOrgPath))
    'Меняем текущую директорию на root/%lpszRemoteDirectory%
    Call FtpSetCurrentDirectory(hConnection, lpszRemoteDirectory)
    'Заливаем файл lpszLocalFile
    lblCopy.Visible = True
    Me.Refresh
    DoEvents
    Call FtpPutFile(hConnection, lpszLocalFile, lpszRemoteFile, FTP_TRANSFER_TYPE_UNKNOWN, 0)
    lblCopy.Visible = False
    'Восстанавливаем оригинальную (сохраненную ранее) текущую директорию
    Call FtpSetCurrentDirectory(hConnection, sOrgPath)
    'Закрываем соединение с FTP сервером
    Call InternetCloseHandle(hConnection)
    'Закрываем соединение с интернетом
    Call InternetCloseHandle(hOpen)
    'обновляем список файлов
    Call FTP_CreateFileList(lpszRemoteDirectory)
End Sub
FTP_ConnectParam - задает параметры подключения
If FTP_SERVER = "" Or FTP_LOGIN = "" Or FTP_PASS = "" Then Exit Sub
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.08.2011, 08:38
Помогаю со студенческими работами здесь

Узнать имя файла, загруженного в компонент TImage
Есть компонент TImage. В него считывается фото из камеры. Как узнать имя файла фото?

Извлечь имя файла изображения, загруженного в динамически созданный picturebox
Здравствуйте. Подскажите, как можно извлечь при клике адрес изображения(т.е имя файла к примеру 1.jpg, 2.jpg) из динамически создаваемых...

Как после смены имени файла получить его новое имя в переменную типа string
string added = Console.ReadLine();//переменная для имени файлов формата added+number+extention string path =...

Как скопировать файл базы данных и чтобы при копировании из Edit бралось новое имя файла?
Так можно задать имя только в коде. if CopyFile('vedomosti.mdb','a.mdb',true) then ShowMessage('База данных скопирована и сохранена под...

Неверное имя файла (ftp)
добрый день. Не могу закинуть файл на ftp. пишет 553 ошибку. Неверное имя файла. ftpfile("/public_html/Lamps.mdb",...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru