精华内容
下载资源
问答
  • position 和seek 查找文件的要求位置的数据,简单的例子,查找数据可是一看就懂
  • DEFAULT和ON是MS ACCESS SQL系统关键字,SQL语句如果含有系统关键字,在ACCESS界面是无法执行的。如下SQL语句: Create TABLE periodtbl ( PDID AUTOINCREMENT, PDname text(10) NOT NULL, CONSTRAINT pk_...

    一、默认值和级联更新删除关键字DEFAULT和ON

    DEFAULT和ON是MS ACCESS SQL系统关键字,SQL语句中如果含有系统关键字,在ACCESS界面是无法执行的。如下SQL语句:

    Create TABLE periodtbl
    (
    PDID AUTOINCREMENT,
    PDname text(10) NOT NULL,
    CONSTRAINT pk_periodtbl_PDID PRIMARY KEY (PDID),
    CONSTRAINT UQ_periodtbl_PDname UNIQUE (PDname)
    );
    
    

    Create TABLE studenttbl
    (
    STUID AUTOINCREMENT,
    STUname text(20) DEFAULT '请录入姓名',,
    PDID INTEGER NOT NULL,
    CONSTRAINT PK_studenttbl_STUID PRIMARY KEY (STUID),
    CONSTRAINT FK_studenttbl_periodtbl_PDID  FOREIGN KEY (PDID)
      REFERENCES periodtbl(PDID)
      ON Delete NO ACTION
      ON Update CASCADE
    );
    

    执行进弹窗提示语法错误,如图:
    SQL系统关键字
    但在VB.NET中却可以很好的执行:

            Dim sqlstring As String = "Create TABLE studenttbl" & Environment.NewLine _
                                    & "(" & Environment.NewLine _
                                    & "STUID AUTOINCREMENT," & Environment.NewLine _
                                    & "STUname text(20) DEFAULT '请录入姓名'," & Environment.NewLine _
                                    & "PDID INTEGER NOT NULL," & Environment.NewLine _
                                    & "CONSTRAINT PK_studenttbl_STUID PRIMARY KEY (STUID)," & Environment.NewLine _
                                    & "CONSTRAINT FK_studenttbl_periodtbl_PDID  FOREIGN KEY (PDID)" & Environment.NewLine _
                                    & "    REFERENCES periodtbl(PDID)" & Environment.NewLine _
                                    & "    ON Delete NO ACTION" & Environment.NewLine _
                                    & "    ON Update CASCADE" & Environment.NewLine _
                                    & ");"
    
            '连接数据库
            Dim conn As New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\KingOne\Desktop\data\Database.accdb")
            '打开数据库
            conn.Open()
            '生成命令
            Dim cmd As New OleDbCommand(sqlstring, conn)
            '执行命令
            cmd.ExecuteNonQuery()
            '关闭数据库
            conn.Close()
    

    执行后打开ACCESS文件查看效果:
    默认值
    ON关键字

    二、vb.net系统关键字 position

    在ACCESS界面可以很好的执行“SELECT position.* FROM position;”,但放到VB.NET程序中执行却报错,如图:
    position关键字
    把SQL语句修改为SELECT [position].* FROM [position]后正常执行命令。

    三、原因分析

    DEFAULT和ON是MS ACCESS SQL系统关键字所以无法在ACCESS界面执行,而position是VB.NET关键字所以无法在VB.NET中执行。对于MS ACCESS系统关键字可以直接放到VB.NET中执行,而对于VB.NET程序的系统关键字做表名或字段名用[]括起,当然最好不要使用系统关键字为妥。

    展开全文
  • 在Form1添加如下代码Function BytesToBstr(body, Cset) Dim objstream Set objstream = CreateObject("adodb.stream") objstream.Type = 1 objstream.Mode = 3 objstream.Open objstream.Write body ...

    本人进行了简单修改,其提取链接的技术并不完美,无法处理复杂情况。着重学习其动态添加控件、为新控件添加事件处理的方法

    新建一个工程,在Form1中添加如下代码

    Function BytesToBstr(body, Cset)
        Dim objstream
        Set objstream = CreateObject("adodb.stream")
        objstream.Type = 1
        objstream.Mode = 3
        objstream.Open
        objstream.Write body
        objstream.Position = 0
        objstream.Type = 2
        objstream.Charset = Cset
        BytesToBstr = objstream.ReadText
        objstream.Close
        Set objstream = Nothing
    End Function

    Function getHTTPPage(Url)
        Dim Http
        Set Http = CreateObject("MSXML2.XMLHTTP")
        Http.Open "GET", Url, False
        a = Http.send()
        If Http.readystate <> 4 Then
            Exit Function
        End If
        getHTTPPage = BytesToBstr(Http.responseBody, "GB2312")
        Set Http = Nothing
        If Err.Number <> 0 Then Err.Clear
    End Function

    Private Sub Form_Load()
        Dim Url, tempStr As String
        Dim a() As String
        Dim Label() As Object    '标签控件对象数组
        Dim clsT() As New Class1 '对象数组
        Url = InputBox("请输入一个网址")        '输入对话框
        a = Split(getHTTPPage(Url), "href=")    '获取页面源代码,并提取href
        Dim i As Integer
        Dim nTop As Long   '标签位置,上距
        ReDim Label(UBound(a) - 1) '重设动态数组大小
        ReDim clsT(UBound(a) - 1)  '重设动态数组大小
        For i = 1 To UBound(a) - 1
            Set Label(i) = Controls.Add("VB.Label", "Label" & CStr(i))  '动态创建标签控件,CStr把i转换成字符串类型
            Label(i).Height = 300
            Label(i).Top = nTop
            Label(i).Visible = True
            tempStr = Split(a(i), ">")(0) '<a> 标签的结束
            tempStr = Replace(tempStr, CStr(Chr(34)), "")   '去除两边双引号
            If Left(tempStr, 4) <> "http" Then tempStr = Url & tempStr '左边没有http则可能是相对链接
            If InStr(tempStr, " ") Then tempStr = Split(tempStr, " ")(0) '用空格分离URL
            Label(i).Caption = tempStr
            Label(i).AutoSize = True
            nTop = nTop + 30 * 8
            clsT(i).Init Label(i) '标签类
        Next i
    End Sub

    然后新建一个类模块class1加入以下代码:
    Option Explicit
    Dim WithEvents L As Label
    Public Sub Init(tmp As Label)
        Set L = tmp
    End Sub
    Private Sub L_Click()
        Shell "C:/Program Files/Internet Explorer/iexplore.exe " & L.Caption
    End Sub
    运行程序
    展开全文
  • WDAPP1.Selection.ParagraphFormat.TabStops.Add(Position:=WDAPP1.CentimetersToPoints(20), Alignment:=2, Leader:=2) WDAPP1.Selection.TypeText(Text:=vbTab) WDAPP1.Selection.TypeText(Text:=i) ...
  • 由于特效问题,我需要利用vb6.0的webbrowser控件加载网上下载的网页特效代码,举个栗子:(我如何将这个代码写进vb语言并且能将图片地址转换成从外部读取的) <!DOCTYPE ...
  • DataSet11.Tables("feiyong").Rows(bmdata.Position).Delete() If DataSet11.HasChanges = True Then '判断数据集DataSet11的数据是否有变化 '获取DataSet11发生变化的数据,结果也是DataSet对象;不直接更新...
  • ; WIDTH: 100%; POSITION: relative" dojoType="unieap.widget.Grid" action="" type="ONESELECT" showNumber="true" ... 如何用VB提取以上网页源码数据表格各行动态数据值?望高手不吝赐教
  • UE4的DynamicTexture数据更新

    千次阅读 2015-10-18 23:34:37
    然后每帧去更新顶点数据,发现效率比较低效率的瓶颈在顶点坐标的计算上, 毕竟数量有点多于是改成了基于Vertex Texture(Material的World Position Offset)的实现,那VB就不用更新了, 只需要每帧更新Texture这

    最近在UE4中实现了程序实时生成的Mesh顶点动画, 使用的顶点数目很多(几十万量级)

    一开始是创建Dynamic Vertex Buffer, 然后每帧去更新顶点数据,发现效率比较低

    效率的瓶颈在顶点坐标的计算上, 毕竟数量有点多

    于是改成了基于Vertex Texture(Material中的World Position Offset)的实现,那VB就不用更新了, 只需要每帧更新Texture

    这么做虽然传输的数据量是一致的, 但是可以把顶点坐标的一部分计算转入GPU端, 大大减轻了CPU压力

    实际测下来发现GameThread的时间消耗仍然很高, 那进一步的优化就是把这部分操作扔进后台线程

    void ADynamicTextureTestCharacter::UpdateInGameThread()
    {
    	FTexture2DMipMap& Mip = DynamicTexture->PlatformData->Mips[0];
    	FVector4* Dest = (FVector4*)Mip.BulkData.Lock(LOCK_READ_WRITE);
    	WriteTextureData(Dest);
    	Mip.BulkData.Unlock();
    	DynamicTexture->UpdateResource();
    }
    

    改完一测, Crash了, 仔细一看, 原来是FTexture2D::UpdateResource()中会重新创建D3D Texture对象,相关函数必须是GameThread中调用才可以

    本身这种数据更新的方式就有问题, 能不能直接更新到对应的D3D Texture中呢?搜索UE4的代码, 发现FTwitchLiveStreaming::UpdateWebCamTexture()中有比较高效的实现, 大致思路就是把数据发到RenderThread去直接更新, 调用的是RHIUpdateTexture2D

    void ADynamicTextureTestCharacter::UpdateInRenderThread()
    {
    	FVector4* Dest = DataBuffer.GetData();
    	WriteTextureData(Dest);
    
    	struct FUpdateTextureContext
    	{
    		uint8* SourceBuffer;	// Render thread assumes ownership
    		uint32 BufferPitch;
    		FTexture2DResource* DestTextureResource;
    	} UpdateTextureContext =
    	{
    		(uint8*)Dest,
    		sizeof(FVector4) * DynamicTexture->GetSizeX(),
    		(FTexture2DResource*)DynamicTexture->Resource
    	};
    
    	ENQUEUE_UNIQUE_RENDER_COMMAND_ONEPARAMETER(
    		UpdateDynamicTexture,
    		FUpdateTextureContext, Context, UpdateTextureContext,
    		{
    		const FUpdateTextureRegion2D UpdateRegion(
    		0, 0,		// Dest X, Y
    		0, 0,		// Source X, Y
    		Context.DestTextureResource->GetSizeX(),	// Width
    		Context.DestTextureResource->GetSizeY());	// Height
    
    		RHIUpdateTexture2D(
    			Context.DestTextureResource->GetTexture2DRHI(),	// Destination GPU texture
    			0,												// Mip map index
    			UpdateRegion,									// Update region
    			Context.BufferPitch,						// Source buffer pitch
    			Context.SourceBuffer);							// Source buffer pointer
    	});
    }

    这种做法不再权限于GameThread运行, 所以对性能影响比较小。 实际测试下来调用线程的执行时间比上一种做法要快1ms左右, 这对于FPS影响还是挺大的


    参考资料

    https://wiki.unrealengine.com/Dynamic_Textures

    展开全文
  •  常见的平面位置显示器PPI(Plane Position Indicator)仿真和航迹显示多是基于Visual C++和OpenGl或VB直接开发,工作量大,结果不直观,开发周期长。而GL Studio是以其为底层,具有丰富的外部程序接口,且支持“照片...
  • vulkanvertex buffer的用法

    千次阅读 2017-02-07 15:58:27
    -Vulkan的资源(buffer或者image)都用descriptor表示,vertex buffer也是以descriptor的形式来分配和使用的 下面讲的是如果使用vertex buffer来向shader传递顶点数据 1.准备vertex数据 ... /* position tex
    -Vulkan的资源(buffer或者image)都用descriptor表示,vertex buffer也是以descriptor的形式来分配和使用的
    下面讲的是如果使用vertex buffer来向shader传递顶点数据
    1.准备vertex数据
        const float vb[3][5] = {
            /*      position             texcoord */
            { -1.0f, -1.0f,  0.25f,     0.0f, 0.0f },
            {  1.0f, -1.0f,  0.25f,     1.0f, 0.0f },
            {  0.0f,  1.0f,  1.0f,      0.5f, 1.0f },
        };

    2.调用vkCreateBuffer创建VkBuffer(buf),然后用vkAllocateMemory来分配device内存(men)
    3.vkMapMemory将device内存map到cpu端(data)
    4.memcpy(data, vb, sizeof(vb));
    5.调用vkBindBufferMemory(device,buf,mem)将device内存和vkbuffer绑定
    6.创建vi,VkPipelineVertexInputStateCreateInfo vi
        demo->vertices.vi.vertexAttributeDescriptionCount = 2;

        demo->vertices.vi.pVertexAttributeDescriptions = demo->vertices.vi_attrs;//vi_attrs是关键

        demo->vertices.vi_attrs[0].binding = VERTEX_BUFFER_BIND_ID;
        demo->vertices.vi_attrs[0].location = 0;
        demo->vertices.vi_attrs[0].format = VK_FORMAT_R32G32B32_SFLOAT;
        demo->vertices.vi_attrs[0].offset = 0;
        demo->vertices.vi_attrs[1].binding = VERTEX_BUFFER_BIND_ID;
        demo->vertices.vi_attrs[1].location = 1;
        demo->vertices.vi_attrs[1].format = VK_FORMAT_R32G32_SFLOAT;
        demo->vertices.vi_attrs[1].offset = sizeof(float) * 3;

    7.在create pipeline的时候传入刚创建的vi:pipeline.pVertexInputState = &vi;
    8.build cmd的时候,bind之前创建的vertex buffer
        vkCmdBindVertexBuffers(demo->draw_cmd, VERTEX_BUFFER_BIND_ID, 1,&demo->vertices.buf, offsets);
        vkCmdDraw(demo->draw_cmd, 3, 1, 0, 0);
        vkCmdEndRenderPass(demo->draw_cmd);

    9.在shader中使用vertex buffer
       vs #version 400
      #extension GL_ARB_separate_shader_objects : enable
      #extension GL_ARB_shading_language_420pack : enable
      layout (location = 0) in vec4 pos;
      layout (location = 1) in vec2 attr;
      layout (location = 0) out vec2 texcoord;
      void main() {
         texcoord = attr;
         gl_Position = pos;
      }
      fs #version 400
      #extension GL_ARB_separate_shader_objects : enable
      #extension GL_ARB_shading_language_420pack : enable
      layout (binding = 0) uniform sampler2D tex;
      layout (location = 0) in vec2 texcoord;
      layout (location = 0) out vec4 uFragColor;
      void main() {
         uFragColor = texture(tex, texcoord);
      }  

      comment:layout(location = attribute index) in vec3 position;

      跟glBindAttribLocation的功能类似,设置position使用哪个属性:

     static const GLfloat verts[3][2] = {
                    { -0.5, -0.5 },
                    {  0.5, -0.5 },
                    {  0,    0.5 }   };
    "attribute vec4 pos;\n"//in shader
    glBindAttribLocation(program, window->gl.pos, "pos");
    glVertexAttribPointer(window->gl.pos, 2, GL_FLOAT, GL_FALSE, 0, verts);
    glEnableVertexAttribArray(window->gl.pos);
    glDrawArrays()

    展开全文
  • <p>In VB.NET I simply created a file that contained the selected 5 with their assigned positions and read the data from this. <p>Now I am trying to create a web-based version I am struggling as to ...
  • 2、在【公式工作室】的【报表自定义函数】新建一个函数,在代码框输入如下代码(VB代码): Function fncGetCd128SetB ( strIn As string ) As String    Dim intLoop As Number  Dim int...
  •  常见的平面位置显示器PPI(Plane Position Indicator)仿真和航迹显示多是基于Visual C++和OpenGl或VB直接开发,工作量大,结果不直观,开发周期长。而GL Studio是以其为底层,具有丰富的外部程序接口,且支持“照片...
  • 也支持分离结构角色文件(.acf,角色数据存于.acf,动画数据存于.aca)。基于本地硬盘和网络的 应用程序可采用.acs文件,基于Web页面的HTML文件在浏览器访问时会自动调用,习惯上多使用.acs文件。 ---- 上述...
  • 与上面操作相同,不同的是在进行到“窗口属性”定义操作时,在[General]指定 chm 文件标题栏的文字“test2---带功能按钮的 chm 文件”,在[Button]指定欲在 chm 文件的按钮区显示的按钮如图(6)。...
  • arcgis工具

    2012-10-22 22:37:31
    arcgis工具总结 ...这种方法选择某一图层包含另一图层要素的要素。这种方法与完全包含(Completely contain)方法的区别在于:要素间的边界可以接触。例如,使用包含(Contain)方法,即使湖泊的边界和包含该...
  • UltraEdit-32

    热门讨论 2008-12-11 18:22:00
    -句法高亮显示-可配置,为 C/C++, VB, HTML 和 Java预配置 -在特定列以硬回车自动换行 -在现有文档的光标位置插入文件 -文件管理器支持拖放功能 -可配置工具栏 -分隔栏窗口 -插入和叠印模式用于编辑 -多...
  • Oracle事例

    2007-08-26 10:35:53
    insert into TABLENAME@DBLNKNAME (a,b) values (va,vb); update TABLENAME@DBLNKNAME set a=\'this\'; delete from TABLENAME@DBLNKNAME; 怎样执行远程的内嵌过程 begin otherdbpro@to_html(参数); end; ...
  • Conflict with my .vimrc?

    2021-01-12 08:48:05
    才能生效,因为 Vim 在启动 GUI 时,重置 " 了 t_vb 的值,使用 au 在 GuiEnter 时设置; autocmd! GuiEnter * set vb t_vb= <p>set nospell " 关闭拼写检查(开启&#...
  • vim-surroundについて

    2020-12-29 19:29:37
    マクロ実行などの画面再描画を行わない " WindowsXpまたはWindowテーマが「Windowsクラシック」で " Google日本語入力を使用するとIビームカーソルが残る場合にも有効 " set lazyredraw " ...

空空如也

空空如也

1 2
收藏数 21
精华内容 8
关键字:

vb中position