Russian Qt Forum
Ноябрь 05, 2024, 13:45 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 ... 7 8 [9] 10 11 12   Вниз
  Печать  
Автор Тема: Помогите новичку (совсем новичку)  (Прочитано 85152 раз)
Den2009
Гость
« Ответ #120 : Декабрь 28, 2009, 00:37 »

все равно в блокноте так же...
попробую погуглить...
как вставить текущую дату и время??
Записан
Dendy
Гость
« Ответ #121 : Декабрь 28, 2009, 00:53 »

QDateTime::currentDateTime().toString()
Записан
Den2009
Гость
« Ответ #122 : Декабрь 28, 2009, 10:45 »

перенос строки:
Код:
     QFile file("./log.txt");
     file.open(QIODevice::WriteOnly);
     QTextStream out(&file);
     out << "This is log-file\r\n";
     out << "This is :)\r\n";
     file.close();
Записан
Den2009
Гость
« Ответ #123 : Декабрь 28, 2009, 10:49 »

делаю так:
Код:
     QString str;
     QDateTime::currentDateTime().toString(str);
     file.open(QIODevice::WriteOnly);
     QTextStream out(&file);
     out << str << " This is log-file\r\n";
     out << str << " This is :)\r\n";
     file.close();
дату и время не вставляет
Записан
Dendy
Гость
« Ответ #124 : Декабрь 28, 2009, 11:42 »

А документацию почитать? QString str = QDateTime::currentDateTime().toString()
Записан
ilot
Гость
« Ответ #125 : Декабрь 28, 2009, 11:46 »

Цитировать
дату и время не вставляет
и правильно делает. Если буквально, то в данном случае Вы задаете формат даты-времени как пустую строку. В переменную str нужно писать, а не передавать ее в качестве параметра (см. документацию):
Цитировать
QString str;
str = QDateTime::currentDateTime().toString();
или со строкой форматирования:
Цитировать
QString str;
str = QDateTime::currentDateTime().toString("hh:mm:ss");

ЗЫ. пока писал уже ответили  Улыбающийся
Записан
Den2009
Гость
« Ответ #126 : Декабрь 28, 2009, 16:08 »

небольшой вопрос по 2-й программе нарисовался.
требуется открыть файл (текстовый) и вывести его содержимое в окне TextEdit, которое называется textInput. 
делаю так:
Код:
void MainWindow::openFile()
{
    QString fileName = QFileDialog::getOpenFileName(".", "all(*.*)", this, (tr("File select")));
    QFile file1(fileName);
    if (file1.open(QIODevice::ReadOnly))
    {
        QTextStream stream(&file1);
        while (!stream.atEnd())
        {
            textInput->setText(stream.read());
        }

    }
    file1.close();
}
выдает такие ошибки:
C:/Pr2/proga2.cpp:19: error: no matching function for call to 'QFileDialog::getOpenFileName(const char [2], const char [9], MainWindow* const, QString)'
C:/Pr2/proga2.cpp:26: error: no matching function for call to 'QTextStream::read()'
Записан
Den2009
Гость
« Ответ #127 : Декабрь 28, 2009, 16:15 »

или со строкой форматирования:
Цитировать
QString str;
str = QDateTime::currentDateTime().toString("hh:mm:ss");
а как задать формат вида: число, месяц, год, часы, минут, секунды??
если задавать без параметров, то пишет:
Код:
Пн 28. дек 16:14:27 2009 This is log-file
Записан
gmorgunov
Гость
« Ответ #128 : Декабрь 28, 2009, 17:50 »

Отвечу по textInput:
Код:
void MainWindow::logFile()
{
    QString fileName = QFileDialog::getOpenFileName(this, tr("Open File"),
                                                 "C:\\Pr1",
                                                 tr("Text files (*.txt)"));
    QFile file1(fileName);
    if (file1.open(QIODevice::ReadOnly))
    {
        QTextStream stream(&file1);
        textInput->setText(stream.readAll());
    }
    file1.close();
}
Откроется стандартный Windows-диалог выбора файла. Но textInput вам надо добавить
на форму(MainWindow) в дизайнере, точно так, как textEdit(рассчет).
Записан
Den2009
Гость
« Ответ #129 : Декабрь 28, 2009, 19:06 »

проблема была в том, что я перепутал местами параметры в
Код:
QString fileName = QFileDialog::getOpenFileName(this, tr("Open File"), "C:\\Pr1", tr("Text files (*.txt)"));
на форму ничего добавлять не пришлось - все и так работает
Записан
Den2009
Гость
« Ответ #130 : Декабрь 28, 2009, 20:05 »

