В прошлый раз я тупанул =) забыл поставить режим. А вот сейчас ошибочка посерьезнее.
Т.к дебаггер не знает как выводить значение файла. Стал заниматься само дебаггингом =)
Вот что получается.
Ошибка ftp: Unkown error =)
Значенье ftp 0 ??
код такой:
#include "widget.h"
#include "ui_widget.h"
#include <QFile>
#include <QTextStream>
#include <QMessageBox>
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
connect(&ftp,SIGNAL(done(bool)),this,SLOT(done_void()));
connect(ui->send,SIGNAL(clicked()),this,SLOT(send_button_on_pushed()));
}
void Widget::send_button_on_pushed()
{
ftp.connectToHost("*********************");
ftp.login("*****************","***************");
QFile file(ui->name_lineedit->text()+".html");
if
(file.open(QIODevice::ReadOnly | QIODevice::Text))
{
ftp.put(&file,ui->name_lineedit->text());
QMessageBox::about(0,"",ftp.errorString());
file.close();
}
else{
QMessageBox::critical(0,"Ошибка","Ошибка: невозможно открыть файл, возможно, он не создан или используется в другой программе.");
}
}
void Widget::done_void()
{
//ftp.deleteLater(); незнаю что тут писать =)
}
Widget::~Widget()
{
delete ui;
}
По моему ошибка Unkown error как раз говорит что нет ошибки )).
Уберите QMessageBox::about(0,"",ftp.errorString());
есть сигнал void QFtp::dataTransferProgress ( qint64 done, qint64 total ) , соедините со своим слотом и там посмотрите передача точно не идет.
да я знаю, что нет ошибки =) в этом вся проблема. да, да, передача 0
QAbstractSocket::connectToHost() called when already looking up or connecting/connected to "upl.stg957.ifolder.ru"
Еще перед тем что б закрыть файл надо сначала получить сигнал void commandFinished ( int id, bool error ) там выяснять по его id какая именно команда завершена и если это конец закачки то тогда закрывать файл.
QFile::setFileName: File (gg.html) is already opened
QFile::setFileName: File (gg.html) is already opened
QFile::setFileName: File (gg.html) is already opened
QAbstractSocket::connectToHost() called when already looking up or connecting/connected to "upl.stg957.ifolder.ru"
он 4 раза подряд вызывается???
я вас не понял =)
#include "widget.h"
#include "ui_widget.h"
#include <Qfile>
#include <QTextStream>
#include <QMessageBox>
Qfile file;
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
connect(&ftp,SIGNAL(done(bool)),this,SLOT(done_void()));
connect(ui->send,SIGNAL(clicked()),this,SLOT(send_button_on_pushed()));
connect(&ftp,SIGNAL(commandFinished(int,bool)),this,SLOT(send_button_on_pushed()));
}
void Widget::send_button_on_pushed()
{
ftp.connectToHost("upl.stg957.ifolder.ru");
ftp.login("vovapodlesnov@gmail.com","123");
::::file.set::fileName(ui->name_lineedit->text()+".html");
//Q::file ::file(ui->name_lineedit->text()+".html");
if
(::file.open(QIODevice::ReadOnly | QIODevice::Text))
{
ftp.put(&::file,ui->name_lineedit->text());
QMessageBox::about(0,"",ftp.errorString());
//::file.close();
}
else{
QMessageBox::critical(0,"Ошибка","Ошибка: невозможно открыть файл, возможно, он не создан или используется в другой программе.");
}
}
void Widget::command_fineshed_void()
{
::file.close();
}
void Widget::done_void()
{
//ftp.deleteLater();
}
Widget::~Widget()
{
delete ui;
}
#include "widget.h"
#include "ui_widget.h"
#include <Qfile>
#include <QTextStream>
#include <QMessageBox>
Qfile file;
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
connect(&ftp,SIGNAL(done(bool)),this,SLOT(done_void()));
connect(ui->send,SIGNAL(clicked()),this,SLOT(send_button_on_pushed()));
connect(&ftp,SIGNAL(commandFinished(int,bool)),this,SLOT(command_fineshed_void()));
}
void Widget::send_button_on_pushed()
{
ftp.connectToHost("upl.stg957.ifolder.ru");
ftp.login("vovapodlesnov@gmail.com","123");
::::file.set::fileName(ui->name_lineedit->text()+".html");
//Q::file ::file(ui->name_lineedit->text()+".html");
if
(::file.open(QIODevice::ReadOnly | QIODevice::Text))
{
ftp.put(&::file,ui->name_lineedit->text());
QMessageBox::about(0,"",ftp.errorString());
//::file.close();
}
else{
QMessageBox::critical(0,"Ошибка","Ошибка: невозможно открыть файл, возможно, он не создан или используется в другой программе.");
}
}
void Widget::command_fineshed_void()
{
::file.close();
}
void Widget::done_void()
{
//ftp.deleteLater();
}
Widget::~Widget()
{
delete ui;
}
Попробуйте так .
#include "widget.h"
#include "ui_widget.h"
#include <QFile>
#include <QTextStream>
#include <QMessageBox>
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
connect(&ftp,SIGNAL(done(bool)),this,SLOT(done_void()));
connect(ui->send,SIGNAL(clicked()),this,SLOT(send_button_on_pushed()));
connect(&ftp,SIGNAL(commandFinished(int,bool)),this,SLOT(slotCommandFinish(int,bool)));
}
/*соответственно этот слот сначала объявите у себя в widget.h*/
void Widget::slotCommandFinish( int id, bool error){
if(id == QFtp::Put){
file.close();
QMessageBox::information(this,"Инфо","Загрузка завершена");
}
}
void Widget::send_button_on_pushed()
{
ftp.connectToHost("*********************");
ftp.login("*****************","***************");
file.setFileName(ui->name_lineedit->text()+".html");
if(file.open(QIODevice::ReadOnly | QIODevice::Text))
{
ftp.put(&file,ui->name_lineedit->text());
}
else{
QMessageBox::critical(0,"Ошибка","Ошибка: невозможно открыть файл, возможно, он не создан или используется в другой программе.");
}
}
void Widget::done_void()
{
}
Widget::~Widget()
{
delete ui;
}
спасибо. проблема та же =(
команда вообще не выполняется, похоже =)
crashsp, спасибо =)
Единственное, что радует, то что я код писать умею =) а то... тогда б получилось, что я дебил, не знающий не фига =)
http://ubuntuone.com/6fOnOnU58cSGwXumdZLZ17
Vova, думай над названием тем.
Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)