vb.net2048 VB2048

vb做的2048怎么介绍作法

好吧好吧,既然有人问到我这里来了,就简单说一下吧。其实我是新人,所以说那个代码写的真的很乱。当时写的时候都不会控件数组,所以说很麻烦,内部操作需要一个2维数组(3,3)生成方块不难,用循环遍历数组,rnd函数表示生成。移动的时候稍微难一点,其实只要掌握了一个方向就ok了,其他的都是复制粘贴,我现在手上不方便看源码,讲不清楚。当然我看到大神做出来的时候才知道什么叫做差距,我基本比大神多用了3倍的代码,而且大神那个只要放一个label,一个picturebox,把代码一粘贴就直接能用了。你可以去看看,贴吧里很多做2048的,而且我做的是vb。net版的,和vb6还有不少不一样的地方。

创新互联专业网站制作、成都网站制作,集网站策划、网站设计、网站制作于一体,网站seo、网站优化、网站营销、软文推广等专业人才根据搜索规律编程设计,让网站在运行后,在搜索中有好的表现,专业设计制作为您带来效益的网站!让网站建设为您创造效益。

求助vb.net高手一个简单的问题

Dim 文件路径 As String = System.Environment.CurrentDirectory + "\AAA.xls"

Dim 字符 As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + 文件路径 + ";Extended Properties='Excel 8.0;'"

Dim 连接 As New System.Data.OleDb.OleDbConnection(字符)

连接.Open()

Dim 操作 As New System.Data.OleDb.OleDbCommand()

操作.Connection = 连接

操作.CommandText = "Insert into [Sheet1$](a,b) values('aaaaaaaaaaaaa','bbbbbbbbbbbbbbb')"

操作.ExecuteNonQuery()

Dim 读取数据 = "SELECT * FROM [Sheet1$]"

Dim 读取 As New System.Data.OleDb.OleDbDataAdapter(读取数据, 连接)

Dim ds As New DataSet()

读取.Fill(ds, "[Sheet1$]")

连接.Close()

在表格内第一行两格填写a b看运行前后图

用VB.NET 和SQL Server2000做项目,请问,怎么实现数据库的备份和还原。谢谢

SQL的备份语句

备份整个数据库:

BACKUP DATABASE { database_name | @database_name_var }

TO backup_device [ ,...n ]

[ WITH

[ BLOCKSIZE = { blocksize | @blocksize_variable } ]

[ [ , ] DESCRIPTION = { 'text' | @text_variable } ]

[ [ , ] DIFFERENTIAL ]

[ [ , ] EXPIREDATE = { date | @date_var }

| RETAINDAYS = { days | @days_var } ]

[ [ , ] PASSWORD = { password | @password_variable } ]

[ [ , ] FORMAT | NOFORMAT ]

[ [ , ] { INIT | NOINIT } ]

[ [ , ] MEDIADESCRIPTION = { 'text' | @text_variable } ]

[ [ , ] MEDIANAME = { media_name | @media_name_variable } ]

[ [ , ] MEDIAPASSWORD = { mediapassword | @mediapassword_variable } ]

[ [ , ] NAME = { backup_set_name | @backup_set_name_var } ]

[ [ , ] { NOSKIP | SKIP } ]

[ [ , ] { NOREWIND | REWIND } ]

[ [ , ] { NOUNLOAD | UNLOAD } ]

[ [ , ] RESTART ]

[ [ , ] STATS [ = percentage ] ]

]

备份特定的文件或文件组:

BACKUP DATABASE { database_name | @database_name_var }

file_or_filegroup [ ,...n ]

TO backup_device [ ,...n ]

