新东方的作文笔记(自己总结)

2024-06-15

新东方的作文笔记(自己总结)(精选6篇)

新东方的作文笔记(自己总结) 第1篇

以下资料是我在新东方的作文笔记。将其整理,上传给大家分享。开始之前,送大家两句话-----“Chances always favor the prepared winds.”

幸运女神总是青睐有准备的人

“A penny saved is a penny earned.”

积少成多

首先,来看看作文评卷标准。结构清晰

2词汇变化

3句型变化

4错误较少

其次是战略(strategies)

1结构第一:面子问题----注意书写(分体)、格式(顶格/隔行)标点(中英文标点区别)、字数控制、注意拼写。

2语言第二:表达不要“怪”、变化不要“少”;错误不要“多”。

说明:think

important more and more hard 这些“初级“词汇尽量用考研大纲的单词来替换。

参考替换词汇:

Think: maintain, suppose, insist, propose,present ,consider, argue

as far as I am concerned, in my eyes, to my knowledge, for my part(think 着用这些词汇或短语来替换)

important: vital, crucial, critical, decisive,principal,primary, indispensable.More and moe: a grawing number of

an increasing amount of hard: harsh tough arduous

3内容第三:思想大众化,思想健康化。态度积极,避免敏感政治话题

注意:标题不要写

最后看看具体操作 1 名言的活用

在熟练背诵名言的前提下,可以根据文章主题来自由发挥。如将其改编,改写。EX1:,All roads lead to Romans.改写后:All roads lead to “success”.EX2:Ask not what your country can do for you;ask what you can do for your country.---John F.kennedy 改写后:Ask not what your “parents” can do for you;ask what you can do for your “parents.”

不要问你的父母能为你做什么,而要问你能为父母做什么。

EX3:Where there is will ,there is way.改写后:Where there is “love”,there is “contribution”.(哪里有爱,哪里就有奉献。)

essential,fundamental,significant,dominant, 2 遣词之四度

(1)准度(Accuracy):作文时注意固定搭配和词语的辨析。EX:country ,state , nation.(他们之间的细微区别)(2)宽度(Variety)

EX1: This class makes me share their experance.(大家最喜欢用的词语就是make)换词汇:This class access me to share their experance.allows(将make换成这两个词比较好)EX2:Love maks him young.Love enables him to be young.(3)难度(Difficulty)

下面我们还是做“换词汇”的工作。也就是词语的升级。

Main= major, chief, essential, primary, fundamental, principal,Always= invariably, inescapable, indispensable, inevitable, inescapable

Clear= distinct , manifest, explicit, evidence

Strange=peculiar ,queer, eccentric

Raise=life, elevate, escalate

Begin=commence

End=terminate, cease

Continue=proceed

Effort=endeavor

Same=identical

Ps: 大家来体会这两句话。My cell was in need of an electricity dinner.2I’m swimming in an ocean of homework, 第一句翻译:我的手机在充电

第二句翻译:我有大量的家庭作业要完成。句型运用

(1)定语从句

在写作中多运用定语从句,让散句看起来更有结构。(2)双重否定

Anyting is possible.Impossible is noting.以上两句用中文表达意思都差不多。但是这里要强调的是第二句比第一句出彩。出彩在哪里?先看其结构“表

主”前后都用了否定词。第一词用了否定,句子肯定要倒装。所以第二句又是双否又是倒装句。

下面给大家一些例句,试试做做对比。EX1:I will score high in this exam.I will never fail to score high in this exam.EX2:I didn’t have dinner.I failed to have dinner.EX3:The following factors can not be ignore.The following elements can not be omitted.Impossible is that I will fail to score high in the exam.这句话用了双否,倒装和主语从句。

(3)倒装

A否定副词用法

Never have I seen you.Not only…but also

B noly 用法

EX1:Only with perseverance can we succeed.(only+介词用法)

EX2: Only here can we acquire systematic.(noly+副词用法)

EX3:Only when I graduate can I financially support my parents.(only+从句)

C as 引导从句

EX: Rich as he is, he is friendless.(4)强调句

A强调谓语(do/dose/did)

EX: I do love you.B It is/was … that

C very 的强调

D 否定词+比较级=肯定词+最高级 EX:It can not be hotter.(非常热)EX:I have never met a nicer person than you.(我从未见过比你更好的人)

(5)同位语从句

有时状语从句,宾语从句都可以变化为同位语从句。EX:Although I love him, I will not marry him.变化后:In spite of the fact that I love him, I will not marry him.EX:We discove that…

We make a discover that…

(6)虚拟语气

EX:If there were no opening-up policy, we would have no KFC.EX: If overfishing were to continue, our next generation would have no fish to eat.在写作中要学会运用虚拟语气给文章加分。

最后就是写作模板。因为在网上都可以搜寻,这里就不一一给大家写出来了。以上就当抛砖引玉,给大家一个思路。

新东方的作文笔记(自己总结) 第2篇

1)speed:60/min

2)理解具体信息(mainidea,best title)

3)理解文中概念性涵义(concept)

4)相关推理判断和引申(infer)注意:没有一个选项是因为它太接近原文而被淘汰,原意重现本身就是推理

5)根据上下文推测生词的涵义

6)理解文章总体结构

7)理解作者的意图,观点和态度

8)区分论点和论据(例证题)临床实验室

阅读的步骤: 分三步走 临床实验室

1)通读全文,抓住中心:首段原则(第一段非常总重要)首末句原则 clin-lab.com

a.文章论述的主要内容是什么?

b.作者的态度有没有?

c.有没有一些核心的概念?

临床实验室

2)仔细审题,返回原文(搜索题干中的时间地点人物概念,然后去原文中对照找出相应的地方)

clin-lab.com

3)重复选项,得出答案(选一个选项要有选它的理由,不选一个选项要有不选它的理由)clin-lab.com

几种题目的对策:

1)细节事实题:标志:fact(from the fact we could learn)(we learn from the fact that)从两个方面返回原文:a.题干的时间地点人物概念;b.四个选项的共同点。在细节实事题中常见的迷惑手段:单词替换;常识判断;颠倒因果;偷换概念;扩大范围

clin-lab.com

2)例证题:标志:example,illastration,case/examplify,illastrate,demostrate 返回原文找出该例证(定位)90%向上,10% 向下搜索例证支持的观点在四个选项中找出与所找到的观点最一致的一个作为正确答案。

临床实验室

3)词汇题:标志:在题干中明确指出原文中某处的单词或词组要求急于解释判断该词是否超纲若未超出大纲则其常见意思必然不是正确答案,其正确答案是根据上下文推测处的一个深刻涵义或生僻涵义若为超纲词或为大多数人不认识的单词,则其字面意思或常见意思就是正确答案。怎样推测不认识的单词:以该词为中心,向上向下搜索同词性的单词,并将其代入替换看意思是否通顺。临床实验室

4)句子理解题:标志:在题干中明确提出原文中某处的一个句子要求进行理解。返回原文找出该句,并对其意思进行精确理解,必要时进行语法分析。正确答案是与原句意思最接近最一致的一个选项。其中不涉及任何推理过程。尽管英语阅读有“精读”和“泛读”之分,然而,无论哪一种阅读,只有采取了正确的阅读策略,才能达到你的阅读目的。

临床实验室

一般来说,阅读目的不外乎分为这么几种:要么是为了了解文章的大意,或者掌握具体细节,要么是寻找某些问题的答案,或者是为了学习语言。针对不同的阅读目的,你必须采取相应的阅读策略,只有这样才能真正做到有效的阅读。临床实验室

如果你是为了了解文章的大意,建议你不妨首先研究一下文章标题,看看是否可以从中找到有用的信息;如果文章中还含有小标题的话,可以把它们结合起来加以综合考虑。接着,你可以采用类似浏览的略读策略(skim),从主要部分(如文章的首段和尾段,及每一段的首句和末句等)寻找关键内容,从而快速准确地把握文章大意。

临床实验室

为了及时把握文章细节,你可以运用寻读策略(scan)。所谓“寻读”,就是要求你在阅读的时候,不过分强调对文章内容的整体理解。只要按照文章顺序,跳跃式地寻找有关的具体内容加以阅读理解即可。换句话说,就是只阅读你认为重要的细节部分,其他可以略过不读。

clin-lab.com

如果是为了寻找某些问题的答案,可以运用主题句(topic sentence)定位策略。按照英语的习惯,通常一段话的首句即为这一段的主题句(当然,有时候主题句也可能是该段落的末句)。针对问题,找到相关的主题句,再对这一段加以仔细阅读、理解,以求找到问题的答案。

clin-lab.com

