03 2018 档案
摘要:form组件代码: def clean(self): #self.cleaned_data中含有所有成功验证数据 value_dict = self.cleaned_data v1 = value_dict.get('user') v2 = value_dict.get("email") # if
阅读全文
摘要:自定义属性以及各种验证 分析widget: 追踪widgets.py __all__ = ( 'Media', 'MediaDefiningClass', 'Widget', 'TextInput', 'NumberInput', 'EmailInput', 'URLInput', 'Passwor
阅读全文
摘要:Django中的Form组件功能: 1.对用户请求的验证 2.生成html代码 Form使用:对用户请求进行验证 前端代码: 服务端: 2.生成html:指的是在客户端中和服务端表单中为了保证name和字段一致,将表单设置为字段(自动生成表单),就是生成html代码 服务端: 客户端: 补充:在添加
阅读全文
摘要:请先看在学习tornado时,写的自定义分页类:思路一致; python 自定义分页类 1.基础使用: 后台数据获取: 前端代码: 2.扩展内置分页: 类修改: 类调用: 前端使用:
阅读全文
摘要:知识点: 1.重置表单数据 2.获取表单数据(纯JavaScript) 3.设置表单数据(纯JavaScript) 4.ajax发送数据到客户端 (1)设置请求头,自己组合数据 (2)实例化表单对象,不需要设置请求头,数据不需要自己组合 添加案例: 前端样式: <style> .model{ pos
阅读全文
摘要:Django请求的生命周期是指:当用户在访问该url路径是,在服务器Django后台都发生了什么。 客户端发送Http请求给服务端,Http请求是一堆字符串,其内容是: 访问:http://crm.oldboy.com:8080/login.html,客户端发送Http请求 1.路由映射,匹配路由(
阅读全文
摘要:Http简介: HTTP协议(HyperText Transfer Protocol,超文本传输协议)是因特网上应用最为广泛的一种网络传输协议,所有的WWW文件都必须遵守这个标准。 HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等) 工作原理: HTTP协议
阅读全文
摘要:在views中的调用: 在视图中设置cookie是通过set_cookie方法完成的,而不是请求响应的,并且值是通过字符串返回给请求的。 补充: 设置cookie: newuser = username.encode('utf-8').decode('latin-1') response.set_c
阅读全文
摘要:考虑到python等语言中没有更好表示json对象的方法,所以使用JavaScript来介绍json 首先是json字符串: 输出类型为: 然后是json对象: 类型为: 同样在python服务端传递的数据: 前端数据: json字符串转json对象过程: JOSN介绍:基于文本、轻量级、数据交换格
阅读全文
摘要:前端jquery使用ajax的几种方法: $.ajax使用: $.post使用: jQuery 1.12 中 jQuery.post支持对象参数,具体的参数可以参考 $.ajax():现在某些版本并不适用 $.get使用:(同post,不需要令牌) 补充: $.getScript:即时加载 >通过
阅读全文
摘要:新建项目,并开启 访问admin页面 补充:若是发现admin页面样式丢失:可能是因为在settings文件中的数据格式写错了,比如: 此时并没有账号和密码:需要先配置数据库,在生成用户 管理Django数据库的APP >phpmyadmin,web版管理数据库 创建数据表: # -*- codin
阅读全文
摘要:1.基于对象的正向查询和反向查询 在python django中orm的使用(1)中也提到了正向和反向查找 表:一对多 书籍和出版社 class Book(models.Model): title = models.CharField(max_length=100) authors = models
阅读全文
摘要:首先推荐两篇文章:Django之ORM操作,http://www.cnblogs.com/yuanchenqi/articles/6083427.html十分全面。 另外和python ORM之SQLAlchemy(1)等前面几篇文章相结合 1.ORM对象关系映射(Object Relational
阅读全文
摘要:Django支持多种数据库,sqlite,mysql,oracle等,其默认数据库是sqlite 在settings文件中可以发现: 其默认数据库是sqlite3 要想使用其他数据库,需要修改相应的引擎和配置 (1)sqlite: (2)mysql 然后在APP目录下models文件中添加: 使用命
阅读全文
摘要:在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手方式建立一个连接 第一次握手:c->s 建立连接时,客户端发送SYN包(syn=j){注:syn:Synchronize Sequence Numbers同步序列编号}到服务器端,此时客户端进入SYN_SEND状态,等待服务器确认。 第
阅读全文
摘要:对于页面大部分一样,我们可以使用模板布局来简化 可以查看tornado中的模板引擎,基本一致 python tornado模板引擎 对于相同代码部分,我们可以提取出来,放在布局文件layout.py中 调用布局文件,进行使用: 对于其他js,css等文件也可以这样进行修改 补充:可以继承父类的代码
阅读全文
摘要:使用终端,可以更方便的去实验,但是没有提示信息: 在项目目录下: 开始实验: 其内部实现大概如此。将模板文件读取,和传入的content字典进行渲染,然后使用HttpResponse 将内容返回给用户。 使用HTTPResponse实现: 模板语言的使用: 1.{{ 变量名 }} 若是函数没有传递该
阅读全文
摘要:在Django,tornado等框架中,变量分发渲染模板是一件再平常不过的事,但是当变量过多时,如何快速的进行变量传递 此时就可以用到locals()获取本地变量,将变量变为字典传入
阅读全文
摘要:当使用中文时会报错: 其解决方法是:在文件前面加入 其实不止在Django,在python文件中开头为了支持中文我们都应该加上 在初学时一直使用,只不过后来慢慢忘了,那时候使用的是: 当然,这两个都是可以使用的 另外:该注释最好放在文件开始,不然会无效 以上为回顾,下面开始重点!!! 重点+补充:上
阅读全文
摘要:在urls.py文件中包含使用方法: 使用方法: 目录: HelloWorld:全局文件urls.py: APP:blog下urls.py: views.py文件: 访问路径:
阅读全文
摘要:只是了解,不推荐使用,毕竟干扰太多,任意冲突,也没有解耦,应该使用路由分发 在url匹配中支持正则匹配,例如: 访问方法一: 匹配以userinfo开头,但是不一定以其结尾,在后面加上其他后缀也是允许的 访问方法二: 匹配以article开始,66结尾,格式按照,但是在中间加入其他也是允许的: 访问
阅读全文
摘要:先引入两篇相关文章,从中了解更为详细 django 静态资源配置详解 django静态文件配置 Django的STATIC_ROOT和STATIC_URL以及STATICFILES_DIRS(先看) 1.STATIC_URL 其中STATIC_URL是用资源路径前缀,用于访问资源时使用STATIC_
阅读全文
摘要:官方教程点击此处 项目默认使用sqlite 并且在根目录中生成数据库文件 1.创建应用:官方规定,如果要使用模型,必须先创建一个app 记得创建后去settings文件中查看应用是否添加进去,没有则自己添加,否则该应用中数据表创建失败 2.在ts目录中 找到models文件,在这里面创建表 3.命令
阅读全文
摘要:相关网站资源: Python下有许多款不同的 Web 框架。Django是重量级选手中最有代表性的一位。许多成功的网站和APP都基于Django。 Django是一个开放源代码的Web应用框架,由Python写成。 Django采用了MVC的软件设计模式,即模型M,视图V和控制器C。 Django安
阅读全文
摘要:python --version查看版本号 pip install XXX 安装模块 pip uninstall XXX 卸载模块
阅读全文
摘要:注意:和MVC没有关系,MVC只是说将数据库模型类,控制器类,和视图发别放置 三层架构:是将所有的功能进行分块 分为:数据访问层,业务处理层,UI表示层 数据访问层:数据库操作 标准:一张表对应一个类,含有增删改查 (配置文件选择,业务层设置config.py) mysql_sql.py : 包含m
阅读全文
摘要:管道:将数据操作放在内存中,只有成功后,才会一次性全部放入redis 发布订阅:(回顾:查看rabbitMQ订阅者模式,这个功能更加强大) 基础类:将订阅和发送集合到一个类中了 发布者: 一:不使用基础类直接发布 二:使用基础类发布 订阅者: 一:不使用基础类: 二:使用基础类: 继承类更加方便使用
阅读全文
摘要:注意: 1.redis中获取数据类型为bytes,在进行比较,例如验证码比较时,需要进行类型转换 或者将接受的数据转换为bytes类型 2.存放数据如果为其他类型 需要在使用时使用eval执行,是原来字符串转为数据类型
阅读全文
摘要:其中注意: 由于获取的self._data_html数据是列表,redis对于处理str,bytes之外的其他数据会进行转义为str来保存,所以我们可以直接取出数据_data_html中的str数据self._data_html[0]就是str数据,可以保存redis,直接取出使用即可 数据转义测试
阅读全文
摘要:1.初始代码: 2.代码追踪render: 数据先是保存在html局部变量中,传入finish中作为参数处理 3.追踪finish代码: 数据chunk(即是传入的html变量)在write方法中又进行处理 4.追踪write方法: 发现数据存放在类成员变量中_write_buffer 若是想在自定
阅读全文
摘要:set以及相关: get,getrange 相关: setrange(name, offset, value):从偏移量offset往后替换 位操作setbit, getbit, bitcount, bitop strlen(name),返回值得字节长度,对于汉字默认3位 incr(self, na
阅读全文
摘要:在解码Redis返回的字符前要先检测编码方式,根据检测出的编码方式来编码。 chardet.detect检测的字符串越长越准确,越短越不准确 查看于:http://blog.csdn.net/xiemanr/article/details/72793081
阅读全文
摘要:手册以及下载地址http://www.runoob.com/redis/redis-install.html,以及启动和测试 启动服务端(进入项目目录下: 启动客户端: python 安装redis模块 python 代码初试: redis-py提供两个类Redis和StrictRedis用于实现R
阅读全文
摘要:import config import hashlib import time import memcache import json conn = memcache.Client(["127.0.0.1:8081"],debug=True) class BaseSession: @classmethod def get_session_handler(cls,handle...
阅读全文
摘要:set: add: replace: 上面的add,和replace不常使用,因为set完全可以替换,更加灵活,set()可以创建,可以修改 set_multi使用: delete和delete_multi get和get_multi append和prepend,在设置的键后面的值上进行修改 de
阅读全文
摘要:简单使用: 发布式算法: 算法测试: 将键key ==> foo转换为数字,再对主机数求余数,决定放置位置 memcache的权值 权值测试: 高可用:
阅读全文
摘要:windows版本下memcache地址http://www.runoob.com/memcached/window-install-memcached.html 注意当选择版本>=1.45时需要设置,将 memcached 添加来任务计划表中 然后在命令行中开启服务: 在python中安装memc
阅读全文
摘要:工具插件verifycode.py中,记得使用时需要在路由根目录中引入文字资源文件 在控制器中调用,并生成路由,在前端调用 路由添加: 前端代码: 函数模板使用: #!/usr/bin/env python # -*- coding:utf-8 -*- import random from PIL
阅读全文
摘要:session.py插件 在公共控制类中引入 在控制类中使用
阅读全文
摘要:在发送邮件之前需要先设置邮件开启了SMTP等功能,对于163还需要获取授权码 这里设置保存修改 这里获取授权码 完整封装发送邮件类
阅读全文
摘要:上面是可以成功的,但是当你想再添加一个,name,age相同的数据是,会报错
阅读全文
摘要:和关键字相似 生产者: 消费者:
阅读全文
摘要:设置关键字,交换机根据消费者传递的关键字判断是否与生产者的一致,一致则将数据传递给消费者 可以实现对消息分组 生产者: 消费者:
阅读全文
摘要:fanout:广播:所有bind到此exchange的queue都可以接受到消息 生产者: 消费者:
阅读全文
摘要:MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法。应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们。消息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是用于诸如远程过程调用的技术
阅读全文
摘要:练习一:朋友 练习二:主机和分组
阅读全文
摘要:relationship是为了简化联合查询join等,创建的两个表之间的虚拟关系,这种关系与标的结构时无关的。他与外键十分相似,确实,他必须在外键的基础上才允许使用 不然会报错: 详细的relationship可以点击这里进行查看 relationship的使用: 使两个表之间产生管理,类似于合成一
阅读全文
摘要:import sqlalchemy from sqlalchemy import create_engine from sqlalchemy import Column,String,Integer,ForeignKey from sqlalchemy.orm import sessionmaker from sqlalchemy.ext.declarative import declarati...
阅读全文
摘要:定义一个类,ORM(对象关系映射)将这个类转换为sql语句,使用pymysql进行执行 一,底层处理 使用engine/connectionpooling/dialect进行数据库操作,engine使用connectionpooling连接数据库,然后在通过dialect执行sql语句(SQLAlc
阅读全文
摘要:各个字段类,含正则和验证方法 #字段类 class IPField: REGULAR = "^(25[0-5]|2[0-4]\d|[0-1]?\d?\d)(\.(25[0-5]|2[0-4]\d|[0-1]?\d?\d)){3}" def __init__(self,error_dict=None,
阅读全文
摘要:修改配置文件 可以在配置文件中修改,也可以在客户端修改 更多可以看此处
阅读全文
摘要:索引分类: 查看表中索引 单独创建索引 获取索引等级type:const(效率几乎是最高的),all(全表扫描,效率最低), 等级划分: 注意:不是建立了索引,就会加快查找速率,若是建立索引,但是使用错误的方式去操作,会导致索引变慢,变成全表扫描(默认)。 例如:name没有建立索引 limit使用
阅读全文
摘要:注意:语句传值的时候必须是带有@符号的参数,不能是自己的局部变量,一个@叫用户变量,两个@叫做全局变量。用户变量:当前用户的‘’全局变量‘’,用户状态存在时就存在,用户退出时消失。 初始版 进阶版 python调用pymysql
阅读全文
摘要:事务操作 start transaction 开启事务 commit 事务提交 rollback 事务回滚 -- 出错时回滚 set @i = 0; call p1(@i); select @i; 注意pymysql默认是开启事务 当conn.commit()时会自动检查,出错时会回滚
阅读全文
摘要:使用触发器对某个表进行增删改时触发某种操作 1.基本语句(也是需要修改定界符) #插入前: create trigger t1_i_b(触发器名) before insert on info(表名) each row begin ... end #插入后 create trigger t1_i_a(
阅读全文
摘要:其类似于数据库中的函数,内部封装了SQL语句集合,会按照设计逻辑进行执行 1.创建存储过程:注意在存储时:需要先改变定界符--delimiter //可以进行修改;为// 2.参数解析 其参数有三类in,out,inout in:是传入参数 out:是传出参数,可以从中获取到结果集 inout:既是
阅读全文
摘要:视图:是一个虚拟表,其本质就是你自己定义的一段查询SQL语句,通过这个视图(语句),你每次获取视图数据就是相当于,使用一次SQL语句即使查询,生成动态的数据集(数据不需要你去添加,当你去获取数据是,视图会自动根据自己的SQK语句去查询) 创建视图 create view v1 as select n
阅读全文
摘要:不需要设置前端太多,只需要在服务端是在请求头,使服务端的回复数据可以正常通过浏览器的限制,进入网站 首先说下简单请求和非简单请求: 简单请求:必须满足下列条件 1.请求方式:head,get,post 2.请求头 Accept Accept-Language Content-Language Las
阅读全文
摘要:jsonp介绍: JSONP(JSON with Padding)是JSON的一种“使用模式”,可用于解决主流浏览器的跨域数据访问的问题。 由于同源策略,一般来说位于 server1.example.com 的网页无法与不是 server1.example.com的服务器沟通,而 HTML 的<sc
阅读全文
摘要:服务端程序: import tornado.web import os IMG_LIST=[] class IndexHandler(tornado.web.RequestHandler): def get(self): self.render('index.html',list_img=IMG_L
阅读全文
摘要:后台代码: 前端ajax: 为了兼容各个浏览器都有ajax方法 其中get请求一般都把数据放到url中,而不是send()中 只有post请求时,需要将数据放到send()中传递,并且需要设置请求头 使用案例: open(请求方式, URL, 是否异步) send(请求体) onreadystate
阅读全文
摘要:xss跨站脚本攻击:恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。 例如:某些论坛允许用户自由发言,而不对用户的输入数据进行检测,直接显示在页面中。 若是用户输入了某些css样式代码,html表格代码,
阅读全文
摘要:一般来说对于其他语言session值一般获取方法为session['name'],赋值使用session['name']=val 对于python类中含有一些魔术方法__setitem__,__getitem__,__delitem__等,其中这三个可以用于索引操作,如字典。以上分别表示获取、设置、
阅读全文
摘要:在tornado.web.RequestHandler类中的初始构造方法中: class RequestHandler(object): """Base class for HTTP request handlers. Subclasses must define at least one of t
阅读全文
摘要:import tornado.web #放在内存 redis 文件 数据库 container={} #定义一个session类 class Session: def __init__(self,handler): self.handler=handler self.random_str=None pass def __g...
阅读全文
摘要:首先:注意cookie中的get_cookie是返回字符串,而get_secure_cookie返回的是字节类型 md5加密获取的十六进制也是返回的字符串类型 以下是自定义的session类,以及使用: 但是上述类存在一个bug,会多产生一个数据,占用空间
阅读全文
摘要:cookie模拟登陆: import tornado.web class IndexHandler(tornado.web.RequestHandler): def get(self): #self.write("Hello world") # 展示所有的cookie # print(self.co
阅读全文
摘要:布局文件layout.html:就是对文件的格式化输出(对其中的标签进行替换) 组件文件:form.html包含一个自定义form表单 内容文件:引入布局和组件
阅读全文
摘要:LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam){ HDC hdc; PAINTSTRUCT ps; RECT rect; static int cxClient, cyClient; st
阅读全文
摘要://短的函数最好定义为宏 #define BUFFER(x,y) *(y*cxBuffer+x+pBuffer)//取出一个字符 //字符消息 //WM_CHAR,WM_DEADCHAR,WM_SYSCHAR,WM_SYSDEADCHAR //前两个是由WM_KEYDOWN/UP消息产生,后两个是由WM_SYSKEYDOWN/UP消息产生 //DEADCHAR是某些国家字母有符号,多种表现形式...
阅读全文
摘要:case WM_KEYDOWN://带sys的按键消息大多是系统需要自己处理的,我们一般不需要,默认处理 //wParam 指定按键的虚拟键代码 //lParam 指定技术,扫描码,闲钱状态,转换状态等 switch (wParam) { case VK_DOWN: Send...
阅读全文
摘要:LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) { HDC hdc; PAINTSTRUCT ps; RECT rect; static int cxClient, cyClient; HRGN hRgn[6]; static HRGN...
阅读全文
摘要:其中tornado框架模板引擎本质也是类似。使用字符串分割,将原来代码,改写成python格式的字符串,然后通过上面类似方案进行代码执行返回
阅读全文
摘要:#include #include LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam); void DrawRectangle(HWND hwnd); int cxClient, cyClient; int WINAPI WinMain(HINSTANCE hInstance, ...
阅读全文
摘要:LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) { HDC hdc; PAINTSTRUCT ps; static RECT rect,rect2,rect3; static cxClient, cyClient; static HBRUSH h...
阅读全文
摘要:上面只修改了大小对应,下面则修改了方向:
阅读全文
摘要:1. 注意无论映射模式是哪一种:所获得的信息都是以像素为单位的 2.客户区设备坐标是指客户区左上角,全窗口坐标是指窗口左上角(包括标题栏等getwindowsdc获取)
阅读全文
摘要:写着写着就困了.... 看这些测量数据就算了,是对各种函数的练习
阅读全文
摘要:#include <windows.h>#include <math.h>LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam);#define R 200#define PI 3.1415926
阅读全文
摘要:LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) { HDC hdc; PAINTSTRUCT ps; RECT rect; static HBRUSH hBrush, hOldBrush; switch (message) { c...
阅读全文
摘要:wsgiref使用 from wsgiref.simple_server import make_server from urls import URLS def RunServer(environ, start_respone): start_respone('200 OK',[('Content
阅读全文
摘要:import bin if __name__ == "__main__": bin.run(); from wsgiref.simple_server import make_server from urls import URLS def RunServer(environ, start_resp
阅读全文
摘要:总的来说php相对较为简单,但是内部封装太多,不利于对编程的更本质探索。 但是对于生产开发确实是一门不错的语言。python对于socket以及web框架的理解更加透彻 这一方法缺少文件的分类不满足MVC标准,毕竟只是初识(再次理解)
阅读全文
摘要:LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) { HDC hdc; PAINTSTRUCT ps; RECT rect; static HPEN hPen, hOldPen; switch (message) { case W...
阅读全文
摘要:LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) { HDC hdc; PAINTSTRUCT ps; RECT rect; HPEN hPen, hOldPen; switch (message) { case WM_PAINT...
阅读全文
摘要:#include LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam); int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd) { //声明...
阅读全文
摘要:#include #include LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam); #define PI 3.1415926 #define NUM 1000 int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevIn...
阅读全文
摘要:1.不再使用setscrollrange,setscrollpos,getscrollrange,getscrollpos这些函数,这只是有助于理解其中运行原理 2.改用setscrollinfo,getscrollinfo函数和结构体scrollinfo去改变和获取滚动条信息,相对于上面会更加灵活
阅读全文
摘要:1.通过css实现: 为页面顶部如body或者自己设置的盒子等加上唯一id属性 2.js实现 通过设置标签滚动位置判断 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style
阅读全文
摘要:相关函数: setscrollrange,setscrollpos,getscrollrange,getscrollpos 使用滚动条时我们需要进行的操作: 1.初始化滚动条范围和位置 在窗口创建时WM_CREATE响应时可以完成 2.处理窗口过程的滚动条消息 在响应WM_VSCROLL时处理 注意
阅读全文
摘要:重点: 不论鼠标指针穿过被选元素或其子元素,都会触发 mouseover 事件。 只有在鼠标指针穿过被选元素时,才会触发 mouseenter 事件。 以上移动鼠标遮罩层会正常移动,当.float遮罩层在small_box下为子元素时; 但是当两者为同级时会出现闪烁选项,因为现实遮罩是在和small
阅读全文
摘要:一定要注意文件夹中的两个目录 > .(当前目录) ..(上级目录) 需要对这两个目录进行过滤, 否则在删除或者遍历是会一直,对于..甚至会向你指定的文件夹的上级目录循环操作,删除重要文件
阅读全文
摘要:#include <windows.h> #include <strsafe.h> /* 任务:去掉标题栏和边框 */ //#define LineHeight 15 这是自己猜测的行高,不要这样做 LRESULT CALLBACK WndProc(HWND hwnd, UINT message,
阅读全文
摘要:1.传参 前四个参数一致 操作系统直接使用msg前四位作为参数传入窗口回调函数*/ 2.返回值(必须返回,会被作为dispatchmessage函数的返回值) The return value specifies the result of the message processing and de
阅读全文
摘要:去掉窗口标题,边框 GetWindowLongPtr:该函数会从指定的偏移量中检索到额外窗口内存的值,当指定的偏移量为GWL_STYLE时,即为获取窗口风格的检索值 然后使用SetWindowLongPtr对该内存进行修改 查看全部窗口样式
阅读全文
摘要:* 消息机制补充1 形式为先进先出2 三个特殊的消息WM_PAINT,WM_TIMER,WM_QUIT,每次都自动排到末尾(例如,程序不响应,是因为在消息队列中的消息为处理完,WM_PAINT不能去调用)3 有紧急通道,用于一些非列队消息,直接不排队,立即执行(像窗口刚刚创建时直接调用窗口过程函数,
阅读全文
摘要:unicode规定必须用两个字节,其中包括了几乎所有的文字。但是对于原来ASCII编码中的字符,也占用了两个字符,浪费空间 多字节编码是指utf-8,这一类为传输而设计的编码,一般汉字占3字节,英文占1字节,是对双字节Unicode的改进,节约空间 在C中,char叫多字节字符,一个char占一个字
阅读全文
摘要:普通事件,是指直接对元素进行事件注册,然后触发 而事件绑定是将事件注册到元素上 两者区别就是在于普通事件不可以重复添加多个事件,若添加也会覆盖,只会触发其中一个事件(最后注册的那个) 而事件绑定是可以重复绑定多个事件,而且都可以触发 而在jQuery中则有点不同,而且jQuery本身允许通过普通事件
阅读全文
摘要:protected $_validate=array( array('stu_id','','学号已存在',1,'unique',1), ) 当一次插入多条数据时: 在进行循环 使用create验证时,当数据中某一条数据stu_id重复时,便会触发错误。 并且你会发现从这条数据起后面的数据无论是否重
阅读全文
摘要:TranslateMessage函数将虚拟键消息转换成字符消息。比如: 消息WM_KEYDOWN和WM_KEYUP组合产生一个WM_CHAR或WM_DEADCHAR消息。 消息WM_SYSKEYDOWN和WM_SYSKEYUP组合产生一个WM_SYSCHAR或 WM_SYSDEADCHAR 消息然后
阅读全文

浙公网安备 33010602011771号