自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

samson

A good programmer is someone who always looks both ways before crossing a one-way street.

  • 博客(10)
  • 资源 (6)
  • 收藏
  • 关注

原创 八.PHP类的使用方法

1.语法说明和其他语言一样,类通过class关键字来定义,类名用大驼峰。定义成员变量。要加上修饰符public、private、protected。 通过->访问修改类内成员变量也和大多数语言一直。注意:访问对象的时候,属性名前不要加$。<?phpclass Count { public function product ($num) { if ...

2019-04-27 22:02:52 669

原创 七.PHP操作MySQL

一.开启PHP扩展功能在php.init配置文件中开启二.查看是否开启功能成功<?phpphpinfo();?>三.php操作MySQL流程连接数据库 准备SQL语句 发送SQL语句到MyQSQL服务器 MySQL服务器收到SQL语句后执行 接受MySQL服务器的结果 PHP解析服务器中的结果 关闭连接1.连接数据库函数:mysqli...

2019-04-13 21:33:57 250

原创 三.MySQL的简单查询

一.普通的检索数据1.1检索某一列select prod_id,prod_name,prod_price from products;1.2检索所有列select * from products;1.3去重查询select from ven_id from products;select distinct vend_id from products;...

2019-04-11 12:01:00 224

原创 二.MySQL的表操作

-- 表操作-- 创建表create table php10_stu (id tinyint not null auto_increment primary key comment 'id',name varchar(5) not null comment '姓名',age tinyint not null comment '年龄',price decimal(10,2) not ...

2019-04-06 21:42:26 215

原创 一.MySQL的库操作

1.创建数据库语法:create database 数据名 库选项;库选项:设置当前库的字符集和校对集。字符集:设置当前库中内容以哪种编码方式解析数据。几种常见的字符集: Gbk:编码认识字比较少-几万个 gb2312:加到10几万 bg18030:加到几十万; ...

2019-04-06 19:51:01 172

原创 六.PHP调用数据库

1.调用数据库的三种方式: 命令(cmd)、语言调用(PHP、GO)、第三方软件。命令方式:语言调用:<?php//链接数据库$link = mysqli_connect('localhost', 'root', '');//SQL命令的准备$sql = 'show databaces';//讲话命令发送到MySQL服务器$res = mysqli_...

2019-04-04 14:51:57 2147

原创 五.PHP函数的使用

1.函数的定义function 函数名(形式参数){ 【return 返回值】;}注意:函数名字的命名规则和变量的是一个。 形参是为了接收实参的数据。<?phpfunction sum() { $sum1 = 10; $sum2 = 20; $res = $sum1 + $sum2; return $r...

2019-04-04 14:34:35 118

原创 四.PHP数组

1、数组的定义方式方式一:变量 = array(元素值1,元素值2,元素值3,..................);注意没有定义下标,下标默认从零开始连续递增。方式二:变量 = array(元素1,元素2,元素3,............);注意:如果有些位置没有指定下标,那么下标会在当前数组下表的最大值中开始增长。方式三:数组名 [下标] = 值;2.数组的分类索...

2019-04-02 23:40:44 104

转载 MySQL介绍

1.数据库的介绍 数据库的定义:我们一般说的数据库其实是叫“数据库管理系统”,其实就是管理数据存储的软件;) 为什么要使用数据库:1.计算机存储数据的地方只有两个“硬盘(永久性存储)”和“内存(临时性存储)”;2.硬盘可以存储的东西非常多,如:文本文档;3.存储在硬盘中的以特殊方式(格式)通过数据库管理系统来进行管理的方式;2.什么是表?...

2019-04-02 18:52:57 408

原创 三.PHP的预定义变量

定义:预定义变量就是系统自己定义好的变量,直接使用就可以。预定义变量都是以数组的形式存在的。1.$_POSTpost方式传递过来的数据方式,一个表单一个—$POST接收们只能接收表单中的name值。<!DOCTYPE html><html><head> <meta charset="UTF-8"> <title>...

2019-04-01 23:38:17 1014

Linux下的软路由

路由器项目可以获取通信双方的MAC地址,通过修改ICMP包来实现数据的转发,从而实现不同网段的通信。除此之外,还可以通过过滤ARP缓存表来实现防火墙的功能,并可以实时打印网卡信息和ARP缓存表。在程序运行过程中路由器可以Ping开发板或者主机来检查线路。

2017-11-01

MFC截屏工具

选择相应的图形之后触发相应的消息处理函数,消息函数里面调用库函数实现椭圆,画笔,方块的功能。鼠标的按下和抬起的相应函数里面分别获得起始坐标和终点坐标,刷新并绘制图形

2017-11-01

MFC飞机大战

飞机大战游戏必须运用透明贴图、按键处理、定时控制、双缓冲技术 等技术实现战机(玩家)和敌机(计算机)对战功能。

2017-11-01

图片预览器

本文介绍了Linux平台下的Xwindow图形窗口编程工具GTK,并给出了用GTK编程的基本要素和步骤。 【关键词】GTK,回调函数,消息处理器,调节器 GTK(GIMP Toolkit)是一个图形用户编程的接口工具。它注册完全免费,所以用来开发自由软件或商业软件都不需要花费什么。现在很多Linux集成系统都已经将GTK1.2版本打包进去了。包括RedHat Linux 6.0以上版本,还有中文化的Turbo Linux等等。它也越来越被普遍的应用于UNIX系统编程。 还有一个组件叫Glib,它包含了一些标准应用的新扩展用来提高GTK的兼容性。用于Linux系统的某些函数可能不适合标准的UNIX系统,例如g_strerror()函数等等。某些函数也扩展了GNUC的一般功能,例如g_malloc函数就有自己加强的调试功能。 GTK可以与多种语言绑定,包括C++, Guile, Perl, Python, Ton, Ada95, Objective C, Free Pascal, Eiffel。用标准C开发的程序,编译软件可用GNU并附带上GTK选项即可。想用除了标准C以外的其它语言来开发Xwindow图形用户程序,则需要先参考一下有关绑定软件的内容(http:// www.gtk.org )。 如果用C++语言来调用GTK进行开发,可以用已经和C++绑定的软件叫GTK--软件,来提供一个比GTK更好的C++编译环境。 目前已经开发出来GTK的增强版GTK+。GTK+是将GTK,GDK,GLIB集成在一起的开发包,可以工作在许多类似于UNIX的系统上,没有GTK的平台限制。 1.GTK的消息处理机制 下面我们先看一个基本的例子,该例子产生一个200×200像素的窗口。它不能自己退出,只能通过shell来杀死进程(调用kill命令)。 /*例子 base.c */ #include <gtk/gtk.h> int main( int argc,char *argv[ ] ){ GtkWidget *window; gtk_init (&argc;, &argv;); /* 初始化显示环境 */ window = gtk_window_new (GTK_WINDOW_TOPLEVEL); /* 创建一个新的窗口*/ gtk_widget_show (window); /*显示窗口*/ gtk_main (); /*进入睡眠状态,等待事件激活*/ return(0); } 从上面的程序可以看出,GTK是一个事件驱动工具包,当它运行到gtk_main()函数时会自动睡眠,直到有事件发生,控制权转让给相应的函数调用,在该函数中可以用标准C写出相应的事物逻辑。这与windows 上的程序处理是一样的。 对窗口对象上发生的事件(如按下鼠标,激活键盘等),GTK也有相应的消息信号产生。这时就需要程序员创建一个信号处理器来捕获该信号,并告诉GTK程序事件发生后调用哪个回调函数。信号处理器的创建函数定义如下: gint gtk_signal_connect( GtkObject *object, gchar *name,GtkSignalFunc callback_func, gpointer func_data ); 返回值是一个区分同一对象中的事件与不同回调函数的关联标签。这样可以做到一个对象的一个信号就有任意多个回调函数,并且每一个都会按照声明的顺序执行。函数调用的第一个参数是产生信号的widget组件(即按钮等窗口构件),而name则是希望捕获的信号或事件的名称,callback_func则是事件发生后所调用的回调函数名称,而第四个参数func_data则是传递给回调函数的参数。 回调函数要定义在主程序的前面,它们的一般格式都如下所示: void callback_func( GtkWidget *widget, gpointer func_data ); 调用下面这个方法将允许你将回调函数与事件的关联断开: void gtk_signal_disconnect( GtkObject *object, gint id ); 该函数的第二个参数就是上述gtk_signal_connect()函数的返回值,即关联标签。第一个参数指向了去除关联的对象名称。这样可以做到断开事件与回调函数的关联,使得事件发生后,不会调用相关的回调函数。 布局格式 2.1打包盒子 对GTK显示格式的控制是通常通过打包盒子来完成的。widget组件打包可以采用两种方式,水平盒子和垂直盒子。若将widget组件打包进平行盒子,组件就被依次水平的插入窗口;若是垂直盒子,则组件排列是垂直的。产生新的水平盒子的函数为 GtkWidget *gtk_hbox_new (gint homogeneous, gint spacing); 参数homogeneous是用来控制是否盒子中的每个组件都有同样的大小(例如水平盒子中的控件有同样的宽度,垂直盒子中的控件有同样的高度)。Spacing参数是组件之间的间隔。 垂直盒子的创建函数是gtk_vbox_new(),定义与水平盒子一致。 gtk_box_pack_start()和gtk_box_pack_end()函数是用来将打包对象放入这些盒子中的。 void gtk_box_pack_start( GtkBox *box, GtkWidget *child,gint expand, gint fill, gint padding ); 第一个参数是你将组件打进去的盒子指针,第二个参数是你将要打进去的组件指针。Expand参数是用来控制是否允许组件扩展至分配给盒子空间的大小(选TRUE),还是盒子的大小收缩到组件那么大(选FALSE)。函数中的fill参数是用来控制是否将多余的空间分配给组件,即将组件扩展到盒子的大小(选TRUE),或者多余的空间不变,保留作为盒子和打包组件间的间隔。该参数只有在expand参数取TRUE时才有效。Padding参数是指组件四周与盒子的间隔大小。 注意fill取FALSE值,expand取TRUE值时与expand取FALSE值,fill值无效的区别。前者的盒子仍是原来创建盒子时指定的大小,而后者的盒子已经缩小到打包组件的大小了。 gtk_box_pack_end()函数的参数与上面描述的一致。只是排列顺序分别是从下到上 ,从右到左。 最后将所有的盒子或组件打包到一个大盒子中,用gtk_container_add()函数将盒子加入窗口即可。

2017-11-01

DLNA音视频推送

项目目的:实现安卓手机端和电脑端之间的多屏互动。 项目描述:此项目通过无线网络把手机和电脑连接起来后,可以将手机中的媒体内容投放到电脑屏幕里。并且可以通过手机端的网易云音乐软件控制电脑端歌曲的播放,也可以通过BubbleUpnp软件控制电脑端MP4格式的视频播放。

2017-11-01

校招面试中常见问题-软件开发

1、调查分析,确定目标学校。如,各校专业设置、学生特点等。 校园招聘 校园招聘 2、前期宣传(根据实际选择)如,参与、赞助学校活动等。 3、临近招聘的准备。 (a)确定具体学校。 (b)准备宣传材料(宣传海报、音像材料、宣传设备等) (c)确定具体招聘载体。 (d)成立招聘小组并明确分工。 4、进入学校或其它招聘地点。 5、接受报名和简历。 6、组织实施招聘考试(如果多个院校统一招聘考试、最好请专业考试服务机构实施) 7、根据考试成绩进行筛选,实施面试。 8、根据面试结果进行录用,签协议。

2017-10-31

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除