一、需求分析:

根据项目给定的word模板自动生成相应的word文件。
给定的word模板如下图(有些参数做了打码,不影响):

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

该文档中的内容都需要自动生成。根据用户输入的查询日期,自动搜索数据库内容同时显示定位坐标和读取波形文件,其中第一部分基本参数的内容是来自数据库,第二部分的定位图是在.dwg图中标记定位点后再转为.jgp图片,然后插入word里面,第三部分的波形文件是自动读取.csv文件然后自动截图,将截图插入word文件里面。(对该段说明不理解的朋友,可以去看我的前几篇博客)
因此,我们可以分析出下面几个要点:
1、获取用户输入的查询日期,然后在数据库中获取该时间范围内的数据
2、在获取的数据中提取出定位坐标,并在dwg图中标记出来(该部分可以参考之前发的博客)
3、将标记好定位点的dwg图转为jpg
4、在获取的数据中提取出记录事件数据的csv文件,然后自动读取(该部分可参考之前发的博客)
5、将读取的csv波形数据自动截图
6、后台调用wps中的word程序自动写入获取的数据内容以及插入所有截图

二、具体实现

1、界面设计

在这里插入图片描述

2、代码实现(有部分内容在前几篇博客提到过,这里不再说)

(1)QDateEdit设置以及获取输入日期

    ui->startDate->setMinimumDate(QDate::currentDate().addDays(-3650));   // -3650天ui->startDate->setCalendarPopup(true);                                // 日历弹出ui->endDate->setMaximumDate(QDate::currentDate().addDays(3650));      // +3650天ui->endDate->setCalendarPopup(true);
     startDate = ui->startDate->date().toString("yyyy-MM-dd");endDate = ui->endDate->date().toString("yyyy-MM-dd");

数据库查询

    QMap<QString,QList<QVariant>> mapParameter;QList<QString> listOfFilePath;    //保存查询到的文件路径表列,用于自动截图读取文件路径
//以下执行相关sql语句QSqlQuery query;QString sql = "select quackTime,kind,xData,yData,zData,quackGrade,Parrival,panfu,nengliang,wenjianming from mine_quack_results where quackTime>='"+startDate+" 00:00:00' and quackTime<='"+endDate+" 23:59:59' ";query.exec(sql);            // 执行查询操作mapParameter.clear();           //每次查询时要把上一次查询的数据库结果清除ui->csvList->clearContents();   //只清除表中数据,不清除表头内容QString quackTime;QString kind;double xData;double yData;double zData;double quackGrade;double Parrival;QString panfu;double nengliang;QString wenjianming;QMap<QString,QList<double>> map ;QList<double> list;QList<double> coordinates;QList<QVariant> dataParameters;int index = 0;           //tablewidget的索引,用来插入wenjianming和panfu//query.next()指向查找到的第一条记录,然后每次后移一条记录while(query.next()){quackTime = query.value(0).toString();dataParameters.append(quackTime);kind = query.value(1).toString();dataParameters.append(kind);xData = query.value(2).toDouble();dataParameters.append(xData);yData = query.value(3).toDouble();dataParameters.append(yData);zData = query.value(4).toDouble();dataParameters.append(zData);quackGrade = query.value(5).toDouble();dataParameters.append(quackGrade);Parrival = query.value(6).toDouble();dataParameters.append(Parrival);panfu = query.value(7).toString();dataParameters.append(panfu);nengliang = query.value(8).toDouble();dataParameters.append(nengliang);wenjianming = query.value(9).toString();dataParameters.append(wenjianming);list.append(xData);list.append(yData);map.insertMulti(kind,list);list.clear();qDebug()<<"kind = "<<kind<<" xData="<<xData<<" yData="<<yData;mapParameter.insert(quackTime,dataParameters);for(int i=0;i<dataParameters.size();i++)qDebug()<<"param:"<<dataParameters.at(i);dataParameters.clear();if(!listOfFilePath.contains(wenjianming)){listOfFilePath.append(wenjianming);}ui->csvList->setItem(index,0,new QTableWidgetItem(wenjianming));ui->csvList->setItem(index,1,new QTableWidgetItem(panfu));index ++;           //行数加一}