如果想要借助阅读来学习语言,由于这类阅读的目的超越了阅读的本质,一般可以运用“精读” 学习时采用的单词和语法学习策略,留到以后再具体说明。临床实验室

由此可见,正确的策略对于英语阅读的重要性。从现在起,你可以根据不同的阅读目的,多做些相关训练,来培养自己采取正确阅读策略的能力。

新东方的作文笔记(自己总结) 第3篇

一格莱美颁奖典礼环绕声制作回顾

格莱美奖 (Grammy Awards) 是录音界与音乐界最重要的奖项之一, 格莱美颁奖典礼的环绕声制播始于2002年, 2009年之前独立混录立体声版和环绕声版, 目前仅制作环绕声版, 立体声版由环绕声版下混而来。12年来, 格莱美颁奖盛典的制作系统日益革新, 制作手法日益精湛。

格莱美颁奖盛典制作的成功, 离不开扩声/返送、音乐混录、播出终混三个团队的紧密配合。对于环绕声制播系统, 盛典现场的音乐信号送至录音车进行音乐的缩混和收录, 并最终和主持话筒信号、观众效果信号一起在转播车中进行终混。最终现场信号通过Dolby E传送到位于纽约市的CBS电视台。直播现场旁还设立了专门的标准监听室, 供格莱美奖授予方——录音学院的专业人士进行审听。

值得一提的是格莱美音频团队出色的音乐混录。环绕声制播的初期, 音乐混录的团队采用的是和我们目前多数综艺节目直播类似的系统架构, 在独立的音乐混录音频车上, 混音师使用数字调音台的“Snapshot”功能, 调用排练时记录的推子及效果设置。然而, 这种方式经常迫使混音师跟着排练到深夜, 而且由于台上表演的艺术家们无法参与混录过程, 使得最终结果往往得不到这些艺术家的认可。

目前, 音乐混录采用的是图2中的系统。M3公司为音乐混录提供了两辆音频车:“Eclipse”和“Horizon”。两辆车均使用AVID Pro Tools进行收录和缩混, 并使用D-Command控制台, SSL Delta Link MADI I/O和Avid 192I/O接口, 以及Genelec DSP监听系统。使用Pro Tools的优势在于, 在该平台上, 可以通过使用顶级的音频插件来获得更好的声音。

在排练中, 现场多轨音频记录在“Eclipse”车上, 同时在“Horizon”车内, 格莱美的混音师与艺术家、制作人、经纪人以及其录音棚制作团队的工程师一起, 完成音乐的缩混。直播当天, 缩混的工程及插件设置拷贝到“Eclipse”车, 而此时“Horizon”则作为“Eclipse”的镜像备份。直播过程中, 这些模板会按预定的顺序加载, 每一个时间点都精确到秒。

此外环绕声制作团队对节目的响度和元数据设置也有完备的控制。在三辆车内均使用Dolby LM100进行响度控制, 而元数据的写入和仿真监听是在转播车内使用DP570完成的。

二环绕声转播系统概览与工作流程设计

不同于体育赛事的环绕声转播, 综艺节目由于涉及大量剪辑和翻译工作, 工艺流程往往更为复杂, 制作时间也相对紧迫。

东方卫视《盛典》节目以经过剪辑精编的格莱美红毯仪式及颁奖典礼为主, 此外节目间有演播室信号和宣传片串联。直播当天, 7点至9点传送红毯仪式信号, 9点至13点直播传送内场典礼。晚10点前需将节目以磁带载体送交播出上载。

28日凌晨的重播版未使用同声传译, 而采用原声加中文字幕的方式播出。在这一天时间中, 要完成所有素材的精编、总串、加嘉宾与歌词翻译的字幕, 对节目内容进行审查, 并下载至磁带送交播出部门上载至播出服务器, 任务量很大。故提前对系统和工作流程进行优化设计和测试至关重要。

根据上海电视台内的工艺流程, 如图3所示, 首先对卫星传送信号进行解码和收录, 并与经过上混的立体声素材一同上载至台内制作网。后期采用多台视频非编站点协同工作, 完成节目精编总串与节目内容审核, 最终下载至HDCAM磁带, 送交播出部门。

1. 卫星信号解码收录

在前期筹备过程中, 通过与转播商协调, 台内技术人员提出了传送环绕声信号的要求。卫星传送的信号共有四路, 分别为红毯仪式信号的主备路及内场典礼信号的主备路。如表1所示, 其中红毯仪式信号主要为解说和游动机位采访, 音频格式为双单声道;内场典礼为颁奖仪式现场信号, 音频格式为CH1/2立体声, CH3/4 Dolby E。

对于携带着环绕声音频数据的Dolby E, 为方便制作系统的编辑与监听, 需要在收录前进行解码。由图4所示, 此次制作中, 采用了Junger M*AP进行Dolby E解码。由主控选送的内场主路信号, 经HD SDI嵌入音频, 输入到Dolby E解码器, 解码后的信号按照2.0+5.1PCM声道排列 (表2) 重新嵌入到HD SDI中, 输出至硬盘收录设备, 并上载至制作网。

同时, 作为备份, 内场备路信号通过HD SDI嵌入音频, 直接使用HDCAM录像机记录在磁带上。如主路信号出现故障, 可使用HDCAM磁带备份的信号重新解码收录及上载, 保证节目的完整性。

2. 立体声素材上混

因为除了内场典礼为环绕声内容外, 宣传片、演播室串联、红毯典礼部分的音频格式均为立体声, 所以为了保持声场的一致性, 《盛典》节目所有立体声素材都进行了上混。

如图5所示, 本次上混主要使用的是Junger T*AP, 上混后的素材同样按照表2所示的2.0+5.1PCM声道顺序排列, 嵌入HD SDI输出至硬盘收录服务器进行收录及上载。

3. 后期剪辑下载至磁带

由于制作时间比较紧张, 《盛典》节目共使用四台非编工作站同时进行剪辑, 在收录的同时, 剪辑站点即开始进行粗编, 极大地加快了工作进度。

后期剪辑及下载系统如图6所示, 其中视频工作站1#具备Dolby E编码和输出磁带的职能。2.0+5.1的8路音频信号嵌入HD SDI, 输入至Junger T*AP进行编码, 编码后的信号按照CH1/2立体声, CH3/4 Dolby E的声道顺序重新嵌入HD SDI, 输出至HDCAM录像机。

《盛典》节目共分三盘磁带, 每个站点建立独立的工程进行精编。输出时, 视频工作站1#只需打开对应的工程, 即可进行输出和下载。

4. 监听

《盛典》节目使用了环绕声监听采用了两套监听系统, 一套是标准5.1环绕声监听, 另一套是对带后信号的下混监听。

5.1监听系统临时架设在视频工作站#1旁 (图7) , 我们选择了一块相对来说空间规整、环境安静的区域。Junger M*AP将编码后的Dolby E解码输出, 监听扬声器使用Genelec 8040x5 7070x1。5.1监听系统的主要职能有:

监听上混的效果;

监听演播室、红毯、内场等部分响度;

对Dolby E编码后的信号进行审听;

检查视音频同步。

下混监听架设在视频工作站#1, 使用Dolby DM100对带后Dolby E解码并进行下混监听。该监听工具还可方便地监听各个声道信号、查看元数据信息, 并对错误状态进行提示。

三制作中需要关注的问题

在此节目制作中, 还有一些问题需要关注, 在此列出笔者的总结和思考。

1. 环绕声转播系统链路测试

为保证整个系统正确稳定的运行, 提前对系统进行测试是必不可少的环节。在本系统中, 需要测试的项目主要有:信号通路、Dolby E编解码链路、声道逻辑关系 (声道顺序) 、音频信号电平及相位校正、视音频同步。

合理地选用广播电视声音识别校准信号可以方便、快捷地进行上述测试。本此系统测试采用的信号为《电视节目技术质量奖》中要求的高清晰度磁带录制规范中引带的音频测试信号。测试信号中其中既有声道标识, 又有标准电平, 可大大缩短测试时间, 方便我们发现及纠正系统问题。此外, 卫星传送信号在内场信号之前, 传送了约两个小时的测试信号, 其中视音频同步的测试采用的是计时环信号。

2. 制转备份方案

在1月26日晚的卫星通路测试中, 美国广播商传送部门传送信号的制式并非约定中的PAL制, 而是NTSC制式。由于Dolby E的解码与帧信息紧密相关, 制转设备往往无法保证Dolby E码流的正确传输, 为了保险, 我们临时设计了应对制转的备份方案, 如图9。