[ WITH

[ BLOCKSIZE = { blocksize | @blocksize_variable } ]

[ [ , ] DESCRIPTION = { 'text' | @text_variable } ]

[ [ , ] DIFFERENTIAL ]

[ [ , ] EXPIREDATE = { date | @date_var }

| RETAINDAYS = { days | @days_var } ]

[ [ , ] PASSWORD = { password | @password_variable } ]

[ [ , ] FORMAT | NOFORMAT ]

[ [ , ] { INIT | NOINIT } ]

[ [ , ] MEDIADESCRIPTION = { 'text' | @text_variable } ]

[ [ , ] MEDIANAME = { media_name | @media_name_variable } ]

[ [ , ] MEDIAPASSWORD = { mediapassword | @mediapassword_variable } ]

[ [ , ] NAME = { backup_set_name | @backup_set_name_var } ]

[ [ , ] { NOSKIP | SKIP } ]

[ [ , ] { NOREWIND | REWIND } ]

[ [ , ] { NOUNLOAD | UNLOAD } ]

[ [ , ] RESTART ]

[ [ , ] STATS [ = percentage ] ]

]

备份一个事务日志:

BACKUP LOG { database_name | @database_name_var }

{

TO backup_device [ ,...n ]

[ WITH

[ BLOCKSIZE = { blocksize | @blocksize_variable } ]

[ [ , ] DESCRIPTION = { 'text' | @text_variable } ]

[ [ ,] EXPIREDATE = { date | @date_var }

| RETAINDAYS = { days | @days_var } ]

[ [ , ] PASSWORD = { password | @password_variable } ]

[ [ , ] FORMAT | NOFORMAT ]

[ [ , ] { INIT | NOINIT } ]

[ [ , ] MEDIADESCRIPTION = { 'text' | @text_variable } ]

[ [ , ] MEDIANAME = { media_name | @media_name_variable } ]

[ [ , ] MEDIAPASSWORD = { mediapassword | @mediapassword_variable } ]

[ [ , ] NAME = { backup_set_name | @backup_set_name_var } ]

[ [ , ] NO_TRUNCATE ]

[ [ , ] { NORECOVERY | STANDBY = undo_file_name } ]

[ [ , ] { NOREWIND | REWIND } ]

[ [ , ] { NOSKIP | SKIP } ]

[ [ , ] { NOUNLOAD | UNLOAD } ]

[ [ , ] RESTART ]

[ [ , ] STATS [ = percentage ] ]

]

}

backup_device ::=

{

{ logical_backup_device_name | @logical_backup_device_name_var }

|

{ DISK | TAPE } =

{ 'physical_backup_device_name' | @physical_backup_device_name_var }

}

file_or_filegroup ::=

{

FILE = { logical_file_name | @logical_file_name_var }

|

FILEGROUP = { logical_filegroup_name | @logical_filegroup_name_var }

}

截断事务日志:

BACKUP LOG { database_name | @database_name_var }

{

[ WITH

{ NO_LOG | TRUNCATE_ONLY } ]

}

参数

DATABASE

指定一个完整的数据库备份。假如指定了一个文件和文件组的列表,那么仅有这些被指定的文件和文件组被备份。

说明 在进行完整数据库备份或差异数据库备份时,Microsoft® SQL Server™ 备份足够的事务日志,以生成一个将在还原数据库时使用的一致的数据库。在 master 数据库上只能采用完整数据库备份。

{ database_name | @database_name_var }

指定了一个数据库,从该数据库中对事务日志、部分数据库或完整的数据库进行备份。如果作为变量 (@database_name_var) 提供,则可将该名称指定为字符串常量 (@database_name_var = database name) 或字符串数据类型(ntext 或 text 数据类型除外)的变量。

backup_device

指定备份操作时要使用的逻辑或物理备份设备。可以是下列一种或多种形式:

{ logical_backup_device_name } | { @logical_backup_device_name_var }

是由 sp_addumpdevice 创建的备份设备的逻辑名称,数据库将备份到该设备中,其名称必须遵守标识符规则。如果将其作为变量 (@logical_backup_device_name_var) 提供,则可将该备份设备名称指定为字符串常量 (@logical_backup_device_name_var = logical backup device name) 或字符串数据类型(ntext 或 text 数据类型除外)的变量。

{ DISK | TAPE } =

'physical_backup_device_name' | @physical_backup_device_name_var

允许在指定的磁盘或磁带设备上创建备份。在执行 BACKUP 语句之前不必存在指定的物理设备。如果存在物理设备且 BACKUP 语句中没有指定 INIT 选项,则备份将追加到该设备。

