




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、linux中,下载完关机,linux终端播放音乐歌词同步显示,ListView中通过手势滑出删除键,并响应,List方法subList(fromIndex,toIndex)测试list集合交换元素下标,lmdb键值数据库读写测试,lockfree算法多线程下不需要加锁log4net屏蔽nhibernate日志,Lua中利用元表实现类和多态Lua文件 common.php 0) $data = fread($fp, $filesize); else $data = false; flock($fp, LOCK_UN); fclose($fp); return $data; else return
2、 false; /* * 创建一个目录树 * * 用法: * * mkdirs(/top/second/3rd); * * * param string $dir * param int $mode */ function mkdirs($dir, $mode = 0777) if (!is_dir($dir) mkdirs(dirname($dir), $mode); return mkdir($dir, $mode); return true; /* * 读取指定缓存的内容,如果缓存内容不存在或失效,则返回 false * * example: * * $cacheId = my_cach
3、e_id; * if (!($data = FLEA:getCache($cacheId) * $data = Data; * FLEA:writeCache($cacheId, $data); * * * * 如果 $cacheIdIsFilename 参数为 true,则生成的缓存文件会以 $cacheId 参数作为文件名。 * 基于安全原因,尽量不要将 $cacheIdIsFilename 参数设置为 true。 * * $time 参数默认为缓存内容的有效期。其计算依据是以缓存文件的最后更新时间为准(也就是最后一次更新该缓存内容的时间)。 * * 如果 $timeIsLifetime
4、为 false,则 $time 参数表示用于和缓存文件最更新时间进行比较的依据。 * 如果 $time 指定的时间早于缓存文件的最后更新时间,则判断缓存内容为有效。 * * param string $cacheId 缓存ID,不同的缓存内容应该使用不同的ID * param int $time 缓存过期时间或缓存生存周期 * param boolean $timeIsLifetime 指示 $time 参数的作用 * param boolean $cacheIdIsFilename 指示是否用 $cacheId 作为文件名 * * return mixed 返回缓存的内容,缓存不存在或失效则
5、返回 false */ function getCache($cacheId, $time = 900, $timeIsLifetime = true, $cacheIdIsFilename = false) $cacheDir = Root./cache/.substr(md5($cacheId),0,2)./.substr(md5($cacheId),1,2)./; if(!is_dir($cacheDir) mkdirs($cacheDir); if (is_null($cacheDir) return false; if ($cacheIdIsFilename) $cacheFile
6、= $cacheDir . / . preg_replace(/a-z0-9-_/i, _, $cacheId) . .php; else $cacheFile = $cacheDir . / . md5($cacheId) . .php; if (!file_exists($cacheFile) return false; if ($timeIsLifetime & $time = -1) $data = safe_file_get_contents($cacheFile); $hash = substr($data, 16, 32); $data = substr($data, 48);
7、if (crc32($data) != $hash | strlen($hash) != 32) return false; return $data != false ? unserialize($data) : false; $filetime = filemtime($cacheFile); if ($timeIsLifetime) if (time() = $filetime + $time) return false; else if ($time = $filetime) return false; $data = safe_file_get_contents($cacheFile
8、); $hash = substr($data, 16, 32); $data = substr($data, 48); if (crc32($data) != $hash | strlen($hash) != 32) return false; return $data != false ? unserialize($data) : false; /* * 将变量内容写入缓存 * * example: * * $data = .; / 要缓存的数据,可以是任何类型的值 * / cache id 用于唯一指定一个缓存数据,以便稍后取出缓存数据 * $cacheId = data_cahce_1
9、; * FLEA:writeCache($cacheId, $data); * * * param string $cacheId * param mixed $data * param boolean $cacheIdIsFilename * * return boolean */ function writeCache($cacheId, $data, $cacheIdIsFilename = false) $cacheDir = Root./cache/.substr(md5($cacheId),0,2)./.substr(md5($cacheId),1,2)./; if(!is_dir
10、($cacheDir) mkdirs($cacheDir); if (is_null($cacheDir) return false; if ($cacheIdIsFilename) $cacheFile = $cacheDir . / . preg_replace(/a-z0-9-_/i, _, $cacheId) . .php; else $cacheFile = $cacheDir . / . md5($cacheId) . .php; $data = serialize($data); $prefix = ; $hash = sprintf(% 32d, crc32($data); $
11、data = $prefix . $hash . $data; if (!safe_file_put_contents($cacheFile, $data) return false; else return true; /* * 删除指定的缓存内容 * * param string $cacheId * param boolean $cacheIdIsFilename * * return boolean */ function purgeCache($cacheId, $cacheIdIsFilename = false) $cacheDir = Root./cache/.substr(m
12、d5($cacheId),0,2)./.substr(md5($cacheId),1,2)./; if(!is_dir($cacheDir) mkdirs($cacheDir); if (is_null($cacheDir) return false; if ($cacheIdIsFilename) $cacheFile = $cacheDir . / . preg_replace(/a-z0-9-_/i, _, $cacheId) . .php; else $cacheFile = $cacheDir . / . md5($cacheId). .php; if (file_exists($c
13、acheFile) return unlink($cacheFile); return true; ?代码 db.class.php dbhost:$dbhost; $dbuser=?$dbuser=$this-dbuser:$dbuser; $dbpw=?$dbpw=$this-dbpw:$dbpw; $dbname=?$dbname=$this-dbname:$dbname; if($pconnect) if(!$this-link = mysql_pconnect($dbhost, $dbuser, $dbpw) $this-halt(Can not connect to MySQL s
14、erver); else if(!$this-link = mysql_connect($dbhost, $dbuser, $dbpw) $this-halt(Can not connect to MySQL server); if($this-version() 4.1) if($this-dbcharset) mysql_query(SET character_set_connection=$this-dbcharset, character_set_results=$this-dbcharset, character_set_client=binary, $this-link); if(
15、$this-version() 5.0.1) mysql_query(SET sql_mode=, $this-link); if($dbname) mysql_select_db($dbname, $this-link); function select_db($dbname) return mysql_select_db($dbname, $this-link); function fetch_array($query, $result_type = MYSQL_ASSOC) return mysql_fetch_array($query, $result_type); function
16、fetch_all($query, $result_type = MYSQL_ASSOC) $result = array(); $num = 0; while($ret = mysql_fetch_array($query, $result_type) $result$num+ = $ret; return $result; function fetch_row($query) $query = mysql_fetch_row($query); return $query; function result($query, $row) $query = mysql_result($query,
17、 $row); return $query; function query($sql, $type = ) $func = $type = UNBUFFERED & function_exists(mysql_unbuffered_query) ? mysql_unbuffered_query : mysql_query; if(!($query = $func($sql, $this-link) & $type != SILENT) $this-halt(MySQL Query Error: , $sql); $this-querynum+; return $query; function
18、insert($table,$row) if(!$row)return null; $row = $this-_escape($row); $tmp = $tmp2 = array(); foreach($row as $key = $val) $tmp = $key; $tmp2 = $val; $sql = insert into $table (.join(,$tmp).) values (.join(,$tmp2).); return $this-query($sql); function update($table,$row,$where= null) if(!$row | !$ta
19、ble)return null; $row = $this-_escape($row); $tmp = array(); foreach($row as $key = $val) $tmp = $key.=$val; $sql = update $table set .join(,$tmp).; $sql = $where ? $sql. where .$where:$sql; return $this-query($sql); function find($table,$field = *,$where=null) if(!$table) return null; $sql = $this-
20、bulidsql($table,$field,$where); $query = $this-query($sql); $data = null; while($row = $this-fech($query) $data = $row; return $data; function findOne($table,$field = *,$where=null) if(!$table) return null; $sql = $this-bulidsql($table,$field,$where); return $this-fech($this-query($sql); function bu
21、lidsql($table,$field = *,$where=null) $sql = select .$field. from .$table; $sql = $where ? $sql. where .$where:$sql; $this-sql = $sql; return $sql; function fech($query,$type = MYSQL_ASSOC) return mysql_fetch_array($query, $type); function _escape($row) if(is_array($row) foreach($row as $key = $val)
22、 $row$key = addslashes($val); return $row; function affected_rows() return mysql_affected_rows($this-link); function error() return ($this-link) ? mysql_error($this-link) : mysql_error(); function errno() return intval($this-link) ? mysql_errno($this-link) : mysql_errno(); function num_rows($query)
23、$query = mysql_num_rows($query); return $query; function num_fields($query) return mysql_num_fields($query); function free_result($query) return mysql_free_result($query); function insert_id() return ($id = mysql_insert_id($this-link) = 0 ? $id : $this-result($this-query(SELECT last_insert_id(), 0);
24、 function fetch_fields($query) return mysql_fetch_field($query); function version() return mysql_get_server_info($this-link); function close() return mysql_close($this-link); function halt($message = , $sql = ) echo $message . . $sql; exit; ?代码 C#代码 using System;using System.Drawing;using System.Win
25、dows.Forms;using System.Drawing.Drawing2D;namespace MessageBoxDemo public partial class frmShowMessage : Form public frmShowMessage() InitializeComponent(); / / Here I am overriding Paint method of form object / and set its background color as gradient. Here I am / using LinearGradientBrush class ob
26、ject to make gradient / color which comes in System.Drawing.Drawing2D namespace. / / protected override void OnPaint(PaintEventArgs e) Rectangle rect = this.ClientRectangle; LinearGradientBrush brush = new LinearGradientBrush (rect, Color.SkyBlue, Color.AliceBlue, 60); e.Graphics.FillRectangle(brush
27、, rect); base.OnPaint(e); / / setMessage method is used to display message / on form and its height adjust automatically. / I am displaying message in a Label control. / / Message which needs to be displayed to user. private void setMessage(string messageText) int number = Math.Abs(messageText.Lengt
28、h / 30); if (number != 0) this.lblMessageText.Height = number * 25; this.lblMessageText.Text = messageText; / / This method is used to add button on message box. / / MessageButton is type of enumMessageButton / through which I get type of button which needs to be displayed. private void addButton(en
29、umMessageButton MessageButton) switch (MessageButton) case enumMessageButton.OK: /If type of enumButton is OK then we add OK button only. Button btnOk = new Button(); /Create object of Button. btnOk.Text = OK; /Here we set text of Button. btnOk.DialogResult = DialogResult.OK; /Set DialogResult /prop
30、erty of button. btnOk.FlatStyle = FlatStyle.Popup; /Set flat appearance /of button. btnOk.FlatAppearance.BorderSize = 0; btnOk.SetBounds(pnlShowMessage.ClientSize.Width - 80, 5, 75, 25); / Set bounds of button. pnlShowMessage.Controls.Add(btnOk); /Finally Add button control / on panel. break; case e
31、numMessageButton.OKCancel: Button btnOk = new Button(); btnOk.Text = OK; btnOk.DialogResult = DialogResult.OK; btnOk.FlatStyle = FlatStyle.Popup; btnOk.FlatAppearance.BorderSize = 0; btnOk.SetBounds(pnlShowMessage.ClientSize.Width - 70), 5, 65, 25); pnlShowMessage.Controls.Add(btnOk); Button btnCanc
32、el = new Button(); btnCancel.Text = Cancel; btnCancel.DialogResult = DialogResult.Cancel; btnCancel.FlatStyle = FlatStyle.Popup; btnCancel.FlatAppearance.BorderSize = 0; btnCancel.SetBounds(pnlShowMessage.ClientSize.Width - (btnOk.ClientSize.Width + 5 + 80), 5, 75, 25); pnlShowMessage.Controls.Add(b
33、tnCancel); break; case enumMessageButton.YesNo: Button btnNo = new Button(); btnNo.Text = No; btnNo.DialogResult = DialogResult.No; btnNo.FlatStyle = FlatStyle.Popup; btnNo.FlatAppearance.BorderSize = 0; btnNo.SetBounds(pnlShowMessage.ClientSize.Width - 70), 5, 65, 25); pnlShowMessage.Controls.Add(btnNo); Button btnYes = new Button(); btnYes.Text = Yes; btnYes.DialogResult = DialogResult.Yes; btnYes.FlatStyle = FlatStyle.Popup; btnYes.FlatAppearance.BorderSize = 0; btnYes.SetBounds
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 江苏烟草:新质生产力转型探索
- 物资主管专业知识培训课件
- 新质生产力企业培训
- Unit 2 Sports culture Extended reading 1 教学设计-2024-2025学年高中英语牛津译林版(2020)选择性必修第二册
- 2025年生物质能源在分布式能源系统中应用的设备选型与优化报告
- 2025年教育培训并购面试题及答案解析
- 5 学生实验:测量电源的电动势和内阻说课稿-2025-2026学年高中物理选修3-1教科版
- 2025年高中考时事政治题及答案
- 广东省部分地区2025年高三生物第一学期期末考试试题
- 2025年安全条例考核考试题及答案解析
- 六年级家长会课件
- 2025年安徽省淮南市【辅警协警】笔试模拟考试题(含答案)
- 废气处理活性炭吸附操作规范
- 创伤急救基本知识培训课件
- 2025年农业农村科技基础知识考试题库(附含答案)
- 合同第三方见证人范本
- 学生心理健康教育干预措施
- DB32∕T 4652-2024 基于区块链技术的多中心药物临床试验管理系统开发指南
- 实验室生物安全知识培训考试试题(含答案)
- 2025年成人高考英语试题及答案
- 高渗盐水治疗脑水肿及颅内高压专家共识解读
评论
0/150
提交评论