怎样用替换对话框替换 换行符?

kittyhust 2006-04-27 10:25:15
可以调用替换对话框组件--TReplaceDialog
但是如何替换换行呢?
如果在"查找内容"里面输入enter键,会被当作是确定....
...全文
380 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaoshi0 2006-04-27
  • 打赏
  • 举报
回复
为什么要替换回车符?

有的编辑器在按下回车的时候输出的是\r\n,有的编辑器输出的是\n,是不一样的

就算要替换回车符,也要用二进制的方式查找'\xd'字符,然后进行替换
hellolongbin 2006-04-27
  • 打赏
  • 举报
回复
你是不是无视我刚才回复里的最后一句话了?
kittyhust 2006-04-27
  • 打赏
  • 举报
回复
word中用^p也听说过,但是这替换功能能否通过BCB编程实现呢?
在TReplaceDialog的窗体里输入^p还是没用啊
继续求教..........
hellolongbin 2006-04-27
  • 打赏
  • 举报
回复
这种情况一般都要特殊处理的
比如在word和UltraEdit里用^p来表示换行,然后在代码里判断如果要替换的字符是^p的话就替换#13
kittyhust 2006-04-27
  • 打赏
  • 举报
回复
void __fastcall TForm1::ReplaceDialog1Replace(TObject *Sender)
{
int SelPos;
Boolean flag;
int n;
TReplaceDialog *dlg=(TReplaceDialog*)Sender;
SelPos=(Memo1->Lines->Text).Pos(dlg->FindText);
if(dlg->Options.Contains(frReplace))
{
if(SelPos>0)
{
////////////标记////////////////////////////
if(dlg->ReplaceText=='^p') dlg->ReplaceText='\n';
// 或者dlg->ReplaceText='#13';
///////////////////////////////////////////
Memo1->SelStart=SelPos-1;
Memo1->SelLength=(dlg->FindText).Length();
Memo1->SelText=dlg->ReplaceText;
}
else
MessageDlg("not found"+dlg->FindText,mtError,TMsgDlgButtons()<<mbOK,0);
}
if(dlg->Options.Contains(frReplaceAll))
{
if(SelPos>0)
flag=true;
else flag=false;
n=0;
if(flag)
{
while(SelPos>0)
{
Memo1->SelStart=SelPos-1;
Memo1->SelLength=(dlg->FindText).Length();
Memo1->SelText=dlg->ReplaceText;
SelPos=(Memo1->Lines->Text).Pos(dlg->FindText);
n++;
}
MessageDlg("全部替换完毕!共完成"+IntToStr(n)+"处替换。",mtInformation,TMsgDlgButtons()<<mbOK,0);
}
else
MessageDlg("not found"+dlg->FindText,mtError,TMsgDlgButtons()<<mbOK,0);
}
}
楼上的方法我试过了,都行不通啊.
^p本来只是WORD里面的段落标志符.把那个符号替换过去有什么意义?
如果楼上大侠能明确写出来...最好能有效
奇怪的是,另一个小程序却能实现换行符的替换.为什么呢?????

void __fastcall TForm1::Button3Click(TObject *Sender)
{
AnsiString Strold=this->Edit1->Text;
AnsiString Strnew=this->Edit2->Text;
AnsiString Str=this->Memo1->Text;
int ipos=Str.Pos(Strold);
Str.Delete(ipos,Strold.Length());
Str.Insert(Strnew,ipos);
this->Memo1->Text=Str;
}
hellolongbin 2006-04-27
  • 打赏
  • 举报
回复
我是让你在代码里判断^p然后在程序里用代码替换\n来的,你还是没写啊
kittyhust 2006-04-27
  • 打赏
  • 举报
回复
hellolongbin 说的我试了一下啊,但还是没成功
那部分代码如下:
void __fastcall TForm1::ReplaceDialog1Replace(TObject *Sender)
{
int SelPos;
Boolean flag;
int n;
TReplaceDialog *dlg=(TReplaceDialog*)Sender;
SelPos=(Memo1->Lines->Text).Pos(dlg->FindText);
if(dlg->Options.Contains(frReplace))
{
if(SelPos>0)
{
Memo1->SelStart=SelPos-1;
Memo1->SelLength=(dlg->FindText).Length();
Memo1->SelText=dlg->ReplaceText;
}
else
MessageDlg("not found"+dlg->FindText,mtError,TMsgDlgButtons()<<mbOK,0);
}
if(dlg->Options.Contains(frReplaceAll))
{
if(SelPos>0)
flag=true;
else flag=false;
n=0;
if(flag)
{
while(SelPos>0)
{
Memo1->SelStart=SelPos-1;
Memo1->SelLength=(dlg->FindText).Length();
Memo1->SelText=dlg->ReplaceText;
SelPos=(Memo1->Lines->Text).Pos(dlg->FindText);
n++;
}
MessageDlg("全部替换完毕!共完成"+IntToStr(n)+"处替换。",mtInformation,TMsgDlgButtons()<<mbOK,0);
}
else
MessageDlg("not found"+dlg->FindText,mtError,TMsgDlgButtons()<<mbOK,0);
}
}