当指定 TO DISK 或 TO TAPE 时,请输入完整路径和文件名。例如,DISK = 'C:\Program Files\Microsoft SQL Server\MSSQL\BACKUP\Mybackup.dat' 或 TAPE = '\\.\TAPE0'。

说明 对于备份到磁盘的情况,如果输入一个相对路径名,备份文件将存储到默认的备份目录中。该目录在安装时被设置并且存储在 KEY_LOCAL_MACHINE\Software\Microsoft\MSSQLServer\MSSQLServer 目录下的 BackupDirectory 注册表键值中。

如果使用的是具有统一命名规则 (UNC) 名称的网络服务器或已重新定向的驱动器号,则请指定磁盘的设备类型。

当指定多个文件时,可以混合逻辑文件名(或变量)和物理文件名(或变量)。但是,所有的设备都必须为同一类型(磁盘、磁带或管道)。

Windows 98 不支持备份到磁盘。

n

是表示可以指定多个备份设备的占位符。备份设备数目的上限为 64。

BLOCKSIZE = { blocksize | @blocksize_variable }

用字节数来指定物理块的大小。在 Windows NT 系统上,默认设置是设备的默认块大小。一般情况下,当 SQL Server 选择适合于设备的块大小时不需要此参数。在基于 Windows 2000 的计算机上,默认设置是 65,536(64 KB,是 SQL Server 支持的最大大小)。

对于磁盘,BACKUP 自动决定磁盘设备合适的块大小。

说明 如果要将结果备份集存储到 CD-ROM 中然后从 CD-ROM 中恢复,请将 BLOCKSIZE 设为 2048。

磁带的默认 BLOCKSIZE 为 65,536 (64 KB)。显式声明块大小将替代 SQL Server 选择的块大小。

DESCRIPTION = { 'text' | @text_variable }

指定描述备份集的自由格式文本。该字符串最长可以有 255 个字符。

DIFFERENTIAL

指定数据库备份或文件备份应该与上一次完整备份后改变的数据库或文件部分保持一致。差异备份一般会比完整备份占用更少的空间。对于上一次完整备份时备份的全部单个日志,使用该选项可以不必再进行备份。有关更多信息,请参见差异数据库备份和文件差异备份。

说明 在进行完整数据库备份或差异备份时,SQL Server 备份足够的事务日志,从而在恢复数据库时生成一个一致的数据库。

EXPIREDATE = { date | @date_var }

指定备份集到期和允许被重写的日期。如果将该日期作为变量 (@date_var) 提供,则可以将该日期指定为字符串常量 (@date_var = date)、字符串数据类型变量(ntext 或 text 数据类型除外)、smalldatetime 或者 datetime 变量,并且该日期必须符合已配置的系统 datetime 格式。

RETAINDAYS = { days | @days_var }

指定必须经过多少天才可以重写该备份媒体集。假如用变量 (@days_var) 指定,该变量必须为整型。

重要 假如 EXPIREDATE 或 RETAINDAYS 没有指定,有效期将取决于 sp_configure 的 media retention 配置设置。这些选项仅仅阻止 SQL Server 重写文件。用其它方法可擦除磁带,而通过操作系统可以删除磁盘文件。有关过期验证的更多信息,请参见本主题的 SKIP 和 FORMAT。

PASSWORD = { password | @password_variable }

为备份集设置密码。 PASSWORD 是一个字符串。如果为备份集定义了密码,必须提供这个密码才能对该备份集执行任何还原操作。

有一些很基础的关于VB.net的问题要问 可以的话请私信邮箱~谢谢

C#窗体控件简介-文本框控件

在希望用户输入程序员在设计阶段不知道的文本(如用户的姓名)时,应使用文本框。文本框的主要用途是让用户输入文本,用户可以输入任何字符,也可以限制用户只输入数值。

文本框(TextBox)的作用是实现程序与用户的交互,获取用户输入的信息或者向用户显示文本。

文件框的属性和事件

CharacterCasing:确定文本框中的大小写设置。

ScrollBars:指定文本框内容比较多时,是否显示滚动条。

MaxLength:指定文本框中输入的最大字符数。

Multiline:表示是否可在文本框中输入多行文本。

PasswordChar:作为密码框时,文本框中显示的字符。

ReadOnly:设置文本框是否只读。

