澳门新浦京娱乐场网站-www.146.net-新浦京娱乐场官网
做最好的网站

澳门新浦京娱乐场网站:编写调用COM组件,dele

转自:http://www.maomao365.com/?p=6973 

C 和C#编写调用COM组件

澳门新浦京娱乐场网站:编写调用COM组件,delete表别名用法简介。 Cucumber是一种BDD实行开采工具,属于高效开辟的组成都部队分。

澳门新浦京娱乐场网站:编写调用COM组件,delete表别名用法简介。在unity中,一般都是用Cg语言编写顶点片元着色器,或许间接动用表面着色器,这两边的编排语言都是Cg,除了Cg外,大家还能动用OpenGL编写。

一.率先步导包:

摘要:
在sql脚本编写中,纵然急需在update delete 中动用表小名的方法,必须比照一定的规则编写,不然将会现出相应的越发音讯,如下所示:
实行意况:sqlserver 贰零零8 本田UR-V二

下载源代码

     在飞快开采中,对用户张开供给分析时,不是像守旧的P&D的开采方式,首先编写大批量的用户须要分析文书档案,而是经过3个个User Story来打开用户须求的分析。

用Cg编写的章程叫做HLSL,用OpenGL编写的措施叫做GLSL。

1.struts2包:


摘要:以后COM组件的运用越来越广泛,在逐壹程序中调用COM组件笔者想大家都超出过,那篇小说就是有关COM组件的编写和调用的,首要含有了动用VC6.0编写和调用COM组件,VS二〇〇六中使用C#编纂和调用COM组件,以及在VC陆.0和VS2005以内交互调用COM组件。

     User Story的编辑撰写,也便是Cucumber的Gherkin编写。由3个个feature组成。User Story的编写制定应该符合SMART原则,即显著详细、可衡量、能够在二个迭代内达成、有商业价值,并且可测试。

那就是说,大家习于旧贯上利用Cg,相当于HLSL在unity中编辑shader,但有时候换个口味也是足以的。
此间介绍的正是采纳GLSL编写shader。

 澳门新浦京娱乐场网站 1

 

关键字:VC6.0编写调用COM VS2006中C#编写制定和调用COM VC陆.0和VS200五里头相互调用COM

BDD开垦流程

当然,那里介绍的只是语法结构,并不是关联众多,而笔者自个儿也不是很善于去编写那类shader。

2.spring包:

---update 表别名的写法
update [别名] set [别名].[字段] =[字段值] from [表名] as [表别名] where [条件]
---delete 表别名的写法
delete [别名] set [别名].[字段] =[字段值] from [表名] as [表别名] where [条件]

正文:

  • 率先应当在编写制定具体的代码前,先编写制定测试文件,如BDD,TDD。

经过那个语法结构,大家能够将1部分用OpenGL编写的着色器获得unity中选取。

 澳门新浦京娱乐场网站 2

 

前阵子在职业中做项目标时候,碰到了COM组件的调用和使用问题,当时研讨和好一阵,才把高级中学级的环节打通,以后写出来为我们提供方便,这里包蕴了八个类型:

          通过对测试文件的编辑,能够显明用户需要。同时利用通用口语化的言语,能够减小用户和开拓职员之间的联系障碍,使得软件更便于朝着用户必要的趋向升高。

OK,直接来看一下代码:

3.hibernate包:

1、在VS2005中,C#编写DLL并使用C 调用

  • 编纂大黄瓜,举行接口设计

粗略的变动颜色shader代码

Shader "LearnShader/GLSL/GLSLTest"{
    Properties{
        _Color("Color",Color) = (1,1,1,1)
    }
    SubShader{
        Tags{
            "Queue" = "Geometry" 
            "RenderType" = "Opaque"
            "PreviewType" = "Plane"
        }
        Pass{
            GLSLPROGRAM
            #ifdef VERTEX
            void main(){
                gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
            }
            #endif
            #ifdef FRAGMENT
            uniform vec4 _Color;
            void main(){
                gl_FragColor = _Color;
            }
            #endif
            ENDGLSL
        }
    }
}

OK,假诺你直接把这段代码拷贝进unity中的话会报错的。
在编写shader之间,大家必要对unity做一丝丝变动,使其援救GLSL编写shader。

找到桌面上的unity飞速格局键,右键,展开属性面板,如下图:

澳门新浦京娱乐场网站 3

Paste_Image.png

在对象那1栏中,最前边加多:-force-opengl
即使您的unity是开发的,那么就关闭重启一下。
下一场就是例行的始建shader代码,然后将上述代码写好,保存就可以。

