一、花絮

delphi自带的memo显示sql语句看的太累人了,今天决定美化一下。最起码要有“语法着色”、“显示行号”这2个功能。

意外发现了 SynEdit 控件。

SynEdit是一个免费的文字编辑器,支持37种程序语言语法高亮度显示,可以一次编辑多个文件

SynEdit 支持语法高亮、word-wrap、代码自动完成、模版组件、导出到 html 等格式的功能。

SynEdit 是一个纯 VCL/CLX 控件,无须任何其他运行库支持,著名的 HeidiSQL 数据库管理工具就是使用该控件开发的SQL编辑器。[] 

下载地址: http://sourceforge.net/projects/synedit/

打开下载的文件后,发现最后更新时间是2013年。在delphi xe7下面安装频频报错。(因为utf-8编码的问题),修改很多处都还是报错。

并不想再源码上纠结太多。于是找到了一个非常完美的版本 http://download.csdn.net/detail/vowstar/8047455

感谢提供者: vowstar

考虑到csdn下载文件比较麻烦。这里我直接传到园子里面,方便下载

http://files.cnblogs.com/files/lovelp/SynEdit-DelphiXE7.rar

二、安装

1、用delphi xe7打开 SynEdit-DelphiXE7\Packages\DelphiXE7.groupproj

然后,编译、install (和其他控件安装是一样的步骤,比如fastreport)

2、添加 SynEdit-DelphiXE7\Packages\Win32\Release 到delphi的32位环境变量library path,

添加 SynEdit-DelphiXE7\Packages\Win64\Release 到delphi的64位环境变量的library path

3、安装成功后,控件区域会显示

三、使用

1、添加2个控件到窗体:

TSynMemo和TSynSQLSyn 两个控件

2、关联TSynMemo的Highlighter属性为TSynSQLSyn控件

3、设置行号  synm1.Gutter.ShowLineNumbers := true;

4、设置sql语法高亮的颜色

  

synsqlsyn2.CommentAttri.Foreground := clGreen;
synsqlsyn2.DelimitedIdentifierAttri.Foreground :=clBlue;
synsqlsyn2.FunctionAttri.Foreground :=clFuchsia;
synsqlsyn2.KeyAttri.Foreground := clBlue;
synsqlsyn2.StringAttri.Foreground:= clRed;

效果图

四、小结

  1、合适的时候选择合适的工具。(按照以前的性格肯定会用VC来死磕)

  2、对的时间做对的事情(编译不通过的时候,继续折腾可能会消耗更多的时间,从而本末倒置。因为重点是使用控件而不是编译通过)

  3、把消耗时间解决的问题整理出来,避免以后再消耗时间。

SynEdit(Delphi XE7)的安装和基本使用的更多相关文章

  1. Delphi XE7下如何创建一个Android模拟器调试

    利用Delphi XE7我们可以进行多种设备程序的开发,尤其是移动开发应用程序得到不断地加强.在实际的Android移动程序开发中,如果我们直接用android真机直接调试是非常不错.一是速度快,二是 ...

  2. Delphi xe7组件和控件的安装方法

    暂时我所遇到的所有控件安装方法大体与下面两种相同. 若有不同大家提出来,一起想办法解决. .dproj格式的组件安装方法: raise组件 安装详细步骤如下: 一.设置搜索路径1. 将本包中的文件连同 ...

  3. RemObjects SDK Source For Delphi XE7

    原文:http://blog.csdn.net/tht2009/article/details/39545545 1.目前官网最新版本是RemObjects SDK for Delphi and al ...

  4. Delphi XE7试用记录1

    Delphi XE7试用记录1 在网上看到XE7的一些新特征,觉得完整Unicode支持.扩展Pascal语法.更多功能的库都很吸引人,决定试试XE7. XE7官方安装程序很大,因此选择了lite版, ...

  5. Delphi XE7的安卓程序如何调用JAVA的JAR,使用JAVA的类?

    本文使用工具和全部源码下载: http://download.csdn.net/detail/sunylat/8190765 为什么我们要在Delphi XE7的安卓程序调用JAVA的JAR,使用JA ...

  6. Delphi XE7调用Java Class,JAR

    Delphi XE5,XE6需要用户手工编译并将Classes.Dex加入到包中,不过Delphi XE7可以省掉这些工作了. 如何在XE7中调用Java,具体步骤如下: 1.将jar文件添加到XE7 ...

  7. [转载]: delphi中XLSReadWrite控件的使用(2)---delphi XE下安装

    一.下载 官方下载网址: http://www.axolot.com/components/download.htm 从这里可以下载到从Delphi5到DelphiXE全部支持的版本. 二.软件安装 ...

  8. delphi XE7 中的消息

    在delphi XE7的程序开发中,消息机制保证进程间的通信. 在程序中,消息来自: 1)系统: 通知你的程序用户输入,涂画以及其他的系统范围的事件: 2)你的程序:不同的程序部分之间的通信信息.   ...

  9. 关于delphi XE7中的动态数组和并行编程(第一部分)

    本文引自:http://www.danieleteti.it/category/embarcadero/delphi-xe7-embarcadero/ 并行编程库是delphi XE7中引进的最受期待 ...