Text:与文本框相关头联的文本。

KeyPress:文本框内,按任意键时触发的事件。

TextChanged:文本框内容发生改变触发的事件。

TextBox提供了3种样式的输入:单行、多行和密码。输入内容比较多时,设置Multiline属性为True,可以调整TextBox的宽度,实现多行输入。如果文本框的内容比较保密,设置PasswordChar属性为“*”,输入的内容就会以“*”显示。

TextBox控件的属性

名 称

描 述

CausesValidation

当控件的这个属性设置为true,且该控件

获得了焦点时,会引发两个事件:

Validating 和 Validated。可以处理这

些事件,以便验证失去焦点的控件中

数据的有效性。

这可能使控件永远都不能获得焦点。

下面会讨论相关的事件

CharacterCasing

这个值表示TextBox是否会改变输入的

文本的大小写。可能的值有:

● Lower: 文本框中输入的所有文本都转换为小写

● Normal: 不对文本进行任何转换

● Upper: 文本框中输入的所有文本都转换为大写

MaxLength

这个值指定输入到TextBox中的文本的最

大字符长度。把这个值设置为0,表示

最大字符长度仅受限于可用的内存

Multiline

表示该控件是否是一个多行控件。多行控件

可以显示多行文本。如果Multiline属性设

置为true,通常也把WordWrap也设置为true

PasswordChar

指定是否用密码字符替换在单行文本框中

输入的字符。如果Multiline 属性为true,

这个属性就不起作用

ReadOnly

这个Boolean值表示文本是否为只读

ScrollBars

指定多行文本框是否显示滚动条

SelectedText

在文本框中选择的文本

SelectionLength

在文本中选择的字符数。如果这个值设置得

比文本中的总字符数大,则控件会把它重

新设置为字符总数减

去SelectionStart 的值

SelectionStart

文本框中被选中文本的开头

WordWrap

指定在多行文本框中,如果一行的宽度超出

了控件的宽度,其文本是否应自动换行

TextBox控件的事件(所有的事件都派生于Control)

名 称

描 述

Enter

Leave

Validating

Validated

这4个事件按照列出的顺序引发。它们统称

为“焦点事件”,当控件的焦点发生改变时

引发,但有两个例外。Validating 和 Validated

仅在控件接收了焦点,且其CausesValidation属

性设置为true时引发。接收焦点的控件引发事件

的原因是有时即使焦点改变了,我们也不希望验

证控件的有效性。它的一个示例是用户单

击了Help按钮

KeyDown

KeyPress

KeyUp

这3个事件称为“键事件”。它们可以监视和

改变输入到控件中的内容

KeyDown 和 KeyUp接收与所按下键对应的

键码,这样就可以确定是否按下了特殊的键

Shift 或 Control 和F1

另一方面,KeyPress接收与键对应的字符。

这表示字母a的值与字母A的值不同。如果

要排除某个范围内的字符,例如只允许输

入数值,这是很有用的

TextChange

只要文本框中的文本发生了改变,无论发生

什么改变,都会引发该事件

1、主要属性:

(1)Text属性:Text属性是文本框最重要的属性,因为要显示的文本就包含在Text属性中。默认情况下,

最多可在一个文本框中输入2048个字符。如果将MultiLine属性设置为true,则最多可输入32KB 的文本。

Text属性可以在设计时使用【属性】窗口设置,也可以在运行时用代码设置或者通过用户输入来设置。可

以在运行时通过读取Text属性来获得文本框的当前内容。

(2)MaxLength 属性:用来设置文本框允许输入字符的最大长度,该属性值为 0 时,不限制输入的字符

数。

(3)MultiLine 属性:用来设置文本框中的文本是否可以输入多行并以多行显示。值为 true 时,允许多行

显示。值为false时不允许多行显示,一旦文本超过文本框宽度时,超过部分不显示。

(4)HideSelection属性:用来决定当焦点离开文本框后,选中的文本是否还以选中的方式显示,值为true,

则不以选中的方式显示,值为 false将依旧以选中的方式显示。

(5)ReadOnly属性:用来获取或设置一个值,该值指示文本框中的文本是否为只读。值为 true时为只读,