亟需大家注意的是:

  1. 若是您想经过inspector面板调治shader属性,那么除了在Properties块中定义属性外,在Pass块中定义属性要求在其品种前边加上 uniform 关键字。
  2. GLSL的代码段是被回顾在 GLSLPROGRAM 与ENDGLSL之间。
  3. 极端与片元着色器,都以经过 #ifdef 与 #endif 加上 VERTEX 与 FRA欧霉素ENT 关键字明显的。
  4. 极限与片元着色器中的类似gl_Position等是OpenGL中的语法。

上述便是关于使用GLSL编写shader的语法结构。

说起底交给一个比较风趣的shader,也是选择GLSL编写的。

 澳门新浦京娱乐场网站 4

2、在VS2005中C#编写的COM组件,使用VC6.0调用

          第3步是编辑step_define来将用户典故和求实的接口联系起来,使得能够进行测试。这一步其实就是亟需张开接口设计。接口设计做好后,能够张开单独的支出。

代码如下:

Shader "LearnShader/GLSL/GLSLTest"{
    Properties{
        _MainTex("Base(RGB)",2D) = "white"{}
    }
    SubShader{
        Tags{"RenderType" = "Opaque" "Queue" = "Geometry"}
        Pass{
            GLSLPROGRAM
            #ifdef VERTEX
            void main(){
                gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
            }
            #endif
            #ifdef FRAGMENT
            uniform sampler2D _MainTex;
            const float size = 0.5;

            void main(){
               vec2 realSize = vec2(textureSize(_MainTex, 0));
               float ratio = (realSize.x > realSize.y) ? 
               realSize.y/realSize.x : realSize.x/realSize.y;

               vec2 texSize = vec2(512., 512.);
               vec2 xy = gl_FragCoord.xy;

               if(realSize.x > realSize.y) {
                  xy.x = xy.x * ratio;
               }
               else
![Animation.gif](http://upload-images.jianshu.io/upload_images/5301156-17a2bc8700542539.gif?imageMogr2/auto-orient/strip)
{
                  xy.y = xy.y * ratio;
               }

               vec2 center = vec2(texSize/2.);

               float maxV = dot(center, center);
               float minV = floor(maxV*(1. - size));
               float diff = maxV - minV;

               vec2 uv = xy / texSize;

               vec4 srcColor = texture2D(_MainTex, uv);

               float dx = center.x - xy.x;
               float dy = center.y - xy.y;

               float dstSq = pow(dx, 2.)   pow(dy, 2.);

               float v = (dstSq / diff);
               float r = clamp(srcColor.r   v, 0., 1.);
               float g = clamp(srcColor.g   v, 0., 1.);
               float b = clamp(srcColor.b   v, 0., 1.);

               gl_FragColor = vec4( r, g, b, 1.0 );
            }
            #endif
            ENDGLSL
        }
    }
}

澳门新浦京娱乐场网站,四.数据库包:

3、在VC6.0中编写COM组件,使用VS2005 C#调用

  • 通过将多少个个测试用例通过后,软件也完了了支出。那约等于Red_Blue-Refactor的流程

结果:

澳门新浦京娱乐场网站 5

Animation.gif

 澳门新浦京娱乐场网站 6

4、在VC6.0中编写COM组件,使用VC6.0调用

 

2.web.xml配置

里面每一个系列都写了四个程序,2个为COM组件程序,2个为调用程序

ruby on rails环境:

澳门新浦京娱乐场网站 7

程序达成:

在BDD开拓中,首先在根目录在,创设feature文件夹。

澳门新浦京娱乐场网站 8

1、在VS2005中,C#编写DLL并使用C 调用

在feature文件夹中,编写 .feature文件。文件中用feature,scenario,when,then,but,and等进行User story编写。

 

(1)C#编写DLL程序

在feature文件夹中。创造step_define文件夹。文件夹中,用ruby编写对应User story的代码。通过那一个手续将User Story与代码结合起来

 

建立C#编写制定的DLL程序AddDll,项目连串为:类库

3.struts2的配置:

程序代码:

1.struts.xml

using System;using System.Collections.Generic;using System.Text;namespace AddDll{    public class Add    {        public int iadd(int a, int b)        {            int c = a   b;            return c;        }    }}      

 澳门新浦京娱乐场网站 9

(二)C 编写调用程序

2.s001.xml

树立C 的Win32调节台应用程序UseDll,项目项目为:Win3二调节台应用程序

 澳门新浦京娱乐场网站 10

配备:右键点击化解方案财富管理器中的UseDll,选用“属性”,将国有语言运维库帮忙设置为“公共语言运维库协理(/clr)”

四.编写真体类和照耀文件:

澳门新浦京娱乐场网站 11
图一 公共语言运维库设置

一.将实体类和照耀文件放在ssh.entity包中
澳门新浦京娱乐场网站 12

程序代码:

贰.编辑实体类并提供get,set的秘技(那里作者就不截图出来了)

#include "stdafx.h"#include "stdio.h"#using "..debugAddDll.dll"using namespace AddDll;int _tmain(int argc, _TCHAR* argv[]){        int result;        Add ^add = gcnew Add();        result = add->iadd(10,90);        printf("%d",result);        scanf("%s");        return 0;}      

 澳门新浦京娱乐场网站 13

2、在VS2005中C#编写的COM组件,使用VC6.0调用

三.编辑BookCard实体类的照耀文件

(1)VS2005中使用C#编写COM组件

 澳门新浦京娱乐场网站 14

建立C#编制的COM组件,项目连串为类库

5.编写DAO

配置:右键点击消除方案能源处理器中的AddCom,选拔“属性”,选拔“生成”,选拔“为COM Interop注册(_P)”

一.把Dao接口和兑现类放到ssh.dao包中

打开AssemblyInfo.cs文件,设置[assembly: ComVisible(true)]

 澳门新浦京娱乐场网站 15

那用就可以生成AddCom.tlb文件

2.编写Dao接口

澳门新浦京娱乐场网站 16
图二 COM生成设置

 澳门新浦京娱乐场网站 17

程序代码:

3.编辑Dao接口落成类

using System;using System.Collections.Generic;using System.Text;using System.Runtime.InteropServices;namespace AddCom{    //可以通过//菜单的 “工具/guid生成”。    //注意要选择Define Guid{….}格式,并全//部保存下来,保存到哪都行,记事本呀什么的。    //因为在做VC程序/////////的时候要用到的。    [Guid("298D881C-E2A3-4638-B872-73EADE25511C")]      public interface AddComInterface    {        [DispId(1)]        int iadd(int a, int b);        [DispId(2)]        float ladd(float a, float b);    }    [Guid("2C5B7580-4038-4d90-BABD-8B83FCE5A467")]    [ClassInterface(ClassInterfaceType.None)]    public class AddComService : AddComInterface    {        public AddComService()        {        }        public int iadd(int a, int b)        {            int c = 0;            c = a   b;            return c;        }        public float ladd(float a, float b)        {            float c = 0;            c = a   b;            return c;        }    }}      

 澳门新浦京娱乐场网站 18 

(贰)VC陆.0编写调用程序

澳门新浦京娱乐场网站 19

应用VC陆.0编写建立MFC应用程序UseCom,项目体系为MFC AppWizard(exe)

陆.编纂数据库逻辑代码Service

在stdafx.h添加:

1.把service接口和贯彻类放到ssh.service包中

#import "AddCom.tlb"using namespace AddCom;      

 澳门新浦京娱乐场网站 20

程序代码:

2.编写Service接口

void CUseComDlg::OnButtonUse() {        // TODO: Add your control notification handler code here        int dresult;        float fresult;        CString strResult;        CoInitialize(NULL);//NULL换成0也可以        AddCom::AddComInterfacePtr p_Add(__uuidof(AddComService));        dresult = p_Add->iadd(1,2);        fresult = p_Add->fadd(1.2,2.3);        strResult.Format("int:%d nfloat:%f",dresult,fresult);        MessageBox(strResult,"计算结果",MB_OK);        CoUninitialize();           }      

 澳门新浦京娱乐场网站 21

3、在VC6.0中编写COM组件,使用VS2005 C#调用

3.编纂Service的贯彻类

(1)VC6.0编写COM

 澳门新浦京娱乐场网站 22

运用VC陆.0建立COM组件,工程项目:ATL COM AppWizard

7.编写Action类

程序代码:

 澳门新浦京娱乐场网站 23

接口:

8.编写applicationContext.xml

interface IAdd : IDispatch        {                [id(1), helpstring("method iadd")] HRESULT iadd([in]int a, [in]int b, [out]int * c);                [id(2), helpstring("method fadd")] HRESULT fadd([in]float a, [in]float b, [out]float * c);                [id(3), helpstring("method isub")] HRESULT isub([in]int a, [in]int b, [out]int * c);        };      

壹.在src目录下新建3个applicationContext.xml文件

实现:

澳门新浦京娱乐场网站 24

STDMETHODIMP CAdd::iadd(int a, int b, int *c){        // TODO: Add your implementation code here        *c = a   b;        return S_OK;}STDMETHODIMP CAdd::fadd(float a, float b, float *c){        // TODO: Add your implementation code here        *c = a   b;        return S_OK;}STDMETHODIMP CAdd::isub(int a, int b, int *c){        // TODO: Add your implementation code here        *c = a - b;        return S_OK;}      

 

(2)VS2005使用C#编排调用程序(网址先后)

 

运用VS2005创设网站UseCom

2.applicationContext.xml头信息:

布置:在减轻方案能源管理器中的主目录点击右键,选用丰盛引用,采取COM,增加正好创设的AddCom 一.0 Type Library

澳门新浦京娱乐场网站 25

在程序中要using编写的COM组件:using ADDCOMLib;

三.编辑注入实例的代码

澳门新浦京娱乐场网站 26
图三 引用COM

澳门新浦京娱乐场网站 27

程序代码:

9.编写persistence.xml

using System;using System.Data;using System.Configuration;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using ADDCOMLib;public partial class _Default : System.Web.UI.Page {    protected void Page_Load(object sender, EventArgs e)    {    }    protected void ButtonCom_Click(object sender, EventArgs e)    {        Add add = new Add();        int iresult;        float fresult;        int sresult;        add.IAdd(10, 20, out iresult);        add.fadd((float)1.2,(float)2.3, out fresult);        add.isub(100, 10, out sresult);        TextBoxResult.Text = iresult.ToString();        TextBoxRe2.Text = fresult.ToString();        TextBoxRe3.Text = sresult.ToString();    }}      

一.在src里新建贰个META-INF文件夹,放入persistence.xml

4、在VC6.0中编写COM组件,使用VC6.0调用

澳门新浦京娱乐场网站 28

(1)VC6.0编写COM组件

 二.persistence.xml文件头新闻

动用VC6.0建立COM组件,工程项目:ATL COM AppWizard

澳门新浦京娱乐场网站 29

程序代码:

三.布局MySQL的persistence-unit(持久化单元)

接口:

澳门新浦京娱乐场网站 30

interface IAdd : IDispatch        {                [id(1), helpstring("method iadd")] HRESULT iadd([in]int a, [in]int b, [out]int * c);                [id(2), helpstring("method fadd")] HRESULT fadd([in]float a, [in]float b, [out]float * c);                [id(3), helpstring("method isub")] HRESULT isub([in]int a, [in]int b, [out]int * c);        };      

 

实现:

肆.配置SQLServer的persistence-unit(持久化单元)

STDMETHODIMP CAdd::iadd(int a, int b, int *c){        // TODO: Add your implementation code here        *c = a   b;        return S_OK;}STDMETHODIMP CAdd::fadd(float a, float b, float *c){        // TODO: Add your implementation code here        *c = a   b;        return S_OK;}STDMETHODIMP CAdd::isub(int a, int b, int *c){        // TODO: Add your implementation code here        *c = a - b;        return S_OK;}      

澳门新浦京娱乐场网站 31

(二)VC6.0编写调用程序

9.编写JSP页面

应用VC陆.0建立MFC应用程序UseCOM,调用刚刚确立的COM组件

1.导入struts2标签库

将地点程序AddCom生成的AddCom.dll放入本程序的工程目录和次序生成目录中

澳门新浦京娱乐场网站 32

在StdAfx.h中加入:

2.编写jsp页面

#import "AddCom.dll" no_namespace

澳门新浦京娱乐场网站 33

程序代码:

 十.运作项目

void CUseComDlg::OnBUTTONUse() {        // TODO: Add your control notification handler code here        CString strResult;        CoInitialize(NULL);//NULL换成0也可以        IAddPtr m_add = NULL;        HRESULT hr = S_OK;        hr = m_add.CreateInstance(__uuidof(Add));        int d_a = 90;        int d_b = 10;        int d_c;        int d_d;        float f_a = 1;        float f_b = 2;        float f_c;         m_add->_IAdd(d_a,d_b,&d_c);        m_add->fadd(f_a,f_b,&f_c);        m_add->isub(d_a,d_b,&d_d);        strResult.Format("返回结果:%d; %f; %d",d_c,f_c,d_d);        MessageBox(strResult,"结果",MB_OK);        m_add.Release();        m_add = NULL;        CoUninitialize();           }      

1.插入了陆条数据(上边的没截取到图)

结语:希望能对大家有救助!

澳门新浦京娱乐场网站 34

二.JSP页面显示

澳门新浦京娱乐场网站 35

谢谢!

 

本文由澳门新浦京娱乐场网站发布于数据库,转载请注明出处:澳门新浦京娱乐场网站:编写调用COM组件,dele