Delphi的Trim函数
三个Trim函数简介
函数原型 function Trim(const S: string): string; 将字符串前后的空白及控制字元清掉.
注意Trim函数只能清掉字符串前后的空格及控制字元,不能清除字符串中间的空格
函数原型 function TrimLeft(const S: string): string; 将字符串左边的空白及控制字元清掉.
函数原型 function TrimRight(const S: string): string; 将字符串右边的空白及控制字元清掉.
Trim实际应用场景举例
以下有一个使用Delphi的Trim函数的实际的场景,看完也许能让你更为深刻的认知Trim在实际开发中的应用
进行Delphi数据库应用,想做一个用户身份确认的登陆窗口,就是输入用户名和密码然后去数据库取出数据验证用户身份,可是程序运行时候,尽管每次输入的用户名称和密码都是 正确的,可是程序总是说我的密码输入有错误,问题出在何处呢?请看代码
if ibt_user_pass.RecordCount=1 then
begin
if ibt_user_pass.FieldByName('passwd').AsString=edit2.Text then //****
form_student_login.Hide
else
application.MessageBox('请确认密码是否正确!','密码不匹配',MB_OK);
end
else
application.MessageBox('请确认用户名是否正确!','无此用户',mb_ok)
end;
才知道原来是加//**** 注释那行的代码存在问题,数据库如果某个字段是Char类型的数据,才存放数据后会自动在字符串后面补上空格,以满足位数的需要,因此表面上看,取得的密码和我输入的密码一样,实际上是不一样的。
解决方法:
办法1:
if ibt_user_pass.FieldByName('passwd').AsString = edit2.Text then
改为
trim(ibt_user_pass.FieldByName('passwd').AsString=edit2.Text then
Trim 函数作用是去掉字符串中多加上去的空格
办法2:
数据库的char 类型改成 varchar类型
Delphi的Trim函数的更多相关文章
- Delphi常用系统函数总结
Delphi常用系统函数总结 字符串处理函数 Unit System 函数原型 function Concat(s1 [, s2,..., sn]: string): string; 说明 与 S : ...
- Delphi 使用之函数
函数由一句或多句代码组成,可以实现某个特定的功能.使用函数可以使代码更加易读.易懂,加快编程速度及减少重复代码.过程与函数类似,过程与函数最重要的区别在于,过程没有返回值,而函数能有返回值. ...
- delphi字符串分隔函数用法实例
这篇文章主要介绍了delphi字符串分隔函数用法,通过自定义函数SeparateTerms2实现将字符串分割后存入字符串列表的功能,具有一定的实用价值,需要的朋友可以参考下 本文实例讲述了delphi ...
- 【SQL】靠谱的TRIM函数,附赠过程一枚
SQL中有LTRIM和RTRIM这两个函数分别用于去除字符串的首.尾空格,缺乏常见的能同时去除首尾的TRIM函数,另外,这俩函数都只对[空格]有效,所以如果首尾是制表符.换行符等等[空白],它们是不处 ...
- Delphi中的函数指针判断是否为空
delphi函数指针 只有@@p才代表了函数指针本身的地址 assigned(p) 判断是否为空 或者用 @p=nil 来判断函数指针是不是为空 Delphi中的函数指针实际上就是指针,只是在使用 ...
- shell实现trim函数-去除字符串两侧的空格(包括tab,space键)
shell实现trim函数效果去除字符串两侧的空格,以下三个命令等价,都能实现 sed 's/^\s*//' totrim.txt |sed 's/\s*$//'>trimed.txtsed ' ...
- PHP trim()函数的一些用法
string trim ( string $str [, string $charlist ] ) - 去除字符串首尾处的空白字符(或者其他字符) trim()函数当第二个参数为空时,默认去掉空格.制 ...
- JQuery中trim函数的具体实现代码
由于Javascript 1.8.1 之前的版本,没有内置 trim 函数,所以 JQuery 对它有自己的实现.不同的JQuery版本,trim函数的实现也不尽相同. 阅读本文需要掌握正则表达式用法 ...
- trim()函数IE7/8不兼容
js中重写trim()函数 <script type="text/javascript"> String.prototype.trim = function() ...
随机推荐
- Linux学习之CentOS(二十一)--Linux系统启动详解
在这篇随笔里面将对Linux系统的启动进行一个详细的解释!我的实验机器是CentOS6.4,当然对于现有的Linux发行版本,其系统的启动基本上都是一样的! 首先我们来看下Linux系统启动的几个 ...
- checkbox做全选按钮
1.先写一个html页面,里面写一个全选按钮和几个复选框,实现下面2个要求 (1)点击全选按钮选中时,所有的复选框选中. (2)点击全选按钮取消选中时,所有复选框取消选中. <input typ ...
- 第一个spring、springmvc、mybatis、freemarker项目小知识(一)
1.持久层开发(Mybatis) 1.1 添加,非空字段必须给值,不是非空加判断,有值添加无值不添 1.2 删除,注意外键关系的级联删除.(事务传播行为) 1.3 更新,每个字段单独 ...
- php程序 注册机制
密码加密方式 1.直接md5加密 2.md5和随机数(也可以是固定参数,如(Rfd4WE784)) 3.md5(md5) 4. 参考 function sp_password($pw,$authcod ...
- websocket
websocket是一个协议,在单个TCP连接上提供全双工通信. websocket被设计并被实现在 web浏览器和 web 服务器上,但是它可以被用于任何c/s 架构的应用程序中. websock ...
- NPOI导出Excel (C#) 踩坑 之--The maximum column width for an individual cell is 255 charaters
/******************************************************************* * 版权所有: * 类 名 称:ExcelHelper * 作 ...
- MTK MT33xx型GPS的NMEA协议解析实例
1)解析实现 gps_main.c #include <nmea/nmea.h> #include <string.h> #include <stdio.h> #i ...
- 数据存储_FMDB
一.简单说明 1.什么是FMDB FMDB是iOS平台的SQLite数据库框架 FMDB以OC的方式封装了SQLite的C语言API 2.FMDB的优点 使用起来更加面向对象,省去了很多麻烦.冗余的C ...
- Linux 下 查看以及修改文件权限
查看权限 在终端输入: ls -l xxx.xxx (xxx.xxx是文件名) 那么就会出现相类似的信息,主要都是这些: -rw-rw-r-- 其中: 最前面那个 - 代表的是类型 中间那三个 rw- ...
- 代码质量管理工具——SonarQube
写在前面 SonarQube(简称Sonar)是管理代码质量的开放平台,它可以快速地对代码质量进行分析,并给出合理的解决方案,提高管理效率,保证代码质量. SonarQube的流行,在于以下几点: 开 ...