在遇到制转问题时, 需将Dolby E的解码置于制转设备之前, 现将Dolby E解码为PCM信号, 重新嵌入HD SDI, 再经过制转。这样既能保证环绕声信号正确解码, 又能保证视音频同步。

3. 立体声节目上混

在环绕声节目中, 将VCR等立体声素材进行上混是常见的做法之一, 对于立体声的上混有些问题需要我们留意:

上混效果与原始的立体声信号的制作紧密相关。常见的立体声上混算法均是基于立体声 (2.0) 至环绕声 (5.1或5.0) 的上混, 双单声道的素材使用该种算法上混无法得到较好的上混效果。故应明确提出立体声制作的要求, 并密切留意原始素材是否是按照立体声制作的, 尤其要注意资料库中的音乐、音效是否为真立体声;

要根据实际素材内容调整上混参数。立体声上混均有丰富的参数可调, 在上混中应根据前后节目声场环境对参数进行调整, 以取得较好的上混效果。图10为此次节目中使用Junger T*AP Upmix模块上混时使用的参数。

值得一提的是, 此次制作中, 发现格莱美颁奖实况中的串场短片上混时, 均未使用LFE声道。由于大多上混算法对LFE声道的生成主要依赖分频处理, 这可能会影响声音的平衡, 造成一定浑浊, 所以在今后的上混中, 也可尝试仅做5.0的上混, 关闭LFE声道。

4. 节目响度控制与元数据

由于节目除格莱美颁奖盛典现场之外, 还有红毯仪式、演播室信号和宣传片串联, 所以需要对节目内各板块的响度进行控制。此次制作中, 各环节制作的内容响度控制得比较合适。在总串时, 音频制作人员在5.1监听环境下, 对节目整体进行了监听, 并以Junger T*AP响度表进行参考, 通过视频工作站中音频电平的微调, 使节目整体响度保持一致。

在保证节目内响度一致性的基础上, 正确地写入元数据信息, 对节目间响度控制和用户解码至关重要。Dolby E携带的元数据描述了节目中与音频制作相关的多项重要内容。通过这些信息的传递, 可以实现对用户端解码的控制, 故元数据信息是否正确写入, 关乎着用户端能否准确地还原制作端的节目信号。

在《盛典》节目中, 以内场的颁奖典礼为主, 还有其他节目素材, 故元数据写入时参考了内场信号Dolby E码流中携带的元数据信息, 又根据实际制作情况, 重新确定了一些项目的值。表3为内场信号和节目最终写入的部分元数据的值, 特别指出重新修改的是以下几项:

Program Configuration:5.1。有些系统对16bit以上的音频兼容性比较差, 故在制作时, 首选使用“5.1”的节目设置, 并注意检查Dolby E编码的比特深度为16bit;

Dialog Normalization:-27d BFS。本次制作中, 对白归一值参考的是节目语言部分长时响度的平均值。对于既包含音乐又包括语言 (嘉宾致辞、语言类节目) 的节目, 如果使用整个节目的长时平均响度作为对白归一值是不合适的。因为ITU-R BS.1770-2的K计权响度测量算法在测量音乐等频率比较丰富的节目内容时, 指示的响度值往往要高于实际听感的响度, 此时, 如果按照整个节目的长时响度进行设置, 会造成用户端解码后听感上响度偏小;

DRC Mode (Line/RF Mode Profile) :Film, Light。相对于“Film, Standard”, “Film, Light”这一动态范围控制曲线有比较长的线性区, 以避免对节目进行过分的压缩处理;

Preferred Downmix Mode:Lo/Ro。该项目在Dolby E编码器中的默认值是Lt/Rt。Lt/Rt主要用于用户端Pro Logic的矩阵解码, 该种矩阵运算在传统下混的同时, 还有左右环绕声道间的加减运算。在国内, Pro Logic编解码使用得很少, 故优先使用Lo/Ro的下混方式。

5. Dolby E编解码延迟及补偿

在此次节目制作的系统中, Dolby E编码采用的是, 在下载至磁带时, 系统中串联Dolby E编码器进行实时编码。此时, 要注意使用视频非编工作站下载到磁带时, Dolby E编码器的延时问题。由于Dolby E的编解码各有一帧的延时, 所以在编码前, 需要将需要编码的CH3~8声道音频提前画面一帧输出。

另外在下载到磁带时, 可能因为视频丢帧、出现错误等意外情况, 需要使用组合或插入编辑, 此时, 插入点后一帧的Dolby E数据块有可能出现缺失。这是由于目前很多视频非编工作站不支持音频提前画面输出, 或采用预卷时并不输出信号的“伪预卷”模式。由图11所示, 当VTR预卷时, 非编工作站并不输出信号, 仅遥控VTR进行预卷;预卷结束后, 入点开始时, 同时输出视频音频信号, 此时由于Dolby E编码产生了1帧的延时, 而VTR的消磁头已经将之前磁带上这一帧音频数据消去。这种情况下, 磁带上的Dolby E的码流会出现断点, 故应尽量避免在节目中间频繁地进行这种编辑操作, 或将剪辑点设置在广告点、两段素材接点等对声音连续性要求不是很敏感的位置。需要指出的是, 这一断点其实不会造成一帧的静音, 在杜比数字 (AC-3) 编码器中, 如果发现Dolby E码流间断, 会自动使用CH1/2的立体声音频填补这一帧的空白。

然而, 这种编辑往往是在所难免的, 在本次节目制作过程中, 经各部门协调, 将审片流程安排在下载至磁带之前, 即在视频非编工作站上审看节目, 尽量避免“边吐边改”的情况发生;如仅需对画面进行修改时, 采用回插画面的方式;在的确需要重新插入的部分, 选择广告插入点后进行插入操作。

6. 高标清同播及响度控制

目前国内环绕声的制作, 普遍面临着如何适应目前高标清同播的播出方式。本次制作的标清立体声版使用的是卫星传送的CH1/2立体声版, 以及上混前的立体声版。由于美国并无国内高标清同播的问题, 制作团队只需要提供高清画面+环绕声音频一个版本的内容, 所以卫星信号传送的立体声版是从原始环绕声版本下混得来的。

目前国内节目响度制作标准正准备推广试行, 一般的, 标清立体声节目的响度应在-24LKFS (LUFS) 左右。此次在卫星信号收录时, 我们发现立体声版的响度在-26LKFS左右, 这一定程度上使标清节目的响度总体偏小。在今后的制作中, 可以在收录的同时对立体声版的响度进行校正, 以保证制作网中素材的规范性。

四结语

新东方的作文笔记(自己总结) 第4篇

在没有到达禧悦东方酒店之前,就听说这是济南首家本土自主品牌五星级酒店,邻国际会展中心,地段绝佳,交通便捷,是商旅人士的理想落脚点。

走进酒店大堂后,首先是宾至如归的服务,让人觉得贴心,再看大厅装修颇有格调,简约而不简单,让人感觉舒服。四处转转发现酒店的设计别出心裁,一看就是费了一番心思的。据工作人员介绍,酒店的设计灵感来自中国“天人合一”的哲学思想,结合泉城济南独特的人文气韵,在尊重传统文化脉络的同时又有所创新,以丰富的中国色彩及中式空间层次感将现代元素和传统元素融合在一起,使西方美学理性和东方文化浪漫合理兼容,以现代人的审美需求诠释中国传统韵味的空间环境。果然是雅致不俗,一家有自己腔调的酒店。

如果你也想和我一样投宿在喜悦东方酒店,那可要了解一下,这里有精心打造的精致客房377间,每间客房面积均在48平方米以上,客人可享受到一系列尊贵服务,如品牌舒压床、卫星电视、免费无线和宽带上网等设施,同时提供贴心且性价比高的管家式服务。多款经典房型满足客户多元化需求 。

舒适安静的居住环境固然很好了,但如果再有可口的美食,那就这家酒店就只能用金星老师的一个口头语来形容了,“完美!”酒店有高级特色中、西式自助餐厅,且餐厅的装修风格也不容小觑哦,汲取了欧式精华元素,结合中式典雅的风格,又融合现代明朗简洁的设计和布局,彰显尊贵品质及中国古典文化魅力。环境优雅、品味不俗,到底有哪些美味呢,且听我给报菜名品滋味了。

第一道:老济南糖醋鱼,这可是鲁菜的传统名菜,做法和用料虽然不是太复杂,但营养却十分丰富,香酥酸甜,好吃的差点把舌头吞下去。