应该怎样改呢?好象查找功能识别不了MEMO1文档中的换行符.............[
以下为TextPro V6x比原V5.1改进之处: 1. 支持unicode码。强烈推荐使用宋体字库,才能满足unicode大字库。不再支持fixedsys字体。当无法按GBK内码保存时,在提示时可以自动选择保存为UTF-8格式。 2. 采用Mozilla识别内码的算法,提高GBK和Big5的识别率。 3. 以弹出对话框显示查找结果(旧版本中是在状态栏中显示) 4. 修改替换算法, 防止替换时重复转换。支持繁简转换时的括号对的文字不转换。 5. TextPro时打开时主窗口保持非最大化状态。 6. 建立TextPro的配置库config.ini,不再需要访问系统注册表,保持TextPro的绿色安装特性。 7. 增加字符数统计。 8. 保存文件时,去文件名的前后空格。 9. 用鼠标双击页签空白栏可新建文件,双击页签可关闭文件。用鼠标右键单击页签可关闭、保存、另存为文件。 10. 增加了多语言配置,即简体中文、繁体中文和英文可选。 11. 增加了“段间空一行”和“简单排版”功能。 12. 补全了TextPro V5.1的功能,例如删除半角字符等。 13. 增加了“统计段落数”和“统计选定文字出现的次数”的功能。 14. 增加了普通的打印功能。 15. 增加了自定义工具栏及其图标(支持各种图片)的功能,例如你可以把所有自定义替换表做一个单独的侧边工具栏。 16. 增加了“打印”功能,包括了打印设置和打印预览。 17. 增加了“自定义快捷健”。依次点击“菜单->设置->设置快捷键”,点击新加的行,然后在弹出的菜单中选择命令和组合键。 18. 在“设置-选项-程序”下增加了“集成右键菜单”和“文件关联”的选项(如果在WIN7下,需要以管理员权限运行)。 19. 在“设置-选项-程序”下增加了“粘贴时自动剔除论坛干扰码”选项,此功能较复杂,请慎用。 20. 新增使用自定义替换表进行二次正则替换的方法,即可对查找到第n对匹配的内容使用第m个自定义替换表进行二次正则替换。 21. 增加在“编辑”菜单中“复制所有查找结果行”的命令(查找时须勾上“显示所有匹配项”)。 22. 增强查找/替换按钮和功能。 23. 将“转换”菜单重新规范,更名为“功能”菜单。 24. 更换成漂亮的图标和回车符。 25. 显示行号。 26. 自定义替换表,重写替换算法(主要是查找匹配)。 27. 批处理,目录选择增加下拉框,记录最近使用的目录。 28. 自动合并文件对话框,选择目录。 29. 查找替换对,替换字符串应该可以是空。 30. 自定义工具栏,可以拖动按钮。 31. 可调用其它TTS语音库朗读文本。 32. 记录最后30个文件的光标位置。 33. 增加“删除行首空格”的功能。
《Visual C++编程技巧精选500例》pdf Visual C++编程技巧精选500例.pdf 第1章 消息框 001 如何创建消息框? 002 如何设置消息框标题? 003 如何使用资源串创建消息框? 004 如何使用资源串动态显示消息框内容? 005 如何使消息框显示问号图标? 006 如何使消息框显示“是/否”按钮? 007 如何使消息框显示“重试/取消”按钮? 第2章 常用控件 008 如何使用滑块控件? 009 如何使用标签控件? 010 如何使用树形控件? 011 如何使用列表控件? 012 如何使用进度条控件? 013 如何使用滚动条控件? 014 如何设置按钮控件标签? 015 如何设置按钮控件字体? 016 如何动态创建按钮控件? 017 如何禁用和启用按钮控件? 018 如何隐藏和显示按钮控件? 019 如何在按钮控件上加载图标? 020 如何在按钮控件上加载位图? 021 如何在程序窗口中创建按钮控件? 022 如何限制编辑控件输入的字符类型? 023 如何显示载有RichEdit控件的对话框? 024 如何在列表框中自动装载磁盘文件列表? 025 如何使1istContro1控件支持整栏选择? 026 如何使用PictureBox控件浏览多种格式的图像? 第3章 通用对话框 027 如何使用字体对话框? 028 如何使用颜色对话框? 029 如何使用页面设置对话框? 030 如何使用查找与替换对话框? 031 如何设置文件保存对话框? 032 如何设置文件对话框标题? 033 如何设置文件对话框过滤器? 034 如何设置文件对话框多重选择功能? 035 如何设置文件对话框打开时的目录位置? 036 如何从文件对话框中选择文件夹? 037 如何从文件对话框中新建文件夹? 038 如何在文件对话框中预览位图文件? 039 如何从文件对话框中获取文件扩展名? 040 如何从文件对话框中获取文件标题? 041 如何获取文件对话框选择的多个文件? 042 如何在程序启动时弹出文件打开对话框? 第4章 标题栏与菜单栏 043 如何获取标题栏高度? 044 如何设置标题栏文字? 045 如何获取标题栏文字颜色? 046 如何设置标题栏文字颜色? 047 如何在文档类中设置标题栏文字? 048 如何防止在标题栏上显示文档名? 049 如何禁止标题栏的最小化按钮?… 050 如何禁止标题栏的最大化按钮? 051 如何禁止标题栏的关闭按钮? 052 如何获取标题栏的按钮尺寸? 053 如何自定义标题栏? 054 如何获取IE浏览器标题内容? 055 如何取消标题栏的右键系统菜单? 056 如何在标题栏右键菜单中增加菜单项? 057 如何动态增加菜单? 058 如何动态删除菜单? 059 如何启用和禁用菜单命令? 060 如何为菜单添加复选标记? 061 如何为菜单添加单选标记? 062 如何动态删除系统菜单项? 063 如何动态增加系统菜单项? 064 如何触发一个菜单命令? 065 如何创建一个弹出式菜单? 066 如何设计自定义快捷菜单? 067 如何在对话框类型的应用程序中加载菜单? 068 如何获取菜单栏高度? 069 如何取消应用程序菜单栏? 070 如何取消对菜单状态的限制? 071 如何确定顶层菜单所占的行数? 072 如何在子菜单中记录历史文件? 第5章 工具栏与状态栏 073 如何给工具栏分组? 074 如何关闭默认工具栏? 075 如何设置工具栏标题? 076 如何设置工具栏按钮提示? 077 如何关闭工具栏按钮提示? 078 如何启用和禁用工具栏按钮? 079 如何设置下压式工具栏按钮? 080 如何给工具栏按钮设置下拉箭头? 081 如何为工具栏添加动态真彩按钮? 082 如何为工具栏按钮添加文字? 083 如何为IE工具栏添加按钮? 084 如何在工具栏上加载动画? 085 如何在工具栏上加载组合框? 086 如何在工具栏上加载字体组合框? 087 如何使用代码获取工具栏的指针? 088 如何在对话框程序中加入工具栏? 089 如何控制工具栏的停靠位置? 090 如何使用对话栏? 091 如何增加状态栏窗格? 092 如何更新状态栏窗格? 093 如何关闭默认状态栏? 094 如何在状态栏上加载图像? 095 如何在状态栏上加载进度条? 096 如何在状态栏上显示滚动文本? 097 如何在状态栏上显示当前时间? 098 如何在状态栏上显示鼠标当前位置? 099 如何使用代码获取状态栏指针? 第6章 图标与光标 100 如何设置光标? 101 如何裁剪光标? 102 如何捕捉光标热区? 103 如何创建一个等待光标? 104 如何结束一个等待光标? 105 如何获取默认光标大小? 106 如何装入一个系统预定义光标? 107 如何获取系统图标? 108 如何获取默认图标大小? 109 如何获取应用程序图标? 110 如何设置应用程序图标? 111 如何在系统托盘中设置图标? 112 如何直接从文件中装入一个图标? 113 如何使应用程序标题栏图标旋转? 第7章 程序窗口 114 如何切分同视图窗口? 115 如何切分多视图窗口? 116 如何判断程序窗口是否为切分窗口? 117 如何创建非矩形窗口? 118 如何实现无标题窗口的拖动? 119 如何将应用程序窗口居中显示? 049 如何禁止标题栏的最小化按钮?… 050 如何禁止标题栏的最大化按钮? 051 如何禁止标题栏的关闭按钮? 052 如何获取标题栏的按钮尺寸? 053 如何自定义标题栏? 054 如何获取IE浏览器标题内容? 055 如何取消标题栏的右键系统菜单? 056 如何在标题栏右键菜单中增加菜单项? 057 如何动态增加菜单? 058 如何动态删除菜单? 059 如何启用和禁用菜单命令? 060 如何为菜单添加复选标记? 061 如何为菜单添加单选标记? 062 如何动态删除系统菜单项? 063 如何动态增加系统菜单项? 064 如何触发一个菜单命令? 065 如何创建一个弹出式菜单? 066 如何设计自定义快捷菜单? 067 如何在对话框类型的应用程序中加载菜单? 068 如何获取菜单栏高度? 069 如何取消应用程序菜单栏? 070 如何取消对菜单状态的限制? 071 如何确定顶层菜单所占的行数? 072 如何在子菜单中记录历史文件? 第5章 工具栏与状态栏 073 如何给工具栏分组? 074 如何关闭默认工具栏? 075 如何设置工具栏标题? 076 如何设置工具栏按钮提示? 077 如何关闭工具栏按钮提示? 078 如何启用和禁用工具栏按钮? 079 如何设置下压式工具栏按钮? 080 如何给工具栏按钮设置下拉箭头? 081 如何为工具栏添加动态真彩按钮? 082 如何为工具栏按钮添加文字? 083 如何为IE工具栏添加按钮? 084 如何在工具栏上加载动画? 085 如何在工具栏上加载组合框? 086 如何在工具栏上加载字体组合框? 087 如何使用代码获取工具栏的指针? 088 如何在对话框程序中加入工具栏? 089 如何控制工具栏的停靠位置? 090 如何使用对话栏? 091 如何增加状态栏窗格? 092 如何更新状态栏窗格? 093 如何关闭默认状态栏? 094 如何在状态栏上加载图像? 095 如何在状态栏上加载进度条? 096 如何在状态栏上显示滚动文本? 097 如何在状态栏上显示当前时间? 098 如何在状态栏上显示鼠标当前位置? 099 如何使用代码获取状态栏指针? 第6章 图标与光标 100 如何设置光标? 101 如何裁剪光标? 102 如何捕捉光标热区? 103 如何创建一个等待光标? 104 如何结束一个等待光标? 105 如何获取默认光标大小? 106 如何装入一个系统预定义光标? 107 如何获取系统图标? 108 如何获取默认图标大小? 109 如何获取应用程序图标? 110 如何设置应用程序图标? 111 如何在系统托盘中设置图标? 112 如何直接从文件中装入一个图标? 113 如何使应用程序标题栏图标旋转? 第7章 程序窗口 114 如何切分同视图窗口? 115 如何切分多视图窗口? 116 如何判断程序窗口是否为切分窗口? 117 如何创建非矩形窗口? 118 如何实现无标题窗口的拖动? 119 如何将应用程序窗口居中显示? 176 如何终止当前进程? 177 如何获取系统进程? 178 如何终止指定进程? 179 如何在程序中启动程序? 180 如何使用事件对象同步进程? 181 如何在两个执行程序间进行数据通信? 182 如何使用工作线程? 183 如何正常终止线程? 184 如何异常终止线程? 185 如何获取线程退出码? 186 如何使用线程优先级? 187 如何使用用户界面线程? 188 如何实现多线程多任务? 189 如何使用临界区同步线程? 190 如何调用帮助文件(.chm)? 第10章 字符串 191 如何对字符串进行连接? 192 如何对字符串进行比较? 193 如何从字符串中存取字符? 194 如何计算一个字符串的大小? 195 如何快速格式化一个字符串? 196 如何将CString类型转换成int类型? l97 如何将CString类型转换成loat类型? 198 如何将CString中的字符串赋值给字符指针? 199 如何折行显示字符串? 200 如何旋转显示字符串? 20l 如何显示星期月份字符串? 202 如何显示包括制表符的字符串? 203 如何使用BIG5显示一个字符串? 204 如何使字符串输出具有立体效果? 205 如何用省略号显示字符串的其余部分? 第11章 文件读写操作 206 如何打开文件? 207 如何关闭文件? 208 如何读文件? 209 如何写文件? 210 如何定位文件? 2ll 如何判断文件大小? 212 如何获取文件错误类型? 213 如何检测文件是否已经发生更改? 214 如何判断文件在磁盘上是否存在? 215 如何读写INI文件? 216 如何创建一个临时文件? 217 如何创建一个特大型文件? 218 如何创建一个文本文件? 219 如何删除一个文本文件? 220 如何更名一个文本文件? 221 如何对文本文件进行查找与替换? 222 如何从文本文件中读取一个字符串? 第12章 文件与文件夹属-操作 223 如何判断文件只读属性? 224 如何设置文件只读属性? 225 如何判断文件隐藏属性? 226 如何设置文件隐藏属性? 227 如何判断文件归档属性? 228 如何设置文件归档属性? 229 如何取消文件所有属性? 230 如何获取文件大小? 231 如何获取文件类型? 232 如何获取系统所有文件类型? 233 如何获取文件创建时间? 234 如何获取文件修改时间? 235 如何获取文件访问时间? 236 如何设置文件创建时间? 237 如何设置文件修改时间? 238 如何设置文件访问时间? 239 如何获取文件夹创建时间? 240 如何获取文件夹修改时间? 241 如何获取文件夹访问时间? 242 如何设置文件夹创建时间? 243 如何设置文件夹修改时间? 244 如何设置文件夹访问时间? 245 如何判断文件夹真假? 第13章 文件与文件夹系统操作 246 如何复制文件? 247 如何删除文件? 248 如何移动文件? 249 如何更名文件? 250 如何显示文件复制过程对话框? 251 如何复制文件夹? 252 如何创建文件夹? 253 如何删除文件夹? 254 如何更名文件夹? 255 如何创建多层文件夹? 256 如何删除多层文件夹? 第14章 系统控制操作 257 如何隐藏操作系统任务栏? 258 如何取消隐藏操作系统任务栏? 259 如何检索系统任务栏各窗口标题? 260 如何关闭计算机? 261 如何注销当前用户? 262 如何重新启动计算机? 263 如何关闭计算机并关闭电源? 264 如何设置系统启动自运行程序? 265 如何在程序中将其他窗口程序调至前台? 266 如何获取当前系统时间? 267 如何设置当前系统时间? 268 如何计算时间差? 269 如何获取系统显示元素的颜色? 270 如何获取系统当前的显示模式? 271 如何获取系统支持的显示模式? 272 如何设置系统当前的显示模式? 273 如何设置桌面墙纸? 274 如何删除桌面快捷方式? 275 如何清空回收站? 276 如何清空IE历史记录? 277 如何清除IE地址栏历史记录? 278 如何添加IE浏览器收藏夹内容? 279 如何使用默认浏览器打开指定网页? 280 如何清除上次登录用户历史记录? 281 如何强制操作系统只执行规定的程序? 282 如何在系统“控制面板/添加删除程序”中添加程序? 283 如何注册COM服务组件? 284 如何取消COM服务组件注册? 285 如何隐式链接DLL? 286 如何显式链接DLL? 287 如何使用AFX EXT CLASS导出类? 288 如何使用declspec(dllexport)导出DLL函数? 第15章 程序版权信息 289 如何查询程序说明? 290 如何查询程序开发商? 291 如何查询程序内部名称? 292 如何查询程序产品名称? 293 如何查询程序关联注释? 294 如何查询程序注册商标? 295 如何查询程序版权声明? 296 如何查询程序使用语言? 297 如何查询程序原始文件名? 298 如何查询程序私有版本信息? 299 如何查询程序特殊内部版本信息? 300 如何查询程序版本号? 301 如何查询程序产品版本号? 302 如何查询程序内部版本号? 303 如何查询程序产品专用部件号? 304 如何查询程序版本号的主版本号? 305 如何查询程序版本号的次版本号? 306 如何查询程序产品的内部版本号? 307 如何查询程序产品版本号的主版本号? 308 如何查询程序产品版本号的次版本号? 第16章 系统软件信息 309 如何获取用户名称? 310 如何获取计算机名称? 311 如何设置计算机名称? 312 如何获取计算机所有者名称? 313 如何获取计算机所有者单位名称? 314 如何获取操作系统安装序列号? 315 如何获取操作系统的产品名称? 316 如何获取IE浏览器的版本号? 317 如何获取Windows的版本号? 318 如何获取Windows的内建号? 319 如何获取Windows的版本名称? 320 如何获取当前文件夹的位置? 321 如何获取文件夹的根目录位置? 322 如何获取文件夹的上层目录位置? 323 如何获取文件夹中的所有文件? 324 如何获取文件夹中的所有子文件夹? 325 如何获取启动文件夹位置? 326 如何获取临时文件夹位置? 327 如何获取桌面文件夹位置? 328 如何获取字体文件夹位置? 329 如何获取网上邻居文件夹位置? 330 如何获取我的文档文件夹位置? 331 如何获取System文件夹位置? 332 如何获取Windows文件夹位置? 第17章 系统硬件信息 333 如何获取CPU名称? 334 如何获取CPU标识? 335 如何获取CPU制造商名称? 336 如何获取CPU主频? 337 如何获取CPU个数? 338 如何判断CPU是否支持3DNow? 339 如何判断CPU是否支持MMX? 340 如何判断是否提供安全特性? 341 如何判断低档处理器? 342 如何获取显卡BIOS版本号? 343 如何获取显卡BIOS更新日期? 344 如何获取系统BIOS版本号? 345 如何获取系统BIOS更新日期? 第18章 存储设备管理 346 如何获取磁盘序列号? 347 如何获取磁盘卷标名称? 348 如何设置磁盘卷标名称? 349 如何获取磁盘容量大小? 350 如何获取磁盘文件系统名称? 351 如何获取系统所有磁盘驱动器? 352 如何设置磁盘图标? 353 如何隐藏磁盘驱动器? 354 如何判断磁盘驱动器类型? 355 如何启用光驱的自动播放功能? 356 如何指定使用什么程序播放CD? 357 如何在程序中打开/关闭光驱? 358 如何获取系统内存的使用情况? 359 如何映射网络驱动器? 360 如何取消网络驱动器映射? 第19章 鼠标及键盘 361 如何禁止交换鼠标左右键? 362 如何判断鼠标左右键是否交换? 363 如何判断系统是否安装鼠标? 364 如何判断鼠标是否有滚轮? 365 如何禁止使用鼠标滚轮? 366 如何获取鼠标按键个数? 367 如何模仿鼠标操作? 368 如何跟踪鼠标当前位置? 369 如何获取鼠标活动范围? 370 如何获取鼠标双击范围大小? 371 如何获取鼠标双击响应速度? 372 如何设置鼠标双击响应速度? 373 如何判断鼠标单击标题栏操作? 374 如何判断鼠标是否与Ctrl键共同操作? 375 如何捕获键盘Home等虚键?. 376 如何设置键盘输入响应速度? 377 如何使用回车键切换输入焦点? 378 如何为应用程序自定义快捷键? 379 如何捕获AR和Shift+Alt组合键? 380 如何捕获Ctrl和Ctrl+Shift组合键? 381 如何捕获Ctrl、Ctrl+Alt和Ctrl+Alt+Shifl组合键? 第20章 声音和视频 382 如何调节系统音量? 383 如何设置背景音乐? 384 如何播放AVI动画文件? 385 如何播放VCD视频文件? 386 如何播放WAV简单声音文件? 387 如何播放系统默认声音文件? 388 如何使用MCI播放WAV声音文件? 389 如何使用MCI播放MIDI声音文件? 第21章 图形和图像 390 如何通过读取位图资源显示位图? 391 如何通过读取位图文件显示位图? 392 如何通过装入位图文件显示位图? 393 如何缩放显示位图? 394 如何截取当前屏幕? 395 如何任意裁剪图片? 396 如何利用掩码位图制作透明图片? 397 如何实现图形的拉伸显示效果? 398 如何通过位图文件直接得到位图大小? 399 如何获取屏幕上某点的颜色? 400 如何设置屏幕上某点的颜色? 401 如何读取与显示JPG等格式图像文件? 402 如何转换图像文件大小? 403 如何转换图像文件格式? 404 如何将彩色图像转换成黑白图像? 405 如何实现图像的底片化效果? 406 如何实现图像的雾化效果? 407 如何实现图像的锐化效果? 408 如何实现图像的柔化效果? 409 如何实现图像的马赛克效果? 410 如何实现图像的百叶窗效果? 411 如何复制图像? 412 如何剪切图像? 413 如何粘贴图像? 414 如何实现画线拉伸效果? 415 如何绘制渐变色图形? 416 如何绘制渐变色文字? 第22章 网络 417 如何初始化Socket? 418 如何创建Socket? 419 如何处理网络监听Socket? 420 如何处理C/S互连? 421 如何处理C/S数据发送? 422 如何处理C/S数据接收? 423 如何实现无连接的通信? 424 如何实现有连接的通信? 425 如何用有连接方式实现网络会议? 426 如何获取网卡地址? 427 如何扫描端口状态? 428 如何进行连续的Ping? 429 如何获取主机名和IP地址? 430 如何搜索局域网内的计算机? 431 如何创建拨号网络? 432 如何检查电子邮件数量? 433 如何发送和接收电子邮件? 434 如何连接FTP服务器? 435 如何获取FTP服务器的文件列表? 436 如何向FTP服务器上传文件? 437 如何从FTP服务器下载文件? 438 如何查询HTTP站点? 439 如何查询FTP站点? 440 如何查询Gopher站点? 第23章 数据库 441 如何使用ODBC连接数据源? 442 如何使用ODBC实现应用程序与数据库记录的交换? 443 如何使用ODBC浏览数据库记录? 444 如何使用ODBC增加数据库记录? 445 如何使用ODBC删除数据库记录? 446 如何使用ODBC修改数据库记录? 447 如何使用ODBC排序数据库记录? 448 如何使用ODBC查询数据库记录? 449 如何使用SQL语句查询排序数据厍记录? 450 如何使用ODBC创建EXCEL文件? 451 如何使用ODBC读取EXCEL文件信息? 452 如何获取系统已经安装的ODBC驱动程序? 453 如何安装Visual C++.NET中的MS Server服务管理器桌面引擎? 454 如何在Visual C++.NET中创建 MS SQL Server数据库? 455 如何使用.NET类库访问数据库? 456 如何使用DAO新建数据库? 457 如何使用DAO打开数据库? 458 如何使用DAO关闭数据库? 459 如何使用DAO新建数据库表? 460 如何使用DAO打开数据库表? 461 如何使用DAO删除数据库表? 462 如何使用DAO浏览数据库表字段? 463 如何使用DAO增加数据库表字段? 464 如何使用DAO删除数据库表字段? 465 如何使用DAO新建数据库表查询? 466 如何使用DAO浏览数据库表查询? 467 如何使用DAO删除数据库表查询? 468 如何使用DAO自定义记录集类? 469 如何使用DAO浏览数据库记录? 470 如何使用DAO增加数据库记录? 471 如何使用DAO删除数据库记录? 472 如何使用DAO修改数据库记录? 473 如何使用DAO查询数据库记录? 474 如何使用DAO排序数据库记录? 475 如何使用DAO处理数据库异常? 476 如何判断数据集是否允许更新? 477 如何实现ADO对象与数据源的连接? 478 如何导入ADO动态链接库? 479 如何使用ADO对象浏览数据库记录? 480 如何使用ADO对象增加数据库记录? 481 如何使用ADO对象删除数据库记录? 482 如何使用ADO对象修改数据库记录? 483 如何使用ADO对象排序数据库记录? 484 如何使用ADO对象查询数据库记录? 485 如何使用ADO处理数据库异常? 486 如何存取数据库图像字段? 487 如何创建数据库操作事务? 488 如何在程序中注册数据源? 489 如何创建ODBC数据源? 490 如何使用SQL模糊查询语句? 491 如何使用SQL语句检索时间段? 第24章 开发工具 492 如何设置条件断点? 493 如何设置堆栈大小? 494 如何产生全局惟一标识符? 495 如何删除项目文件中的类? 496 如何打开和编辑二进制文件? 497 如何检测代码括号是否匹配? 498 如何查看一个宏的原始定义? 499 如何添加.1ib文件到当前项目? 500 如何调整对话框模板上的控件的Tab键顺序?
已经破解的代码编辑器,免安装的里面有破解的注册码 很小但是功能却很强大,编辑网页可以随时预览,能够多人工作。 附使用手册: Editplus使用技巧 技巧中,在编译器集成例子中参照了部分官方的文献。有几篇是从网上搜集来的,这里我注明了来源或原始作者。如果你是相应作者,不希望文章放在这里,请通知我,我会及时 删掉。 —————————————————— 文章或者技巧及原始作者或出处: 正则表达式类 【1】 正则表达式应用——替换指定内容到行尾 【2】 正则表达式应用——数字替换—————————-Microshaoft,jiuk2k 【3】 正则表达式应用——删除每一行行尾的指定字符 【4】 正则表达式应用——替换带有半角括号的多行 【5】 正则表达式应用——删除空行—————————-江德华 软件技巧类 —————————————————— 【6】 软件技巧——键盘记录的注意事项 【7】 软件技巧——关闭文档标签的便捷方法 【8】 软件技巧——如何去掉 EditPlus 保存文本文件时的添加后缀提示? 【9】 软件技巧——提示找不到语法文件的解决办法 【10】软件技巧——设置editplus支持其它文字,如韩文———-jackywu1978 【11】软件技巧——FTP 上传的设置—————————-李应文2.11汉化版 【12】软件技巧——如何禁用备份文件功能? 【13】软件技巧——添加语法文件、自动完成文件、以及剪辑库文件 工具集成类 —————————————————— 【14】工具集成——编译器集成例子(Java、Borland C++、Visual C++、Inno Setup、nsis、C#) 【15】工具集成——让Editplus调试PHP程序———————-avenger,aukw 【16】工具集成——打造 PHP 调试环境(二)———————-老七2.11汉化版 【17】在 WINPE 中集成 EDITPLUS 【1】正则表达式应用——替换指定内容到行尾 原始文本如下面两行 abc aaaaa 123 abc 444 希望每次遇到“abc”,则替换“abc”以及其后到行尾的内容为“abc efg” 即上面的文本最终替换为: abc efg 123 abc efg 解决: ① 在替换对话框,查找内容里输入“abc.*” ② 同时勾选“正则表达式”复选框,然后点击“全部替换”按钮 其中,符号的含义如下: “.” =匹配任意字符 “*” =匹配0次或更多 注意:其实就是正则表达式替换,这里只是把一些曾经提出的问题加以整理,单纯从正则表达式本身来说,就可以引申出成千上万种特例。 【2】正则表达式应用——数字替换 希望把 asdadas123asdasdas456asdasdasd789asdasd 替换为: asdadas[123]asdasdas[456]asdasdasd[789]asdasd 在替换对话框里面,勾选“正则表达式”复选框; 在查找内容里面输入“[0-9][0-9][0-9]”,不含引号 “替换为:”里面输入“[\0\1\2]”,不含引号 范围为你所操作的范围,然后选择替换即可。 实际上这也是正则表达式的使用特例,“[0-9]”表示匹配0~9之间的任何特例,同样“[a-z]”就表示匹配a~z之间的任何特例 【1】正则表达式应用——替换指定内容到行尾 原始文本如下面两行 abc aaaaa 123 abc 444 希望每次遇到“abc”,则替换“abc”以及其后到行尾的内容为“abc efg” 即上面的文本最终替换为: abc efg 123 abc efg 解决: ① 在替换对话框,查找内容里输入“abc.*” ② 同时勾选“正则表达式”复选框,然后点击“全部替换”按钮 其中,符号的含义如下: “.” =匹配任意字符 “*” =匹配0次或更多 注意:其实就是正则表达式替换,这里只是把一些曾经提出的问题加以整理,单纯从正则表达式本身来说,就可以引申出成千上万种特例。 【2】正则表达式应用——数字替换 (Microshaoft@CCF,jiuk2k@CCF) 希望把 asdadas123asdasdas456asdasdasd789asdasd 替换为: asdadas[123]asdasdas[456]asdasdasd[789]asdasd 在替换对话框里面,勾选“正则表达式”复选框; 在查找内容里面输入“[0-9][0-9][0-9]”,不含引号 “替换为:”里面输入“[\0\1\2]”,不含引号 范围为你所操作的范围,然后选择替换即可。 实际上这也是正则表达式的使用特例,“[0-9]”表示匹配0~9之间的任何特例,同样“[a-z]”就表示匹配a~z之间的任何特例 上面重复使用了“[0-9]”,表示连续出现的三个数字 “\0”代表第一个“[0-9]”对应的原型,“\1”代表第二个“[0-9]”对应的原型,依此类推 “[”、“]”为单纯的字符,表示添加“[”或“]”,如果输入“其它\0\1\2其它”,则替换结果为: asdadas其它123其它asdasdas其它456其它asdasdasd其它789其它asdasd 功能增强(by jiuk2k@CCF): 如果将查找内容“[0-9][0-9][0-9]”改为“[0-9]*[0-9]”,对应1 或 123 或 12345 或 … 大家根据需要定制 相关内容还有很多,可以自己参考正则表达式的语法仔细研究一下 【3】正则表达式应用——删除每一行行尾的指定字符 因为这几个字符在行中也是出现的,所以肯定不能用简单的替换实现 比如 12345 1265345 2345 需要删除每行末尾的“345” 这个也算正则表达式的用法,其实仔细看正则表达式应该比较简单,不过既然有这个问题提出,说明对正则表达式还得有个认识过程,解决方法如下 解决: 在替换对话框中,启用“正则表达式”复选框 在查找内容里面输入“345$” 这里“$”表示从行尾匹配 如果从行首匹配,可以用“^”来实现,不过 EditPlus 有另一个功能可以很简单的删除行首的字符串 a. 选择要操作的行 b. 编辑-格式-删除行注释 c. 在弹出对话框里面输入要清除的行首字符,确定 【4】正则表达式应用——替换带有半角括号的多行 几百个网页中都有下面一段代码: 我想把它们都去掉,可是找了很多search & replace的软件,都是只能对“一行”进行操作。 EditPlus 打开几百个网页文件还是比较顺畅的,所以完全可以胜任这个工作。 具体解决方法,在 Editplus 中使用正则表达式,由于“(”、“)”被用做预设表达式(或者可以称作子表达式)的标志,所以查找 “ \n” 时会提示查找不到,所以也就无法进行替换了,这时可以把“(”、“)”使用任意字符标记替代,即半角句号:“.”。替换内容为 \n 在替换对话框启用“正则表达式”选项,这时就可以完成替换了 补充:(lucida@DRL) 对( ) 这样的特殊符号,应该用\( \)来表示,这也是很标准的regexp语法,可以写为 \n 【5】正则表达式应用——删除空行 启动EditPlus,打开待处理的文本类型文件。 ①、选择“查找”菜单的“替换”命令,弹出文本替换对话框。选中“正则表达式”复选框,表明我们要在查找、替换中使用正则表达式。然后,选中“替换范围”中的“当前文件”,表明对当前文件操作。 ②、单击“查找内容”组合框右侧的按钮,出现下拉菜单。 ③、下面的操作添加正则表达式,该表达式代表待查找的空行。(技巧提示:空行仅包括空格符、制表符、回车符,且必须以这三个符号之一作为一行的开头,并且以回车符结尾,查找空行的关键是构造代表空行的正则表达式)。 直接在"查找"中输入正则表达式“^[ \t]*\n”,注意\t前有空格符。 (1)选择“从行首开始匹配”,“查找内容”组合框中出现字符“^”,表示待查找字符串必须出现在文本中一行的行首。 (2)选择“字符在范围中”,那么在“^”后会增加一对括号“[]”,当前插入点在括号中。括号在正则表达式中表示,文本中的字符匹配括号中任意一个字符即符合查找条件。 (3)按一下空格键,添加空格符。空格符是空行的一个组成成分。 (4)选择“制表符”,添加代表制表符的“\t”。 (5)移动光标,将当前插入点移到“]”之后,然后选择“匹配 0 次或更多”,该操作会添加星号字符“*”。星号表示,其前面的括号“[]”内的空格符或制表符,在一行中出现0个或多个。 (6)选择“换行符”,插入“\n”,表示回车符。 ④、“替换为”组合框保持空,表示删除查找到的内容。单击“替换”按钮逐个行删除空行,或单击“全部替换”按钮删除全部空行(注意:EditPlus有时存在“全部替换”不能一次性完全删除空行的问题,可能是程序BUG,需要多按几次按钮)。 【6】软件技巧——键盘记录的注意事项 EditPlus的键盘记录有些类似于 UltraEdit 的宏操作,不过功能相对单一,录制的文件可编辑性较差。 由于基本无法编辑录制的文件,所以录制的时候为了避免录制失败,推荐纯粹使用键盘操作,以下是比较关键的几个键盘组合: Ctrl+F = 调出查找对话框 Ctrl+H = 调出替换对话框 Alt+F4 = 关闭作用,比如,关闭查找对话框、关闭替换对话框,等等 其它键盘快捷键在“帮助-快捷键列表”里面可以很容易的查找到,这里就 细说了。 【7】软件技巧——关闭文档标签的便捷方法 右键单击文档标签工具条,弹出菜单中选择“标签选项”,选中“用鼠标中间的按钮关闭”,这里包括鼠标的滚轮。 【8】软件技巧——如何去掉 EditPlus 保存文本文件时的添加后缀提示? 如果你使用 EditPlus 进行文本编辑,那么每次创建文本文件,编辑后保存时,尽管文件类型下拉列表中显示的是文本文件, EditPlus 还是询问你是否添加".txt"后缀,是不是很烦? 解决方法: ① 在程序目录建立一个空的文件“template.txt” ② “工具-参数设置-模板”里面,单击“添加”按钮添加模板,“菜单文本”这里输入“Text”,浏览“template.txt”,之后确定即可 ③ “文件-新建-text”,就可以建立一个空的文本文件,保存时,这个文件自动带有扩展名".txt",也就避免了令人头疼的确认 ④ 模板设置文件名称为“template.ini”,如果和主程序同一路径,可以使用相对路径 罗嗦了点,不过管用 要自动创建带有某种后缀的文件,方法同上。 【9】软件技巧——提示找不到语法文件 *.stx 的解决办法 原因多为设置的语法文件不存在或者是路径设置不对。这是因为 EditPlus 的语法是设置文件采用的是绝对路径,而在你设置了语法文件之后,再把程序复制到其它目录,因而导致 EditPlus 无法找到该语法文件。 解决办法: 在主程序目录里,找到 Setting.ini 这是 EditPlus 存放语法的文件 查找后缀为“.stx”、“acp”的文本内容,或者查找带有驱动器符号的行,比如 Syntax file=C:\Program Files\EditPlus 2\cpp.stx 那么,就把”C:\Program Files\EditPlus 2\“替换成你当前软件的路径。 其它提示找不到文件的解决方法同上 【10】软件技巧——设置editplus支持其它文字,如韩文 在editplus里打开文件,出来打开文件对话框;然后点击“转换器”后面的那个省略号,会出来自定义转换器对话框;在右边选择你需要的编码方式,添加到左边,然后点确定;最后在下拉框中选择需要的编码方式,然后打开文件即可。 【11】软件技巧——FTP 上传的设置 “文件->远程操作->FTP 上传”在“设置”选项卡中设置好参数(“子目录”前面应该加“/”如“/web/”),点击“确定”回到“FTP 上传”选项卡,然后点击“上传”即可;“批量上传”的设置类似。 【12】软件技巧——如何禁用备份文件功能? 在“参数选择”的文件选项页,禁用“'保存时自动创建备份文件”选项 【13】软件技巧——添加语法文件、自动完成文件、以及剪辑库文件 要添加 *.STX(语法文件)或 *.ACP(自动完成文件): 1. 选择“参数选择→语法” 2. 单击“添加”按钮,命名,在“扩展名”部分输入对应扩展名(不带“.”) 3. 浏览/输入 STX(语法文件部分) 以及 ACP(自动完成文件部分)。 添加剪辑库文件(*.CTL) 复制相应 *.CTL 文件到软件安装目录,重新启动 EditPlus ,则系统自动识别。 上面重复使用了“[0-9]”,表示连续出现的三个数字 “\0”代表第一个“[0-9]”对应的原型,“\1”代表第二个“[0-9]”对应的原型,依此类推 “[”、“]”为单纯的字符,表示添加“[”或“]”,如果输入“其它\0\1\2其它”,则替换结果为: asdadas其它123其它asdasdas其它456其它asdasdasd其它789其它asdasd 功能增强(by jiuk2k): 如果将查找内容“[0-9][0-9][0-9]”改为“[0-9]*[0-9]”,对应1 或 123 或 12345 或 … 大家根据需要定制 相关内容还有很多,可以自己参考正则表达式的语法仔细研究一下 【3】正则表达式应用——删除每一行行尾的指定字符 因为这几个字符在行中也是出现的,所以肯定不能用简单的替换实现 比如 12345 1265345 2345 需要删除每行末尾的“345” 这个也算正则表达式的用法,其实仔细看正则表达式应该比较简单,不过既然有这个问题提出,说明对正则表达式还得有个认识过程,解决方法如下 解决: 在替换对话框中,启用“正则表达式”复选框 在查找内容里面输入“345$” 这里“$”表示从行尾匹配 如果从行首匹配,可以用“^”来实现,不过 EditPlus 有另一个功能可以很简单的删除行首的字符串 a. 选择要操作的行 b. 编辑-格式-删除行注释 c. 在弹出对话框里面输入要清除的行首字符,确定 【4】正则表达式应用——替换带有半角括号的多行 几百个网页中都有下面一段代码: \n 在替换对话框启用“正则表达式”选项,这时就可以完成替换了 【5】正则表达式应用——删除空行 启动EditPlus,打开待处理的文本类型文件。 ①、选择“查找”菜单的“替换”命令,弹出文本替换对话框。选中“正则表达式”复选框,表明我们要在查找、替换中使用正则表达式。然后,选中“替换范围”中的“当前文件”,表明对当前文件操作。 ②、单击“查找内容”组合框右侧的按钮,出现下拉菜单。 ③、下面的操作添加正则表达式,该表达式代表待查找的空行。(技巧提示:空行仅包括空格符、制表符、回车符,且必须以这三个符号之一作为一行的开头,并且以回车符结尾,查找空行的关键是构造代表空行的正则表达式)。 直接在”查找”中输入正则表达式“^[ \t]*\n”,注意\t前有空格符。 (1)选择“从行首开始匹配”,“查找内容”组合框中出现字符“^”,表示待查找字符串必须出现在文本中一行的行首。 (2)选择“字符在范围中”,那么在“^”后会增加一对括号“[]”,当前插入点在括号中。括号在正则表达式中表示,文本中的字符匹配括号中任意一个字符即符合查找条件。 (3)按一下空格键,添加空格符。空格符是空行的一个组成成分。 (4)选择“制表符”,添加代表制表符的“\t”。 (5)移动光标,将当前插入点移到“]”之后,然后选择“匹配 0 次或更多”,该操作会添加星号字符“*”。星号表示,其前面的括号“[]”内的空格符或制表符,在一行中出现0个或多个。 (6)选择“换行符”,插入“\n”,表示回车符。 ④、“替换为”组合框保持空,表示删除查找到的内容。单击“替换”按钮逐个行删除空行,或单击“全部替换”按钮删除全部空行(注意:EditPlus有时存在“全部替换”不能一次性完全删除空行的问题,可能是程序BUG,需要多按几次按钮)。 【6】软件技巧——键盘记录的注意事项 EditPlus 的键盘记录有些类似于 UltraEdit 的宏操作,不过功能相对单一,录制的文件可编辑性较差。 由于基本无法编辑录制的文件,所以录制的时候为了避免录制失败,推荐纯粹使用键盘操作,以下是比较关键的几个键盘组合: Ctrl+F = 调出查找对话框 Ctrl+H = 调出替换对话框 Alt+F4 = 关闭作用,比如,关闭查找对话框、关闭替换对话框,等等 其它键盘快捷键在“帮助-快捷键列表”里面可以很容易的查找到,这里就 细说了。 【7】软件技巧——关闭文档标签的便捷方法 右键单击文档标签工具条,弹出菜单中选择“标签选项”,选中“用鼠标中间的按钮关闭”,这里包括鼠标的滚轮。 【8】软件技巧——如何去掉 EditPlus 保存文本文件时的添加后缀提示? 如果你使用 EditPlus 进行文本编辑,那么每次创建文本文件,编辑后保存时,尽管文件类型下拉列表中显示的是文本文件, EditPlus 还是询问你是否添加“.txt”后缀,是不是很烦? 解决方法: ① 在程序目录建立一个空的文件“template.txt” ② “工具-参数设置-模板”里面,单击“添加”按钮添加模板,“菜单文本”这里输入“Text”,浏览“template.txt”,之后确定即可 ③ “文件-新建-text”,就可以建立一个空的文本文件,保存时,这个文件自动带有扩展名”.txt”,也就避免了令人头疼的确认 ④ 模板设置文件名称为“template.ini”,如果和主程序同一路径,可以使用相对路径 罗嗦了点,不过管用 要自动创建带有某种后缀的文件,方法同上。 【9】软件技巧——提示找不到语法文件 *.stx 的解决办法 原因多为设置的语法文件不存在或者是路径设置不对。这是因为 EditPlus 的语法是设置文件采用的是绝对路径,而在你设置了语法文件之后,再把程序复制到其它目录,因而导致 EditPlus 无法找到该语法文件。 解决办法: 在主程序目录里,找到 Setting.ini 这是 EditPlus 存放语法的文件 查找后缀为“.stx”、“acp”的文本内容,或者查找带有驱动器符号的行,比如 Syntax file=C:\Program Files\EditPlus 2\cpp.stx 那么,就把”C:\Program Files\EditPlus 2\“替换成你当前软件的路径。 其它提示找不到文件的解决方法同上 【10】软件技巧——设置editplus支持其它文字,如韩文 在editplus里打开文件,出来打开文件对话框;然后点击“转换器”后面的那个省略号,会出来自定义转换器对话框;在右边选择你需要的编码方式,添加到左边,然后点确定;最后在下拉框中选择需要的编码方式,然后打开文件即可。 【11】软件技巧——FTP 上传的设置 “文件->远程操作->FTP 上传”在“设置”选项卡中设置好参数(“子目录”前面应该加“/”如“/web/”),点击“确定”回到“FTP 上传”选项卡,然后点击“上传”即可;“批量上传”的设置类似。 【12】软件技巧——如何禁用备份文件功能? 在“参数选择”的文件选项页,禁用“’保存时自动创建备份文件”选项 【13】软件技巧——添加语法文件、自动完成文件、以及剪辑库文件 要添加 *.STX(语法文件)或 *.ACP(自动完成文件): 1. 选择“参数选择→语法” 2. 单击“添加”按钮,命名,在“扩展名”部分输入对应扩展名(不带“.”) 3. 浏览/输入 STX(语法文件部分) 以及 ACP(自动完成文件部分)。 添加剪辑库文件(*.CTL) 复制相应 *.CTL 文件到软件安装目录,重新启动 EditPlus ,则系统自动识别。 【14】工具集成——编译器集成例子(Java、Borland C++、Visual C++、Inno Setup、nsis) 在“工具→参数选择→用户工具”选项页设置,设置步骤 设置组名称,这里也可以不设置 ② 单击“添加工具→应用程序”按钮并进行如下设置 ③ 各种类似”$(FilePath)”的参数可以在文本框右侧的箭头下拉菜单中获取,具体含义如下 参数 描述 $(FilePath) 文件路径(文件全名,含目录和文件名) $(FileDir) 文件目录(不带文件名) $(FileName) 文件名(不带目录) $(FileNameNoExt) 不带扩展名的文件名(不带目录) $(FileExt) 扩展名(当前文件) $(ProjectName) 工程名称(当前工程名) $(CurLine) 当前行号(光标位置处的行号) $(CurCol) 当前列号(光标位置处的列号) $(CurSel) 当前文本(插入当前选定文本) $(CurWord) 当前单词(插入当前单词) $(WindowList) 显示当前窗口列表并选择特定文件 例子 1. Java 编译器 菜单文本:Java 编译器 命令:c:\java\bin\javac.exe 参数:”$(FilePath)” 初始目录:$(FileDir) 捕获输出:开启 要运行已编译的 Java 类文件,你可以进行如下设置: 菜单文本:Java 命令:c:\java\bin\java.exe 参数:$(FileNameNoExt) 初始目录:$(FileDir) “命令”部分应当替换为实际的 Java 解释器的路径。 例子 2. Borland C++ 菜单文本:Borland C 命令:c:\bc\bin\bcc32.exe 参数:-Ic:\bc\include -Lc:\bc\lib -n$(FileDir) $(FilePath) 初始目录:c:\bc\bin 捕获输出:开启 例子 3. Visual C++ 菜单文本:Visual C++ 命令:c:\msdev\vc98\bin\cl.exe 参数:”$(FilePath)” 初始目录:$(FileDir) 捕获输出:开启 例子 4. Inno Setup 菜单文本:编译 Inno 命令:C:\Program Files\Inno Setup 4\Compil32.exe” 参数:/cc $(FileName) 初始目录:$(FileDir) 捕获输出:开启 例子 5. nsis 菜单文本:编译 nsis 命令:C:\NSIS\makensis.exe 参数:$(FileName) 初始目录:$(FileDir) 捕获输出:开启 例子 6. C# 菜单文本:编译 C# 命令:C:\WINDOWS\Microsoft.NET\Framework\v1.0.3705\csc.exe 参数:$(FileName) 初始目录:$(FileDir) 捕获输出:开启 在上面设置中,在命令部分,必须使用系统中各自编译器的绝对路径。 设置完毕后,你可以在“工具”菜单运行对应工具了,运行结果会显示在底部的输出窗口,你也可以通过快捷键(Ctrl + 0-9) 运行,或者是通过“用户工具栏”的快捷按钮运行。 要运行已编译的 *.exe 文件,你可以进行如下设置(此时可执行文件需要和编译文件同名): 菜单文本:Run 命令:$(FileNameNoExt) 参数: 初始目录:$(FileDir) 【15】工具集成—— 让Editplus调试PHP程序 1:打开Editplus,选择”工具->配置用户工具…”菜单。 2:在弹出的窗口中选择”添加工具->应用程序”,给新程序起一个好记的名字,比如这里我们用”Debug PHP”,在”菜单文本”中输入”Debug PHP”。点击”命令行”右边的按钮,找到你的php.exe所在的路径,例如这里是”c:\php\php.exe”。再点击”参数”右边的下拉按钮选择”文件路径”,最后再把”捕获输出”前面的复选框选上。 3:现在测试一下,新建一个php文件,按快捷键Ctrl+1可以激活刚才我们设置的工具(如果你设置了多个工具,快捷键可能会有所不同),现在你可以看到它已经能正常工作了。但是还有一点不太理想:如果你的PHP程序出错,在输出窗口会提示你第几行出错 ,单击这一行提示,Editplus老是提示你找不到某某文件,是否新建。接下下我们要修正这个功能。 4:打开刚才用户工具设置窗口,找到刚才设置的”Debug PHP”工具。点击”捕获输出”复选框旁边的”输出模式”按钮,会弹出一个定义输出模式的窗体,把”使用默认输出模式”前面的复选框去掉, 在”正则表达式”这一项的文本框中输入” ^.+ in (.+) line ([0-9]+) “(不包括引号),细心的朋友可能会发现,这里使用的也正则表达式的语法。然后,在下面的”文件名”下拉菜单中选择”预设表达式 1″,即上边正则表达式中的第一个参数,”行”下拉菜单项选择”预设表达式 2″,”列”下拉项保持为空。然后保存设置。 5:好了,现在再来试一下吧,双击出错的行数,Editplus就会自动激活出错文件,并把光标定位到出错行,是不是特别方便呢?! 现在,Editplus经过我们的”改造“,已经可以即时的调试PHP文件了,虽然还不是”可视化”界面的,但对于一些平常的小程序来查错还是非常好用的。Editplus真是 款不可多得的好工具,如果你有什么使用技巧,不要忘了大家一起分享哦。^O^ 如果不能切换错误行号,请尝试作如下修改: (by aukw) 1.php.ini 中html_errors = Off打开 //如果你不打开,3.中的表达式要修改 2.参数改成:-q -f “$(FilePath)” //不加“符号的话文件名有空格的文件调试失败。。 //-q不输出html头信息,你去掉也行,不过调试时候你一般用不到那些header信息 3.” ^.+ in (.+) line ([0-9]+) ” 改成 “^.+ in (.+) on line ([0-9]+)$” //如果还是不行,请注意调试结果,自己修改表达式来取出文件名和行号 【16】工具集成——打造 PHP 调试环境(二) 1: 把剪辑库定位在 PHP4 Functions 上就可以在编辑时, 利用[插入]->[匹配剪辑]命令,就可以自动完成末输入完整的 PHP 函数(或直接按 F2 键) 2: 类似上面,在选择部分文字后,同样可以自动完成。(同 F2) 3: 在[参数选择]->[设置和语法]->PHP->自动完成, 选择目录下的 php.acp 文件,你可以定制自己的自动完成方式. 4: 想要即时预览文件,可在[参数选择]->[工具]->WEB 服务器中添加本地目录,(注意不要加 http:// , 应是一个有效的站点)。     如: 主机->localhost/php 根目录->D:\php 主机->localhost/asp 根目录->D:\asp 主机->localhost/cgi 根目录->D:\cgi 完成设置后只要脚本文件位于这些目录下(子目录也没问题), 就能够正确解释. 5: 各种语法和模板文件可以在 www.editplus.com 获得,可根据需要选用和编辑。 6: Ctrl+F11 可显示当前文件中的函数列表. 7: 添加各种用户工具.如: 启动MYSQL服务器管理工具->C:\mysql\bin\winmysqladmin.exe 启动Apache服务器->C:\Apache\bin\Apache.exe -k start 启动Apache服务器->C:\Apache\bin\Apache.exe -k stop (shutdown) 8: DBG 附带有一个 prof_results.php 文件,可剖析 PHP 程序的性能. 虽不是真正的调试器,但已经够了. OK! 经过改造后,是不是有点象一个 IDE 什么?还差点,没有即时帮助…看我的,再来: 9: 把 php_manual_en.chm (最好是扩展帮助手册)加入到用户工具中, 当遇到需要参考的关键字时, 把光标定位其上, 按下快捷键 Ctrl+1, 看到了吗. 在输入时有想不起来的函数名时, 先按照第 1 条的方法调出函数, 然后…怎么样? 以上有的是对于调试工具的设置,由于此类工具比较多,大家设置时参考以上的基本就差不多了,所以就不过多的列举了。 【17】在 WINPE 中集成 EDITPLUS 可以基于目前的bartpe做得WINPE中,菜单使用nu2menu制作 默认位置为 \programs\editplus\ 默认系统位置为光盘的 i386 目录 i386/system32 的 autorun.bat 中添加外壳集成(系统右键) regedit /s %SystemDrive%\programs\editplus\REG.REG regsvr32 /s \programs\editplus\EPPSHELL.DLL 复制editplus安装包里面的文件到programs\editplus\,注意,如果有setting.ini,删掉该文件在nu2menu里面加入,可以根据需要安排位于特定菜单条目下 FUNC=”@GetProgramDrive()\Programs\EditPlus\editplus.exe”>本编辑
.版本 2 .子程序 _删除_被选择 .局部变量 当前选中, 整数型 .局部变量 文本数组, 文本型, , "0" .局部变量 文本数组2, 文本型, , "0" .局部变量 删除容器, 字节集 .局部变量 x, 整数型 .如果真 (列表框1.现行选中项 = -1) 信息框 (“请在列表中选中需要删除的会员!”, 0, ) 返回 () .如果真结束 当前选中 = 列表框1.现行选中项 移到文件首 (文件号) 删除容器 = 读入字节集 (文件号, 取文件长度 (文件号)) 文本数组 = 分割文本 (到文本 (删除容器), #换行符, ) .计次循环首 (取数组成员数 (文本数组), x) .如果 (当前选中 + 1 = x) 文本数组2 = 分割文本 (文本数组 [x], “,”, ) .如果真 (信息框 (“会员卡号:” + 文本数组2 [1] + #换行符 + “会员名字:” + 文本数组2 [2] + #换行符 + “卡类型:” + 文本数组2 [4] + #换行符 + “您确定要删除?”, #警告图标 + #是否钮, “删除会员信息:”) = 5) 删除成员 (文本数组, x, ) 跳出循环 () .如果真结束 返回 () .否则 .如果结束 .计次循环尾 () 移到文件首 (文件号) 删除数据 (文件号, 取文件长度 (文件号)) .计次循环首 (取数组成员数 (文本数组), x) .如果 (取数组成员数 (文本数组) = x) 写出字节集 (文件号, 到字节集 (文本数组 [x])) .否则 写出字节集 (文件号, 到字节集 (文本数组 [x] + #换行符)) .如果结束 .计次循环尾 () 子程序载入数据 () .子程序 子程序删除会员 .参数 会员号, 文本型 .局部变量 删除容器, 字节集 .局部变量 文本数组, 文本型, , "0" .局部变量 文本数组2, 文本型, , "0" .局部变量 x, 整数型 .' 如果 (会员号 ≠ “”) ' 移到文件首 (文件号) ' 删除容器 = 读入字节集 (文件号, 取文件长度 (文件号)) ' 文本数组 = 分割文本 (到文本 (删除容器), #换行符, ) .' 计次循环首 (取数组成员数 (文本数组), x) ' 文本数组2 = 分割文本 (文本数组 [x], “,”, ) .' 如果真 (文本数组2 [1] = 会员号) .' 如果真 (信息框 (“会员卡号:” + 文本数组2 [1] + #换行符 + “会员名字:” + 文本数组2 [2] + #换行符 + “卡类型:” + 文本数组2 [4] + #换行符 + “您确定要删除?”, #警告图标 + #是否钮, “删除会员信息:”) = 5) ' 删除成员 (文本数组, x, ) ' 跳出循环 () .如果真结束 ' 返回 () .如果真结束 .' 计次循环尾 () ' 移到文件首 (文件号) ' 删除数据 (文件号, 取文件长度 (文件号)) .' 计次循环首 (取数组成员数 (文本数组), x) .' 如果 (取数组成员数 (文本数组) = x) ' 写出字节集 (文件号, 到字节集 (文本数组 [x])) .否则 ' 写出字节集 (文件号, 到字节集 (文本数组 [x] + #换行符)) .如果结束 .' 计次循环尾 () ' 会员号 = “” ' 子程序载入数据 () .否则 .如果结束 .子程序 _导入_被选择 .局部变量 导入容器, 字节集 .局部变量 文本数组, 文本型, , "0" .局部变量 文件号2, 整数型 .局部变量 临时变量, 文本型 信息框 (“本导入程序不会对您所导入的数据进行校验,请正确选择需要导入的数据备份!” + #换行符 + “否则将会导致不可逆的数据损坏!”, #警告图标, “警告!!”) .如果真 (通用对话框1.打开 () = 假) 返回 () .如果真结束 关闭所有文件 () 文件号2 = 打开加密文件 (通用对话框1.文件名, 3, , “19@85(32%71&BvC”, ) 移到文件首 (文件号2) 导入容器 = 读入字节集 (文件号2, 取文件长度 (文件号2)) 临时变量 = 子文本替换 (取当前目录 (), “\bakup”, “”, 1, , 真) 文件号 = 打开加密文件 (临时变量 + “\data.dat”, 4, , “19@85(32%71&BvC”, ) 移到文件首 (文件号) 写出字节集 (文件号, 导入容器) 关闭所有文件 () 信息框 (“为让系统正确运行,请关闭程序重新运行!”, #信息图标, )

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