⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 subject_48897.htm

📁 一些关于vc的问答
💻 HTM
字号:
<p>
序号:48897 发表者:亮子 发表日期:2003-08-04 20:14:13
<br>主题:我正在开发一个考试题库系统,请问用vc+access能否实现?拜托了!~
<br>内容:&nbsp;&nbsp;应老师要求,开发一个考试题库系统,课程的每一章都会有若干道题目供选择,出题是在每一章中随机出几道题,将题目内容(其中包含有图片),拷贝到一个word文档中,我想用access将题目按章节保存到几个表中,用vc调用它,请问是否可行?<BR>&nbsp;&nbsp;还有,access保存了word文档,要用到ole操作,在vc中调用数据库时,读取其中的内容,将其保存到一新建的word文档中,是否也要用到ole操作?<BR>&nbsp;&nbsp;如果不用数据库行不行,能否给一些建议!或者有什么更好的方法!<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 不胜感激!!!<BR>
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:大橡胶 回复日期:2003-08-05 07:53:29
<br>内容:我是只迷途的大羔羊,我不能完全回答你的问题<BR>My God,只是觉得你的问题是“最复杂的方法”解决“最简单的问题”<BR>上帝他叫我这只大羔羊来带你这只迷途的小羔羊<BR><BR>我只讲用VB/VBScript的方法,想转换成VC那就要看看ADO的帮助文件和用OLE/COM(在VC6.0和Visual Studio.Net的菜单上都有)工具来查一下Program Files\Common Files\System\ado\msado??.dll和Program Files\Microsoft Office\Office\MSWORD*.OLB,或者用最下面讲的方法<BR><BR>首先最好看看Program Files\Microsoft Office\Office \VBAWRD*.CHM让你知道用WORD的对象模型来编程用VB/VBScript是多么方便<BR><BR>用数据库的话我建议你用OLE类型(其实是“长二进制类型”)把整个文件给拷进去,然后读的时候又整个给读出来放在临时文件夹,假设临时文件名为Sourdoc.doc,要增加到的文件名为Destdoc.doc,下面的代码是要把Sourdoc.doc的全部内容贴到Destdoc.doc的后面<BR>要么不用数据库就干脆把WORD都改个名,然后自己建立一个文件格式来贮存相关信息(在VC里OLE/COM真是烦人,用哪个Interface都要知道它的uuid,用名字不行吗?要用人难道要叫他/她的身份证号吗?“你以后不用再叫老比了,B7119a7e-1234-abcd-706247007794是你的终身号码”)<BR><BR><BR>'VBScript<BR>Dim wrd, WshShell, WshEnv, TmpPath, SourDoc, DestDoc<BR>Set wrd = CreateObject("Word.Application")&nbsp;&nbsp;&nbsp;&nbsp;'ProgID,不用多说<BR>Set WshShell = CreateObject("WScript.Shell")&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>Set WshEnv = WshShell.Environment("PROCESS")<BR>TmpPath = WshEnv("TEMP")<BR>wrd.Visible = false<BR>Set SourDoc = wrd.Documents.Open(TmpPath &amp; "Sourdoc.doc")<BR>Set DestDoc = wrd.Documents.Add()&nbsp;&nbsp;&nbsp;&nbsp;'忘了要不要加()<BR>SourDoc.Selection.WholeStory&nbsp;&nbsp;&nbsp;&nbsp;'全选&nbsp;&nbsp; (WholeStory是整个故事吗?我不想知道Story的别的含义,尽管我早就知道了)<BR>SourDoc.Selection.Copy&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'复制<BR>DestDoc.Selection.EndKey 6&nbsp;&nbsp;&nbsp;&nbsp;'在文件后面准备粘贴SourDoc的内容,6是参数,表示WdStory(Word's Story?原来我们每次粘贴从人家抄来的整篇文章到Word里面都给Word带来新的历史,我们不能说美国的历史短,其实它的历史比六千年古埃及还长,因为有很多人都在粘贴USAStory)<BR>DestDoc.Paste&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'粘贴&nbsp;&nbsp;&nbsp;&nbsp;(我们不会从人家那里粘贴ChinaStory吗?)<BR>DestDoc.SaveAs TmpPath &amp; "Destdoc.doc"&nbsp;&nbsp;&nbsp;&nbsp;'保存<BR>SourDoc.Close<BR>DestDoc.Close<BR>Set WshEnv = Nothing<BR>Set WshShell = Nothing<BR>Set wrd = Nothing&nbsp;&nbsp;&nbsp;&nbsp;'相当于wrd-&gt;Release()<BR><BR>上面代码用到VB、Windows Script Hosting里都没有什么大改动,要是硬要用VC的话,除了前面说要查COM的东东外也可以把上面的代码经修改后放到某个HTML的&lt;SCRIPT LANGUAGE=VBSCRIPT&gt;...&lt;/SCRIPT&gt;里(几乎不用改上面的语法),然后在VC增加"Web浏览器"控件,设置Silence属性为True(不然会弹个对话框出来吓唬小孩说ActiveX控件会吃小孩的,是否要放我出来?),用它来浏览该页,每次刷新一下就等于执行一次;如果要考虑到代码开放安全问题可以用IHTMLDocument2::write(也就是document.write)来写入代码,不过你第一次写入及每次刷新要用DWebBrowserEvents2::DocumentComplete事件里执行之后要执行的任务(比如复制Destdoc.doc到要真正要保存的地方),该事件来表示“该HTML已完全写入并且WebBrowser已生成相应的HTML内容(生成HTML的相关对象以及执行脚本程序(?))”了,否则贸贸然执行了"写完HTML"或"刷新"的语句便立即强行读取/复制Destdoc.doc会可能造成错误(你刚刚喂饱我还没等消化就想拿我去卖真是无良奸商!要等消化事件发生发生了再拿我去吧(你是怎么知道一只动物吃的东西已经消化完的?))。<BR>当然如果上面的保存语句是直接保存到要保存的地方的话就立即OK不用那么复杂了。<BR><BR>我所写所说的只是个大概,有些东西不能直接使用,想当年我光理解Word.Document是怎么把浅水淹死人,以及PowerPoint.Show和PowerPoint.Slide是怎样把简单的东西变复杂时用了我一个多星期宝贵的吃饭睡觉时间
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:亮子 回复日期:2003-08-13 09:52:34
<br>内容:谢谢你。对不起,这些天忙的不得了,没有回帖子,heihei/<BR>向superguo致敬!<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -