今天公司停电了,呵呵 玩了一个下午了。真是的无聊 希望无聊的同志能帮帮忙去我论坛发发贴子吧,反正无聊嘛。或许还能得到什么呢,就凭我一个人真的不行。不知道该往哪个方向发展了。希望你能给个建议给偶哦。如果你也要做个BBS的话没空间或许我可以给你点,但最好就把我的论坛当作你的论坛也可以嘛,给你个管理员做做就是了但可别删东西哦。哈哈。
嗨,已经好就久没有来了
工作太忙了。没时间来照顾这里了。

呵呵~~~
声明一下我的博客并非就是我的文章,我只是用博客把好的文章摘下来给大家分享的。不对其文章享有著作权。文章肯定来自网络了,这个就不必说了哈。
数控机床及编程中M指令
|
数控机床及编程中M指令 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
什么是LAMP,什么是WAMP
LAMP是基于Linux,Apache,MySQL和PHP的开放资源网络开发平台,PHP是一种有时候用Perl或Python代替的编程语言。这个术语来自欧洲,在那里这些程序用常用来集合有时作为一种标准开发环境。名字来源于每个程序的第一封信。每个程序在所有权里都是符合开放资源标准:Linux是开放系统;Apache是最通用的网络服务器;mySQL是带有基于网络管理附加工具的关系数据库;PHP是流行的对象脚本语言,它包含了多数其它语言的优秀特征来使得它的网络开发更加有效。开发者在Windows操作系统下使用这些Linux环境里的工具称为使用WAMP。
各种sql语句大集合
–语 句 功 能
–数据操作
SELECT –从数据库表中检索数据行和列
INSERT –向数据库表添加新数据行
DELETE –从数据库表中删除数据行
UPDATE –更新数据库表中的数据
–数据定义
CREATE TABLE –创建一个数据库表
DROP TABLE –从数据库中删除表
ALTER TABLE –修改数据库表结构
CREATE VIEW –创建一个视图
DROP VIEW –从数据库中删除视图
CREATE INDEX –为数据库表创建一个索引
DROP INDEX –从数据库中删除索引
CREATE PROCEDURE –创建一个存储过程
DROP PROCEDURE –从数据库中删除存储过程
CREATE TRIGGER –创建一个触发器
DROP TRIGGER –从数据库中删除触发器
CREATE SCHEMA –向数据库添加一个新模式
DROP SCHEMA –从数据库中删除一个模式
CREATE DOMAIN –创建一个数据值域
ALTER DOMAIN –改变域定义
DROP DOMAIN –从数据库中删除一个域
–数据控制
GRANT –授予用户访问权限
DENY –拒绝用户访问
REVOKE –解除用户访问权限
–事务控制
COMMIT –结束当前事务
ROLLBACK –中止当前事务
SET TRANSACTION –定义当前事务数据访问特征
–程序化SQL
DECLARE –为查询设定游标
EXPLAN –为查询描述数据访问计划
OPEN –检索查询结果打开一个游标
FETCH –检索一行查询结果
CLOSE –关闭游标
PREPARE –为动态执行准备SQL 语句
EXECUTE –动态地执行SQL 语句
DESCRIBE –描述准备好的查询
—局部变量
declare @id char(10)
–set @id = ’10010001′
select @id = ’10010001′
—全局变量
—必须以开头
–IF ELSE
declare @x int @y int @z int
select @x = 1 @y = 2 @z=3
if @x > @y
print ‘x > y’ –打印字符串’x > y’
else if @y > @z
print ‘y > z’
else print ‘z > y’
–CASE
use pangu
update employee
set e_wage =
case
when job_level = ’1’ then e_wage*1.08
when job_level = ’2’ then e_wage*1.07
when job_level = ’3’ then e_wage*1.06
else e_wage*1.05
end
–WHILE CONTINUE BREAK
declare @x int @y int @c int
select @x = 1 @y=1
while @x < 3
begin
print @x –打印变量x 的值
while @y < 3
begin
select @c = 100*@x + @y
print @c –打印变量c 的值
select @y = @y + 1
end
select @x = @x + 1
select @y = 1
end
–WAITFOR
–例 等待1 小时2 分零3 秒后才执行SELECT 语句
waitfor delay ’01:02:03’
select * from employee
–例 等到晚上11 点零8 分后才执行SELECT 语句
waitfor time ’23:08:00’
select * from employee
***SELECT***
select *(列名) from table_name(表名) where column_name operator value
ex:(宿主)
select * from stock_information where stockid = str(nid)
stockname = ‘str_name’
stockname like ‘% find this %’
stockname like ‘[a-zA-Z]%’ ——— ([]指定值的范围)
stockname like ‘[^F-M]%’ ——— (^排除指定范围)
——— 只能在使用like关键字的where子句中使用通配符)
or stockpath = ‘stock_path’
or stocknumber < 1000
and stockindex = 24
not stocksex = ‘man’
stocknumber between 20 and 100
stocknumber in(10,20,30)
order by stockid desc(asc) ——— 排序,desc-降序,asc-升序
order by 1,2 ——— by列号
stockname = (select stockname from stock_information where stockid = 4)
——— 子查询
——— 除非能确保内层select只返回一个行的值,
——— 否则应在外层where子句中用一个in限定符
select distinct column_name form table_name ——— distinct指定检索独有的列值,不重复
select stocknumber ,"stocknumber + 10" = stocknumber + 10 from table_name
select stockname , "stocknumber" = count(*) from table_name group by stockname
——— group by 将表按行分组,指定列中有相同的值
having count(*) = 2 ——— having选定指定的组
select *
from table1, table2
where table1.id *= table2.id ——– 左外部连接,table1中有的而table2中没有得以null表示
table1.id =* table2.id ——– 右外部连接
select stockname from table1
union [all] —– union合并查询结果集,all-保留重复行
select stockname from table2
***insert***
insert into table_name (Stock_name,Stock_number) value ("xxx","xxxx")
value (select Stockname , Stocknumber from Stock_table2)—value为select语句
***update***
update table_name set Stockname = "xxx" [where Stockid = 3]
Stockname = default
Stockname = null
Stocknumber = Stockname + 4
***delete***
delete from table_name where Stockid = 3
truncate table_name ———– 删除表中所有行,仍保持表的完整性
drop table table_name ————— 完全删除表
***alter table*** — 修改数据库表结构
alter table database.owner.table_name add column_name char(2) null …..
sp_help table_name —- 显示表已有特征
create table table_name (name char(20), age smallint, lname varchar(30))
insert into table_name select ……… —– 实现删除列的方法(创建新表)
alter table table_name drop constraint Stockname_default —- 删除Stockname的default约束
***function(/*常用函数*/)***
—-统计函数—-
AVG –求平均值
COUNT –统计数目
MAX –求最大值
MIN –求最小值
SUM –求和
–AVG
use pangu
select avg(e_wage) as dept_avgWage
from employee
group by dept_id
–MAX
–求工资最高的员工姓名
use pangu
select e_name
from employee
where e_wage =
(select max(e_wage)
from employee)
–STDEV()
–STDEV()函数返回表达式中所有数据的标准差
–STDEVP()
–STDEVP()函数返回总体标准差
–VAR()
–VAR()函数返回表达式中所有值的统计变异数
–VARP()
–VARP()函数返回总体变异数
—-算术函数—-
/***三角函数***/
SIN(float_expression) –返回以弧度表示的角的正弦
COS(float_expression) –返回以弧度表示的角的余弦
TAN(float_expression) –返回以弧度表示的角的正切
COT(float_expression) –返回以弧度表示的角的余切
/***反三角函数***/
ASIN(float_expression) –返回正弦是FLOAT 值的以弧度表示的角
ACOS(float_expression) –返回余弦是FLOAT 值的以弧度表示的角
ATAN(float_expression) –返回正切是FLOAT 值的以弧度表示的角
ATAN2(float_expression1,float_expression2)
–返回正切是float_expression1 /float_expres-sion2的以弧度表示的角
DEGREES(numeric_expression)
–把弧度转换为角度返回与表达式相同的数据类型可为
–INTEGER/MONEY/REAL/FLOAT 类型
RADIANS(numeric_expression) –把角度转换为弧度返回与表达式相同的数据类型可为
–INTEGER/MONEY/REAL/FLOAT 类型
EXP(float_expression) –
你不应该买的几款二手笔记本电脑
二手笔记本在国内深受欢迎,确实有些机型性价比很高,稳定性,兼容性都极佳,如果对速度性能要求不是很高的话,这种二手笔记本是个很好的选择。但是有些笔记本电脑因为存在设计时的缺陷,有些缺陷真的是令人发狂,也就是所谓的垃圾机型,这种机型实在不值得购买。这里我要说说现在市面上存在的几款垃圾机型:
一、东芝的超薄机型 Portege 3440CT/3480CT/3490CT
选购此种机型的人,主要是看中它的超薄超轻体形,确实这种机型就外形设计来说,放在现在的新品群也不算太过时,但是笔记本是买来用的,不是看的,Portege 3440CT/3480CT/3490Ct存在着不可饶恕的缺陷:
致命缺陷:
1. 液晶屏亮度几乎不可调,要调只能在开机时马上进入CMOS设置,里面有个亮度调节(只有三档),进入系统后,就没法再调节屏幕亮度;这种缺陷几乎是不可思议,只在东芝的笔记本上看到过,除了以上机型,还有东芝的Tecra 8000/8100/8200,Portege 7000CT/7010CT/7020CT/7200CTe/7220CTe等笔记本电脑都存在这种毛病。一般集中在东芝PII/PIII级别的笔记本,现在的东芝本本基本上没有这个问题。
2. USB端口供电太弱,几乎带不动所有的移动硬盘(优盘一般可以),除非给移动硬盘额外加电,用USB、PS/2取电线,对不起,还是不行;其实,USB端口供电弱这个毛病在日系的老机型(PIII级别以下)普遍存在。你如果选购日系的本本,建议试一下USB端口。
3. 选用特殊内存,给升级带来困难。一般这种机型标配128M,没有空余的内存插槽。
一般缺点:
1. Portege 3440CT/3480CT/3490CT,作为二手本本,它的显示屏亮度普遍较暗,可能换灯管后会改善,你在选购时要注意它的屏幕亮度。
2. 超薄机身必然带来散热问题,当然Portege 3440CT/3480CT/3490CT未能避免,用了你就知道了,它的底部温度可不是一般的热。
3. 自带的笔记本电池由于功率小,加上老化,续航不会很持久,有半个小时多点已不错了,可能你还要去更换电芯。
据说:背熟以下文章,就能脱离鼠标,光用键盘操作了
一、常见用法:
f1 显示当前程序或者windows的帮助内容。
f2 当你选中一个文件的话,这意味着“重命名”
f3 当你在桌面上的时候是打开“查找:所有文件” 对话框
f10或alt 激活当前程序的菜单栏
windows键或ctrl+esc 打开开始菜单
ctrl+alt+ 在win9x中打开关闭程序对话框
删除被选择的选择项目,如果是文件,将被放入回收站
shift+ 删除被选择的选择项目,如果是文件,将被直接删除而不是
放入回收站
ctrl+n 新建一个新的文件
ctrl+o 打开“打开文件”对话框
ctrl+p 打开“打印”对话框
ctrl+s 保存当前操作的文件
ctrl+x 剪切被选择的项目到剪贴板
ctrl+insert 或 ctrl+c 复制被选择的项目到剪贴板
shift+insert 或 ctrl+v 粘贴剪贴板中的内容到当前位置
alt+backspace 或 ctrl+z 撤销上一步的操作
alt+shift+backspace 重做上一步被撤销的操作
windows键+m 最小化所有被打开的窗口。
windows键+ctrl+m 重新将恢复上一项操作前窗口的大小和位置
windows键+e 打开资源管理器
windows键+f 打开“查找:所有文件”对话框
windows键+r 打开“运行”对话框
windows键+break 打开“系统属性”对话框
windows键+ctrl+f 打开“查找:计算机”对话框
shift+f10或鼠标右击 打开当前活动项目的快捷菜单
shift 在放入cd的时候按下不放,可以跳过自动播放cd。在打开wo
rd的时候按下不放,可以跳过自启动的宏
alt+f4 关闭当前应用程序
alt+spacebar 打开程序最左上角的菜单
alt+tab 切换当前程序
alt+esc 切换当前程序
alt+enter 将windows下运行的msdos窗口在窗口和全屏幕状态间切换
print screen 将当前屏幕以图象方式拷贝到剪贴板
alt+print screen 将当前活动程序窗口以图象方式拷贝到剪贴板
ctrl+f4 关闭当前应用程序中的当前文本(如word中)
ctrl+f6 切换到当前应用程序中的下一个文本(加shift 可以跳到前
一个窗口)
在ie中:
alt+right arrow 显示前一页(前进键)
alt+left arrow 显示后一页(后退键)
ctrl+tab 在页面上的各框架中切换(加shift反向)
f5 刷新
ctrl+f5 强行刷新
目的快捷键
激活程序中的菜单栏 f10
执行菜单上相应的命令 alt+菜单上带下划线的字母
关闭多文档界面程序中的当
前窗口 ctrl+ f4
关闭当前窗口或退出程序 alt+ f4
复制 ctrl+ c
剪切 ctrl+ x
删除
显示所选对话框项目的帮助 f1
显示当前窗口的系统菜单 alt+空格键
显示所选项目的快捷菜单 shift+ f10
显示“开始”菜单 ctrl+ esc
显示多文档界面程序的系统
菜单 alt+连字号(-)
粘贴 ctr l+ v
切换到上次使用的窗口或者
按住 alt然后重复按tab,
切换到另一个窗口 alt+ tab
撤消 ctrl+ z
二、使用“windows资源管理器”的快捷键
目的快捷键
如果当前选择展开了,要折
叠或者选择父文件夹左箭头
折叠所选的文件夹 num lock+负号(-)
如果当前选择折叠了,要展开
或者选择第一个子文件夹右箭头
展开当前选择下的所有文件夹 num lock+*
展开所选的文件夹 num lock+加号(+)
在左右窗格间切换 f6
三、使用 windows键
可以使用 microsoft自然键盘或含有 windows徽标键的其他任何兼容键盘的以下快
捷键。
目的快捷键
在任务栏上的按钮间循环 windows+ tab
显示“查找:所有文件” windows+ f
显示“查找:计算机” ctrl+ windows+ f
显示“帮助” windows+ f1
显示“运行”命令 windows+ r
显示“开始”菜单 windows
显示“系统属性”对话框 windows+ break
显示“windows资源管理器” windows+ e
最小化或还原所有窗口 windows+ d
撤消最小化所有窗口 shift+ windows+ m
四、使用“我的电脑”和“windows资源管理器”的快捷键
目的快捷键
关闭所选文件夹及其所有父
文件夹按住 shift键再单击“关闭按钮(仅适用于“我的电脑”)
向后移动到上一个视图 alt+左箭头
向前移动到上一个视图 alt+右箭头
查看上一级文件夹 backspace
五、使用对话框中的快捷键
目的快捷键
取消当前任务 esc
如果当前控件是个按钮,要
单击该按钮或者如果当前控
件是个复选框,要选择或清
除该复选框或者如果当前控
件是个选项按钮,要单击该
选项空格键
单击相应的命令 alt+带下划线的字母
单击所选按钮 enter
在选项上向后移动 shift+ tab
在选项卡上向后移动 ctrl+ shift+ tab
在选项上向前移动 tab
在选项卡上向前移动 ctrl+ tab
如果在“另存为”或“打开”
对话框中选择了某文件夹,
要打开上一级文件夹 backspace
在“另存为”或“打开”对
话框中打开“保存到”或
“查阅” f4
刷新“另存为”或“打开”
对话框 f5
六、使用“桌面”、“我的电脑”和“windows资源管理器”快捷键
选择项目时,可以使用以下快捷键。
目的快捷键
插入光盘时不用“自动播放”
功能按住 shift插入 cd-rom
复制文件按住 ctrl拖动文件
创建快捷方式按住 ctrl+shift拖动文件
立即删除某项目而不将其放入 shift+
“回收站”
显示“查找:所有文件” f3
显示项目的快捷菜单 application键
刷新窗口的内容 f5
重命名项目 f2
选择所有项目 ctrl+ a
查看项目的属性 alt+ enter或 alt+双击
可将 application键用于 microsoft自然键盘或含有 application键的其他兼容键
七、microsoft放大程序的快捷键
这里运用windows徽标键和其他键的组合。
快捷键目
什么是API
首先,有必要向大家讲一讲,什么是API。所谓API本来是为C和C++程序员写的。API说来说去,就是一种函数,他们包含在一个附加名为DLL的动态连接库文件中。用标准的定义来讲,API就是Windows的32位应用程序编程接口,是一系列很复杂的函数,消息和结构,它使编程人员可以用不同类型的编程语言编制出的运行在Windows95和Windows NT操作系统上的应用程序。可以说,如果你曾经学过VC,那么API对你来说不是什么问题。但是如果你没有学过VC,或者你对Windows95的结构体系不熟悉,那么可以说,学习API将是一件很辛苦的事情。
如果你打开WINDOWS的SYSTEM文件夹,你可以发现其中有很多附加名为DLL的文件。一个DLL中包含的API函数并不只是一个,数十个,甚至是数百个。我们能都掌握它嘛?回答是否定的∶不可能掌握。但实际上,我们真的没必要都掌握,只要重点掌握Windos系统本身自带的API函数就可以了。但,在其中还应当抛开掉同VB本身自有的函数重复的函数。如,VB
的etAttr命令可以获得文件属性,SetAttr可以设置文件属性。对API来讲也有对应的函数
GetFileAttributes和SetFileAttributes,性能都差不多。如此地一算,剩下来的也就5、600个。是的,也不少。但,我可以敢跟你说,只要你熟悉地掌握100个,那么你的编程水平比现在高出至少要两倍。尽管人们说VB和WINDOWS具有密切的关系,但我认为,API更接近
WINDOWS。如果你学会了API,首要的收获便是对WINDOWS体系结构的认识。这个收获是来自不易的。
如果你不依靠API会怎么样?我可以跟你说,绝大多是高级编程书本(当然这不是书的名程叫高级而高级的,而是在一开始的《本书内容》中指明《本书的阅读对象是具有一定VB基础的读者》的那些书),首先提的问题一般大都是从API开始。因此可以说,你不学API,你大概将停留在初级水平,无法往上攀登。唯一的途径也许就是向别人求救∶我快死了,快来救救我呀,这个怎么办,那个怎么办?烦不烦呢?当然,现在网上好人太多(包括我在内,嘻嘻),但,你应当明白,通过此途径,你的手中出不了好的作品。这是因为缺乏这些知识你的脑子里根本行不成一种总体的设计构思。
什么是DLL
人们常说的“DLL”(Dynamic Link Library)也就是“动态链接库”是一个可以被其它应用程序共享的程序模块,其中封装了一些可以被共享的程序或资源。它和可执行文件(.EXE文件)非常类似,区别在于动态链接库中虽然包含了可执行代码却不能单独执行,而应由相应的应用程序直接或间接调用。 DLL 是一个包含可由多个程序同时使用的代码和数据的库。例如,在 Windows 操作系统中,Comdlg32 DLL 执行与对话框有关的常见函数。因此,每个程序都可以使用该 DLL 中包含的功能来实现“打开”对话框。这有助于促进代码重用和内存的有效使用。 通过使用 DLL,程序可以实现模块化,由相对独立的组件组成。例如,一个计帐程序可以按模块来销售。可以在运行时将各个模块加载到主程序中(如果安装了相应模块)。因为模块是彼此独立的,所以程序的加载速度更快,而且模块只在相应的功能被请求时才加载。 此外,可以更为容易地将更新应用于各个模块,而不会影响该程序的其他部分。例如,您可能具有一个工资计算程序,而税率每年都会更改。当这些更改被隔离到 DLL 中以后,您无需重新生成或安装整个程序就可以应用更新。 什么是 DLL?动态链接库 (DLL) 是包含函数和数据的模块的集合。程序文件(如 .exe 文件或 .dll 文件)在运行时加载这些模块(亦即所需的模块映射到调用进程的地址空间)。下面两类函数定义了 DLL: • 导出函数:这些函数由其他模块调用。 • 内部函数:这些函数仅从定义它们的 DLL 中调用。 DLL 还导出数据。不过,这些数据由相应的函数使用。动态链接和静态链接动态链接包括系统在加载或运行时查找导出的 DLL 函数的代码所需的信息。 在静态链接中,链接器将库函数的代码复制到调用 DLL 的每个模块。 可以通过下列方式调用 DLL 中的函数: • 加载时动态链接:调用方模块执行显式调用以导出 DLL 函数。为 DLL 创建导入库,然后将 DLL 链接到应用程序。在加载应用程序时,导入库提供加载 DLL 和查找导出的 DLL 函数所需的信息。 • 运行时动态链接:在运行时加载 DLL 时,调用方模块使用 LoadLibrary 函数或 LoadLibraryEx 函数。调用方模块调用 GetProcAddress 函数以获取导出的 DLL 函数的地址。 在链接时,Windows 搜索预安装的一组 DLL,例如性能库 (Kernel32.dll) 和安全库 (User32.dll)。然后,Windows 按以下顺序搜索 DLL: 1. 当前进程的可执行程序所在的目录。 2. 当前目录。 3. Windows 系统目录。(GetSystemDirectory 函数获取 Windows 系统目录的路径。) 4. Windows 目录。(GetWindowsDirectory 函数获取 Windows 目录的路径。) 5. PATH 环境变量中列出的目录。 注意:LIBPATH 环境变量不用于搜索。 DLL 和静态库 • DLL 可节省内存并减少交换。 通过在内存中共享 DLL 的单个副本,多个进程可以同时使用一个 DLL。相比之下,对于使用静态链接库构建的每一个应用程序,Windows 都要在内存中为其加载库代码的一个副本。 • DLL 可节省磁盘空间。 多个应用程序可以共享磁盘上的一个 DLL 副本。相比之下,使用静态链接库构建的每一个应用程序都需要让链接到程序文件映像的库代码作为一个单独的专用副本。 • DLL 可节省时间。 更改 DLL 中的函数时,只要函数的参数和返回值不变,就不必重新编译或重新链接使用这些函数的应用程序。但是,如果您使用静态链接的对象代码,则在更改函数后必须重新链接应用程序。 • DLL 可以共享函数。 在 Win32 中,DLL 可以共享函数。默认情况下,数据对于每个进程来说是独立的。但是,静态库包含针对每一个进程的单独的数据副本和函数。 DLL 入口点 DLL 有一个特殊的入口点(DllMain 函数),它在附加和分离进程和线程时运行。此行为允许根据需要创建和销毁数据结构。文件扩展名为 .ocx、.cpl 和 .drv 的文件类型也是 DLL,尽管文件扩展名已改变。在 Windows 2.x 和 Windows 3.x 中,每个 DLL 都只有一个数据段实例,而不管有多少应用程序。在 Windows 32 中,可以将 DLL 标记为共享以导致相同的行为。但是,每个进程的默认设置是拥有 DLL 数据的专用副本。您可以通过创建 DLL 实现以下目的: • 将程序划分为可按需加载的单独模块。 • 存储特定于语言或特定于区域的资源。 • 使您自己的应用程序能够使用核心代码库。 • 生成进程内 COM 对象或 ActiveX 控件 (OCX)。 • 将 OLE 对象用作进程内 DLL。这一用法可改进 OLE 链接的性能。 • 使用控制面板扩展或使用某些类型的驱动程序。


