Welcome![Sign In][Sign Up]
Location:
Search - cross-3.4.5

Search list

[assembly languagecross

Description: (1)用微机原理实验箱FD-8088提供的数码管和芯片做。 (2)假设有一个十字路口,1,3为南北方向,2,4为东西方向,每个路口各有红、黄、绿三个交通信号灯。 (3)用红黄绿三个彩色发光二极管模拟控制交通信号。红、黄、绿灯接通时间分别为5秒、2秒、5秒。
Platform: | Size: 118878 | Author: hudal | Hits:

[OpenGL programopenrm-devel-1.5.2-3.tar

Description: 2D/3D Scene Graph rendering engine for Linux/Unix/Win32 layered atop OpenGL. Supports stereoscopy, volume rendering, 2D/3D texture mapping, picking, LOD and view-dependent operations, cross-platform text, constant-rate rendering and image-based data.
Platform: | Size: 634358 | Author: 约非 | Hits:

[OtherVisio2000 技术大全

Description: 目 录 译者序 前言 第一部分熟悉Visio 2000 第1章 理解Visio 2000 1.1 Visio中创新的SmartShape系统 1.2 Visio公司的简短介绍 1.3 哪些人可以使用Visio 1.3.1 涉及Visio技术的公司和职业 1.3.2 选择适合自己需求的Visio版本 1.3.3 获得Visio支持的方式 1.4 Visio的功能 1.5 标准的SmartShape模板 1.5.1 Block Diagrams 1.5.2 Flowcharts 1.5.3 Forms and Charts 1.5.4 Maps 1.5.5 Network Diagrams 1.5.6 Office Lavout 1.5.7 Organization Charts 1.5.8 Project Schedules 1.5.9 Visio Extras 1.6 Yisio 2000的独特之处 1.6.1 易于使用性 1.6.2 与微软紧密结合 1.6.3 更强大的功能 1.6.4 方便升级 1.7 小结 第2章 Visio 2000工程环境 2.1 操作Welcome to Visio 2000窗口 2.1.1 难备新的绘图 2.1.2 准备打开一个已经存在的文件 2.2 基本下拉菜单 2.2.1 File下拉菜单 2.2.2 Tools下拉菜单 2.2.3 Help下拉菜单 2.3 基本工具栏按钮 2.3.1 New Drawing按钮 2.3.2 Open按钮 2.3.3 Open Stencil按钮 2.3.4 Visio on the Web和Help按钮 2.4 小结 第3章 熟悉Visio工程 3.1 起点 3.1.1 标难工具栏按钮 3.1.2 其他工具栏简介 3.2 第一张Visio绘图 3.3 小结 第二部分 创建工程 第4章 使用样板创建新工程 4.1 从样板绘图开始 4.2 Block Diagram文件夹中的样板 4.2.1 Basic Diagram 4.2.2 Block Diagram with Perspective 4.2.3 Block Diagram 4.3 Flowchart文件夹中的样板 4.3.1 Audit Diagram 4.3.2 Basic Flowchart 4.3.3 Cause and Effect Diagram 4.3.4 Cross-Functional Flowchart 4.3.5 Data Flow Diagram 4.3.6 InEFO Diagram 4.3.7 Mind Mapping Diagram 4.3.8 SDL Diagram 4.3.9 TQM Diagram 4.3.10 Work Flow Diagram 4.4 Forms and Charts文件夹中的样板 4.4.1 Charts and Graphs 4.4.2 Form Design 4.4.3 Marketing charts and Diagrams 4.5 Map文件夹中的样板 4.5.1 Directional Map 4.5.2 Geographic Maps 4.6 Network Diagram文件夹中的样板 4.7 Office Lavout文件夹中的样板 4.8 Organization Chart文件夹中的样板 4.8.1 Organization Chart Wizard 4.8.2 Organization Chart 4.9 Project Schedule文件夹中的样板 4.9.1 Calendar 4.9.2 Gantt Chart 4.9.3 PERT Chart 4.9.4 Timeline 4.10 小结 第5章 使用Page Layout WiZard创建新程 5.1 从Page Layout Wizard开始 5.2 访问Page Layout Wizard 5.2.1 标题块 5.2.2 修改标题块和边界 5.2.3 插入公司微标 5.3 小结 第三部 分使用Visio 2000进行绘图 第6章 使用基本绘图工具 6.1 绘制线条的主要按钮 6.1.1 使用LineTool(直线工具) 6.1.2 使用Arc Tool(弧线工具) 6.1.3 使用Freefom Tool(任意线工具) 6.1.4 使用Pencil Tool(铅笔工具) 6.2 定制线条格式 6.2.1 改变线条样式 6.2.2 改变线条颜色 6.2.3 改变线条深度 6.2.4 改变线条模式 6.2.5 改变线条末端 6.2.6 改变线条边角 6.3 创建基本图形并进行格式化 6.3.1 使用矩形和椭圆工具 6.3.2 设定圆角 6.3.3 使用填充色 6.3.4 改变填充样式 6.3.5 应用填充模式 6.3.6 创建阴影 6.4 使用键盘快捷方式 6.5 小结 第7章 撤消/恢复和删除对象 7.1 设置Undo/Redo的次数 7.2 使用撤消命令 7.2.1 创建一个例子 7.2.2 使用Edit Undo方法 7.2.3 使用标准工具栏中Undo控件 7.2.4 使用键盘撤消命令 7.3 使用Redo命令 7.3.1 使用Edit Redo方法 7.3.2 使用标准工具栏中的Redo控制 7.3.3 使用键盘Undo命令 7.4 删除对象 7.4.1 删除对象的方法 7.4.2 删除对象并放入内存的方法 7.4.3 把删除到内存中的对象拷贝到页面中 7.4.4 删除组中对象的方法 7.5 删除文本 7,6 删除页面 7.6.1 使用Edit Delete删除一页 7.6.2 使用DrawingExplore删除页面 7.7 小结 第8章 页面设置 8.1 创建新页面 8.2 页面重命名 8.3 到达另一页面 8.4 页面排序 8.5 删除页面 8.6 旋转页面 8.7 操作前景和背景 8.8 设置页面参数 8.8.1 调整页面颜色 8.8.2 从页面中删除网格、标尺相连接点 8.8.3 设定页边距 8.8.4 调整页面大小和方向 8.8.5 调整绘图比例 8.8.6 加页眉和页脚 8.9 小结 第9章 调整视图 9.1 缩放和扫视 9.1.1 标准工具栏中的缩放按钮和缩放比例按钮 9.1.2 zoom对话框 9.1.3 Pan&Zoom操作以及Pan&zoom窗口 9.1.4 设置Center selection on Zoom 9.1.5 其他的Pan&zoom窗口方法 9.2 视图窗口 9.2.1 创建新窗口 9.2.2 平铺式 9.2.3 层叠式 9.3 小结 第10章 使用标尺、网格和辅助线 10.1 设置标尺 10.1.1 选择度量单位 10.1.2 应用各种单位 10.1.3 放置标尺零点 IO.2 使用网格 10.2.1 设置网格间距 10.2.2 设置网格线的最小间距 10.2.3 设置网格原点 10.2.4 使用动态网格 IO.3 放辅助线和辅助点 10.3.1 设置辅助线 10.3.2 设置辅助点 10.4 使用对齐和粘合 10.4.1 使用Snap 10.4.2 使用粘合 10.5 小结 第11章 理解文件属性 11.1 查看文件属性 11.2 访问文件属性 11.2.1 General选项卡 11.2.2 Summary选项卡 11.2.3 Contents选项卡 11.2.4 Output Format选项卡 11.3 保护文件 11.3.1 文件保护和保护对话框 11.3.2 只读保护 11.4 设置文件路径 11.5 小结 第12章 保存文件 12.1 保存选项 12.1.1 File下拉菜单相Save As窗口 12.1.2 Properties对话框 12.1.3 后继保存 12.1.4 打印到文件 12.2 小结 第13章 打开绘图文件 13.1 打开已存在的Visio绘图文件 13.1.1 在启动时打开一个已存在的文件 13.1.2 在启动后打开一个已存在的文件 13.1.3 Open对话框的选项 13.1.4 快捷方式 13.1.5 打开以前Visio版本创建的文件 13.2 使用MS Quick View预览和打开文件 13.2.1 预览和打开Visio文件 13.2.2 打开非Visio文件 13.3 小结 第14章 绘图预览和打印 14.1 使用打印预览窗口 14.1.1 打印预览按钮 14.1.2 其他打印预览扫视操作 14.1.3 同时浏览打印预览和绘图窗口 14.2 打印文档 14.2.1 设置打印工作 14.2.2 打印绘图 14.2.3 打印图形表格 14.3 小结 第四部 分使用并操作图形 第15章 模板和样板应用 1.5.1 打开模板 15.2 创建模板文件 15.2.1 创建新主图形 15.2.2 在新模板中放置已存在的主图形 15.2.3 在多个模板中放置一个主图形 15.3 设置模板文件属性 15.4 使用文档模板 15.5 编辑模板文件 15.5.1 编辑主图形 15.5.2 编辑图标 15.5.3 重命名模板文件 15.6 调整模板窗口 15.6.1 浏览模板内容 15.6.2 定位模板窗口 15.6.3 关闭模板窗口 15.7 使用样板 15.7.1 创建和修改样板 15.7.2 进行一个样板练习 15.8 使用Drawing Explorer 15.8.1 调整Drawing Explorer窗口 15.8.2 使用Drawing Explorer定义类型和模式 15.9 使用Shape Explorer 15.9.1 查找 15.9.2 使用Shape Explorer中的项目 15.9.3 创建个性化数据库 15.9.4 更多数据库选项 15.10 小结 第16章 调整大小、定位和复制图形 16.1 使用Size&Position窗口 16.1.1 研究Size&Position窗口 16.1.2 一个Size&Position窗口的例子 16.1.3 改变Size&Position窗口位置 16.2 改变图形大小 16.2.1 点击拖动方法 16.2.2 使用数字控制改变大小 16.3 图形比例 16.4 移动图形 16.4.1 旋转图形 16.4.2 韶转图形 16.4.3 拖动图形 16.4.4 处理重叠图形 16.5 复制图形 16.5.1 使用图章工具复制 16.5.2 通过选择进行复制 16.5.3 使用层选进行复制 16.5.4 使用Chart Shape Wlzard创建堆叠式和可扩展图形 16.6 小结第17章 连接图形 17.1 Visio中的图形和连接器 17.2 连接点、连接器工具和静态粘贴 17.2.1 使用静态粘贴的连接点 17.2.2 使用静态粘贴连接的例子 17.2.3 连接点工具 17.2.4 加入连接点的例子 17.2.5 移动连接点的例子 17.2.6 删除连接点的例子 17.2.7 其他有用的连接点:粘贴选项 17.2.8 连接中使用其他点的例子 17.3 三种类型的连接点 17.3.1 内在连接点 17.3.2 外在连接点 17.3.3 内在&外在连接点 17.3.4 使用外在连接点和内在&外在连接点的例子 17.4 动态粘贴 17.4.1 怎样使用动态粘贴 17.4.2 什么时候使用动态粘贴 17.4.3 使用动态粘贴的例子 17.4.4 什么时候自动使用动态粘贴 17.5 使用图章工具 17.6 其他连接器图形 17.6.1 动态连接器图形 17.6.2 直线—曲线连接器 17.6.3 图形连接器 17.7 同时连接多个图形 17.8 拖动时连接图形 17.9 激活Snap&Glue工具栏 17.10 跳线与布线 17.11 小结 第18章 快速安排图形格局 18.1 快速安排图形格局 18.1.1 选择绘图页面中的指定图形 18.1.2 选择绘图页面中的所有图形 18.2 使用与编辑调色板 18.3 使用Format Painter 18.3.1 使用Format Painter定制图形格式 18.3.2 使用Format Painter格式化图形内的文本 18.4 重建图形的原始样式 18.5 定义新图形样式 18.5.1 创建一种样式 18.5.2 样式重命名 18.5.3 样式编辑 18.6 使用图形保护功能 18.7 在Special对话框中输入信息 18.8 小结第19章 图形分布与对齐 19.1 对齐图形 19.1.1 使用标尺和网格对齐图形 19.1.2 使用辅助线和辅助点对齐图形 19.1.3 对齐地图图形 19.1.4 使用Align Shapes操作 19.2 分布图形 19.2.1 使用标尺、网格和辅助线分布图形 19.2.2 使用Distribute shapes操作 19.3 排列图形 19.4 使用其他图形调节工具 19.4.1 居中图形 19.4.2 更新对齐方框 19.5.小结 第20章 使用层 20.1 创建层 20.1.1 把图形指派给层 20.1.2 把主图形指派给层 20.2 选择多层 20.3 调整层属性 20.3.1 层重命名 20.3.2 删除层 20.4 小结 第21章 使用布局和布线功能 21.1 连接 21.1.1 手工调整动态连接器和图形 21.1.2 点到点连接 21.1.3 图形间连接 21.2 布局和布线基本知识 21.2.1 Layout&Routing工具栏 21.2.2 Layout&Routing对话框 21.3 在布局和布线中放入连接器 21.3.1 修改布线样式 21.3.2 应用布线方向 21.3.3 布线分离和重叠 21.3.4 使用跳线 21.3.5 连接器自动重新布线 21.4 布局和布线过程中的图形放置 21.4.1 修改放置行为 21.4.2 使用自动图形与连接器放置 21.5 设置Layout and Routing Spacing规格 21.5.1 了解Layout and Routing Spacing对话框 21.5.2 调节间隔大小 21.6 小结 第22章 定制图形行为格式 22.1 修改基本图形行为特征 22.1.1 调整基本图形行为 22.1.2 重新设置双击操作 22.1.3 使用连接器和放置操作 22.2 改变基本图形行为 22.2.1 改变交互样式 22.2.2 禁止选择高亮显示 22.2.3 不可打印与加入组 22.2.4 控制组行为 22.2.5 控制组成员的放缩行为 22.3 设置双击选项 22.4 使用Connector和Placement 22.4.1 Connector选项卡 22.4.2 Placemen选项卡 22.5 小结 第23章 自定义图形属性 23.1 关于自定义属性 23.2 打开Custom PropertiesWindow 23.2.1 练习:打开、移动和自动隐藏CuStom Properties Window 23.2.2 在Custom Properties Window中输入数据 23.2.3 练习:输入数据 23.2.4 在Custom Properties Window中编辑自定义属性数据 23.2.5 练习:编辑数据 23.3 Custom Properties对话框 23.3.1 打开Custom Properties对话框 23.3.2 练习:在Custom Properties对话框中输入数据 23.4 编辑自定义属性域 23.4.1 打开Define Custom Property对话框 23.4.2 编辑一个已有自定义属性 23.4.3 练习:编辑已有自定义属性 23.4.4 创建一个新自定义属性 23.4.5 练习:创建一个新自定义属性 23.4.6 删除一个自定义属性 23.4.7 练习:删除一个自定义属性 23.5 使用Custom Properties Editor 23.5.1 打开Custom Properties Editor 23.5.2 编辑模板中的主图形 23.5.3 编辑活动绘图中的图形 23.5.4 编辑另一个Visio绘图中的图形 23.5.5 练习:使用Custom Properties Editor 23.6 小结 第24章 使用图形组 24.1 图形组合与取消组合 24.1.1 把图形放入组中 24.1.2 取消图形组合 24.2 编辑图形组及其成员 24.2.1 选择组和组中成员 24.2.2 改变组成员 24.2.3 删除组和组成员 24.2.4 从组中释放图形 24.2.5 向组中添加图形 24.2.6 放置图形组 24.3 小结 第25章 使用图形运算 25.1 运算操作 25.2 更新对齐框 25.3 反转 25.4 合并图形 25.5 结合图形 25.6 图形分割 25.7 交叉图形 25.8 图形相减运算 25.9 连接线段 25.10 裁切图形 25.11 设置偏移图形 25.12 使用Fit Curve功能 25.13 自定义拟合导入图形 25.1.4 小结 第五部分 掌握Visio 2000 工具选项和宏操作 第26章 使用常规和高级工具选项 26.1 General选项卡中的选项 26.2 Drawing选项卡中的选项 26.3 Advanced选项卡中的选项 26.4 调色板对话框选项 26.5 小结 第27章 使用关键宏操作 27.1 使用自定义属性编辑器 27.2 图形浏览器 27.2.1 使用Shape Explore进行搜索 27.2.2 图形济览器的个性化数据库 27.2.3 把个性化数据库加入Visio图形浏览器搜索中 27.3 交叉功能流程图 27.4 组织图转换器 27.5 创建Gantt图 27.5.1 日期 27.5.2 格式 27.5.3 Gantt Chart工具栏 27.5.4 改变时间量程的日期和单位 27.5.5 替换缺省任务名和其他缺省数据 27.5.6 加入新的重要事件 27.5.7 配置工作时间 27.5.8 创建任务间的依赖关系 27.5.9 添加标题和图标符号 27.5.10 打印Gantt图 27.5.11 导出Gantt图数据 27.5.12 导入工程数据 27.6 为绘图中的图形编号 27.7 小结 第28章 基于数据库中的信息创建工程 28.1 与数据库相关的向导 28.2 数据库相关向导基础 28.2.1 Visio样本数据文件 28.2.2 文本文件 28.2.3 MS Excel工作簿 28.3 Database Wizard 28.3.1 把图形链接到数据库记录 28.3.2 给图形加入动作和事件 28.3.3 创建链接绘图或修改已有绘图 28.3.4 在页面中添加数据库动作和事件 28.3.5 从已有数据库中产生新主图形 28.4 Database Export Wizard 28.4.1 图形与数据库中记录、表和域的关系 28.4.2 使用Database Export Wizard 28.5 Import Flowchart Data Wizard 28.5.1 以文本格式准备数据文件 28.5.2 以MS Excel格式准备数据文件 28.6 Organization Chart Wizard 28.6.1 使用Organization Chart Wizard 28.6.2 Organization Chart Wizard需要的数据类型 28.6.3 用向导输入数据创建组织图 28.6.4 通过向导修复图 28.6.5 改编SAp/R3数据库用于Visio Organization Chart Wizard 28.7 Property Reporting Wizard 28.7.1 自定义属性数据 28.7.2 使用层精选财务或数值报表 28.7.3 设置报表外观 28.8 其他数据库相关的Visio功能 28.8.1 Database Settings 28.8.2 Database Refresh和Database UPdate 28.8.3 Database Drawing Monitor 28.9 小结 第六部分 创建与操作文本 第29章 基本文本操作 29.1 插入文本 29.1.1 使用TextTool(文本工具) 29.1.2 使用Text Block Tool(文本块工具) 29.1.3 向Visio图形添加文本 29.2 查找与替换文本 29.2.1 查找文本 29.2.2 替换文本 29.3 选择文本 29.4 选择、安置和改变文本块大小 29.5 执行文本编辑功能 29.5.1 删除文本 29.5.2 复制与粘贴文本 29.6 选择字体 29.7 调整文本大小 29.8 调整文本颜色 29.9 调整字体特征 29.10 改变文本样式 29.11 操作文本样式 29.11.1 修改预定义样式 29.11.2 创建新文本样式 29.12 小结 第30章 文本格式与对齐 30.1 复习:工具栏文本命令以及Text对话框 30.2 改变段落对齐方式 30.3 改变段落间距 30.3.1 使用FormatText工具栏按钮 30.3.2 使用Text对话框改变段落间距 30.3.3 练习:段落间距 30.4 改变行间距 30.5 改变段落缩进 30.5.1 使用Format Text工具栏按钮 30.5.2 练习:使用Format Text工具栏按钮改变段落缩进 30.5.3 使用Text对话框 30.5.4 练习:使用Text对话框改变段落缩进 30.6 垂直对齐文本 30.6.1 使用Format Text工具栏按钮 30.6.2 练习:使用工具栏按钮对齐文本 30.6.3 使用Text对话框 30.6.4 练习:使用Text对话框 30.7 调整页边距 30.8 调整背景颜色 30.8.1 使用Fill Color按钮 30.8.2 练习:使用Fill Color按钮 30.8.3 使用Text对话框 30.8.4 练习:使用Text对话框 30.9 设置制表符 30.9.1 打开TextRuler 30.9.2 使用TextRuler 30.9.3 练习:使用TextRule设置制表符 30.9.4 使用Text对话框 30.9.5 练习:使用Text对话框设置制表符 30.10 添加项目编号 30.10.1 Bullets按钮 30.10.2 Text对话框中Bullets选项卡 30.10.3 使用一次性列表对象 30.10,4 练习:使用两种方法添加项目编号 30.11 小结第31章 文本拼写检查 31.1 激活拼写检查工具 31.2 拼写检查功能 31.3 用户词典 31.3.1 创建新用户词典 31.3.2 停止使用用户词典 31.4 改变拼写检查的语言 31.5 小结 第七部分 导入或导出绘图第32章 插入对象 32.1 插入注释 32.1.1 添加注释 32.1.2 编辑或删除注释 32.2 插入位图图像 32.3 插入其他图像 32.4 转换选项 32.5 插入剪贴画 32.6 插入Microsoft Graph 32.7 用拖放技术插入 32.8 插入超链接 32.9 插入其他类型的对象 32.9.1 链接 32.9.2 嵌入 32.9.3 链接还是嵌入 32.9.4 添加嵌入对象 32.9.5 添加链接对象 32.9.6 使用剪贴进行链接与嵌入 32.9.7 编辑对象 32.9.8 管理链接 32.10 小结第33章 导出绘图 33.1 为什么要导出绘图 33.2 可使用的格式 33.3 导出指定文件类型 33.3.1 导出位图文件 33.3.2 导出其他图像格式 33.4 小结 第八部分 Visio中的其他功能第34章 使用ShapeSheet 34.1 什么是ShapeSheet 34.2 ShapeSheet的组成 34.3 显示与隐藏区 34.4 显示ShapeSheet 34.5 修改ShaPeSheet 34.6 打印ShapeSheet的电子表格 34.7 小结第35章 用Visio进行Web页面设计 35.1 Visio与Web页面 35.2 插入超链接 35.2.1 链接到对象或页面 35.2.2 为链接选择图形 35.3 保存成Web格式 35.3.1 保存为图像 35.3.2 保存为HTML文件 35.4 图像映像 35.4.1 图像映像如何工作 35.4.2 客户方与服务器方图像映像 35.4.3 Visio中的图像映像 35.5 小结 第36章 使用AutoCAD绘图 36.1 导入AutoCAD绘图并显示 36.1.1 可导入的AutoCAD文件格式 36.1.2 使用AutoCAD文件提供详图 36.2 编辑导入的AutoCAD绘图 36.2.1 调整图像比例 36.2.2 改变AutoCAD图像的比例 36.2.3 显示层 36.2.4 剪裁导入图像和全景视图 36.3 把AutoCAD对象转换成Visio格式 36.4 导出Visio文件变为AutoCAD格式 36.5 小结 第37章 Visio 2000在其他领域的应用 37.1 完成简单的图形设计任务 37.2 创建销售图表 37.3 为谱系研究设计演示文稿 37.4 管理工程 37.5 进行建筑设计 37.6 分析信息系统 37.7 小结 附录A 安装Visio 2000 附录B Vsio 2000键盘快捷方式组合 附录C Visio 2000绘图示例
Platform: | Size: 5674043 | Author: blazeli@sina.com | Hits:

[Windows DevelopSenfore_DragDrop_v4.1

Description: Drag and Drop Component Suite Version 4.1 Field test 5, released 16-dec-2001 ?1997-2001 Angus Johnson & Anders Melander http://www.melander.dk/delphi/dragdrop/ ------------------------------------------- Table of Contents: ------------------------------------------- 1. Supported platforms 2. Installation 3. Getting started 4. Known problems 5. Support and feedback 6. Bug reports 7. Upgrades and bug fixes 8. Missing in this release 9. New in version 4.x 10. TODO 11. Licence, Copyright and Disclaimer 12. Release history ------------------------------------------- 1. Supported platforms: ------------------------------------------- This release supports Delphi 4-6 and C++ Builder 4-5. Earlier versions of Delphi and C++ Builder will not be supported. If you need Delphi 3 or C++ Builder 3 support you will have to revert to version 3.7 of the Drag and Drop Component Suite. The library has been tested on NT4 service pack 5 and Windows 2000. Windows 95, 98, ME and XP should be supported, but has not been tested. Linux and Kylix are not supported. There are *NO* plans to port the library to Kylix. The drag and drop protocols available on Linux are too much of a mess at this time. ------------------------------------------- 2. Installation: ------------------------------------------- 1) Before you do anything else, read the "Known problems" section of this document. 2) Install the source into a directory of your choice. The files are installed into three directories: DragDrop DragDrop\Components DragDrop\Demo 3) Install and compile the appropriate design time package. The design time packages are located in the Components directory. Each version of Delphi and C++ Builder has its own package; DragDropD6.dpk for Delphi 6, DragDropD5.dpk for Delphi 5, DragDropC5.bpk for C++ Builder 5, etc. 4) Add the Drag and Drop Component Suite components directory to your library path. 5) Load the demo project group: demo\dragdrop_delphi.bpg for Delphi 5 and 6 demo\dragdrop_bcb4.bpg for C++ Builder 4 demo\dragdrop_bcb5.bpg for C++ Builder 5 The project group contains all the demo applications. 6) If your version of Delphi does not support text format DFM files (e.g. Delphi 4 doesn't), you will have to use the convert.exe utility supplied with Delphi to convert all the demo form files to binary format. A batch file, convert_forms_to delphi_4_format.bat, is supplied in the demo directory which automates the conversion process. The C++ Builder demo forms are distributed in binary format. 7) If upgrading from a previous version of the Drag and Drop Component Suite, please read the document "upgrading_to_v4.txt" before you begin working on your existing projects. Note about "Property does not exist" errors: Since all demos were developed with the latest version of Delphi, most of the demo forms probably contains references to properties that doesn't exist in earlier versions of Delphi and C++ Builder. Because of this you will get fatal run-time errors (e.g. "Error reading blahblahblah: Property does not exist.") if you attemt to run the demos without fixing this problem. Luckily it is very easy to make the forms work again; Just open the forms in the IDE, then select "Ignore All" when the IDE complains that this or that property doesn't exist and finally save the forms. ------------------------------------------- 3. Getting started: ------------------------------------------- It is recommended that you start by running each of the demo applications and then look through the demo source. Each demo application is supplied with a readme.txt file which briefly describes what the demo does and what features it uses. The demos should be run in the order in which they are listed in the supplied project group. Even if you have used previous versions of the Drag and Drop Component Suite it would be a good idea to have a quick look at the demos. The library has been completely rewritten and a lot of new features has been added. ------------------------------------------- 4. Known problems: ------------------------------------------- * The Shell Extension components does not support C++ Builder 4. For some strange reason the components causes a link error. * There appear to be sporadic problems compiling with C++ Builder 5. Several user have reported that they occasionally get one or more of the following compiler errors: [C++ Error] DragDropFile.hpp(178): E2450 Undefined structure '_FILEDESCRIPTORW' [C++ Error] DropSource.hpp(135): E2076 Overloadable operator expected I have not been able to reproduce these errors, but I believe the following work around will fix the problem: In the project options of *all* projects which uses these components, add the following conditional define: NO_WIN32_LEAN_AND_MEAN The define *must* be made in the project options. It is not sufficient to #define it in the source. If you manage to compile with C++ Builder (any version), I would very much like to know about it. * Delphi's and C++ Builder's HWND and THandle types are not compatible. For this reason it might be nescessary to cast C++ Builder's HWND values to Delphi's THandle type when a HWND is passed to a function. E.g.: if (DragDetectPlus(THandle(MyControl->Handle), Point(X, Y))) { ... } * Virtual File Stream formats can only be pasted from the clipboard with live data (i.e. FlushClipboard/OleFlushClipboard hasn't been called on the data source). This problem affects TFileContentsStreamOnDemandClipboardFormat and the VirtualFileStream demo. This is believed to be a bug in the Windows clipboard and a work around hasn't been found yet. * Asynchronous targets appears to be broken in the current release. * When TDropFileTarget.GetDataOnEnter is set to True, the component doesn't work with WinZip. Although the file names are received correctly by TDropFileTarget, WinZip doesn't extract the files and the files thus can't be copied/moved. This is caused by a quirk in WinZip; Apparently WinZip doesn't like IDataObject.GetData to be called before IDropTarget.Drop is called. ------------------------------------------- 5. Support and feedback: ------------------------------------------- Since these components are freeware they are also unsupported. You are welcome to ask for help via email, but I cannot guarantee that I will have time to help you or even reply to your mail. If you absolytely can't live without my help, you can alway try bribing me. You can also try asking for help in the Delphi newsgroups. Since the Drag and Drop Component Suite is in widespread use, there's a good chance another user can help you. I recommend the following newsgroups for issues regarding this library (or COM based Drag/Drop in general): borland.public.delphi.winapi borland.public.delphi.thirdparty-tools borland.public.delphi.oleautomation borland.public.cppbuilder.winapi borland.public.cppbuilder.thirdparty-tools Please choose the most appropiate newsgroup for your question. Do not cross post to them all. Before posting to the newsgroups, I suggest you try to search for an answer on the Google (DejaNews) search engine: http://groups.google.com Chances are that your question has been asked and answered before. If you have suggestions for improvements please mail them to me: anders@melander.dk Please include the words "Drag Drop" in the subject of any email regarding these components. ------------------------------------------- 6. Bug reports: ------------------------------------------- Bugs can either be reported at my home page (http://www.melander.dk/) or mailed directly to me: anders@melander.dk. When reporting a bug, please provide the following information: * The exact version of the Drag and Drop Component Suite you are using. * The exact version of Delphi or C++ Builder you are using. * The name and exact version of your operating system (e.g. NT4 SP5). * The exact version of the Internet Explorer installed on your system. If you can provide me with a minimal application which reproduces the problem, I can almost guarantee that I will be able to fix the problem in very short time. Please supply only the source files (pas, dfm, dpr, dof, res, etc.) and mail them as a single zip file. If I need a compiled version I will ask for it. If you feel you need to send me a screen shot, please send it in GIF or PNG format. If you mail a bug report to me, please include the words "Drag Drop" in the subject of your email. ------------------------------------------- 7. Upgrades and bug fixes: ------------------------------------------- Upgrades can be downloaded from my home page: http://www.melander.dk/delphi/dragdrop/ Bug fixes will also be posted to the above page. If you have registered for update notification via the installation program, you will receive email notification when a new release is available. You will not be notified of bug fixes. You can use the installation program to check for and download new releases and to check for known bugs. Note: If a new release is made available and you are not notified even though you registered for notification, you probably mistyped your email address during installation; About 10% of all registrations supply an invalid email address. ------------------------------------------- 8. Missing in this release: ------------------------------------------- * On-line help has not been updated and included in the kit due to late changes in the Delphi 6 help system and lack of time. If time permits, I will update the help and include it in a future release. ------------------------------------------- 9. New in version 4.x: ------------------------------------------- * Completely redesigned and rewritten. Previous versions of the Drag and Drop Component Suite used a very monolithic design and flat class hierachy which made it a bit cumbersome to extend the existing components or implement new ones. Version 4 is a complete rewrite and redesign, but still maintains compatibility with previous versions. The new V4 design basically separates the library into three layers: 1) Clipboard format I/O. 2) Data format conversion and storage. 3) COM Drag/Drop implementation and VCL component interface. The clipboard format layer is responsible for reading and writing data in different formats to and from an IDataObject interface. For each different clipboard format version 4 implements a specialized class which knows exactly how to interpret the clipboard format. For example the CF_TEXT (plain text) clipboard format is handled by the TTextClipboardFormat class and the CF_FILE (file names) clipboard format is handled by the TFileClipboardFormat class. The data format layer is primarily used to render the different clipboard formats to and from native Delphi data types. For example the TTextDataFormat class represents all text based clipboard formats (e.g. TTextClipboardFormat) as a string while the TFileDataFormat class represents a list of file names (e.g. TFileClipboardFormat) as a string list. The conversion between different data- and clipboard formats is handled by the same Assign/AssignTo mechanism as the VCLs TPersistent employes. This makes it possible to extend existing data formats with support for new clipboard formats without modification to the existing classes. The drag/drop component layer has several tasks; It implements the actual COM drag/drop functionality (i.e. it implements the IDropSource, IDropTarget and IDataObject interfaces (along with several other related interfaces)), it surfaces the data provided by the data format layer as component properties and it handles the interaction between the whole drag/drop framework and the users code. The suite provides a multitude of different components. Most are specialized for different drag/drop tasks (e.g. the TDropFileTarget and TDropFilesSource components for drag/drop of files), but some are either more generic, handling multiple unrelated formats, or simply helper components which are used to extend the existing components or build new ones. * Support for Delphi 6. Version 4.0 was primarily developed on Delphi 6 and then ported back to previous versions of Delphi and C++ Builder. * Support for Windows 2000 inter application drag images. On Windows platforms which supports it, drag images are now displayed when dragging between applications. Currently only Windows 2000 supports this feature. On platforms which doesn't support the feature, drag images are only displayed whithin the source application. * Support for Windows 2000 asynchronous data transfers. Asynchronous data tranfers allows the drop source and targets to perform slow transfers or to transfer large amounts of data without blocking the user interface while the data is being transfered. For platforms other than Windows 2000, the new TDropSourceThread class can be used to provide similar (but more limited) asynchronous data transfer capabilities. * Support for optimized and non-optimized move. When performing drag-move operations, it is now possible to specify if the target (optimized move) or the source (non-optimized move) is responsible for deleting the source files. * Support for delete-on-paste. When data is cut to the clipboard, it is now possible to defer the deletion of the source data until the target actually pastes the data. The source is notified by an event when the target pastes the data. * Extended clipboard support. All formats and components (both source and target) now support clipboard operations (copy/cut/paste) and the VCL clipboard object. * Support for shell drop handlers. The new TDropHandler component can be used to write drop handler shell extensions. A drop handler is a shell extension which is executed when a user drags and drops one or more files on a file associated wth your application. * Support for shell drag drop handlers. The new TDragDropHandler component can be used to write drag drop handler shell extensions. A drag drop handler is a shell extension which can extend the popup menu which is displayed when a user drag and drops files with the right mouse button. * Support for shell context menu handlers. The new TDropContextMenu component can be used to write context menu handler shell extensions. A context menu handler is a shell extension which can extend the popup menu which is displayed when a user right-clicks a file in the shell. * Drop sources can receive data from drop targets. It is now possible for drop targets to write data back to the drop source. This is used to support optimized-move, delete-on-paste and inter application drag images. * Automatic re-registration of targets when the target window handle is recreated. In previous versions, target controls would loose their ability to accept drops when their window handles were recreated by the VCL (e.g. when changing the border style or docking a form). This is no longer a problem. * Support for run-time definition of custom data formats. You can now add support for new clipboard formats without custom components. * Support for design-time extension of existing source and target components. Using the new TDataFormatAdapter component it is now possible to mix and match data formats and source and target components at design time. E.g. the TDropFileTarget component can be extended with URL support. * It is now possible to completely customize the target auto-scroll feature. Auto scroling can now be completely customized via the OnDragEnter, OnDragOver, OnGetDropEffect and OnScroll events and the public NoScrollZone and published AutoScroll properties. * Multiple target controls per drop target component. In previous versions you had to use one drop target component per target control. With version 4, each drop target component can handle any number of target controls. * It is now possible to specify the target control at design time. A published Target property has been added to the drop target components. * Includes 20 components: - TDropFileSource and TDropFileTarget Used for drag and drop of files. Supports recycle bin and PIDLs. - TDropTextSource and TDropTextTarget Used for drag and drop of text. - TDropBMPSource and TDropBMPTarget Used for drag and drop of bitmaps. - TDropPIDLSource and TDropPIDLTarget Used for drag and drop of PIDLs in native format. - TDropURLSource and TDropURLTarget Used for drag and drop of internet shortcuts. - TDropDummyTarget Used to provide drag/drop cursor feedback for controls which aren't registered as drop targets. - TDropComboTarget (new) Swiss-army-knife target. Accepts text, files, bitmaps, meta files, URLs and file contents. - TDropMetaFileTarget (new) Target which can accept meta files and enhanced meta files. - TDropImageTarget (new) Target which can accept bitmaps, DIBs, meta files and enhanced meta files. - TDragDropHandler (new) Used to implement Drag Drop Handler shell extensions. - TDropHandler (new) Used to implement Shell Drop Handler shell extensions. - TDragDropContext (new) Used to implement Shell Context Menu Handler shell extensions. - TDataFormatAdapter (new) Extends the standard source and target components with support for extra data formats. An alternative to TDropComboTarget. - TDropEmptySource and TDropEmptyTarget (new) Target and source components which doesn't support any formats, but can be extended with TDataFormatAdapter components. * Supports 27 standard clipboard formats: Text formats: - CF_TEXT (plain text) - CF_UNICODETEXT (Unicode text) - CF_OEMTEXT (Text in the OEM characterset) - CF_LOCALE (Locale specification) - 'Rich Text Format' (RTF text) - 'CSV' (Tabular spreadsheet text) File formats: - CF_HDROP (list of file names) - CF_FILEGROUPDESCRIPTOR, CF_FILEGROUPDESCRIPTORW and CF_FILECONTENTS (list of files and their attributes and content). - 'Shell IDList Array' (PIDLs) - 'FileName' and 'FileNameW' (single filename, used for 16 bit compatibility). - 'FileNameMap' and 'FileNameMapW' (used to rename files, usually when dragging from the recycle bin) Image formats: - CF_BITMAP (Windows bitmap) - CF_DIB (Device Independant Bitmap) - CF_METAFILEPICT (Windows MetaFile) - CF_ENHMETAFILE (Enhanced Metafile) - CF_PALETTE (Bitmap palette) Internet formats: - 'UniformResourceLocator' and 'UniformResourceLocatorW' (Internet shortcut) - 'Netscape Bookmark' (Netscape bookmark/URL) - 'Netscape Image Format' (Netscape image/URL) - '+//ISBN 1-887687-00-9::versit::PDI//vCard' (V-Card) - 'HTML Format' (HTML text) - 'Internet Message (rfc822/rfc1522)' (E-mail message in RFC822 format) Misc. formats: - CF_PREFERREDDROPEFFECT and CF_PASTESUCCEEDED (mostly used by clipboard) - CF_PERFORMEDDROPEFFECT and CF_LOGICALPERFORMEDDROPEFFECT (mostly used for optimized-move) - 'InShellDragLoop' (used by Windows shell) - 'TargetCLSID' (Mostly used when dragging to recycle-bin) * New source events: - OnGetData: Fired when the target requests data. - OnSetData: Fired when the target writes data back to the source. - OnPaste: Fired when the target pastes data which the source has placed on the clipboard. - OnAfterDrop: Fired after the drag/drop operation has completed. * New target events: - OnScroll: Fires when the target component is about to perform auto-scroll on the target control. - OnAcceptFormat: Fires when the target component needs to determine if it will accept a given data format. Only surfaced in the TDropComboTarget component. * 8 new demo applications, 19 in total. ------------------------------------------- 10. TODO (may or may not be implemented): ------------------------------------------- * Async target demo (with and without IAsyncOperation support). * Scrap file demo. * Native Outlook message format. * Structured storage support (IStorage encapsulation). ------------------------------------------- 11. Licence, Copyright and Disclaimer: ------------------------------------------- The Drag and Drop Component Suite is Copyright ?1997-2001 Angus Johnson and Anders Melander. All rights reserved. The software is copyrighted as noted above. It may be freely copied, modified, and redistributed, provided that the copyright notice(s) is preserved on all copies. The Drag and Drop Component Suite is freeware and we would like it to remain so. This means that it may not be bundled with commercial libraries or sold as shareware. You are welcome to use it in commercial and shareware applications providing you do not charge for the functionality provided by the Drag and Drop Component Suite. There is no warranty or other guarantee of fitness for this software, it is provided solely "as is". You are welcome to use the source to make your own modified components, and such modified components may be distributed by you or others if you include credits to the original components, and do not charge anything for your modified components. ------------------------------------------- 12. Version 4 release history: ------------------------------------------- 16-dec-2001 * Ported to C++ Builder 4. * Released for test as v4.1 FT5. 12-dec-2001 * Fixed C++ Builder name clash between TDropComboTarget.GetMetaFile and the GetMetaFile #define in wingdi.h 1-dec-2001 * The IAsyncOperation interface is now also declared as IAsyncOperation2 and all references to IAsyncOperation has been replaced with IAsyncOperation2. This was done to work around a bug in C++ Builder. Thanks to Jonathan Arnold for all his help with getting the components to work with C++ Builder. Without Jonathan's help version 4.1 would prabably have shipped witout C++ Builder support and certainly without any C++ Builder demos. * Demo applications for C++ Builder. The C++ Builder demos were contributed by Jonathan Arnold. 27-nov-2001 * TCustomDropTarget.Droptypes property renamed to DropTypes (notice the case). Thanks to Krystian Brazulewicz for spotting this. 24-nov-2001 * The GetURLFromString function in the DragDropInternet unit has been made public due to user request. 21-nov-2001 * Modified MakeHTML function to comply with Microsoft's description of the CF_HTML clipboard format. * Added MakeTextFromHTML function to convert CF_HTML data to plain HTML. Provides the reverse functionality of MakeHTML. * Added HTML support to TTextDataFormat class and TDropTextSource and TDropTextTarget components. * Fixed C++ Builder 5 problem with IAsyncOperation. * Released for test as v4.1 FT4. 10-nov-2001 * Added NetscapeDemo demo application. Demonstrates how to receive messages dropped from Netscape. This demo was sponsored by ThoughtShare Communications Inc. * Released for test as v4.1 FT3. 23-oct-2001 * Conversion priority of TURLDataFormat has been changed to give the File Group Descritor formats priority over the Internet Shortcut format. This resolves a problem where dropping an URL on the desktop would cause the desktop to assume that an Active Desktop item was to be created instead of an Internet Shortcut. Thanks to Allen Martin for reporting this problem. By luck this modification also happens to work around a bug in Mozilla and Netscape 6; Mozilla incorrectly supplies the UniformResourceLocator clipboard format in unicode format instead of ANSI format. Thanks to Florian Kusche for reporting this problem. * Added support for TFileGroupDescritorWClipboardFormat to TURLDataFormat. * Added declaration of FD_PROGRESSUI to DragDropFormats. * Added TURLWClipboardFormat which implements the "UniformResourceLocatorW" (a.k.a. CFSTR_INETURLW) clipboard format. Basically a Unicode version of CFSTR_SHELLURL/CFSTR_INETURL. The TURLWClipboardFormat class isn't used anywhere yet but will probably be supported by TURLDataFormat (and thus TDropURLTarget/TDropURLSource) in a later release. * Added experimental Shell Drag Image support. This relies on undodumented shell32.dll functions and probably won't be fully support before v4.2 (if ever). See InitShellDragImage in DropSource.pas. Thanks to Jim Kueneman for bringning these functions to my attention. 13-oct-2001 * TCustomDropSource.Destroy and TCustomDropMultiSource.Destroy changed to call FlushClipboard instead of EmptyClipboard. This means that clipboard contents will be preserved when the source application/component is terminated. * Added clipboard support to VirtualFileStream demo. * Modified VirtualFileStream demo to work around clipboard quirk with IStream medium. * Modified TCustomSimpleClipboardFormat to disable TYMED_ISTORAGE support by default. At present TYMED_ISTORAGE is only supported for drop targets and enabling it by default in TCustomSimpleClipboardFormat.Create caused a lot of clipboard operations (e.g. copy/paste of text) to fail. Thanks to Michael J Marshall for bringing this problem to my attention. * Modified TCustomSimpleClipboardFormat to read from the the TYMED_ISTREAM medium in small (1Mb) chunks and via a global memory buffer. This has resultet in a huge performance gain (several orders of magnitude) when transferring large amounts of data via the TYMED_ISTREAM medium. 3-oct-2001 * Fixed bug in TCustomDropSource.SetImageIndex. Thanks to Maxim Abramovich for spotting this. * Added missing default property values to TCustomDropSource. Thanks to Maxim Abramovich for spotting this. * DragDrop.pas and DragDropContext.pas updated for Delphi 4. * Reimplemented utility to convert DFM form files from Delphi 5/6 test format to Delphi 4/5 binary format. * Improved unregistration of Shell Extensions. Shell extension now completely (and safely) remove their registry entries when unregistered. * Deprecated support for C++ Builder 3. * Released for test as v4.1 FT2. 25-sep-2001 * Rewritten ContextMenuHandlerShellExt demo. The demo is now actually a quite useful utility which can be used to register and unregister ActiveX controls, COM servers and type libraries. It includes the same functionality as Borland's TRegSvr utility. 20-sep-2001 * Added support for cascading menus, ownerdraw and menu bitmaps to TDropContextMenu component. * Modified TFileContentsStreamOnDemandClipboardFormat to handle invalid parameter value (FormatEtcIn.lindex) when data is copied to clipboard. This works around an apparent bug in the Windows clipboard. Thanks to Steve Moss for reporting this problem. * Modified TEnumFormatEtc class to not enumerate empty clipboard formats. Thanks to Steve Moss for this improvement. 1-sep-2001 * Introduced TCustomDropTarget.AutoRegister property. The AutoRegister property is used to control if drop target controls should be automatically unregistered and reregistered when their window handle is recreated by the VCL. If AutoRegister is True, which is the default, then automatic reregistration will be performed. This property was introduced because the hidden child control, which is used to monitor the drop target control's window handle, can have unwanted side effects on the drop target control (e.g. TToolBar). * Deprecated support for Delphi 3. 22-jun-2001 * Redesigned TTextDataFormat to handle RTF, Unicode, CSV and OEM text without conversion. Moved TTextDataFormat class to DragDropText unit. Added support for TLocaleClipboardFormat. * Surfaced new text formats as properties in TDropTextSource and TDropTextTarget. Previous versions of the Text source and target components represented all supported text formats via the Text property. In order to enable users to handle the different text formats independantly, the text source and target components now has individual properties for ANSI, OEM, Unicode and RTF text formats. The text target component can automatically synthesize some of the formats from the others (e.g. OEM text from ANSI text), but applications which previously relied on all formats being represented by the Text property will have to be modified to handle the new properties. * Added work around for problem where TToolBar as a drop target would display the invisible target proxy window. * Fixed wide string bug in WriteFilesToZeroList. Thanks to Werner Lehmann for spotting this. 15-jun-2001 * Added work-around for Outlook Express IDataObject.QueryGetData quirk. 3-jun-2001 * Ported to C++ Builder 4 and 5. * Added missing DragDropDesign.pas unit to design time packages. * First attempt at C++ Builder 3 port.... failed. * Improved handling of oversized File Group Descriptor data. * Added support for IStorage medium to TFileContentsStreamClipboardFormat. This allows the TDropComboTarget component to accept messages dropped from Microsoft Outlook. This work was sponsored by ThoughtShare Communications Inc. 23-may-2001 * Ported to Delphi 4. * First attempt at C++ Builder 5 port.... failed. 18-may-2001 * Released as version 4.0. Note: Version 4.0 was released exclusively on the Delphi 6 Companion CD. * ContextMenuDemo and DropHandlerDemo application has been partially rewritten and renamed. ContextMenuDemo is now named ContextMenuHandlerShellExt. DropHandlerDemo is now named DropHandlerShellExt. * TDropContextMenu component has been rewitten. The TDropContextMenu now implements a context menu handler shell extension. In previous releases it implemented a drag drop handler shell extension. * The DragDropHandler.pas unit which implements the TDropHandler component has been renamed to DropHandler.pas. * Added new TDragDropHandler component. The new component, which lives in the DragDropHandler unit, is used to implement drag drop handler shell extensions. * Added DragDropHandlerShellExt demo application. * Removed misc incomplete demos from kit. * Fixed minor problem in VirtualFileStream demo which caused drops from the VirtualFile demo not to transfer content correctly. 11-may-2001 * Converted all demo forms to text DFM format. This has been nescessary to maintain compatibility between all supported versions of Delphi. * Fixed a bug in GetPIDLsFromFilenames which caused drag-link of files (dtLink with TDropFileSource) not to work. * Added readme.txt files to some demo applications. * Added missing tlb and C++ Builder files to install kit. * Released as FT4. 6-may-2001 * Added missing dfm files to install kit. * Tested with Delphi 5. Fixed Delphi 5 compatibility error in main.dfm of DragDropDemo. * Removed misc compiler warnings. * The AsyncTransferTarget and OleObjectDemo demos were incomplete and has been removed from the kit for the V4.0 release. The demos will be included in a future release. * Released as FT3. 3-may-2001 * Added missing dpr and bpg files to install kit. * Updated readme.txt with regard to lack of C++ Builder demos. * Released as FT2. 29-apr-2001 * Cleaned up for release. * Released as FT1. 23-feb-2001 * Modified TCustomDropTarget.FindTarget to handle overlapping targets (e.g. different targets at the same position but on different pages of a page control or notebook). Thanks to Roger Moe for spotting this problem. 13-feb-2001 * Renamed AsyncTransfer2 demo to AsyncTransferSource. * Added AsyncTransferTarget demo. * Replaced TChart in AsyncTransfer2 demo with homegrown pie-chart-thing. * Modified all IStream based target formats to support incremental transfer. * URW533 problem has finally been fixed. The cause of the problem, which is a bug in Delphi, was found by Stefan Hoffmeister. * Fixed free notification for TDropContextmenu and TDataFormatAdapter. 27-dec-2000 * Moved TVirtualFileStreamDataFormat and TFileContentsStreamOnDemandClipboardFormat classes from VirtualFileStream demo to DragDropFormats unit. * Added TClipboardFormat.DataFormat and TClipboardFormats.DataFormat property. * Added TDropEmptySource and TDropEmptyTarget components. These are basically do-nothing components for use with TDataFormatAdapter. * Rewritten AsyncTransfer2 demo. The demo now uses TDropEmptySource, TDataFormatAdapter and TVirtualFileStreamDataFormat to transfer 10Mb of data with progress feedback. * Rewritten VirtualFileStream demo. The demo now uses TDropEmptySource, TDropEmptyTarget, TDataFormatAdapter and TVirtualFileStreamDataFormat. * Fixed memory leak in TVirtualFileStreamDataFormat. This leak only affected the old VirtualFileStream demo. * Added support for full File Descriptor attribute set to TVirtualFileStreamDataFormat. It is now possible to specify file attributes such as file size and last modified time in addition to the filename. I plan to add similar features to the other classes which uses FileDescriptors (e.g. TDropFileSource and TDropFileTarget). 21-dec-2000 * Ported to Delphi 4. * Added workaround for design bug in either Explorer or the clipboard. Explorer and the clipboard's requirements to the cursor position of an IStream object are incompatible. Explorer requires the cursor to be at the beginning of stream and the clipboard requires the cursor to be at the end of stream. 15-dec-2000 * Fixed URW533 problem. I'll leave the description of the workaround in here for now in case the problem resurfaces. 11-dec-2000 * Fixed bug in filename to PIDL conversion (GetPIDLsFromFilenames) which affected TDropFileTarget. Thanks to Poul Halgaard J鴕gensen for reporting this. 4-dec-2000 * Added THTMLDataFormat. * Fixed a a few small bugs which affected clipboard operations. * Added {$ALIGN ON} to dragdrop.inc. Apparently COM drag/drop requires some structures to be word alligned. This change fixes problems where some of the demos would suddenly stop working. * The URW533 problem has resurfaced. See the "Known problems" section below. 13-nov-2000 * TCopyPasteDataFormat has been renamed to TFeedbackDataFormat. * Added support for the Windows 2000 "TargetCLSID" format with the TTargetCLSIDClipboardFormat class and the TCustomDropSource.TargetCLSID property. * Added support for the "Logical Performed DropEffect" format with the TLogicalPerformedDropEffectClipboardFormat class. The class is used internally by TCustomDropSource. 30-oct-2000 * Added ContextMenu demo and TDropContextMenu component. Demonstrates how to customize the context menu which is displayed when a file is dragged with the right mouse button and dropped in the shell. * Added TCustomDataFormat.GetData. With the introduction of the GetData method, Data Format classes can now be used stand-alone to extract data from an IDataObject. 20-oct-2000 * Added VirtualFileStream demo. Demonstrates how to use the "File Contents" and "File Group Descritor" clipboard formats to drag and drop virtual files (files which doesn't exist physically) and transfer the data on-demand via a stream. 14-oct-2000 * Added special drop target registration of TCustomRichEdit controls. TCustomRichEdit needs special attention because it implements its own drop target handling which prevents it to work with these components. TCustomDropTarget now disables a rich edit control's built in drag/drop handling when the control is registered as a drop target. * Added work around for Windows bug where IDropTarget.DragOver is called regardless that the drop has been rejected in IDropTarget.DragEnter. 12-oct-2000 * Fixed bug that caused docking to interfere with drop targets. Thanks to G. Bradley MacDonald for bringing the problem to my attention. 30-sep-2000 * The DataFormats property has been made public in the TCustomDropMultiTarget class. * Added VirtualFile demo. Demonstrates how to use the TFileContentsClipboardFormat and TFileGroupDescritorClipboardFormat formats to drag and drop a virtual file (a file which doesn't exist physically). 28-sep-2000 * Improved drop source detection of optimized move. When an optimized move is performed by a drop target, the drop source's Execute method will now return drDropMove. Previously drCancel was returned. The OnAfterDrop event must still be used to determine if a move operation were optimized or not. * Modified TCustomDropTarget.GetPreferredDropEffect to get data from the current IDataObject instead of from the VCL global clipboard. 18-sep-2000 * Fixed bug in DropComboTarget caused by the 17-sep-2000 TStreams modification. 17-sep-2000 * Added AsyncTransfer2 demo to demonstrate use of TDropSourceThread. * Renamed TStreams class to TStreamList. 29-aug-2000 * Added TDropSourceThread. TDropSourceThread is an alternative to Windows 2000 asynchronous data transfers but also works on other platforms than Windows 2000. TDropSourceThread is based on code contributed by E. J. Molendijk. 24-aug-2000 * Added support for Windows 2000 asynchronous data transfers. Added IAsyncOperation implementation to TCustomDropSource. Added TCustomDropSource.AllowAsyncTransfer and AsyncTransfer properties. 5-aug-2000 * Added work around for URW533 compiler bug. * Fixed D4 and D5 packages and updated a few demos. Obsolete DropMultiTarget were still referenced a few places. * Documented work around for C++ Builder 5 compiler error. See the Known Problems section later in this document for more information. 2-aug-2000 * The package files provided in the kit is now design-time only packages. In previous versions, the packages could be used both at design- and run-time. The change was nescessary because the package now contains design-time code. * Added possible work around for suspected C++ Builder bug. The bug manifests itself as a "Overloadable operator expected" compile time error. See the "Known problems" section of this document. * Rewrote CustomFormat1 demo. * Added CustomFormat2 demo. * TDataDirection members has been renamed from ddGet and ddSet to ddRead and ddWrite. * All File Group Descritor and File Contents clipboard formats has been moved from the DragDropFile unit to the DragDropFormats unit. * File Contents support has been added to TTextDataFormat. The support is currently only enabled for drop sources. * Renamed TDropMultiTarget component to TDropComboTarget. Note: This will break applications which uses the TDropMultiTarget component. You can use the following technique to port application from previous releases: 1) Install the new components. 2) Repeat step 3-8 for all units which uses the TDropMultiTarget component. 3) Make a backup of the unit (both pas and dfm file) just in case... 4) Open the unit in the IDE. 5) In the .pas file, replace all occurances of "TDropMultiTarget" with "TDropComboTarget". 6) View the form as text. 7) Replace all occurances of "TDropMultiTarget" with "TDropComboTarget". 8) Save the unit. * Renamed a lot of demo files and directories. * Added work around for yet another bug in TStreamAdapter. * Added TCustomStringClipboardFormat as new base class for TCustomTextClipboardFormat. This changes the class hierachy a bit for classes which previously descended from TCustomTextClipboardFormat: All formats which needs zero termination now descend from TCustomTextClipboardFormat and the rest descend from TCustomStringClipboardFormat. Added TrimZeroes property. Fixed zero termination bug in TCustomTextClipboardFormat and generally improved handling of zero terminated strings. Disabled zero trim in TCustomStringClipboardFormat and enabled it in TCustomTextClipboardFormat. 23-jul-2000 * Improved handling of long file names in DropHandler demo. Added work around for ParamStr bug. * Added TDataFormatAdapter component and adapter demo. TDataFormatAdapter is used to extend the existing source and target components with additional data format support without modifying them. It can be considered an dynamic alternative to the current TDropMultiTarget component. 17-jul-2000 * TDropHandler component and DropHandler demo fully functional. 14-jul-2000 * Tested with C++ Builder 5. * Fixed sporadic integer overflow bug in DragDetectPlus function. * Added shell drop handler support with TDropHandler component. This is a work in progress and is not yet functional. 1-jul-2000 * Tested with Delphi 4. * Support for Windows 2000 inter application drag images. * TRawClipboardFormat and TRawDataFormat classes for support of arbitrary unknown clipboard formats. The classes are used internally in the TCustomDropSource.SetData method to support W2K drag images.
Platform: | Size: 2130304 | Author: smj_9547 | Hits:

[PHPPHP安全,第二版

Description: Pro PHP Security is arguably the most comprehensive PHP security book available, and is highly recommended to any developer or administrator of a PHP-based Web site. — Michael J. Ross, Web developer/Slashdot contributor Pro PHP Security is one of the first books devoted solely to PHP security. It will serve as your complete guide for taking defensive and proactive security measures within your PHP applications. (And the methods discussed are compatible with PHP versions 3, 4, and 5.) The knowledge you’ll gain from this comprehensive guide will help you prevent attackers from potentially disrupting site operation or destroying data. And you’ll learn about various security measures, for example, creating and deploying “captchas,” validating e-mail, fending off SQL injection attacks, and preventing cross-site scripting attempts. About the Author Chris Snyder is a software engineer at Fund for the City of New York, where he helps develop next-generation websites and services for nonprofit organizations. He is a member of the Executive Board of New York PHP, and has been looking for new ways to build scriptable, linked, multimedia content since he saw his first Hypercard stack in 1988. Michael Southwell is a retired English professor who has been developing websites for more than 10 years in the small business, nonprofit, and educational areas, with special interest in problems of accessibility. He has authored and co-authored 8 books and numerous articles about writing, writing and computers, and writing education. He is a member of the Executive Board of New York PHP, and a Zend Certified Engineer.
Platform: | Size: 3714563 | Author: sunshine1988 | Hits:

[matlabjobshopingmatlab

Description: 车间调度(matlab).rar 1、初始化参数: 族群 60,循环500次,交叉0。8 变异 0。6 代沟0。9 2、初始化群:按调度优先级编码,比如 3个零件,每个零件3个工序,就初始化: 1、3、4、5、6、7、8、9、2 2、1、3、4、5、6、7、8、9 等等 -Shop scheduling (matlab). Rar 1, initialization parameters: group 60, the cycle 500 times, cross 0.8 Variation 0.6 generation gap 0.9 2, initialization group: by scheduling priority encoding, for example, three parts , three processes for each part, on the initialization: 1,3,4,5,6,7,8,9,2 2,1,3,4,5,6,7,8,9, etc.
Platform: | Size: 51200 | Author: 李劲 | Hits:

[Embeded Linuxblackfin-toolchain-gcc-3.4-addon-08r1.5-14.i386.ta

Description: ADI公司Blackfin系列处理器的交叉编译器,用来在主机上交叉编译应用程序-ADI Corporation Blackfin family of processors cross compiler, used to host cross compiler applications
Platform: | Size: 5657600 | Author: 黄毅 | Hits:

[JSP/Javajdic-0.9.5-src

Description: JDesktop Integration Components (JDIC),这是一个开源的项目,目的是构建消除本机应用程序和 Java 等价物之间差距的组件。JDIC 单一的 Java API 允许应用程序接进本机操作系统特性,同时保持跨平台支持。它目前提供了本机 Web 浏览器(Internet Explorer 或 Mozilla) 支持、系统托盘支持、文件扩展集成和其他桌面特性。-JDesktop Integration Components (JDIC), this is an open source project to build the elimination of the local Java applications, and the gap between equivalent components. JDIC single Java API access permit applications into the local operating system features, while maintaining cross-platform support. It currently provides a local Web browser (Internet Explorer or Mozilla) support, system tray support, file extensions and other desktop integration features.
Platform: | Size: 2697216 | Author: | Hits:

[Embeded Linuxgcc-3.4.5-glibc-2.3.6_by-ubuntu_for-kernel-2.6.28.

Description: 自己做的交叉编译工具!gcc-3.4.5,glibc-2.3.6在ubuntu8.04上做的面向kernel-2.6.28的交叉编译工具-Own cross-compiler tool! gcc-3.4.5, glibc-2.3.6 in ubuntu8.04 do kernel-2.6.28-oriented cross-compiler tools
Platform: | Size: 44666880 | Author: 赵星 | Hits:

[Shell apigcc-core-3.4.2-20040916-1-src.tar

Description: 为ARM建立交叉编译环境所需要的工具g-Cross compiler for ARM to establish the tools needed to environment gcc
Platform: | Size: 14096384 | Author: china | Hits:

[Linux-Unixgcc-3.4.5-glibc-2.3.6.tar

Description: at91sam9260的交叉编译工具链 直接解压就可以用-at91sam9260 cross-compiler tool chain can be used on direct decompression
Platform: | Size: 46449664 | Author: 金敏 | Hits:

[Linux-UnixQTE4.5.2_2410

Description: 开发环境: QTE4.5.2移植到2410过程 操作系统:Vmware6.5+ubuntu 8.04 交叉工具链:arm-linux-gcc-3.4.1 目标:GEC2410+NEC 3.5寸 -Development Environment: QTE4.5.2 transplanted to 2410 the process of the operating system: Vmware6.5+ ubuntu 8.04 cross tool chain: arm-linux-gcc-3.4.1 Goals: GEC2410+ NEC 3.5-inch
Platform: | Size: 6144 | Author: hxw | Hits:

[Embeded Linuxarm-linux-gcc-3.4.5-gdb-6.8-insight-6.8-cygwin.tar

Description: cygwin下的arm交叉编译工具 包括: arm-linux-gcc-3.4.5 arm-linux-gdb-6.8 arm-linux-insight-6.8 -cygwin under the arm cross compiler tools include: arm-linux-gcc-3.4.5 arm-linux-gdb-6.8 arm-linux-insight-6.8
Platform: | Size: 59352064 | Author: tufei | Hits:

[Embeded Linuxarm-linux-gcc-3.4.5.tar

Description: linux 下 arm 交叉编译工具: arm-linux-gcc-3.4.5 支持软件浮点运算,-arm cross-compiler under linux: arm-linux-gcc-3.4.5
Platform: | Size: 44429312 | Author: tufei | Hits:

[Delphi/CppBuilderDelphi-master-breakthrough

Description: 本书以理论结合实践的方式,论述“如何在Delphi中使用面向对象编程方法,构建良好设计的程序”的主题。本书第1、2、3章以不同于一般书籍的方式,介绍面向对象编程的基础知识及其在Object Pascal中的语言实现。第4、5章介绍VCL库的相关知识,其中第4章为您剖析部分VCL的核心组件源码,第5章介绍定制、设计组件的方法。第6、7章介绍程序构架设计,其中第6章介绍一般性的代码设计准则,其内容可以完全脱离Delphi,因为这些准则是跨语言的;第7章是一个完整的代码设计实例,以编写一个多工作区的文本编辑器为例,从实践角度说明程序构架设计的方法。-This book combines practical way of theory, discusses "how to use the Delphi method of object-oriented programming to build a good program design" theme. 1,2,3 chapter of this book different from books to introduce the basics of object-oriented programming and its application in Object Pascal in the language. Chapter No. 4,5 VCL library of knowledge, of which Chapter 4 as part of your analysis of the core component VCL source code, Chapter 5 introduces customization, design component. Section 6,7 chapter program architecture design, which Chapter 6 describes a general code design criteria, which can be completely out of Delphi, Because these guidelines are cross-language Chapter 7 is a complete design example of code to write more than one workspace in a text editor, for example, from the practical point of view that procedural framework designs.
Platform: | Size: 1799168 | Author: shirly | Hits:

[JSP/JavaEclipse_Rich_Client_Platform_2nd_Edition

Description: In Eclipse Rich Client Platform, Second Edition, three Eclipse Rich Client Platform (RCP) project leaders show how to use Eclipse 3.5 (“Galileo”) to rapidly deliver cross-platform applications with rich, native-feel GUIs.
Platform: | Size: 6344704 | Author: michael | Hits:

[Linux-Unixgcc-3.4.5-glibc-2.3.6

Description: 交叉编译器gcc-3.4.5-glibc-2.3.6.zip-Cross compiler gcc-3.4.5-glibc-2.3.6.zip
Platform: | Size: 65812480 | Author: jieren | Hits:

[Linux-Unixgcc-4.0.2-glibc-2.3.5

Description: 交叉编译工具,gcc-4.0.2-glibc-2.3.5,已经做好的,直接可以解压缩用的。-Cross-compilation tools, gcc-4.0.2-glibc-2.3.5, already do a good job, you can decompress directly used.
Platform: | Size: 44719104 | Author: qujiannan | Hits:

[Button controlXbPhp_v1.4.5

Description: Xbphp是一个结合了thinkphp、cakephp和smatry等不同写法的php开源框架。 1、实现智能化目录加载,无需定义目录 2、实现定时缓存(减少查询次数,静态缓存数据,压缩缓存数据,提高执行效率) 3、自带了小型模版引擎机制 4、结合了CakePHP+ThinkPHP的写法 5、实现自动跨环境与跨平台的兼容,无需在修改配置-Xbphp is a combination of ThinkPHP, CakePHP and smatry in a different way the PHP open source framework. 1, to achieve intelligent directory loading, no need to define the directory 2, to achieve a regular cache (reducing the number of times, the static cache data, data compression, improve the efficiency of the implementation) 3, comes with a small template engine mechanism 4, combined with the CakePHP+ThinkPHP method 5, realize the automatic cross environment and cross platform compatibility, no need to modify the configuration
Platform: | Size: 476160 | Author: jiang | Hits:

[Web Serverkangle-3.4.8

Description: 产品介绍 kangle web服务器( 简称:kangle ) 是一款跨平台、轻量级,功能强大、易操作的高性能web服务器和反向代理服务器软件。 适用平台 linux、windows、freebsd、openbsd、netbsd、solaris等。 -product description Kangle web server (kangle) is a cross-platform, lightweight, powerful, easy to operate high-performance web server and reverse proxy server software. Applicable platform Linux, windows, freebsd, openbsd, netbsd, solaris and so on.
Platform: | Size: 3692544 | Author: 张腾飞 | Hits:
« 12 3 4 5 6 7 »

CodeBus www.codebus.net