第二道:九转大肠,这又是一道鲁菜的代表菜,而且还有故事。此菜是清朝光绪初年,济南九华林酒楼店主首创,开始名为“红烧大肠”,后经过多次多次改进,红烧大肠味道进一步提高。许多著名人士在该店设宴时均备“红烧大肠”一菜。一些文人雅士食后,感到此菜确实与众不同,别有滋味,为取悦店家喜“九”之癖,并称赞厨师制作此菜像道家“九炼金丹”一样精工细作,便将其更名为“九转大肠”。此菜是酸、甜、香、辣、咸五味俱全,色泽红润,质地软嫩。一吃起来就欲罢不能,减肥的计划算是栽倒在它身上了。

吃到这里已经是饿意全无了,但接下来美食依然是源源不断,香酥不腻的禧悦烤鸭、营养大补的鲍汁煲大参、再有精致到舍不得吃的雨后春笋……真是恨不得自己能像牛一样,多长出几个胃来储存这些美食。

济南禧悦东方酒店,就是这样一家有自己的腔调,又有独特的美食的酒店。你不能错过哦。

地址:济南高新区工业南路44号(高新区丁豪广场东侧)

电话:0531—81299999

读博士期间自己总结的VC笔记 第5篇

1.MFC生成的C++源文件中都有StdAfx.h,此文件包含了常用的AFX函数的声明,其中有afxwin.h,此文件包含了CRECT,CPoint,CWnd等许多类及其方法的声明。2.Project->Setting->Debug可以加入命令行参数。

3.在SDK中要加入“windows.h”和stdio.h。因为LoadCursor,MessageBox等函数的声明在这个文件中。

4.创建一个完整的窗口的四个步骤SDK,1设计窗口类,2注册窗口类,3创建窗口,4显示窗口

5.函数名可以代表函数代码的首地址,即可作为函数指针。

6.要查看VC数据类型,可以在MSDN中输入“BOOL”然后选择“DATA TYPE”。7.atof将字符串转化为float,atoi将字符串转化为int型。8.所有从CWnd类派生的类都有m_hWnd句柄。

9.变量的生命周期:可以认为出了包含它的大括号,这个变量的生命周期结束。所以全局变量的声明位于所有大括号之外。但是用new声明的变量和用static声明的变量除外。

10.SDK示范程序,见下面。

11.sprintf格式化字符,其头文件为stdio.h,在MFC中格式化字符用CString.Format 12.GetDC()与ReleaseDC()要成对使用,否则会内存泄漏。同样,BeginPaint()与EndPaint()。

13.GetStockObject()得到画笔、画刷、字体、调色板的句柄,使用时必须用类型转换。

14.什么时候用NULL,什么时候用0.答,对指针赋值时用NULL,对变量赋值时用0.15.什么是野指针?答:将指针指向的变量的内存释放后,此指针即变成野指针!如何避免野指针?答:将此指针指向NULL即可。p=NULL;16.SDK代码流程:

#include “windows.h”//包含头文件LoadCursor,TextOut等函数 #include “stdio.h”//包含sprintf,printf等函数 LRESULT CALLBACK MyProc(...);//声明回调函数 int WINAPI WinMain(){ WNDCLASS wndcls;//设计窗口类

wndcls.hcursor=LoadCursor();//初始化....RegisterClass(&wndcls);//注册窗口类 hwnd=CreateWindow(...);//创建窗口 ShowWindow(..);//显示窗口 UpdateWindow(..);MSG msg;//定义消息结构体

while(GetMessage(...))//消息循环 {...} return 0;}

LRESULT CALLBACK MyProc(...)//实现回调函数 { switch(uMsg){ case WM_CHAR: break;...} }

第2课

1.定义结构体和类时别忘记在最后加入“;”号!例如Class Point{int x;int y;};2.#include 与#include “xxx.h”的区别:<>不查找运行时目录,“"查找运行时目录!

3.类的定义中,如果未指明成员类型,则缺省为private.而结构体中则缺省为public.4.引用:引用经常用在函数的传参上。另外数值交换函数也经常用引用。例 change(int &x,int &y){int temp;temp=x;x=y;y=x}调用时即可以用 int a=3;int b=4;change(a,b);一般不用指针来作为参数进行数值交换。因为会引起歧义。

5.通常将类的定义放.h文件,而将其实现放在cpp文件中,别忘记了在cpp文件中#include ”xxx.h“ 6.如何防止类的重复定义? 用#inndef Point_H_H #define Point_H_H class Point{};#endif来防止

7.源文件cpp文件单独编译成obj文件。最后由链接器将与将要使用到的C++标准库类链接成exe文件,头文件不参加编译。所以在cpp文件中别忘记了加入#include ”xxx.h“ 8.函数的覆盖,在子类中重写父类的函数,此时采用早期绑定的方法。如果加入了virtual,则将采用迟绑定的技术,在运行时根据对象的类型确定调用哪一个函数。此迟绑定技术是MFC的类的继承的精髓。

9.强制类型转换。如果CFish从CAnimal派生而来。则可以将鱼的对象转换为CAnimal的对象,而反之则不行。从现实中理解也是正常的,鱼可以是动物,而动物却不是鱼。再如int可以强制转换成char型。而反之则出错。

第3课

1.在main或WinMain之前,全局变量已经被分配内存并初始化了。2.在MFC中在WinMain之前有个theApp全局变量先被构造并被初始化,而由于子类构造函数执行前,其父类的构造函数先被执行,所以CTestApp的父类CWinAPP的构造函数先执行。产生了theApp对象后,在WinMain()中的指针*pThread和*pApp就有了内容。3.MFC大致流程:

CTestApp theApp;//构造全局对象 WinMain(){ AfxWinMain();//调用下面的函数 } AfxWinMain(){ pThread->Initinstance();//初始化工作和注册窗口类,窗口显示和更新 pThread->Run();//消息循环 } 而在BOOL CTestApp::InitInstance()中的代码 CSingleDocTemplate* pDocTemplate;pDocTemplate = new CSingleDocTemplate(IDR_MAINFRAME, RUNTIME_CLASS(CTestDoc), RUNTIME_CLASS(CMainFrame), // main SDI frame window RUNTIME_CLASS(CTestView));AddDocTemplate(pDocTemplate);完成了将这三个类关联起来的工作。

4.如何在单文档文件中显示一个CButton的对象?

在CMainFrame::OnCreate()中定义一个CButton的对象btn;然后调用btn.Create(”维新“,WS_DISABLED |WS_CHILD | WS_VISIBLE | BS_AUTO3STATE, CRect(0,0,300,100),/*GetParent(),*/this,123);注意点:

(1).此处btn不能是局部变量,否则它的生命周期太短,将不能显示。(2).在create函数的第二个参数中加入WS_VISIBLE 参数才行。否则必须调用ShowWindow 也可以在view的OnCreate消息响应函数中加入(3).CButton类的定义头文件在afxwin.h中,而stdafx.h包含了afxwin.h,所以可以直接使用。因为MFC中的每一个类中都有#include ”stdafx.h“的声明。

第4课

1.在单文档中view挡在MainFrame的前面。此时如果编写针对MainFrame的mouseClick事件,将不会有反应。

2.消息响应会在3处修改代码,1处是在头文件中,//{{AFX_MSG(CDrawView)afx_msg void OnLButtonDown(UINT nFlags, CPoint point);afx_msg void OnLButtonUp(UINT nFlags, CPoint point);afx_msg void OnMouseMove(UINT nFlags, CPoint point);//}}AFX_MSG DECLARE_MESSAGE_MAP()另一处是cpp文件的begin MessageMap和End MessageMap之间,BEGIN_MESSAGE_MAP(CDrawView, CView)//{{AFX_MSG_MAP(CDrawView)ON_WM_LBUTTONDOWN()ON_WM_LBUTTONUP()ON_WM_MOUSEMOVE()//}}AFX_MSG_MAP // Standard printing commands ON_COMMAND(ID_FILE_PRINT, CView::OnFilePrint)ON_COMMAND(ID_FILE_PRINT_DIRECT, CView::OnFilePrint)ON_COMMAND(ID_FILE_PRINT_PREVIEW, CView::OnFilePrintPreview)END_MESSAGE_MAP()最后是要有函数实现的代码。