值为 false时可读可写。

(6)PasswordChar 属性:是一个字符串类型,允许设置一个字符,运行程序时,将输入到 Text 的内容全

部显示为该属性值,从而起到保密作用,通常用来输入口令或密码。

(7) ScrollBars属性: 用来设置滚动条模式, 有四种选择: ScrollBars.None (无滚动条), ScrollBars.Horizontal

(水平滚动条),ScrollBars.Vertical(垂直滚动条),ScrollBars.Both(水平和垂直滚动条)。

注意:只有当MultiLine属性为true时,该属性值才有效。在WordWrap属性值为true时,

水平滚动条将不起作用

(8)SelectionLength属性:用来获取或设置文本框中选定的字符数。只能在代码中使用,值为0 时,表示

未选中任何字符。

(9)SelectionStart属性:用来获取或设置文本框中选定的文本起始点。只能在代码中使用,第一个字符的

位置为0,第二个字符的位置为1,依此类推。

(10)SelectedText 属性:用来获取或设置一个字符串,该字符串指示控件中当前选定的文本。只能在代

码中使用。

(11)Lines:该属性是一个数组属性,用来获取或设置文本框控件中的文本行。即文本框中的每一行存放

在 Lines数组的一个元素中。

(12)Modified:用来获取或设置一个值,该值指示自创建文本框控件或上次设置该控件的内容后,用户

是否修改了该控件的内容。值为true表示修改过,值为 false表示没有修改过。

(13)TextLength属性:用来获取控件中文本的长度。

(14)WordWrap:用来指示多行文本框控件在输入的字符超过一行宽度时是否自动换行到下一行的开始,

值为 true,表示自动换到下一行的开始,值为false表示不自动换到下一行的开始。

2、常用方法:

(1)AppendText方法:把一个字符串添加到文件框中文本的后面,调用的一般格式如下:

文本框对象.AppendText(str)

参数 str是要添加的字符串。

(2)Clear方法:从文本框控件中清除所有文本。调用的一般格式如下:

文本框对象.Clear()该方法无参数。

(3)Focus方法:是为文本框设置焦点。如果焦点设置成功,值为 true,否则为false。调用的一般格式如

下: 文本框对象.Focus()该方法无参数。

(4)Copy方法:将文本框中的当前选定内容复制到剪贴板上。调用的一般格式如下:

文本框对象.Copy()该方法无参数。

(5)Cut方法:将文本框中的当前选定内容移动到剪贴板上。调用的一般格式如下:

文本框对象.Cut()该方法无参数。

(6)Paste方法:用剪贴板的内容替换文本框中的当前选定内容。调用的一般格式如下:

文本框对象.Paste()该方法无参数。

(7)Undo 方法:撤销文本框中的上一个编辑操作。调用的一般格式如下:

文本框对象.Undo()该方法无参数。

(8)ClearUndo方法:从该文本框的撤销缓冲区中清除关于最近操作的信息,根据应用

程序的状态,可以使用此方法防止重复执行撤销操作。调用的一般格式如下:

文本框对象.ClearUndo()该方法无参数。

(9)Select方法:用来在文本框中设置选定文本。调用的一般格式如下:

文本框对象.Select(start,length)

该方法有两个参数,第一个参数start用来设定文本框中当前选定文本的第一个字符的位

置,第二个参数length用来设定要选择的字符数。

(10)SelectAll方法:用来选定文本框中的所有文本。调用的一般格式如下:

文本框对象.SelectAll()该方法无参数。

3、常用事件:

(1)GotFocus事件:该事件在文本框接收焦点时发生。

(2)LostFocus事件:该事件在文本框失去焦点时发生。

(3)TextChanged事件:该事件在Text属性值更改时发生。无论是通过编程修改还是用户交互更改文本框

的 Text属性值,均会引发此事件。

vb.net ,datareceived事件触发后,接收缓冲区是不是会阻塞?

18只是触发事件的条件,并不等于你获取缓冲区数据的大小,你发多少数据 还是多少数据 18不是限制条件

默认是1 比你设置还小呢


分享标题:vb.net2048 VB2048
转载来源:http://ybzwz.com/article/hjhcio.html