вобщем, надо в тексте, который в textInput заменить все символы "а" на "абв", и вывести в textOutput. я понимаю, что надо текст перевести из string в char а потом уже сравнивать символы с шаблоном и в случае совпадения менять
только вот как это реализовать на КуТэ - я не знаю... подскажите, ну или ссылку дайте, где про это написано
Записан
Den2009
Гость
« Ответ #131 : Декабрь 28, 2009, 20:43 »

как сделать, чтоб в лог писалось из всей программы? т.е.
main.cpp - это пишется
Код:
int main (int argc, char **argv)
 {
     QApplication app(argc, argv);
     QSplashScreen splash(QPixmap("./image/zastavka.png"));
     QFile file("./log.txt");
     file.open(QIODevice::WriteOnly);
     QTextStream out(&file);
     out << "|-------------------------------------------------------------|\r\n";
     out << "|                                                             |\r\n";
     out << "|                                                             |\r\n";
     QString str = QDateTime::currentDateTime().toString("hh.mm.ss");
     out << "|                     Log-file is created                     |\r\n";
     out << "|                                                             |\r\n";
     out << "|                                                             |\r\n";
     out << "|-------------------------------------------------------------|\r\n";
     str = QDateTime::currentDateTime().toString("hh.mm.ss");
     out << str << " Program is running\r\n";
     splash.show();
     MainWindow w;
     loadModules(&splash) ;
     getchar();
     splash.finish(&w);
     w.show();
     str = QDateTime::currentDateTime().toString("hh.mm.ss");
     out << str << " Application is started\r\n";
     file.close();
     return app.exec();
 }
proga1.cpp а это уже не пишется
Код:
void MainWindow::rasschet()
{
    int notH, notM;  //Объявление переменных
    const int SiH=3600, SiM=60;
    QString inSec;
    textEdit->clear();
    inSec = spinBox->text(); //Ввод
    qDebug() << inSec;
    iS = inSec.toInt();

    file->open(QIODevice::WriteOnly);
    QTextStream out(file);
    QString str = QDateTime::currentDateTime().toString("hh.mm.ss");
    out << str << " Input number: " << iS << "\r\n";

    qDebug() << iS;
    //Вычисление
    oH = (iS / SiH); //Количество часов
    notH = iS - (oH * SiH); //Убираем количество часов
    oM = (notH / SiM); //Количество минут
    notM = notH - (oM * SiM); //Убираем количество минут
    oS = notM; //Оставшееся число равно количеству секунд
    textEdit->setText(tr("The entered number of seconds %1 corresponds %2 hours, %3 minutes, %4 seconds").arg(iS).arg(oH).arg(oM).arg(oS));
    str = QDateTime::currentDateTime().toString("hh.mm.ss");

    out << str << iS << " corresponds " << oH << ":" << oM << ":" << oS << "\r\n";
}
Записан
Dendy
Гость
« Ответ #132 : Декабрь 28, 2009, 21:06 »

Мне кажется вы просто файл забыли закрыть в конце: file->close()
Записан
Den2009
Гость
« Ответ #133 : Декабрь 28, 2009, 22:34 »

Код:
void MainWindow::rasschet()
{
    int notH, notM;  //Объявление переменных
    const int SiH=3600, SiM=60;
    QString inSec;
    textEdit->clear();
    inSec = spinBox->text(); //Ввод
    qDebug() << inSec;
    iS = inSec.toInt();

    file->open(QIODevice::WriteOnly);
    QTextStream out(file);
    QString str = QDateTime::currentDateTime().toString("hh.mm.ss");
    out << str << " Input number: " << iS << "\r\n";

    qDebug() << iS;
    //Вычисление
    oH = (iS / SiH); //Количество часов
    notH = iS - (oH * SiH); //Убираем количество часов
    oM = (notH / SiM); //Количество минут
    notM = notH - (oM * SiM); //Убираем количество минут
    oS = notM; //Оставшееся число равно количеству секунд
    textEdit->setText(tr("The entered number of seconds %1 corresponds %2 hours, %3 minutes, %4 seconds").arg(iS).arg(oH).arg(oM).arg(oS));
    str = QDateTime::currentDateTime().toString("hh.mm.ss");

    out << str << iS << " corresponds " << oH << ":" << oM << ":" << oS << "\r\n";
    file -> close();
}
все равно не работает
Записан
Dendy
Гость
« Ответ #134 : Декабрь 28, 2009, 22:38 »

Покажите конструктор этого file.
Записан
Страниц: 1 ... 7 8 [9] 10 11 12   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.052 секунд. Запросов: 21.