void CDrawView::OnLButtonDown(UINT nFlags, CPoint point){ // TOD Add your message handler code here and/or call default m_ptOrigin=m_ptOld=point;m_bDraw=TRUE;CView::OnLButtonDown(nFlags, point);} 3.画线:定义一个成员变量保存mouseDown的点m_Point 1)API函数方法画线用HDC 2)用CDC类成员函数画线。此时别忘记ReleaseDC 3)用CClientDC 4)用CWindowDC,用它甚至可以整个屏幕区域画线。下面是上面4种方法的代码 /*HDC hdc;hdc=::GetDC(m_hWnd);MoveToEx(hdc,m_ptOrigin.x,m_ptOrigin.y,NULL);LineTo(hdc,point.x,point.y);::ReleaseDC(m_hWnd,hdc);必须成对使用。*/ /*CDC *pDC=GetDC();pDC->MoveTo(m_ptOrigin);pDC->LineTo(point);ReleaseDC(pDC);必须成对使用。*/

//CClientDC dc(this);/*CClientDC dc(GetParent());dc.MoveTo(m_ptOrigin);dc.LineTo(point);此处不需要ReleaseDC,因为CClientDC会自动释放DC*/

//CWindowDC dc(this);//CWindowDC dc(GetParent());/*CWindowDC dc(GetDesktopWindow());//此时可以在整个屏幕上画线。dc.MoveTo(m_ptOrigin);dc.LineTo(point);*/ /*CPen pen(PS_DOT,1,RGB(0,255,0));CClientDC dc(this);CPen *pOldPen=dc.SelectObject(&pen);dc.MoveTo(m_ptOrigin);dc.LineTo(point);dc.SelectObject(pOldPen);*/ 5)用Bitmap填充所画的矩形。CBitmap bitmap;bitmap.LoadBitmap(IDB_BITMAP1);CBrush brush(&bitmap);CClientDC dc(this);dc.FillRect(CRect(m_ptOrigin,point),&brush);//CBRUSH::FromHandle是静态成员函数,所以可以用下面的方法调用。CBrush *pBrush=CBrush::FromHandle((HBRUSH)GetStockObject(NULL_BRUSH));CBrush *pOldBrush=dc.SelectObject(pBrush);dc.Rectangle(CRect(m_ptOrigin,point));dc.SelectObject(pOldBrush);m_bDraw=FALSE;6)用其它颜色画线 CClientDC dc(this);CPen pen(PS_SOLID,1,RGB(255,0,0));CPen *pOldPen=dc.SelectObject(&pen);//选中红色画笔 if(m_bDraw==TRUE){ dc.SetROP2(R2_BLACK);//设置绘画模式 dc.MoveTo(m_ptOrigin);//dc.LineTo(point);dc.LineTo(m_ptOld);//dc.MoveTo(m_ptOrigin);dc.MoveTo(m_ptOld);dc.LineTo(point);//m_ptOrigin=point;m_ptOld=point;} dc.SelectObject(pOldPen);4.MFC中隐式的包含了windows.h。为什么? 因为在AFXV_W32.h文件中:

// This is a part of the Microsoft Foundation Classes C++ library.// Copyright(C)1992-1998 Microsoft Corporation // All rights reserved.在AFXWIN.h中

// Note: WINDOWS.H already included from AFXV_W32.H 5.如何从句柄获得对象的指针? 答FromHandle 6.类的静态成员函数可以由类名直接调用,也可以由对象调用。可以认为静态成员函数并不属于某个对象,它属于类本身。程序运行伊始,即使没有实例化类的对象,静态成员函数和静态成员变量已然有其内存空间。静态成员函数不能访问非静态成员变量!静态成员变量必须在类的外部初始化。当然如果并不打算用到静态成员变量,此时你可以不初始它。7.理解代码区,数据区,堆,栈!请见下面的简介:

http://amedPipeSrvView::OnPipeCreate(){ // TOD Add your command handler code here hPipe=CreateNamedPipe(”.pipeMyPipe“, PIPE_ACCESS_DUPLEX | FILE_FLAG_OVERLAPPED, 0,1,1024,1024,0,NULL);if(INVALID_HANDLE_VALUE==hPipe){ MessageBox(”创建命名管道失败!“);hPipe=NULL;return;} HANDLE hEvent;hEvent=CreateEvent(NULL,TRUE,FALSE,NULL);if(!hEvent){ MessageBox(”创建事件对象失败!“);CloseHandle(hPipe);hPipe=NULL;return;} OVERLAPPED ovlap;ZeroMemory(&ovlap,sizeof(OVERLAPPED));ovlap.hEvent=hEvent;if(!ConnectNamedPipe(hPipe,&ovlap)){ if(ERROR_IO_PENDING!=GetLastError()){ MessageBox(”等待客户端连接失败!“);CloseHandle(hPipe);CloseHandle(hEvent);hPipe=NULL;return;} } if(WAIT_FAILED==WaitForSingleObject(hEvent,INFINITE)){ MessageBox(”等待对象失败!“);CloseHandle(hPipe);CloseHandle(hEvent);hPipe=NULL;return;} CloseHandle(hEvent);} void CNamedPipeSrvView::OnPipeRead(){ // TOD Add your command handler code here char buf[100];DWORD dwRead;if(!ReadFile(hPipe,buf,100,&dwRead,NULL)){ MessageBox(”读取数据失败!“);return;} MessageBox(buf);} void CNamedPipeSrvView::OnPipeWrite(){ // TOD Add your command handler code here char buf[]=”http://amedPipeCltView::OnPipeConnect()连接管道 { // TOD Add your command handler code here if(!WaitNamedPipe(“.pipeMyPipe”,NMPWAIT_WAIT_FOREVER)){ MessageBox(“当前没有可利用的命名管道实例!”);return;} hPipe=CreateFile(“.pipeMyPipe”,GENERIC_READ | GENERIC_WRITE, 0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);if(INVALID_HANDLE_VALUE==hPipe){ MessageBox(“打开命名管道失败!”);hPipe=NULL;return;} } void CNamedPipeCltView::OnPipeRead()读取数据 { // TOD Add your command handler code here char buf[100];DWORD dwRead;if(!ReadFile(hPipe,buf,100,&dwRead,NULL)){ MessageBox(“读取数据失败!”);return;} MessageBox(buf);} void CNamedPipeCltView::OnPipeWrite()写入数据 { // TOD Add your command handler code here char buf[]=“命名管道测试程序”;DWORD dwWrite;if(!WriteFile(hPipe,buf,strlen(buf)+1,&dwWrite,NULL)){ MessageBox(“写入数据失败!”);return;} } 4.邮槽,使用时应将消息长度限制在424字节以下,关键函数CreateMailSlot()a.先建一个MailSlotSRV工程,加菜单“接收数据” b.消息响应代码:

void CMailslotSrvView::OnMailslotRecv()菜单“接收数据”的代码 { // TOD Add your command handler code here HANDLE hMailslot;hMailslot=CreateMailslot(“.mailslotMyMailslot”,0, MAILSLOT_WAIT_FOREVER,NULL);if(INVALID_HANDLE_VALUE==hMailslot){ MessageBox(“创建油槽失败!”);return;} char buf[100];DWORD dwRead;if(!ReadFile(hMailslot,buf,100,&dwRead,NULL)){ MessageBox(“读取数据失败!”);CloseHandle(hMailslot);return;} MessageBox(buf);CloseHandle(hMailslot);} c.加工程MailSlotCLT,加菜单“发送数据” d.加消息响应,添加代码,客户端也比较简单。

void CMailslotCltView::OnMailslotSend()菜单“发送数据”的代码 { // TOD Add your command handler code here HANDLE hMailslot;hMailslot=CreateFile(“.mailslotMyMailslot”,GENERIC_WRITE, FILE_SHARE_READ,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);if(INVALID_HANDLE_VALUE==hMailslot){ MessageBox(“打开油槽失败!”);return;} char buf[]=“http://”;DWORD dwWrite;if(!WriteFile(hMailslot,buf,strlen(buf)+1,&dwWrite,NULL)){ MessageBox(“写入数据失败!”);CloseHandle(hMailslot);return;} CloseHandle(hMailslot);} 5.以上4种方法各有优缺点:剪贴板比较简单。邮槽是基于广播的,可以一对多发送。但只能一个发送,一个接收,要想同时发送接收,须写两次代码。命名管道和邮槽可以进行网络通信。

第18课 ActiveX编程(下面X均为ActiveX简称)1.在VB中调用X控件,添加方法 project->Add components。另外可以用Object Browser来查看控件 2.在VC中创建X控件

1.新建一个X工程名为Clock,注意一个文件中可以包含多个控件。2.保持缺省设置,完成。注意它生成的三个类,以及相关的接口。3.运行它。选择TSTCON32.exe作为容器。

4.选择Insert Control,此时我们可以看到,它画了一个椭圆。也可以在VB中测试。

5.删除注册信息。用regsvr32 /u +文件名。也可以在菜单选择反注册命令。6.重写代码。在CClockCtrl::OnDraw()中画了一个椭圆,此时我们在其中得到系统时间,并显示它。为此我们在OnCreate()设置了一个定时器,每隔一定时间发出一个Invalidate()消息,使窗口重绘。

7.如何改变控件的背景色和前景色?ClassWizard->AutoMation->Add Property->BackColor,还需要在OnDraw()中加上相应的代码 CBrush brush(TranslateColor(GetBackColor()));pdc->FillRect(rcBounds, &brush);pdc->SetBkMode(TRANSPARENT);pdc->SetTextColor(TranslateColor(GetForeColor()));8.增加属性页。在

BEGIN_PROPPAGEIDS(CClockCtrl, 2)此时数目也得改成相应的数目 PROPPAGEID(CClockPropPage::guid)PROPPAGEID(CLSID_CColorPropPage)END_PROPPAGEIDS(CClockCtrl)OK~ 9.增加自定义属性:ClassWizard->AutoMation->Add Property加上一个变量m_interval,类型为short,对应外部变量为Interval。在CClockCtrl中增加OnIntervalChanged方法。添加如下代码: if(m_interval<0 || m_interval>6000){ m_interval=1000;} else { m_interval=m_interval/1000*1000;KillTimer(1);SetTimer(1,m_interval,NULL);BoundPropertyChanged(0x1);} 10.测试:Control->Invoke Methods 11.将时间间隔加到属性页中,在资源视图中加入一文本框和编辑框。为EditBox关联成员变量,加入属性interval。12.增加方法:ClassWizard->AutoMation->Add Method->Hello加入代码 OK!在VB中可以调用此方法!

void CClockCtrl::Hello(){ // TOD Add your dispatch handler code here MessageBox(“Hello world!”);} 13.增加事件:ClassWizard->AutoMation->Add Events->Click 14.增加自定义事件:ClassWizard->AutoMation->Add Events->NewMinute 在新的一分钟到达时发出这个通知,在OnDraw()中写代码: CTime time=CTime::GetCurrentTime();if(0==time.GetSecond()){ FireNewMinute();} 15.让Interval属性具有持久性。在CClockCtrl::DoPropExchange()中调用PX_short()方法,OK!

PX_Short(pPX,“Interval”,m_interval,1000);16.让Property Page和Property属性中的interval保持一致的方法:在OnIntervalChanged()中调用BoundPropertyChanged(0x1);17.希望控件在设计时间内不走动的方法:在OnTimer()中,if(AmbientUserMode())InvalidateControl();巧妙!3.在VC中调用X控件

1.新建ClockTest对话框应用程序 2.点击右键->插入X控件->时钟控件

3.Project->Add Component会生成CClock类。

4.在CCLockTestDlg中增加CClock类的成员变量m_clock,然后可以动态创建一个这样的东东!

5.试验Click(),NewMinute(),SetBkColor(),SetForeColor()方法和属性 6.如何为动态创建的控件做事件响应呢?首先你得知道它的ID号,然后参考非动态的控件事件代码,呵。第19课 DLL编程

1.DLL简介,动态库,静态库。动态库节约磁盘空间,静态库体积大。可以用多种语言编写DLL文件。动态库有两种加载方式:隐式调用和动态加裁!2.新建一个DLL1的dll工程,加入一源文件名为dll1.cpp,加入add和subtract两个函数,注意此时须在函数名前加_declspec(dllexport),并且编译。用dumpbi-exports dll1.dll查看其导出的函数,发现函数名字已经被改成了 ?add@@YAHHH@Z,这种现象叫做名字粉碎,是为了支持函数重载而做的。

3.编写一个程序测试DLL,工程名为DllTest,基于对话框的,放置两个按纽add和subtract,响应按纽消息,调用这个Dll的add和subtract函数。使用这两个函数前要先声明函数,//extern int add(int a,int b);//extern int subtract(int a,int b);还需要将Dll1.lib和Dll1.dll拷贝到当前目录下!另外还需要在Project->Setting->Link->Object/Library中加入Dll1.lib,此种方式为隐式调用!OK!用Dumpbin-imports DllTest.exe查看它的输入信息,可以看到它加载了dll1.dll。同时也可以用depends程序查看程序需要哪些dll文件!除了用extern外,还可以用//_declspec(dllimport)int add(int a,int b);//_declspec(dllimport)int subtract(int a,int b);告诉编译器,此函数是动态链接库中的函数,这样可以提高效率。

4.通常写Dll时在dll1.h中声明函数,然后在DllTest.h中包含这个头文件,另外会用一组宏来取代_declspec(dllimport)Dll1.h #ifdef DLL1_API #else #define DLL1_API extern “C” _declspec(dllimport)#endif DLL1_API int _stdcall add(int a,int b);DLL1_API int _stdcall subtract(int a,int b);Dll1.cpp的代码:

#define DLL1_API extern “C” _declspec(dllexport)#include “Dll1.h” #include #include int _stdcall add(int a,int b){ return a+b;} int _stdcall subtract(int a,int b){ return a-b;} 5.在Dll1中加入类Point它有一个函数output(int a,intb),它的功能是在屏幕上输出x,y值。须包含头文件windows.h和stdio.h.然后在DllTest中加入一个按纽来测试这个函数!此时我们可以dumpbin来查看dll1.dll和dllTest.exe的导出导入情况。注意,也可以只导出类的某个函数。

6.我们希望导出的函数名不被改变,加extern “C”大写的C!即可,#define DLL1_API extern “C” _declspec(dllexport),但它只能导出全局函数,不能导出类的成员函数,并且如果调用约定被改成了别的方式,此时函数名也被改变。所以这种方式不太好。

7.解决之道是用模块定义文件。1.新建dll2.dll工程;

2.加dll2.cpp中写两个函数add和subtract 3.在目录中新建dll2.def文件,增加到工程。4.在dll2.def中加入如下代码: LIBRARY Dll2 EXPORTS add subtract 5.编译后用dumpbin查看函数名是否被改变?

6.测试,我们这次用动态加载的方法来调用dll文件。以前是用隐式链接的方法,嘿嘿。动态加载的好处是需要时再加载,可以提高执行的效率。代码如下: HINSTANCE hInst;hInst=LoadLibrary(“Dll3.dll”);typedef int(/*_stdcall*/ *ADDPROC)(int a,int b);//ADDPROC Add=(ADDPROC)GetProcAddress(hInst,“?add@@YAHHH@Z”);ADDPROC Add=(ADDPROC)GetProcAddress(hInst,MAKEINTRESOURCE(1));if(!Add){ MessageBox(“获取函数地址失败!”);return;} CString str;str.Format(“5+3=%d”,Add(5,3));MessageBox(str);FreeLibrary(hInst);7.此时你改变调用约定,函数名不会被改变,但如果你加上_stdcall定义函数,调用时也需要加入_stdcall,否则会出错!

8.DllMain()是Dll的入口点,不过不是必须的。但在DllMain中不要做复杂的调用。为什么?因为DllMain加载时,某些核心Dll文件不一定已经被加载。9.创建一个基于MFC的DLL工程,简介。

10.当不使用DLL时,调用FreeLibrary减少DLL的使用计数,释放DLL资源,减少系统负担。明白?

11.上面总结:1.*.def使函数名不改变;

2.定义时为_stdcall,调用时也必须用_stdcall.第20课 钩子与数据库编程

1.Hook简介:作用是拦截某些消息,关键函数是SetWindowsHookEX()2.示例程序:

1.新建一基于对话框工程,InnerHook,此过程的钩子是只拦截本进程的。2.在OnInitDialog()中添加代码: g_hWnd=m_hWnd;

g_hMouse=SetWindowsHookEx(WH_MOUSE,MouseProc,NULL,GetCurrentThreadId());设置了鼠标钩子

g_hKeyboard=SetWindowsHookEx(WH_KEYBOARD,KeyboardProc,NULL,GetCurrentThreadId());设置了键盘钩子 3.完成钩子函数的编写: HHOOK g_hKeyboard=NULL;HHOOK g_hMouse;HWND g_hWnd=NULL;

LRESULT CALLBACK MouseProc(int nCode, // hook code WPARAM wParam, // message identifier LPARAM lParam // mouse coordinates){ return 1;}

LRESULT CALLBACK KeyboardProc(int code, // hook code WPARAM wParam, // virtual-key code LPARAM lParam // keystroke-message information){ //if(VK_SPACE==wParam || VK_RETURN==wParam)如果是空格键 /*if(VK_F4==wParam &&(1==(lParam>>29 & 1)))拦截ALT+F4按键!return 1;else return CallNextHookEx(g_hKeyboard,code,wParam,lParam);*/ if(VK_F2==wParam)按F2时程序可以退出,这是留的后门。否则程序无法关闭,只能用任务管理器来关闭它了。{ ::SendMessage(g_hWnd,WM_CLOSE,0,0);UnhookWindowsHookEx(g_hKeyboard);当程序退出时最好将钩子移除。UnhookWindowsHookEx(g_hMouse);} return 1;} 3.编写一个屏屏蔽所有进程和所有线程的钩子程序。此时这个钩子必须安装在DLL中,然后被某个程序调用才行。1.新建一个DLL工程名为Hook 2.增加Hook.cpp 3.代码如下:

#include 包含头文件

HHOOK g_hMouse=NULL;HHOOK g_hKeyboard=NULL;

#pragma data_seg(“MySec”)新建了一个节,用于将下 面的这个变量设为全局共享。

HWND g_hWnd=NULL;这个变量是全局共享的。#pragma data_seg()

//#pragma comment(linker,“/section:MySec,RWS”)/*HINSTANCE g_hInst;

BOOL WINAPI DllMain(HINSTANCE hinstDLL, // handle to the DLL module DWORD fdwReason, // reason for calling function LPVOID lpvReserved // reserved){ g_hInst=hinstDLL;}*/

LRESULT CALLBACK MouseProc(int nCode, // hook code WPARAM wParam, // message identifier LPARAM lParam // mouse coordinates){ return 1;拦截了鼠标消息。}

LRESULT CALLBACK KeyboardProc(int code, // hook code WPARAM wParam, // virtual-key code LPARAM lParam // keystroke-message information){ if(VK_F2==wParam)如果是F2键,则退出。{ SendMessage(g_hWnd,WM_CLOSE,0,0);UnhookWindowsHookEx(g_hMouse);当退出时将钩子卸掉。UnhookWindowsHookEx(g_hKeyboard);} return 1;}

void SetHook(HWND hwnd)此函数设置了钩子。{ g_hWnd=hwnd;注意这种传递调用它的进程的句柄的方法,比较巧妙!

g_hMouse=SetWindowsHookEx(WH_MOUSE,MouseProc,GetModuleHandle(“Hook”),0);

g_hKeyboard=SetWindowsHookEx(WH_KEYBOARD,KeyboardProc,GetModuleHandle(“Hook”),0);} Hook.DEF的代码如下: LIBRARY Hook EXPORTS SetHook @2 SEGMENTS MySec READ WRITE SHARED 也可以设置节的属性。

4.新建一个工程调用此钩子函数。工程名为HookTest,基于对话框的。在OnInitDialog()中调用SetHook(),要事先声明_declspec(dllimport)void SetHook(HWND hwnd);然后在Project->Setting->Link->加入..HookDebugHook.lib,并将Hook.Dll拷贝到当前目录。int cxScreen,cyScreen;cxScreen=GetSystemMetrics(SM_CXSCREEN);cyScreen=GetSystemMetrics(SM_CYSCREEN);SetWindowPos(&wndTopMost,0,0,cxScreen,cyScreen,SWP_SHOWWINDOW);将窗口保持在最前面。SetHook(m_hWnd);5.DLL的调试方法,设置断点,然后运行时断点时,step into即可。4.数据库编程

1.ODBC,ADO简介:ADO可以认为是建立在ODBC上的。ADO的三个核心对象 Connection对象

Connection对象表示了到数据库的连接,它管理应用程序和数据库之间的通信。Recordset和Command对象都有一个ActiveConnection属性,该属性用来引用Connection对象。Command对象

Command对象被用来处理重复执行的查询,或处理需要检查在存储过程调用中的输出或返回参数的值的查询。Recordset对象

Recordset对象被用来获取数据。Recordset对象存放查询的结果,这些结果由数据的行(称为记录)和列(称为字段)组成。每一列都存放在Recordset的Fields集合中的一个Field对象中。

2.演示在VB中使用ADO的方法,方法比较简单,使用方便。另外在VB中演示了Connection和Command和Recordset的方法,用这三种方法都可以执行SQL语句。

3.在VC中利用ADO访问数据库。

1.新建一个基于对话框的工程,名为ADO。

2.在对话框中放一ListBox和一个Button控件。

3.在使用时须导入MSADO15.dll,方法是在StdAfx.h中#import “D:Program FilesCommon FilesSystemadomsado15.dll” no_namespace rename(“EOF”,“rsEOF”)至少于将EOF改名为rsEOF,是为了避免与文件中的EOF重名。然后编译程序,将产生的debug目录下的两个文件MSADO15.tlh和MSADO15.tli加到工程中,其目的只是方便我们查看而已。并不是编译需要它。

ADO也是COM组件,须初始化COM库方法是CoInitialize(NULL);使用完后须CoUninitialize();代码如下:

void CAdoDlg::OnBtnQuery(){ // TOD Add your control notification handler code here CoInitialize(NULL);初始化

_ConnectionPtr pConn(__uuidof(Connection));产生connection智能指针 _RecordsetPtr pRst(__uuidof(Recordset));产生recordset智能指针 _CommandPtr pCmd(__uuidof(Command));产生command智能指针

pConn->ConnectionString=“Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=pubs”;数据库信息 pConn->Open(“",”“,”“,adConnectUnspecified);打开数据库 //pRst=pConn->Execute(”select * from authors“,NULL,adCmdText);用记录集查询数据

//pRst->Open(”select * from authors“,_variant_t((IDispatch*)pConn), // adOpenDynamic,adLockOptimistic,adCmdText);pCmd->put_ActiveConnection(_variant_t((IDispatch*)pConn));pCmd->CommandText=”select * from authors“;用这种方法也可以查询数据 pRst=pCmd->Execute(NULL,NULL,adCmdText);while(!pRst->rsEOF)将查询到的数据加到列表框咯。{((CListBox*)GetDlgItem(IDC_LIST1))->AddString((_bstr_t)pRst->GetCollect(”au_lname"));pRst->MoveNext();}

经济法学自己总结课本笔记 第6篇

1.经济法一词18世纪法国空想共产主义的著名代表之一摩莱里在《自然法典》中首先提出来的,现代经济法始于德国《煤炭经济法》。

2.我国自1979年以来使用“经济法”概念,与现在的概念不完全一样(有些法现在被列入民法)

*3.现代经济法:国家对社会经济的干预(共同特征)二 经济法的产生与发展

1.自由资本主义时期——政府零控制

2.垄断资本主义时期——市场失灵需要法律规制(反垄断/不正当竞争)

3.新经济自由主义——自由放任+政府干预

**现代意义上的经济法是在市场经济从自由竞争阶段进入到垄断阶段以后才产生的。

三 经济法的调整对象

1.法律部门的划分标准是“独立的调整对象”,从某种意义上讲,每一个法律部门的形成都是渐进的,是长期法律实践选择的结果。

2.经济法的调整对象是特定的经济关系,是在国家协调的本国经济运行过程中发生的经济关系。

3.两种经济关系的法律调整的表现形式:

市场监管关系——监督管理

宏观调控关系——调节与控制

市场监管法:反垄断法 食品安全法 反不正当竞争法 产品质量法 消费者保护法

宏观调控法:财税调控法 投资调控法 金融调控法 规划调控法

4.宏观调控:是指在市场经济条件下,以中央政府为主的国家各级政府,为了保证整个国民经济持续快速健康的发展并取得较好的宏观利益,主要运用间接手段,对一定范围内经济总体的运行进行引导和调节的过程。)

宏观调控包括财税调控、金融调控、投资调控、价格调控。

1)宏观调控的主体一方一定是政府

2)宏观调控的基本目标是总供给与总需求的均衡发展

3)宏观调控的手段是综合的,包括法律手段、经济手段、行政手段。

**5.经济法定义:经济法是调整在国家协调的本国经济运行过程中发生的经济关系的法律规范的总称。四 经济法的地位

1.经济法是一个独立的部门法

2.经济法属于公法领域(法域属性)

3.经济法与其他部门法的关系(26-31)五 经济法的渊源(经济法的表现形式)

一)制定法,是指由国家机关依照法定的职权和程序制定的,以规范性文件为表现形式的法,是经济法的主要渊源。

《宪法》由全国人大及其常委会制定和修改

国务院有权根据宪法和法律,制定和修改行政法规

二)习惯法,习惯经国家认可并赋予法律约束力成为习惯法,属于经济法的渊源

三)判例法,指由国家认可并赋予法律约束力的判例,现中国除香港外有判例无判例法

四)法定解释,也称为法律解释、正式解释,包括立法解释、行政解释和司法解释,属于经济法的渊源 3/9 第二章 企业法律制度

我国企业法定分类的基本形态主要是:

1.个人独资企业:一个自然人投资;无限责任;个人所得税

2.合伙企业:由自然人、法人或其他组织投资;无限责任;个人所得税

3.公司:由自然人、法人或其他组织投资:有限责任;个人所得税与企业所得税 第一讲 公司法 概述

一 公司的概念和分类:

1.概念:依法规定,以营利为目的,由股东投资设立的企业法人

*营利:有营利组织和非营利组织

*企业法人:法人的形式种类有企业法人,机关法人,事业单位法人

2.公司的分类

A.按国籍分:本国公司/外国公司

B.按公司信用基础分:人合公司/资合公司/人合兼资合公司 C.按公司之间关系分:母公司—子公司(法人)

总公司—分公司(非法人)

*D.我国公司法中的公司:有限责任公司和股份有限公司

(有限责任公司的特殊形式是一人有限责任公司和国有独资公司)

1.公司设立的原则

自由设立主义:无设立条件

特许主义:国家特别许可或专门的法令

许可特许主义(核实/审批主义):主管机关批准,如股份公司上市

*准则主义(注册):一般的有限责任公司,股份有限公司采取

2.公司章程

制定者—股东/发起人

章程的约束力—公司,股东,董事,监事,高级管理人员

章程的内容—绝对必要记载,相对必要记载,任意记载事项 3.公司名称

公司名称有四部分组成:公司所处行政区域

字号或商号

行业或经营特点

公司的组织形式

4.公司登记

注册登记 终止登记 变更登记 三 公司的组织结构 有限责任公司:

权力机构——股东会

执行机构——董事会/执行董事

监督机构——监事会/监事

股份有限公司:

权力——股东大会

执行——董事会

监督——监事会 3/16 第二节 有限责任公司 一 有限责任公司的设立 1.设立条件:

人数要件:股东50个以下(包括自然人和法人)(可以1个人)

规章要件:公司章程共同制定

资本要件:由公司章程规定的全体股东任认缴的出资额

其他条件:公司名称,住所,组织机构等 2.设立程序

(1)起草公司章程

(2)认缴出资额

(3)预定公司名称

(4)确立公司组织结构

(5)申请设立登记 3.股东出资方式

货币/

实物、知识产权、土地使用权、其他非货币财产——应当评估作价核实财产

(劳务不可当做出资)二 股东及股东权利

1.股东:自然人和法人

自然人要作为公司的发起人,要具备完全的行为能力。未成年人、不具有行为能力的人,限制行为能力的人不能做公司的发起人,但可以做股东。

2.股东权利

(1)知情权:有权查阅,复制公司章程,股东会会议记录,董事会会议决议,查阅公司会计账簿。(2)投票权

(3)按照实缴的出资比例分取红利(4)提议召开临时股东大会的权力(5)异议股东的股份收买请求权(6)股东的诉权

三 有限责任公司股权的转让

1.股权转让方式

(1)对内转让:公司内部股东转让,不受限制

(2)对外转让:向公司股东以外的人,转让受限制

2.股权转让的限制(仅限对外转让)

(1)须经其他股东过半数同意

(2)股东在同等条件下有优先购买权

3.股权转让的程序

(1)公司内部股东变更登记;股东名册

(2)新股东的出资证明书,工商变更登记 4.异议股东股权收购请求权 5.有限责任公司股权的继承

自然人股东死亡后,其合法继承人可以继承股东资格(公司章程另有规定除外)四 公司治理机构

1.股东会(由全体股东组成)

(1)资本多数决:按出资比例行使表决权

(2)股东会决议:修改公司章程,增加或减少注册资本,公司合并,分立,解散或变更公司形式的决议,必须经2/3以表决。2.董事会

(1)组成:3~13人。规模小可以设一名执行董事

(2)董事会会议:一人一票,本人出席,不能出席委托他人出席 3.监事会

(1)监事会由股东代表和适当比例的公司职工代表组成(不少于1/3)(2)董事高级管理人员不得兼任监事 五 一人有限责任公司的特殊规定

*一人有限责任公司的股东不能证明公司财产独立于股东自己的财产的,应当对公司债务承担连带责任。

第三节 股份有限公司

1.公司全部资本分为等额股份,股东以其所持股份为限对公司承担责任,公司以其全部资产对公司债务承担责任的企业法人。一 股份有限公司的设立条件

(1)主体条件:2~200发起人

(2)资本条件:由公司章程规定的股本额

(3)章程条件:发起人制定

(4)其他要件:有公司名称、住所等 二 股份有限公司的设立方式

(1)发起设立(发起人认购公司全部股份)

(2)募集设立(发起人现认购公司一部分股份不少于35%,其余部分向社会公开募集、向特定对象募集)3/23

四 发起人的责任

股份公司设立失败

1.未按期募足股份

2.未按期召开创立大会(募足股款后30日内)

3.创立大会决议不设立公司 五 上市公司特别规定

1.在证券交易所上市交易

2.独立董事制度——独立董事由具有法律、经济、财会等专业知识、社会信用良好的人士担任

3.设立董事会秘书

4.信息公开制度——公开财务状况,经营状况及重大诉讼,梅会计内半年公布一次财务会计报告。六 股份有限公司股权的转让

*发起人持有的本公司股份,自公司成立之日起一年内不得转让

*公司董事、监事、高级管理人员在任职期间每年转让的股份不得超过其所持有本公司股份总数的25%;所持有本公司股份自公司股票上市交易之日起一年内不得转让。

本公司股份的收购

股份有限公司不得收购本公司股份,但是有下列情形之一的除外

1.减少公司注册资本

2.与持有本公司股份的其他公司合并 3.将股份奖励给本公司职工(少于5%)

4.股东因对股东大会作出的公司合并、分立决议持异议,要求公司收购其股份 第四节 公司法基本制度

一 公司财务与会计

1.法定公积金、任意公积金、资本公积金 *法定公积金:

公司分配当年税后利润时,应当提取利润的百分之十列入公司法定公积金

法定公积金累计达到公司注册资本的50%以上的,可以不再提取。

公司从税后利润中提取法定公积金后,经股东会或者股东大会决议,还可以从税后利润中提取任意公积金。

*资本公积金:

股份有限公司已超过股票票面金额的发行价格发行股份所得的溢价款以及其他收入,应当列为公司资本公积金。

*公积金的用途

公司的公积金用于弥补公司亏损、扩大公司生产经营或者转为增加公司资本

!资本公积金不得用于弥补公司的亏损。二 公司的合并、分立 1.公司合并

*吸收合并:A+B=A;B的人格消失;A的人格存续;兼并 *新设合并:A+B=C;A、B的人格都消失。产生新的人格C 2.公司分立

*派生分立:A=A+B;B公司的人格派生出来,A的人格继续存续;电信=电信+移动+网通 *新设分立:A=B+C;A公司的人格消灭,产生两个或者两个以上的新人格; 中国民航=国航+东航+南航 3.合并、分立后果

*公司合并时,合并各方的债权、债务,应当由合并后存续的公司或者新设的公司承继 *公司分立前的债务由分立后的公司承担连带责任。但是,公司在分立前与债权人就债务清偿达成的书面协议另有约定的除外。

三 公司高级管理人员及其任职资格

1.高级管理人员:指公司的经理、副经理、财务负责人、上市公司董事会秘书和公司章程约定的其他人员。

2.公司董事、监事、高级管理人员的任职资格

有下列情形之一的,不得担任公司的董事、监事、高级管理人员:

(一)无民事行为能力或者限制民事行为能力;

(二)因贪污、贿赂、侵占财产、挪用财产或者破坏社会主义市场经济秩序,被判处刑罚,执行期满未逾五年,或者因犯罪被剥夺政治权利,执行期满未逾五年。

(三)担任破产清算的公司、企业的董事或者厂长、经理.......(四)担任因违法被吊销营业执照、责令关闭的公司、企业的法定代表人......(五)个人所负数额较大的债务到期未清偿。3.公司董事、高级管理人员的忠实义务和勤勉义务

忠实义务——董事、监事、经理在履行职务时应以公司利益最大化为目标,严格禁止公司的管理人员为了谋取自身的利益而损害公司的利益。

忠实义务本质上管理者的一种品行的要求,核心内容是在发生利益冲突的时候,不能以损害公司的利益为代价而谋取个人的私利

(1)董事、监事、高级管理人员不得利用职权收受贿赂或者其他非法收入,不得侵占公司的财产。

(2)《公司法》第149条规定 禁止挪用、借贷;竞业禁止;披露公司秘密等

(3)兼任禁止 *董事、高级管理人员,不得兼任监事。

上一篇:国际商法复习中文下一篇:乡镇关于2021年工作总结和来年工作计划的报告