随机推荐

  1. H2 database 应用

    以前对内存表的引用一直采用sqllite,由于sqllite对字段的局限性无法满足需要.后来对h2 有了一定青睐做了下应用.下面对h2进行介绍. 1. H2数据库引擎 H2数据库由Java编写的,它可 ...

  2. python 基础 5.3 类的重写

    一. 类的重写 只需要重新定义类的属性(变量),就是累的重写了 示例:重新定义类grandson的 name属性   #/usr/bin/python #coding=utf-8 #@Time :20 ...

  3. 【BZOJ3251】树上三角形 暴力

    [BZOJ3251]树上三角形 Description 给定一大小为n的有点权树,每次询问一对点(u,v),问是否能在u到v的简单路径上取三个点权,以这三个权值为边长构成一个三角形.同时还支持单点修改 ...

  4. 在嵌入式、海思、ARM中进行统一的音频AAC编码的必要性

    前言 最近来到深圳,跟许多做硬件的小伙伴聊安防.聊互联网.聊技术,受益颇多,其中聊到一点,大家一直都在想,互联网发展如此迅猛,为啥大部分的摄像机还是采用的传统G.726/G.711的音频编码格式呢,如 ...

  5. redis启动错误-- Creating Server TCP listening socket *:6379: listen: UnKnown error

    前提:windows server 2008.redis 3.x 今天给服务器部署redis环境,文件配置.服务安装都很顺利,可就在启动服务的时候提示 百度老半天也没找到个说到点子上的. 这里记录下解 ...

  6. c++ get the pointer from the reference

    int x = 5; int& y = x; int* xp = &x; int* yp = &y; xp is equal to yp. 也就是说,直接对reference取 ...

  7. c++动态绑定的技术实现

    1 什么是动态绑定 有一个基类,两个派生类,基类有一个virtual函数,两个派生类都覆盖了这个虚函数.现在有一个基类的指针或者引用,当该基类指针或者引用指向不同的派生类对象时,调用该虚函数,那么最终 ...

  8. javac 编译源文件出现"java:1: 需要为 class、interface 或 enum"、" [javac] 锘縫"错误

    [javac] HelloWorld.java:1: 需要为 class.interface 或 enum [javac] 锘縫ackage com.csdn.demo; [javac] ^ [jav ...

  9. ZooKeeper原理及使用(转)

    原文地址 ZooKeeper是Hadoop Ecosystem中非常重要的组件,它的主要功能是为分布式系统提供一致性协调(Coordination)服务,与之对应的Google的类似服务叫Chubby ...

  10. Ubuntu PPPoE拨号上网指定网卡

    Just follow these steps: Check that the ethernet cable is properly connected Open Terminal Run sudo ...