Welcome![Sign In][Sign Up]
Location:
Search - html help view

Search list

[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:

[Algorithmhyplas

Description: ************************************************************************ * * * * * THIS IS THE H Y P L A S 2.0 README FILE * * ----------------- * * * * HYPLAS is a finite element program for implicit small and large * * strain analisys of hyperelastic and elasto-plastic two-dimensional * * and axisymmetric solids * * * * HYPLAS v2.0 is the companion software to the textbook: * * EA de Souza Neto, D Peric & DRJ Owen. Computational Methods for * * Plasticity: Theory and Applications. Wiley, Chichester, 2008. * * (www.wiley.com/go/desouzaneto) * * * * Copyright (c) 1998-2008 EA de Souza Neto, D Peric, D.R.J. Owen * *----------------------------------------------------------------------* * File last updated: 18 October 2008 * * * * This file belongs in the directory ../HYPLAS_v2.0 * ************************************************************************ * * * I M P O R T A N T * * * * READ SECTIONS 0 TO 3 OF THIS FILE CAREFULLY BEFORE ATTEMPTING * * TO COMPILE AND RUN THE PROGRAM HYPLAS ON YOUR COMPUTER !! * * * * THE AUTHORS DO NOT GUARANTEE THAT ANY SUGGESTIONS/INSTRUCTIONS * * GIVEN IN THIS README FILE WILL WORK ON ANY PARTICULAR OPERATING * * SYSTEM. IF YOU DECIDE TO FOLLOW ANY SUGGESTIONS/INSTRUCTIONS * * GIVEN HERE YOU MUST DO SO AT YOUR OWN RISK. * * * * * * BUG REPORTS: Please send bug reports to * * * * hyplas_v2.0@live.co.uk * * * * Messages sent to the authors' personal email addresses * * will NOT be answered. * ************************************************************************ This file contains the following sections: 0. Copyright statement and disclaimer 0.(a) Copyright statement 0.(b) Disclaimer 0.(c) Conditions of use 1. Introduction 1.(a) Note on portability 2. Compiling and running HYPLAS 2.(a) Memory requirements 2.(b) Testing a newly compiled executable 3. The HYPLAS directory tree 4. Cross-referencing between the source code and the textbook 5. HYPLAS error messaging 6. Further remarks on HYPLAS ************************************************************************ 0. COPYRIGHT STATEMENT AND DISCLAIMER ================================== 0.(a) Copyright statement ------------------- You may only use this program for your own private purposes. You are not allowed, in any circumstances, to distribute this program (including its source code, executable and any other files related to it, either in their original version or any modifications introduced by you, the authors or any other party) in whole or in part, either freely or otherwise, in any medium, without the prior written consent of the copyright holders. 0.(b) Disclaimer ---------- This program (including its source code, executable and any other files related to it) is provided "as is" without warranty of any kind, either expressed or implied, including, but not limited to, any implied warranties of fitness for purpose. In particular, THIS PROGRAM IS BY NO MEANS GUARANTEED TO BE FREE FROM ERRORS. This program (or any modification incorporated to it by you, the authors or any other party) will run entirely at your risk. The results produced by this program are in no way guaranteed to be fit for any purpose. Under no circumstances will the authors/copyright holders be liable to anyone for damages, including any general, special, incidental or consequential damages arising from the use or inability to use the program (including, but not limited to, loss or corruption of data, failure of the program to operate in any particular way as well as damages arising from the use of any results produced by the program for any purpose). 0.(c) Conditions of use ----------------- You may only use this program if you fully understand and agree with the terms of the above disclaimer. You must not use this program if you do not agree with or do not understand (fully or in part) these conditions of use. 1. INTRODUCTION ============ HYPLAS is a finite element code for small and large strain analysis of hyperelastic and elasto-plastic solids. Most procedures implemented in HYPLAS are described in detail in its companion textbook: EA de Souza Neto, D Peric & DRJ Owen. Computational Methods for Plasticity: Theory and Applications. Wiley, Chichester, 2008 (www.wiley.com/go/desouzaneto). 1.(a) Note on Portability ------------------- HYPLAS has been written in standard ANSI FORTRAN 77. Currently, the only known (and deliberate) exceptions to the FORTRAN 77 ANSI standard are the instructions: INCLUDE '' used in many routines to include the HYPLAS database files (common blocks and global variables), and; CALL GETENV('HYPLASHOME',HYPLASHOME) used in subroutine "ERRPRT" (file ../HYPLAS_v2.0/src/GENERAL/errprt.f). This instruction inquires the name of the system environment variable HYPLASHOME and writes it on the character string HYPLASHOME. This instruction is NOT part of the ANSI FORTRAN 77 standard, but seems to work in most currently available FORTRAN 77 compilers. 2. COMPILING AND RUNNING H Y P L A S ================================== The HYPLAS source code is stored in directory ../HYPLAS_v2.0/src/ (../HYPLAS_v2.0/ being the current directory) and all its subdirectories. To generate an executable file, you just need to compile the FORTRAN source files: ../HYPLAS_v2.0/src/hyplas.f and ../HYPLAS_v2.0/src/*/*.f together. We recommend that the executable HYPLAS be stored in the directory ../HYPLAS_v2.0/bin to which the environment variable HYPLASHOME should be set (see below how to set a system environmental variable). WINDOWS (R) systems ------------------- On Microsoft Windows(R) systems, HYPLAS has been successfully compiled using Intel Visual Fortran Compiler(R) integrated with Microsoft Visual Studio(R). Here you only need to create a project that contains all Fortran source files mentioned above as well as the include files ..\HYPLAS_v2.0\src\*.INC On a Windows XP system, the system environment variable HYPLASHOME can be set as follows: 1. Open a File Manager 2. Right-click on the "My Computer" icon 3. Select "Properties" on the drop-down menu 4. A new window named "System Properties" will pop-up. Here select the "Advanced" tab. 5. On the "Advanced" tab, click the "Environment Variables" button. 6. A new window titled "Environment Variables" will pop-up. Here click the button "New" in the "System Variables" section of the window. 7. A new window will pop-up titled "New System Variable". Here you should fill the fields "Variable name" and "Variable Value", respectively, with HYPLASHOME and the path name (in full) of the directory ..\HYPLAS_v2.0\bin. 8. Press "OK" on the relevant pop-up windows. 9. The next time the computer is REBOOTED, this variable will be set to the correct path and HYPLAS should be able to find the error messages file ERROR.RUN if required. UNIX/LINUX systems ------------------ In a UNIX/LINUX operating system using a C-shell, for instance, the HYPLASHOME environment variable should be set with the command: setenv HYPLASHOME where here denotes the full path to the directory ../HYPLAS_v2.0/bin. To compile HYPLAS (from directory ../HYPLAS_v2.0/src) with a FORTRAN 77 compiler such as g77, you can use the command: g77 -o ../bin/hyplas hyplas.f */*.f Note that the executable file "hyplas" will be stored in the directory ../HYPLAS_2.0/bin (i.e. the directory set in the HYPLASHOME environment variable). Alternatively, you may use the Makefile provided (with suitable modifications, if needed) to create the HYPLAS executable. IMPORTANT: Before generating a HYPLAS executable, read Sections 2.(a) and 2.(b) below. 2.(a) Memory Requirements ------------------- HYPLAS memory requirements depend on the array dimensioning parameters set in files: ../HYPLAS_v2.0/src/ ELEMENTS.INC GLBDBASE.INC MATERIAL.INC MAXDIM.INC Files ELEMENTS.INC, GLBDBASE.INC and MATERIAL.INC contain parameters which are associated with the currently implemented finite elements and materials. DO NOT MODIFY THEM ! unless you are absolutely sure of what you are doing (only developers coding new elements or new material models/analysis types may need to modify them by changing the existing dimensioning parameters and/or including new parameters). The ONLY dimensioning file that can be safely modified by the average user is the file MAXDIM.INC This file contains the array dimensioning parameters related to the maximum permissible dimension of problems to be analysed by HYPLAS. These parameters include the maximum number of nodes, elements, element groups, etc. If necessary, CHANGE THESE PARAMETERS TO SUIT YOUR PROBLEM SIZE/MEMORY REQUIREMENTS before compiling HYPLAS. 2.(b) Testing a newly compiled executable ----------------------------------- After you have successfully compiled the HYPLAS source code and created an executable file, the next step is to run some tests to verify that HYPLAS is working well. To do this, proceed as follows: The directory ../HYPLAS_v2.0/book_examples/data_files contains a series of data files named .dat of benchmarked examples described in the companion textbook. The corresponding (benchmarked) result files are in the directory ../HYPLAS_v2.0/book_examples/result_files This directory contains a series of result files named .res generated with the current version of HYPLAS on a tested platform. All these files have been named such that their names start with the textbook section number where the corresponding example is described. For instance, files 14_9_2_tresca.dat and 14_9_2_tresca.res refer to a problem described in section 14.9.2 of the textbook, and so on. To check that HYPLAS is working well on your platform, after compiling HYPLAS, run the program HYPLAS for the examples of files .dat and compare the newly generated results .res with their benchmarked counterparts (of the same filename) in the result_files directory. To run an example, execute HYPLAS and use the keyboard to enter the name of the corresponding data file in full (including the extension .dat). To compare the benchmarked .res files against their newly generated you may proceed as follows: 1. On MICROSOFT WINDOWS systems - Here we have successfully used the software "ExamDiff" (the task was made particularly easy by selecting "View" and then the "Show Differences Only" option - this refers to version 1.8 of this software). 2. On UNIX/LINUX systems - Here we use the "diff" command from a shell window (and set the option to ignore blank spaces). A shell script may be used to perform this task automatically (including running HYPLAS and checking for result file differences) for all benchmarked examples provided. IMPORTANT: THE ONLY ACCEPTABLE DIFFERENCES BETWEEN A THE NEWLY GENERATED RESULT FILES AND THEIR BENCHMARKED COUNTERPARTS ARE THE DIMENSIONING PARAMETERS (FROM FILE MAXDIM.INC) USED TO COMPILE THE NEW EXECUTABLE (THESE PARAMETERS ARE PRINTED RIGHT AT THE BEGINNING OF THE RESULT FILES) AND NUMERICAL DIFFERENCES IN RESULTS DUE TO NUMERICAL "ROUNDING-OFF" (THESE ARE VERY SMALL DIFFERENCES THAT DEPEND ON THE PRECISION OF ARITHMETIC OPERATIONS IN THE PLATFORM USED). ALSO NOTE THAT THE EXAMPLES OF THE COMPANION TEXTBOOK DO NOT COVER ALL FEATURES OF HYPLAS. HENCE THIS TEST DOES NOT GUARANTEE THAT EVERYTHING IS WORKING PROPERLY. 3. THE H Y P L A S DIRECTORY TREE ================================ 3.(a) Summary ------- ../ HYPLAS_v2.0/ bin/ book_examples/ data_files/ result_files/ man/ html/ src/ CRYSTAL/ DAMAGE/ DAMAGED_ELASTIC/ DRUCKER_PRAGER/ ELASTIC/ ELEMENTS/ GENERAL/ MATERIALS/ MATHS/ MOHR_COULOMB/ OGDEN/ TRESCA/ VON_MISES/ VON_MISES_MIXED/ 3.(b) Description ----------- The HYPLAS program directory tree is organised as follows: ../HYPLAS_v2.0/ (this directory) This is the HYPLAS root directory, where the HYPLAS directory tree starts. ../HYPLAS_v2.0/bin/ This directory contains the file ERROR.RUN where most HYPLAS error/warning messages are. IMPORTANT: the environment variable HYPLASHOME should be set to this directory. Otherwise, HYPLAS will not find its error/warning messages when required. We also recommend that the EXECUTABLE of HYPLAS be stored in this directory. ../HYPLAS_v2.0/book_examples/ This directory has the following subdirectories: ../HYPLAS_v2.0/book_examples/data_files ../HYPLAS_v2.0/book_examples/result_files Refer to Section 2.(b) above for further details. ../HYPLAS_v2.0/man/ This is the HYPLAS documentation/manuals directory. It contains the following files: input_man.txt - A concise input data manual for HYPLAS in ASCII format; hyplas_calltree.txt - Contains a flowgraph (shows the call tree) of HYPLAS in ASCII-format. Note: calls to function subprograms are not included in this flowgraph; and the subdirectory: ../HYPLAS_v2.0/man/html This directory contains the hypertext (HTML) format Fortran source code and of manual pages of the entire HYPLAS program. Manual pages with descriptions of each function/subprogram including their argument list are linked to their corresponding HTML-format source code. This allows the user the navigate through the HYPLAS source code using a web browser. To start at the main program, use your web browser to open the file hyplas.html. This facility should be helpful to those trying to understand the flow of program HYPLAS. ../HYPLAS_v2.0/src/ This directory (and its subdirectories) contains the Fortran source code of HYPLAS. The files containing the sources are named following the standard practice: .f where is the name of the FORTRAN procedure (subroutine, function subprogram, etc.) whose source code is in file .f. The source code of the HYPLAS main program is in file hyplas.f and the HYPLAS database (COMMON blocks, array dimensioning parameters and other global parameters) is coded in the "include files" ELEMENTS.INC GLDBASE.INC MATERIAL.INC MAXDIM.INC in this directory. In addition, this directory contains a file named "Makefile" (UNIX-LINUX Release only) which may be used for compiling and linking HYPLAS in UNIX/LINUX systems. The subdirectories of ../HYPLAS_v2.0/src are as follows: ../HYPLAS_v2.0/src/CRYSTAL Contains the source code of all procedures related to the finite strain single crystal plasticity model implemented in HYPLAS. ../HYPLAS_v2.0/src/DAMAGE Source files of the procedures related to the Lemaitre ductile damage model implementation. ../HYPLAS_v2.0/src/DAMAGED_ELASTIC Source files of the procedures related to the damaged elasticity model with crack closure effect. ../HYPLAS_v2.0/src/DRUCKER_PRAGER Source files of the procedures related to the implemented Drucker-Prager plasticity model. ../HYPLAS_v2.0/src/ELASTIC Source files of the procedures related to the linear elasticity model (Hencky model under large strains) implemented. ../HYPLAS_v2.0/src/ELEMENTS Source files of the element interfaces and element-related procedures. ../HYPLAS_v2.0/src/GENERAL Source files of general procedures. ../HYPLAS_v2.0/src/MATERIALS Source files of the material interfaces. ../HYPLAS_v2.0/src/MATHS Source files of the mathematical procedures. ../HYPLAS_v2.0/src/MOHR_COULOMB Source files of the procedures related to the implemented Mohr-Coulomb plasticity model. ../HYPLAS_v2.0/src/OGDEN Source files of the procedures related to the implemented Ogden hyperelasticity model. ../HYPLAS_v2.0/src/TRESCA Source files of the procedures related to the implemented Tresca plasticity model. ../HYPLAS_v2.0/src/VON_MISES Source files of the procedures related to the implemented von Mises plasticity model with isotropic hardening. ../HYPLAS_v2.0/src/VON_MISES_MIXED Source files of the procedures related to the implemented von Mises plasticity model with mixed isotropic/kinematic hardening. 4. CROSS-REFERENCING BETWEEN THE SOURCE CODE AND THE TEXTBOOK ========================================================== Many references are made in the textbook to various subprograms of HYPLAS. These are usually made when a particular procedure described in the text is implemented in the program. The reader should refer to the textbook index. Also, a substantial number of comment lines have been added to the source code of HYPLAS with reference to sections, figures, boxes, etc of the textbook related to the part of the code in question. Such references are usually displayed after the word "REFERENCE:" (in capitals) on commented lines. Searching for this word will take you to the line of code where the particular routine has a reference to the textbook. NOTE: Occasional references to other textbooks/journal papers are also made following the word "REFERENCE:" on commented lines. 5. HYPLAS ERROR MESSAGING ====================== Most error/warning messages issued by HYPLAS are in the ASCII-format file ERROR.RUN (kept in the HYPLASHOME directory - ../HYPLAS_v2.0/bin). All such error/warning messages have an identification code (e.g. ED0015) which is printed both to the standard output (this is usually the computer screen) and to the relevant results file. If you wish to find where in the source code a particular message is being issued, then perform a search for the corresponding message identification code in the entire source code of HYPLAS. 6. FURTHER REMARKS ON HYPLAS ========================= 6.(a) Program efficiency THIS SECTION IS OF INTEREST ONLY TO THOSE WANTING TO MAKE HYPLAS RUN FASTER. It is particularly stressed in the textbook that this program has not been designed having efficiency in mind (refer to Section 5.1.2 of the textbook). Its structure has been designed mainly to illustrate in a relatively clear manner the computer implementation of the techniques and algorithms described in the text, with a particular view to the implementation of solid constitutive models and finite elements. For those who are especially interested in the speed of the code, there are a few tips that could help in this direction. Unfortunately, these involve modifications to the source code which is probably most appropriate to readers with a good level of experience in finite element programming. To those with this particular interest, we can suggest the following: (i) The use of faster linear solvers This is probably the change that would result in a greater gain in efficiency. The Frontal Method adopted in subroutine FRONT (file ../HYPLAS_v2.0/src/GENERAL/front.f) has been designed originally to save memory (back in the days when computer memory was severely limited). There are currently a vast number of methodologies which focus on speeding up the linear solution, in addition to reducing memory storage requirements (which is a particularly important issue in the solution of large scale problems). Some of these are extensions/refinements of the original Frontal solver. We remark that a number of such procedures (with their respective source codes) are available (conditions may apply) from the LAPACK (Linear Algebra PACKage - http://www.netlib.org/lapack) repository or from the HSL Library (http://www.cse.cse.scitech.ac.uk/nag/hsl). For the reader interested in gaining speed, we would recommend the replacement of the existing solver of FRONT by a faster one. We remark though that this is a substantial programming task. Another aspect here is the fact that computing times in FRONT are directly linked to the frontwidth of the system which, in the present version of HYPLAS is fixed and depends, for a given mesh, on how the degrees of freedom are numbered (node numbering). The incorporation of a frontwidth optimiser (which re-numbers the degrees of freedom in order to minimise the frontwidth) in FRONT could produce some good savings in computing times. Such savings become particularly noticeable in larger problems where the original node numbering produces an excessively large frontwidth. (ii) Material-specific computations The issues pointed out here affect only the computing times for specific material models and are expected to have a much lower impact in overall speed than the linear solver issue discussed above. Some of the material model-specific computations carried out in HYPLAS could be made a bit faster. For example, for isotropic models whose stress update is carried out in the principal stress space (such as the Tresca and Mohr-Coulomb models - see routines SUTR and SUMC, files ../HYPLAS_v2.0/src/TRESCA/sutr.f and ../HYPLAS_v2.0/MOHR_COULOMB/sumc.f, respectively) the spectral decomposition of the stress in carried out in the state update update routine and then repeated in the corresponding routine for computation of the consistent tangent operator (refer to files ../HYPLAS_v2.0/src/TRESCA/cttr.f and ../HYPLAS_v2.0/src/MOHR_COULOMB/ctmc.f, respectively, for the Tresca and Mohr-Coulomb plasticity models). Some savings in computing time can be achieved here by storing the stress eigenprojection tensors (these can be stored as state variables) during the execution of the state updating and then retrieving them later for use in the computation of the consistent tangent operator. This change can be incorporated to the code relatively easily. The computation of the exponential map and is derivative for the single crystal plasticity model (routines EXPMAP, file ../HYPLAS_v2.0/src/CRYSTAL/expmap.f and DEXPMP, file ../HYPLAS_v2.0/src/CRYSTAL/dexpmp.f) is carried out in three dimensions (these routines have been adapted from an earlier three-dimensional code). To improve efficiency, these can be adapted to work only in two-dimensional problems by removing the unnecessary operations related to the third dimension. 6.(b) Output of nodal averaged values The reader should be aware that the way in which nodal averaged values of stresses and other variables are calculated in HYPLAS is very basic (and rudimentary). This feature of the program is made available only to help those interested in producing contour plots, etc from results presented in HYPLAS result files and should be useful in many circumstances of interest. This facility has in fact been used in producing many of the figures presented in the textbook. But note, for example, that the values of incremental plastic multipliers for plasticity models may take (inadmissible) negative values when extrapolated from Gauss-point to nodes and averaged. We remark that more sophisticated and refined techniques of transferring Gauss point values of variables to nodal points and obtaining the corresponding smoothed field are available in the current literature. These fall outside the scope of the companion textbook of HYPLAS.
Platform: | Size: 11008084 | Author: gtcewli3 | 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:

[Internet-Networkhtml_help_view

Description: MFC开发文件,内包含帮助View与Doc的头与cpp文件。可以用来制作帮助系统-MFC Development document, which includes help with Doc View head and cpp file. Production can be used to help system
Platform: | Size: 4096 | Author: 何乐 | Hits:

[WEB Codeshopex_singlev472

Description: ShopEx商店系统安装步骤: 【第一步】:将安装包中所有的文件夹和文件用ftp工具以二进制方式上传至服务器空间 (如果您不知如何设置ftp工具的二进制方式,可以查看:(http://www.shopex.cn/support/qa/setup.help.717.html) 【第二步】:在浏览器中输入 http://您的商店域名/install 进行安装界面进行安装即可。 注:如果http://您的商店域名/install 无法找到网页,您可以尝试使用http://您的商店域名/syssite/install/index.htm 进入安装界面。 更为详细的安装说明在/doc/shopex_install文件夹下,如有需要请查看。-ShopEx store system installation steps: [The first step: to install all of the folders and files using ftp tools to upload to the server binary space (If you do not know how to set up ftp tools binary mode, you can view: (http:// www.shopex.cn/support/qa/setup.help.717.html) [second step: In a browser, type http:// your store name/install installation interface can be installed. Note : If your store http:// domain/install can not find the page, you can try to use the http:// your store name/syssite/install/index.htm to enter the installation interface. more detailed installation instructions in the/doc/shopex_install folder, if necessary, please read.
Platform: | Size: 18807808 | Author: 雪浪 | Hits:

[OtherCHM1.0

Description: CHM Builder的编写初衷是收集资料的需要,由于收藏了大量的经典帖子和文章,在阅览和管理上都很不方便,于是动手写一个工具来帮忙管理. 下面介绍CHM Builder(2.0)的功能,然后再从整体功能的角度上考虑如何开发。 1. 可以编译.txt .htm .html 文件成CHM格式电子书 2. 可以反编译CHM电子书为.txt .htm .html 文件 3. 在不编译成电子书的情况下,可以以树形形式阅览收藏的文件,项目可以保存,以便下次继续阅览,而且树形结构可以不断添加新的文件或目录,也可以很方便的修改.这一点是2.0较之1.0版本优越的地方. 4. 网页编辑功能更加强大了,可以对文章方便地修改编辑。 -The preparation of original CHM Builder is the need to collect information, because a lot of the classic collection of posts and articles, in the view and management are very inconvenient, they do write a tool to help management. Here CHM Builder (2.0) function, and then from an overall point of view function to consider how to develop. 1. Can be compiled. Txt . Htm . Html documents into CHM e-book format 2. Can decompile CHM e-book for. Txt . Htm . Html document 3. Not compiled in the case of e-books can be viewed in tree form of the document collection, the project can be saved in order to continue viewing the next, and tree structure can continue to add new files or directories can also be very convenient amend. This is 2.0 compared with version 1.0 of the local superior. 4. Website more powerful editing features, you can easily modify to edit articles.
Platform: | Size: 1777664 | Author: 斯蒂夫 | Hits:

[JSP/Javashopex

Description: ShopEx 商店系统安装步骤: 【第一步】:将安装包中所有的文件夹和文件用ftp工具以二进制方式上传至服务器空间 (如果您不知如何设置ftp工具的二进制方式,可以查看:(http://www.shopex.cn/support/qa/setup.help.717.html) 【第二步】:在浏览器中输入 http://您的商店域名/install 进行安装界面进行安装即可。 注:如果http://您的商店域名/install 无法找到网页,您可以尝试使用http://您的商店域名/install/index.php 进入安装界面。 -ShopEx shop system installation steps: 【first】: The installation package of all the folders and files in binary mode with ftp tool to upload to the server space (If you do not know how to set binary mode ftp tool, you can view: (http :// www.shopex.cn/support/qa/setup.help.717.html)】 【next step: in the browser, enter http:// domain name of your store/install installation interface can be installed. Note: If your store http:// domain/install can not find the page, you can try to use http:// to your store domain/install/index.php enter the installation interface.
Platform: | Size: 10771456 | Author: chenhaofei | Hits:

[File OperateVCPrjToHtml

Description: 大部分VC编程的朋友都遇到过这种情况:写过的一大堆工程代码在硬盘里放着,有时候想找某个工程的源代码查看都找不到,同时一些不舍得删又没多大用的工程放在哪儿也占地方,像我就下载了很多教程的配套源代码,大小差不多有两三个多G,放在那儿实在是占地方。而且查看时得一个文件夹一个文件夹的找,太麻烦。所以没事就借用了Mike Benzinger写的的CppToHTML转换代码,写了一个将VC工程目录下的.cpp、.c、.h文件转换成html网页文件,同时将工程所需的所有项目文件、源文件、资源文件打包成rar的小工具。通过这个工具转换之后,再用QuickCHM、EasyCHM或者琐碎打包工具等等将这些转换好的html文件或者rar文件编译成chm帮助文件,即节省了大量空间(两个多G的源代码转换打包之后只有两三百来兆,经过编译成chm之后会更小),也方便查看。 -Most VC programming friends encountered this situation: a lot of works written in the code stood in the hard disk, sometimes looking for a project s source code view can not be found, while some are not willing to delete it no good place where the works are of a place, as I downloaded a lot of tutorials on the supporting source code, the size of almost more than 23 G, on the place where it is accounted for. And the view was a folder when a folder to find, too much trouble. So, nothing to write borrowed Mike Benzinger of CppToHTML conversion code, write a will VC project directory. Cpp,. C,. H file into a html page document, while all the items required for project files, source files , the resource file packaged rar gadget. With this tool, after conversion, and then QuickCHM, EasyCHM or trivial packaging tools, etc. to these good html file or convert rar files compiled chm help file, which saves a lot of space (more than 2 G, only after the source code conversion package two or three h
Platform: | Size: 400384 | Author: 刘磊 | Hits:

[Web Serverpdf-to-html

Description: 将pdf文件转成html的形式查看,对于一些网站实现该功能可能会有帮助。-The pdf files into html form view, for some website functionality may help achieve this.
Platform: | Size: 12690432 | Author: zhyoulun | Hits:

[Graph DrawingColorPicke2

Description: ColorPicker7,色彩拾取器,Adobe PhotoSho效果的,全功能bete版本-Description: ColorPicker Adobe PhotoShop Style. A fully functioning Beta version. Updated the html-help file but I can t manage to make the browser boot yet. Stay tuned. This file came Planet-Source-Code.com...the home millions of lines of source code You can view comments on this code/and or vote on it at: http://www.Planet-Source-Code.com/vb/scripts/ShowCode.asp?txtCodeId=68190&lngWId=1 The author may have retained certain copyrights to this code...please observe their request and the law by reviewing all copyright conditions at the above URL.
Platform: | Size: 316416 | Author: Yanghai | Hits:

CodeBus www.codebus.net