(2)定位点标记,利用mxdraw提供的api

 QString pointPath=QDir::currentPath() + "/centerpoint.png";QString pointPath2=QDir::currentPath() + "/centerpoint2.png";QString pointPath3=QDir::currentPath() + "/centerpoint3.png";QMap<QString,QList<double>>::Iterator it=map.begin();while(it!=map.end()){//qDebug()<<it.key()<<"\t"<<it.value();if(it.key().compare("three") == 0){QColor color1(255,0,0);ui->axWidget->dynamicCall("SetDrawColor(QColor)", color1);coordinates = it.value();//qDebug()<<"coordinates x:"<<coordinates.at(0)<<"coordinates y:"<<coordinates.at(1);//X坐标,Y坐标,文字,文字高度,旋转角度,水平对齐(0=kTextLeft,1=kTextCenter,2=kTextRight ),垂直对齐(1=kTextBottom,2=kTextVertMid,3=kTextTop )qlonglong result = ui->axWidget->dynamicCall("DrawText(double, double, QString, double, double, int, int)",coordinates.at(0),coordinates.at(1),"three",250,0,0,1).toLongLong();textId->enqueue(result);qlonglong result2 = ui->axWidget->dynamicCall("DrawCircle(double, double, double)",coordinates.at(0),coordinates.at(1),400).toLongLong();blinkId->enqueue(result2);qlonglong result3 = ui->axWidget->dynamicCall("DrawImage(double, double, double, double, QString)",coordinates.at(0)-50,coordinates.at(1)-50,2,0,pointPath).toLongLong();pointId->enqueue(result3);}else if(it.key().compare("five") == 0){QColor color2(0,255,0);ui->axWidget->dynamicCall("SetDrawColor(QColor)", color2);coordinates = it.value();qlonglong result =ui->axWidget->dynamicCall("DrawText(double, double, QString, double, double, int, int)",coordinates.at(0),coordinates.at(1),"five",250,0,0,1).toLongLong();textId->enqueue(result);qlonglong result2 = ui->axWidget->dynamicCall("DrawCircle(double, double, double)",coordinates.at(0),coordinates.at(1),400).toLongLong();blinkId->enqueue(result2);qlonglong result3 = ui->axWidget->dynamicCall("DrawImage(double, double, double, double, QString)",coordinates.at(0)-50,coordinates.at(1)-50,1,0,pointPath2).toLongLong();pointId->enqueue(result3);}else if(it.key().compare("PSO") == 0){QColor color3(0,0,255);ui->axWidget->dynamicCall("SetDrawColor(QColor)", color3);coordinates = it.value();qlonglong result = ui->axWidget->dynamicCall("DrawText(double, double, QString, double, double, int, int)",coordinates.at(0),coordinates.at(1),"PSO",250,0,0,1).toLongLong();textId->enqueue(result);qlonglong result2 = ui->axWidget->dynamicCall("DrawCircle(double, double, double)",coordinates.at(0),coordinates.at(1),400).toLongLong();blinkId->enqueue(result2);qlonglong result3 = ui->axWidget->dynamicCall("DrawImage(double, double, double, double, QString)",coordinates.at(0)-50,coordinates.at(1)-50,1,0,pointPath3).toLongLong();pointId->enqueue(result3);}it++;}

dwg转jpg

 QString locationPath=QDir::currentPath() + "/locationresult.jpg";ui->axWidget->dynamicCall("SaveJpgFile(QString, int, int, int)",locationPath,-1,-1,0);

(3)读取csv数据,并自动截图

//自动截图
void ReportForm::captureByRobotClicked()
{isManual = false;int i = 1;for(QString filePath:listOfFilePath){if(readCSVFileOfZ(filePath)){QRect rect = ui->gridLayout->geometry();QPixmap p = this->grab(rect);QString filePathName = QDir::currentPath() + "/captures/"+startDate + "-"+endDate+"capture"+QString::number(i);//filePathName += QDateTime::currentDateTime().toString("yyyy-MM-dd hh-mm-ss-zzz");filePathName += ".png";if(!p.save(filePathName,"png")){ui->statusOfProgramme->setText("自动截图"+filePathName+"保存失败");qDebug()<<"save widget screen failed";}i++;if((i-1)== listOfFilePath.size()){//记得要清掉保存的路径,不然下次再查询会重复添加listOfFilePath.clear();QMessageBox::warning(this,tr("完成"),tr("自动截图已完成,保存至/captures"),QMessageBox::Yes);}}else{QMessageBox *msg = new QMessageBox(this);msg->setWindowTitle(tr("错误"));msg->setText(tr("在自动截图过程中,发生异常"));msg->setIcon(QMessageBox::Warning);QPushButton *conntinueButton = msg->addButton(tr("继续执行"), QMessageBox::ActionRole);QPushButton *abortButton = msg->addButton(tr("退出"),QMessageBox::RejectRole);msg->exec();if (msg->clickedButton() == conntinueButton) {continue;} else {return;}}}
}
说明:readCSVFileOfZ是读取csv数据,代码比较长,而且和之前的qt读取csv文件的博客相似,这里就不贴了
另外:QRect rect = ui->gridLayout->geometry();QPixmap p = this->grab(rect);这两句是QT的截图功能,可以截图某个布局内所有控件的显示内容

(4)调用word的com程序,自动生成word文档

主要有两种方式生成word文档,
一种是利用word模板的方式,可以参考:
https://blog.csdn.net/qq_41605114/article/details/86596059 这种方式使用复杂,需要做好模板。
一种是利用html的方式,这种方式简便但同时也存在一些问题。
本文使用html的方式。用到的参考文章有:
https://blog.csdn.net/toby54king/article/details/79101303 
https://www.cnblogs.com/lpxblog/p/6042330.html
//该功能是利用html转word,使用简便
void ReportForm::generateWebDOCClicked()
{QString locationPath=QDir::currentPath() + "/locationresult.jpg";QString capturesPath=QDir::currentPath() + "/captures/";//下面这几句是过滤截图文件QQueue<QString> capturesOfPng ;QDir dir;QStringList filters;filters << "*.png";dir.setPath(capturesPath);if (!dir.exists()){qDebug()<<"captures目录不存在";}dir.setNameFilters(filters);QDirIterator iter(dir,QDirIterator::Subdirectories);while (iter.hasNext()){iter.next();QFileInfo info=iter.fileInfo();if (info.isFile()){//return info.absoluteFilePath().replace('/', '\\');QString temp = info.absoluteFilePath();if(temp.contains(startDate)&&temp.contains(endDate)){capturesOfPng.enqueue(temp);}}}//将CAD转JPGui->axWidget->dynamicCall("SaveJpgFile(QString, int, int, int)",locationPath,-1,-1,0);QString quackTime;QString kind;double xData;double yData;double zData;double quackGrade;double Parrival;QString panfu;double nengliang;QString wenjianming;QString filename = QFileDialog::getSaveFileName(this,"Save File",startDate+"-"+endDate,"*.doc");QString html;//如果查询日期为一天那么标题中只写当天日期,否则标题中写起始和结束日期if(startDate.compare(endDate)==0){html +="<h3 align=\"center\"><font face=\"宋体\" > ";html += "XXX矿"+startDate;html += "矿震数据初步分析</font></h3>";}else{html += "<h3 align=\"center\"><font face=\"宋体\" >";html += "XXX矿"+startDate+"到"+endDate;html += "矿震数据初步分析</font></h3> ";}QFile outFile(filename);if(!outFile.open(QIODevice::WriteOnly | QIODevice::Append )){return ;}QTextStream ts(&outFile);//先把大标题和第一个子标题写上,然后将html置为空html += "<h5 align=\"left\"><font face=\"宋体\" >1.基本参数:</font></h5> ";ts<<html<<endl;html = "";//quackTime为主键QList<QString> paramKeys = mapParameter.keys();QString compareFile ="";int i = 0;                                   //表示事件计数for(QString singleKey:paramKeys){qDebug()<<"singleKey:"<<singleKey;QList<QList<QVariant>> valueList = mapParameter.values(singleKey);// qDebug()<<"valueList.size():"<<valueList.size();for(QList<QVariant> temp:valueList){quackTime = temp.at(0).toString();kind = temp.at(1).toString();xData = temp.at(2).toDouble();yData = temp.at(3).toDouble();zData = temp.at(4).toDouble();quackGrade = temp.at(5).toDouble();Parrival = temp.at(6).toDouble();panfu = temp.at(7).toString();nengliang = temp.at(8).toDouble();wenjianming = temp.at(9).toString();//如果查询查到多个事件,那么将事件写为事件1:quackTime、事件2:quackTime...这样的形式//wenjiangming不同就认为是一次事件if(compareFile != wenjianming){compareFile = wenjianming;html += "<p style=\"font-size:10;\"><b>事件";html += QString::number(i+1)+":"+quackTime;html += " 分析结果如下:";html += "</b></p>";i++;}html += "<p style=\"font-size:10;\">" ;html +=  "类型: ";html +=  kind;html +=  "</p>";html += "<p style=\"font-size:10;\">" ;html +=  "最早到时: ";//xxxxx/xxxxxx 2020-06-18 04-19-20`47.csv//到时为路径后边的日期QStringList wenjianmingDate = wenjianming.split(" ");QChar ch;for(int i=0;i<panfu.size();i++){ch = panfu.at(i);if(ch == 'r'){//判断最早到时是哪个台站,因为panfu是按照到时顺序来的,所以索引为0的为最早到时if(0 == i){html +=  wenjianmingDate.at(1)+wenjianmingDate.at(2).split(".").at(0);html +=  "</p>";}
//                    html += "<p style=\"font-size:10;\">  " ;
//                    html +=  R+"R: s";
//                    html +=  "</p>";}if(ch == 's'){if(0 == i){html +=  wenjianmingDate.at(1)+wenjianmingDate.at(2).split(".").at(0);html +=  "</p>";}
//                    html += "<p style=\"font-size:10;\">  " ;
//                    html +=  S+"S: s";
//                    html +=  "</p>";}if(ch == 't'){if(0 == i){html +=  wenjianmingDate.at(1)+wenjianmingDate.at(2).split(".").at(0);html +=  "</p>";}
//                    html += "<p style=\"font-size:10;\">  " ;
//                    html +=  T+"T: s";
//                    html +=  "</p>";}if(ch == 'u'){if(0 == i){html +=  wenjianmingDate.at(1)+wenjianmingDate.at(2).split(".").at(0);html +=  "</p>";}
//                    html += "<p style=\"font-size:10;\">  " ;
//                    html +=  U+"U: s";
//                    html +=  "</p>";}if(ch == 'v'){if(0 == i){html +=  wenjianmingDate.at(1)+wenjianmingDate.at(2).split(".").at(0);html +=  "</p>";}
//                    html += "<p style=\"font-size:10;\">  " ;
//                    html +=  V+"V: s";
//                    html +=  "</p>";}if(ch == 'w'){if(0 == i){html +=  wenjianmingDate.at(1)+wenjianmingDate.at(2).split(".").at(0);html +=  "</p>";}
//                    html += "<p style=\"font-size:10;\">  " ;
//                    html +=  W+"W: s";
//                    html +=  "</p>";}if(ch == 'x'){if(0 == i){html +=  wenjianmingDate.at(1)+wenjianmingDate.at(2).split(".").at(0);html +=  "</p>";}
//                    html += "<p style=\"font-size:10;\">  " ;
//                    html +=  X+"X: s";
//                    html +=  "</p>";}if(ch == 'y'){if(0 == i){html +=  wenjianmingDate.at(1)+wenjianmingDate.at(2).split(".").at(0);html +=  "</p>";}
//                    html += "<p style=\"font-size:10;\">  " ;
//                    html +=  Y+"Y: s";
//                    html +=  "</p>";}if(ch == 'z'){if(0 == i){html +=  wenjianmingDate.at(1)+wenjianmingDate.at(2).split(".").at(0);html +=  "</p>";}
//                    html += "<p style=\"font-size:10;\">  " ;
//                    html +=  Z+"Z: s";
//                    html +=  "</p>";}}html += "<p style=\"font-size:10;color:#FF0000\">  定位坐标:x :" ;html += QString::number(xData,'g',13)+",y:"+QString::number(yData,'g',13);html +=  "</p>";html += "<p style=\"font-size:10;color:#FF0000\">  震源深度估计:z :" ;html +=  QString::number(zData,'g',13);html +=  "</p>";html += "<p style=\"font-size:10;\">  P波到时:" ;html +=  QString::number(Parrival,'g',13);html +=  "</p>";html += "<p style=\"font-size:10;color:#FF0000\">  震级:" ;html +=  QString::number(quackGrade);html +=  "</p>";html += "<p style=\"font-size:10;color:#FF0000\">  能量:" ;html +=  QString::number(nengliang);html +=  "</p>";html += "<p style=\"font-size:10;\">  发震时刻:" ;html +=  quackTime;html +=  "</p>";//每个事件的基本参数写完之后再将html置为空ts<<html<<endl;html = "";}}//如果每个事件的参数都写完之后,只需要在后边加一个定位图html += "<h5 align=\"left\">2.定位图:</h5> ";html += "<img align=\"middle\" src = \"" + locationPath + "\"  width=\"500\" height=\"500\" /><br>" ;//定位图后面加上波形图html += "<h5 align=\"left\">3、波形图:</h5> ";while(!capturesOfPng.isEmpty()){html += "<img align=\"middle\" src = \"" + capturesOfPng.dequeue() + "\"  width=\"500\" height=\"500\" /><br>" ;}ts<<html<<endl;html = "";outFile.close();QMessageBox::warning(this,tr("完成"),tr("文件已经保存"),QMessageBox::Yes);
}
刚才提到了使用该方式有一些问题,主要表现在:
1、因为是使用的html的格式生成的doc,所以用wps打开默认显示的是web板式,需要在视图中切换成页面板式,当然这并不影响内容的显示。
2、因为使用html插入图片的时候使用的是路径(不管是相对路径还是绝对路径),当环境变化的时候,比如将你生成的这个doc文档发给别人,别人打开的时候显示的只是一串html字符,并不会显示图片,所以针对这个问题个人觉得最好的方式就是打开生成的doc,copy一下里面的内容再新建一个文件copy过去就好了,但这一步增加了人工操作,后期可以调用word的一些命令让他自己copy。
3、当屏幕分辨率发生变化或者程序运行环境发生变化,生的doc文档中的字体及大小可能会不一样
3、结果展示

在这里插入图片描述

下面生成的doc是在另一台电脑生成的,因为有些数据没有...

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

我做的整个东西项目好像也不用了… 都得搞到java环境里,所以交给其他兄弟了…

在这里插入图片描述

水平有限,经验不足,错误之处,请多指点
查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. 从零开始的大数据学习-JAVA核心类库(下)-任务一(异常机制和file类)

    从零开始的大数据学习-JAVA核心类库&#xff08;下&#xff09;-任务一&#xff08;异常机制和file类&#xff09; 异常机制&#xff08;重点&#xff09; 基本概念&#xff1a; 异常就是"不正常"的含义&#xff0c;在Java语言中主要指程序执行中发生的不正常情况。…...

    2024/4/25 2:49:17
  2. 【rtmp】windows构建librtmp遇到的问题

    看起来srs 需要 C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\WinSock2.h这样就会引入 C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\shared\ws2ipdef.herror C2011: “sockaddr”:“struct”类型重定义错误 WIN32_LEAN_AND_MEAN但是lsrs…...

    2024/4/25 2:49:16
  3. [系统的学习][UE4编辑器]学习笔记 WIP

    GamePlay基本架构 《InsideUE4》GamePlay架构&#xff08;十&#xff09;总结 常见词汇 idle 站立 walk 行走 jog 慢跑 run 奔跑 strafe 横行 crouch 蹲伏 Character AnimationBlueprint...

    2024/4/25 2:49:14
  4. 1114_C语言考试练习题_排列

    https://www.dotcpp.com/oj/problem.php?id1114 题目描述 有4个互不相同的数字&#xff0c;输出由其中三个不重复数字组成的排列。 输入 4个整数。 输出 所有排列。 样例输入 1 2 3 4 样例输出 1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 1 1 2 4 1 4 2 2 1 4 2 4 1 4 1 2 4 2 1 1…...

    2024/4/25 2:44:24
  5. Hive新建表,默认是text格式

    Hive新建表&#xff0c;默认是text格式 > CREATE EXTERNAL TABLE foo2 (> columnA string,> columnB string> ) PARTITIONED BY (dt string)> ROW FORMAT DELIMITED> FIELDS TERMINATED BY "\t" ; OK Time taken: 0.599 seconds hive&g…...

    2024/4/25 2:44:23
  6. opengcascade显示字体

    https://blog.csdn.net/qq_40247982/article/details/106765819 TCollection_ExtendedString tostr; Standard_CString str "OpenCasCade 你好啊"; Resource_Unicode::ConvertGBToUnicode(str,tostr); Handle(AIS_TextLabel) aLabel new AIS_TextLabel(); aLabel -…...

    2024/4/25 2:44:22
  7. Mvc 和Mvvm

    Mvc 框架和Mvvm 框架 一&#xff0c;Mvc Mvc 的全称是Model view controller,对应中文是模型&#xff0c;视图&#xff0c;控制器&#xff0c;mvc是一种软件设计典范&#xff0c;用一种业务逻辑&#xff0c;数据&#xff0c;界面显示分离的方法组织代码&#xff0c;将他们三者…...

    2024/4/25 2:44:21
  8. 多维数组扁平化处理并且重新排序

    怎么把一个多维数组转化为一维数组&#xff0c;比如把 [1, [2, [5, 10], [, 6], 7] 变为 [1, 2, 5, 6,7,10] 实现方法如下&#xff1a; concat()方法可以基于当前数组中的所有项创建一个新数组意思就是&#xff0c;先创建一个当前数组的副本&#xff0c;然后将接收到的参数添…...

    2024/4/25 2:44:20
  9. 有向图的最短路径--弗洛伊德算法 C语言

    这里有点懵&#xff01; 还是按书上的例子&#xff08;这里用邻接矩阵表示&#xff09; 完整代码如下&#xff1a; #include <stdio.h> #include <stdlib.h> #include <string.h> #define MaxInt 32767//无穷值设置 #define MVNum 100 //图的最大容量 &am…...

    2024/4/25 2:44:19
  10. 关于 tp5-tp5.1 出现 Warning: require(/Users/xxx/code/demo/tp5/public/../thinkphp/base.php): failed 问题。

    反正我是被这个问题&#xff0c;折磨的死去活来&#xff0c;要多难受有多难受。困扰我两天的问题。 导致我 tp5/5.1 框架环境一直达不起来&#xff0c;气得我直接学 Laravel 去了&#xff0c;还用 homestead 搭建了开发集成环境。 当然&#xff0c;这个问题还是需要解决的&am…...

    2024/4/25 2:44:19
  11. Apache-Spark基础及架构学习

    为什么使用Spark MapReduce编程模型的局限性 繁杂 只有Map和Reduce两个操作&#xff0c;复杂的逻辑需要大量的样板代码 处理效率低 Map中间结果写磁盘&#xff0c;Reduce写HDFS&#xff0c;多个Map通过HDFS交换数据 任务调度与启动开销大 不适合迭代处理、交互式处理和流式处理…...

    2024/4/25 2:44:20
  12. shiro登录接口session获取

    import com.visystem.framework.shiro.session.OnlineSession;public void login(ServletRequest request){//用户sessionOnlineSession session (OnlineSession) request.getAttribute(ShiroConstants.ONLINE_SESSION);String sessionid session.getId();System.out.println…...

    2024/4/25 2:49:13
  13. 2021消防工程师的试题,微信小程序,var http = require(‘http‘);

    fs.readFile(pathname.substr(1), function (err, data) {if (err) {console.log(err);// HTTP 状态码: 404 : NOT FOUND// Content Type: text/htmlresponse.writeHead(404, {Content-Type: text/html});} “注册消防工程师”&#xff0c;是指经考试取得相应级别消防工程师资…...

    2024/4/25 2:49:12
  14. 终端侧人工智能碎片化挑战——如何在MCU和低性能MPU上实现人工智能?

    从2018年年底开始国内的人工智能明显进入低潮期&#xff0c;一个原因是落地变现难风投撤资&#xff0c;另一个原因是因为米国的原因国内都在做基础性质芯片和操作系统等的国产替代没空搞人工智能。当然世界人工智能浪潮不会等中国人实现了国产替代才继续前进&#xff0c;但是肯…...

    2024/4/25 2:49:13
  15. 如何购买阿里云服务器教程(购买指南)

    阿里云是国内第一大云服务器厂商&#xff0c;所以往往我会推荐公司客户优先选择阿里云。毕竟稳定&#xff0c;技术可靠和安全是第一优先考虑的因素。现在来详细介绍下阿里云服务器的选购图文操作步骤。 一、选购阿里云的三种方式 根据站长多年来对阿里云的使用经验&#xff0c;…...

    2024/4/25 2:49:11
  16. 企业调研报告

    电子信息学院赴企业调研报告 在中美贸易争端和新冠疫情的影响下&#xff0c;高校毕业生的就业形势不容乐观。从社会角度来说&#xff0c;高校毕业生是国家之栋梁&#xff0c;服务社会、创新发展之基石&#xff0c;对国家繁荣、社会安定极为重要&#xff1b;从学校角度来说&…...

    2024/4/25 2:49:09
  17. Redis常用命令及用法大全

    最近面试了很多java开发&#xff0c;简历上清一色的写着熟练使用redis&#xff0c;但是只能回答redis是什么&#xff0c;缓存雪崩、缓存穿透是什么意思等常见面试问题&#xff0c;就连redis常用命令都说不上来。 现在很多框架或者工具都已经封装的很完美&#xff0c;用起来也只…...

    2024/4/25 2:49:09
  18. 亿和论币:简谈人生穷与富的关键

    很多人把投资和理财误以为是一件事&#xff0c;其实不是。投资只是理财的一部分&#xff0c;理财是一个很广泛的概念。比如制定家庭日常消费计划、投资计划、保险计划、教育金计划、养老金计划等等都是理财中的一部分。凡是涉及到跟钱有关的安排&#xff0c;都是理财。 我们每…...

    2024/4/25 2:49:08
  19. 随着向小米等中企扩展业务,三星将提供5nm芯片,中国市场迎来转机

    随着向小米等中企扩展业务&#xff0c;三星将提供5nm芯片&#xff0c;中国市场迎来转机。 根据IT之家11月3日的最新报道&#xff0c;韩国芯片制造巨头三星系统LSI业务部发布消息称&#xff0c;该公司将于2021年向我国智能手机制造商小米、OPPO和vivo提供Exynos系列芯片(AP)&am…...

    2024/4/25 2:49:06
  20. 点融网积极探索数字经济 用科技推动金融发展

    央行数字货币是由央行记账的数字货币。如今中国多地已经先后进行了试点&#xff0c;可以看出央行数字货币正在进入加速推出的状态&#xff0c;未来央行数字人民币能否在人群中大规模使用取决于技术保障以及是否安全可靠。当然&#xff0c;除了中国各国之外&#xff0c;全球有很…...

    2024/4/25 2:49:05

最新文章

  1. AI大模型探索之路-训练篇2:大语言模型预训练基础认知

    文章目录 前言一、预训练流程分析二、预训练两大挑战三、预训练网络通信四、预训练数据并行五、预训练模型并行六、预训练3D并行七、预训练代码示例总结 前言 在人工智能的宏伟蓝图中&#xff0c;大语言模型&#xff08;LLM&#xff09;的预训练是构筑智慧之塔的基石。预训练过…...

    2024/4/27 14:58:02
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. PHP:获取时间戳,时间,以及相关转换

    一、获取当前时间戳 // 获取当前时间的时间戳&#xff08;秒级&#xff0c;11位&#xff09; $currentTimestampInSeconds time(); 二、秒级&#xff08;11位&#xff09;时间戳转换为毫秒级&#xff08;13位&#xff09;时间戳 乘以1000即可 // 转换为毫秒时间戳&#xf…...

    2024/4/27 8:48:02
  4. Java-运算符

    运算符 Java语言支持如下运算符&#xff1a; 算术运算符&#xff1a;&#xff0c;-&#xff0c;*&#xff0c;/&#xff0c;%&#xff0c;&#xff0c;--复制运算符&#xff1a;关系运算符&#xff1a;>, <, >, <, , !instanceof逻辑运算符&#xff1a;&&…...

    2024/4/27 0:55:38
  5. OpenCV单通道图像按像素成倍比例放大(无高斯平滑处理)

    OpenCV中的resize函数可以对图像做任意比例的放大(/缩小)处理&#xff0c;该处理过程会对图像做高斯模糊化以保证图像在进行放大&#xff08;/缩小&#xff09;后尽可能保留源图像所展现的具体内容&#xff08;消除固定频率插值/采样带来的香农采样信息损失&#xff09;&#x…...

    2024/4/25 15:27:30
  6. 416. 分割等和子集问题(动态规划)

    题目 题解 class Solution:def canPartition(self, nums: List[int]) -> bool:# badcaseif not nums:return True# 不能被2整除if sum(nums) % 2 ! 0:return False# 状态定义&#xff1a;dp[i][j]表示当背包容量为j&#xff0c;用前i个物品是否正好可以将背包填满&#xff…...

    2024/4/27 1:53:53
  7. 【Java】ExcelWriter自适应宽度工具类(支持中文)

    工具类 import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.CellType; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet;/*** Excel工具类** author xiaoming* date 2023/11/17 10:40*/ public class ExcelUti…...

    2024/4/27 3:39:11
  8. Spring cloud负载均衡@LoadBalanced LoadBalancerClient

    LoadBalance vs Ribbon 由于Spring cloud2020之后移除了Ribbon&#xff0c;直接使用Spring Cloud LoadBalancer作为客户端负载均衡组件&#xff0c;我们讨论Spring负载均衡以Spring Cloud2020之后版本为主&#xff0c;学习Spring Cloud LoadBalance&#xff0c;暂不讨论Ribbon…...

    2024/4/27 12:24:35
  9. TSINGSEE青犀AI智能分析+视频监控工业园区周界安全防范方案

    一、背景需求分析 在工业产业园、化工园或生产制造园区中&#xff0c;周界防范意义重大&#xff0c;对园区的安全起到重要的作用。常规的安防方式是采用人员巡查&#xff0c;人力投入成本大而且效率低。周界一旦被破坏或入侵&#xff0c;会影响园区人员和资产安全&#xff0c;…...

    2024/4/27 12:24:46
  10. VB.net WebBrowser网页元素抓取分析方法

    在用WebBrowser编程实现网页操作自动化时&#xff0c;常要分析网页Html&#xff0c;例如网页在加载数据时&#xff0c;常会显示“系统处理中&#xff0c;请稍候..”&#xff0c;我们需要在数据加载完成后才能继续下一步操作&#xff0c;如何抓取这个信息的网页html元素变化&…...

    2024/4/27 3:39:08
  11. 【Objective-C】Objective-C汇总

    方法定义 参考&#xff1a;https://www.yiibai.com/objective_c/objective_c_functions.html Objective-C编程语言中方法定义的一般形式如下 - (return_type) method_name:( argumentType1 )argumentName1 joiningArgument2:( argumentType2 )argumentName2 ... joiningArgu…...

    2024/4/27 3:39:07
  12. 【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】

    &#x1f468;‍&#x1f4bb;博客主页&#xff1a;花无缺 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! 本文由 花无缺 原创 收录于专栏 【洛谷算法题】 文章目录 【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】&#x1f30f;题目描述&#x1f30f;输入格…...

    2024/4/27 3:39:07
  13. 【ES6.0】- 扩展运算符(...)

    【ES6.0】- 扩展运算符... 文章目录 【ES6.0】- 扩展运算符...一、概述二、拷贝数组对象三、合并操作四、参数传递五、数组去重六、字符串转字符数组七、NodeList转数组八、解构变量九、打印日志十、总结 一、概述 **扩展运算符(...)**允许一个表达式在期望多个参数&#xff0…...

    2024/4/27 12:44:49
  14. 摩根看好的前智能硬件头部品牌双11交易数据极度异常!——是模式创新还是饮鸩止渴?

    文 | 螳螂观察 作者 | 李燃 双11狂欢已落下帷幕&#xff0c;各大品牌纷纷晒出优异的成绩单&#xff0c;摩根士丹利投资的智能硬件头部品牌凯迪仕也不例外。然而有爆料称&#xff0c;在自媒体平台发布霸榜各大榜单喜讯的凯迪仕智能锁&#xff0c;多个平台数据都表现出极度异常…...

    2024/4/26 17:59:13
  15. Go语言常用命令详解(二)

    文章目录 前言常用命令go bug示例参数说明 go doc示例参数说明 go env示例 go fix示例 go fmt示例 go generate示例 总结写在最后 前言 接着上一篇继续介绍Go语言的常用命令 常用命令 以下是一些常用的Go命令&#xff0c;这些命令可以帮助您在Go开发中进行编译、测试、运行和…...

    2024/4/26 22:35:59
  16. 用欧拉路径判断图同构推出reverse合法性:1116T4

    http://cplusoj.com/d/senior/p/SS231116D 假设我们要把 a a a 变成 b b b&#xff0c;我们在 a i a_i ai​ 和 a i 1 a_{i1} ai1​ 之间连边&#xff0c; b b b 同理&#xff0c;则 a a a 能变成 b b b 的充要条件是两图 A , B A,B A,B 同构。 必要性显然&#xff0…...

    2024/4/26 17:00:23
  17. 【NGINX--1】基础知识

    1、在 Debian/Ubuntu 上安装 NGINX 在 Debian 或 Ubuntu 机器上安装 NGINX 开源版。 更新已配置源的软件包信息&#xff0c;并安装一些有助于配置官方 NGINX 软件包仓库的软件包&#xff1a; apt-get update apt install -y curl gnupg2 ca-certificates lsb-release debian-…...

    2024/4/27 3:39:03
  18. Hive默认分割符、存储格式与数据压缩

    目录 1、Hive默认分割符2、Hive存储格式3、Hive数据压缩 1、Hive默认分割符 Hive创建表时指定的行受限&#xff08;ROW FORMAT&#xff09;配置标准HQL为&#xff1a; ... ROW FORMAT DELIMITED FIELDS TERMINATED BY \u0001 COLLECTION ITEMS TERMINATED BY , MAP KEYS TERMI…...

    2024/4/27 13:52:15
  19. 【论文阅读】MAG:一种用于航天器遥测数据中有效异常检测的新方法

    文章目录 摘要1 引言2 问题描述3 拟议框架4 所提出方法的细节A.数据预处理B.变量相关分析C.MAG模型D.异常分数 5 实验A.数据集和性能指标B.实验设置与平台C.结果和比较 6 结论 摘要 异常检测是保证航天器稳定性的关键。在航天器运行过程中&#xff0c;传感器和控制器产生大量周…...

    2024/4/27 13:38:13
  20. --max-old-space-size=8192报错

    vue项目运行时&#xff0c;如果经常运行慢&#xff0c;崩溃停止服务&#xff0c;报如下错误 FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory 因为在 Node 中&#xff0c;通过JavaScript使用内存时只能使用部分内存&#xff08;64位系统&…...

    2024/4/27 1:03:20
  21. 基于深度学习的恶意软件检测

    恶意软件是指恶意软件犯罪者用来感染个人计算机或整个组织的网络的软件。 它利用目标系统漏洞&#xff0c;例如可以被劫持的合法软件&#xff08;例如浏览器或 Web 应用程序插件&#xff09;中的错误。 恶意软件渗透可能会造成灾难性的后果&#xff0c;包括数据被盗、勒索或网…...

    2024/4/27 3:22:12
  22. JS原型对象prototype

    让我简单的为大家介绍一下原型对象prototype吧&#xff01; 使用原型实现方法共享 1.构造函数通过原型分配的函数是所有对象所 共享的。 2.JavaScript 规定&#xff0c;每一个构造函数都有一个 prototype 属性&#xff0c;指向另一个对象&#xff0c;所以我们也称为原型对象…...

    2024/4/26 21:29:56
  23. C++中只能有一个实例的单例类

    C中只能有一个实例的单例类 前面讨论的 President 类很不错&#xff0c;但存在一个缺陷&#xff1a;无法禁止通过实例化多个对象来创建多名总统&#xff1a; President One, Two, Three; 由于复制构造函数是私有的&#xff0c;其中每个对象都是不可复制的&#xff0c;但您的目…...

    2024/4/27 3:39:00
  24. python django 小程序图书借阅源码

    开发工具&#xff1a; PyCharm&#xff0c;mysql5.7&#xff0c;微信开发者工具 技术说明&#xff1a; python django html 小程序 功能介绍&#xff1a; 用户端&#xff1a; 登录注册&#xff08;含授权登录&#xff09; 首页显示搜索图书&#xff0c;轮播图&#xff0…...

    2024/4/26 23:53:24
  25. 电子学会C/C++编程等级考试2022年03月(一级)真题解析

    C/C++等级考试(1~8级)全部真题・点这里 第1题:双精度浮点数的输入输出 输入一个双精度浮点数,保留8位小数,输出这个浮点数。 时间限制:1000 内存限制:65536输入 只有一行,一个双精度浮点数。输出 一行,保留8位小数的浮点数。样例输入 3.1415926535798932样例输出 3.1…...

    2024/4/26 9:43:45
  26. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  27. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  28. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  29. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  30. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  31. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  32. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  33. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  34. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  35. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  36. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  37. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  38. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  39. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  40. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  41. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  42. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  43. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  44. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  45. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57