Rev 14 |
Go to most recent revision |
Blame |
Compare with Previous |
Last modification |
View Log
| Download
| RSS feed
#include "src/form.h"
#include "ui_form.h"
Form::Form(QWidget *parent) :
QWidget(parent),
m_ui(new Ui::Form)
{
m_ui->setupUi(this);
connect(&wmiProcess, SIGNAL(readyReadStandardOutput()), this, SLOT(readStandartProcessOutput()));
}
Form::~Form()
{
delete m_ui;
}
void Form::changeEvent(QEvent *e)
{
QWidget::changeEvent(e);
switch (e->type()) {
case QEvent::LanguageChange:
m_ui->retranslateUi(this);
break;
default:
break;
}
}
void Form::on_wmiButton_clicked(){
// QString program = tr(" wmic -U Àäìèíèñòðàòîð%Patr10t //192.168.0.135 \"select * from Win32_ComputerSystem\"");
QString program = tr("wmic");
QStringList arguments;
int index;
// arguments << tr(" -U Àäìèíèñòðàòîð%Patr10t //192.168.0.135 \"select * from Win32_ComputerSystem\"");
program.append(tr(" -U Àäìèíèñòðàòîð%Patr10t //"));
program.append(tr(m_ui->lineEdit_2->text()));
program.append(tr(" \"select * from "));
index = m_ui->comboBox_2->currentIndex();
program.append(m_ui->comboBox_2->itemText(index));
program.append(tr("\""));
// Win32_ComputerSystem\""));
int i;
i++;
wmiProcess.start(program);
}
void Form::readStandartProcessOutput(){
QByteArray arr;
QStringList result, list_tmp, list_tmp_value;
QString str1, str2, str_tmp, str_buf;
int i;
arr = wmiProcess.readAllStandardOutput();
QTextCodec *codecUTF = QTextCodec::codecForName("utf8");
QTextCodec *codec = QTextCodec::codecForName("cp1251");
QTextCodec::setCodecForTr(codecUTF);
str1 = QString(tr(arr));
result.clear();
// result << QStringList(tr(arr));
QTextCodec::setCodecForTr(codec);
// str2 << arr;
i = result.size();
// str1 = result.at(0);
i++;
i = str1.indexOf("\r");
i = str1.indexOf("\n");
str_tmp = str1.left(i);
m_ui->lineEdit->insert(str1);
while (i != -1){
i = str1.indexOf("\n");
if (i != -1) {
str_tmp = str1.left(i);
result << str_tmp;
str1.remove(0, i+1);}
}
document = m_ui->textEdit->document();
cursor = new QTextCursor(document);
cursor->movePosition(QTextCursor::Start);
QTextCharFormat format(cursor->charFormat());
//format.setFontFamily("Courier");
format.setFontFamily("Arial");
//format.setFontItalic(false);
format.setFontWeight(QFont::Normal);
QTextCharFormat boldFormat = format;
boldFormat.setFontWeight(QFont::Bold);
QTextCharFormat italicFormat = format;
//format.setFontFamily("Courier");
// format.setFontFamily("Arial");
italicFormat.setFontItalic(true);
for (int m = 0; m < result.size(); ++m){
cursor->insertText(result.at(m), format);
cursor->insertBlock();
cursor->insertText(tr("--------------------------"), format);
cursor->insertBlock();
}
str_tmp = result.at(1);
list_tmp = get_substr_arr(str_tmp, "|");
/*
i=0;
while (i != -1){
i = str_tmp.indexOf("|");
if (i != -1) {
str_buf = str_tmp.left(i);
list_tmp << str_buf;
str_tmp.remove(0, i+1);}
}
*/
str_tmp = result.at(2);
i=0;
while (i != -1){
i = str_tmp.indexOf("|");
if (i != -1) {
str_buf = str_tmp.left(i);
list_tmp_value << str_buf;
str_tmp.remove(0, i+1);}
}
for (int m = 0; m < list_tmp.size(); ++m){
cursor->insertText(list_tmp.at(m), format);
cursor->insertText(" : ", format);
cursor->insertText(list_tmp_value.at(m), format);
cursor->insertBlock();
cursor->insertText(tr("--------------------------"), format);
cursor->insertBlock();
}
/*
cursor->insertText(result.at(2), format);
cursor->insertBlock();
cursor->insertText(tr("--------------------------"), format);
cursor->insertBlock();
cursor->insertText(result.at(3), format);
*/
}
void Form::readStandartProcessError(){
QByteArray arr;
arr = wmiProcess.readAllStandardError();
}
QStringList Form::get_substr_arr(QString stroka, QString razdelitel){
QStringList result;
QString str_tmp, str_buf;
int i = 0;
result.clear();
while (i != -1){
i = stroka.indexOf(razdelitel);
if (i != -1) {
str_buf = stroka.left(i);
result << str_buf;
stroka.remove(0, i+1);}
}
return result;
}