Автоматизация и боты

 Помощь      Поиск      Пользователи
Сайт Кибор     Программируемый кликер Кибор     Видео обучение     Заказать бот

 Страниц (4): « 1 [2] 3 4 »   

> Описание: внутри...
Zireael
Отправлено: 01 Мая, 2021 - 16:54:46
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4465
Дата рег-ции: Нояб. 2017  
Репутация: 585




 Цитата:
второй строка я так понял куда запишется полученный путь, я не понял что передавать в третий параметр?

CODE:
char buf[256];
int len_buf=256;
FtpGetCurrentDirectory(connect, address(#buf[0]), address(#len_buf));
messagebox(len_buf);
messagebox(format(#buf[0], len_buf));
 
 Top
ivantu
Отправлено: 01 Мая, 2021 - 16:56:59
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 732
Дата рег-ции: Нояб. 2013  
Репутация: 14




Спасибо, блин но откуда вы знаете что нужно передавать в address() , когда же я научусь пользоваться инструкциями ... (

кстати вернуло "/"

А как теперь поменять путь?

Все, путь прописал сам., спасибо еще раз.

(Отредактировано автором: 01 Мая, 2021 - 17:03:18)

 
 Top
Zireael
Отправлено: 01 Мая, 2021 - 17:58:37
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4465
Дата рег-ции: Нояб. 2017  
Репутация: 585




 Цитата:
вернуло "/"

Сколько байт записало в буфер?
 Цитата:
путь прописал сам

А до этого почему не работало?
(Добавление)
 Цитата:
но откуда вы знаете что нужно передавать в address()

Из описания функции:
LPSTR lpszCurrentDirectory - Pointer to a null-terminated string (указатель на строку).
LPDWORD lpdwCurrentDirectory - Pointer to a variable that specifies the length of the buffer (указатель на переменную, которая содержит размер массива, куда запишется путь).
Строка это массив char, а переменная это int, т. к. unsigned long (DWORD) в кибор нет.
 
 Top
ivantu
Отправлено: 01 Мая, 2021 - 20:03:14
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 732
Дата рег-ции: Нояб. 2013  
Репутация: 14




 Zireael пишет:
А до этого почему не работало?


не могу сказать, было так не работало:

 Цитата:
if(FtpSetCurrentDirectory(connect, server_name)>0) // если перешло в папку вернёт 1


прописал вручную путь относительно корневого каталога /
 Цитата:
if(FtpSetCurrentDirectory(connect, "/public_html/botfolder/"Подмигивание>0) // если перешло в папку вернёт 1


 Zireael пишет:
Сколько байт записало в буфер?

messagebox(len_buf) - вывел 1
(Добавление)
Подскажите пожалуйста, этим способом можно текстовый файл открыть для редактирования на сервере?
(Добавление)
Подскажите пожалуйста, этим способом можно текстовый файл открыть для редактирования на сервере?
Редактировать понял как.
 
 Top
Zireael
Отправлено: 01 Мая, 2021 - 20:32:02
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4465
Дата рег-ции: Нояб. 2017  
Репутация: 585




 Цитата:
можно текстовый файл открыть для редактирования на сервере?

FtpOpenFileA
InternetReadFile
InternetWriteFile
 
 Top
ivantu
Отправлено: 01 Мая, 2021 - 20:33:03
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 732
Дата рег-ции: Нояб. 2013  
Репутация: 14




 Zireael пишет:
FtpOpenFileA
InternetReadFile
InternetWriteFile

Постараюсь сам.
(Добавление)
Вот что получилось, выводит только кракозябры.

CODE:

#define GENERIC_READ 0x80000000
#define FTP_TRANSFER_TYPE_BINARY 0x00000002
char buf2[256];
FtpOpenFile( connect, address(#buf2[0]), GENERIC_READ, FTP_TRANSFER_TYPE_BINARY, -1);
messagebox(format(#buf2[0]));
 
 Top
Zireael
Отправлено: 01 Мая, 2021 - 21:03:51
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4465
Дата рег-ции: Нояб. 2017  
Репутация: 585




 Цитата:
#define GENERIC_READ 0x80000000

CODE:
#define GENERIC_READ -2147483648

 Цитата:
выводит только кракозябры.

Функция FtpOpenFile не читает и не записывает, а только открывает файл для чтения или записи. Вторым параметром принимает имя файла. Если какой-то параметр не используется, то обычно передаётся 0, а не -1.
 
 Top
ivantu
Отправлено: 01 Мая, 2021 - 21:10:16
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 732
Дата рег-ции: Нояб. 2013  
Репутация: 14




 Zireael пишет:
#define GENERIC_READ -2147483648

хм... я другое значение нашел, странно...

CODE:
pub const GENERIC_READ: DWORD = 0x80000000;

(Добавление)
Возвращаемое значение
Возвращает дескриптор в случае успеха или NULL в противном случае. Чтобы получить определенное сообщение об ошибке, вызовите GetLastError.

Так, я получил дескриптор , как теперь получить текст?
 
 Top
Zireael
Отправлено: 01 Мая, 2021 - 21:17:45
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4465
Дата рег-ции: Нояб. 2017  
Репутация: 585




 Цитата:
0x80000000

Это правильное значение, только в кибор нет unsigned int.
 Цитата:
получил дескриптор , как теперь получить текст?

Названия функций и их описание совсем ни о чём не говорят? InternetReadFile.
 
 Top
ivantu
Отправлено: 01 Мая, 2021 - 21:42:53
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 732
Дата рег-ции: Нояб. 2013  
Репутация: 14




Вот так пробую, что то не получается.

CODE:

read_file=FtpOpenFile( connect, "1.txt", GENERIC_READ, FTP_TRANSFER_TYPE_BINARY, 0);
if(read_file>0) {
char buff[256];
InternetReadFile(read_file, address(#buff[0]), size(#buff[0]), 0);
messagebox(format(#buff[0]));
}

(Отредактировано автором: 01 Мая, 2021 - 21:45:18)

 
 Top
Страниц (4): « 1 [2] 3 4 »
Сейчас эту тему просматривают: 9 (гостей: 9, зарегистрированных: 0)
« Вопросы и решение проблем »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 




Powered by