vfp中求变量的长度值,变量是字符串

qq_41619107 2018-01-22 07:38:42

在vfp程序中,如何求一个记录内容的字符串长度值,我需要自动算出比如“树种组成“这一列所有字符串的长度值
...全文
1077 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
zou_he 2018-01-22
  • 打赏
  • 举报
回复 1
这个好象没有什么函数能一下子得到吧。 用一小段程序就很简了。 SELECT 表1 Len_nVar=0 SCAN len_nvar=len_nvar+LEN(ALLTRIM(表1.树种组成)) ENDSCAN len_cvar=ALLTRIM(STR(len_nvar)) =MESSAGEBOX("树种组成所有记录字段长为&len_cvar.",0+64,"信息提示") RETURN
此文件是MyFll.fll文件不可分割的一部分,包含对MyFll函数库全部说明及示例。 MyFll是专为Microsoft Visual FoxPro设计的扩展库,部分函数来自任明汉(RMH myF1论坛)前辈提供的myDll代码翻译而成,由于很多功能利用VFP处理比较烦锁,或无法实现,使用此库可有效解决VFP的弱项。部分与Win32Api同名的函数,是Win32API的封装。部分函数取自网上开源算法,在相关函数均有注明。 此源代码使用VC6 sp6开发,采用VFP9 Sp2的库文件,理论上可以应用于VFP6 7 8 9版本。 此库在第一次打开时自动添加智能感应功能已关闭。请在打开后,使用FllAddFoxCode()向智能感应库添加所有的函数原型(需要VFP7以上),此库存所有函数使用VFP推荐的命名规则,一般可以根据函数名和知能感应的提示参数来推测参数及返回。 开发环境可以使用FllHelp()函数来检查函数信息: 取得此版本函数个数:FllHelp() 取得第x个函数的信息:?FllHelp(x) 显示提示信息:?FllHelp(x,.T.) 显示指定函数的信息:FllHelp("SendMessage",.T.) 显示Fll的版:?FllGetVersion() 添加智能感应代码:FllAddFoxCode() 版本信息:由于不定期更新,请及时核对版本(右键属性),版本为X.X.X.X,第一位为主版本号,第二位为函数个数,第三位为发布的年份,第四位为日期。当前版本为:1.179.9.811 版权:你可以自由使用、散发此函数库及此帮助,包括应用于你的商业软件。在转发时应注意帮助文件于函数库和帮助同在。不得对软件进行破解、反编译等破性或逆向工程。MyFll作者不承担可能由于技术原因或失误给你带来的错误或损失。发现错误可以与作者取得联系共同改进。 感谢:我的帮助论坛http://www.myf1.net/bbs 梅子论坛 http://www.meizvfp.com/bbs 感谢:各位为Myfll做测试、编写帮助的热心网友。 作者:木瓜 ljyit@163.com 函数列表: 硬件相关函数: GetDiskSerial        读取指定硬盘的序列号 GetCpuId           读取CPU的序列号 GetMAC            读取网卡的MAC地址 GetVolumeNumber       读取指写磁盘的卷标 IsDiskInDrive        检查指定磁盘是否就绪 GetPort           读取系统的串口、并口 ComOpen           打开串口 ComWrite           向串口输出信息 ComRead            从串口读取信息 ComClose           关闭串口 GetGUID            获取全球唯一ID AEthernet          枚举网卡的所有信息 加密解密函数: MD5File           计算一个文件的MD5效验和 MD5String          计算一个字符串的MD5效验和 CRC32File          计算一个文件的CRC32效验和 CRC32String         计算一个字符串的CRC32效验和 des             采用DES算法加密或解密一个字符串长度为8位 des16            采用DES算法加密或解密一个字符串长度为16位 des24            采用DES算法加密或解密一个字符串长度为24位 EnDeString          双向加密解密字符串的函数 Encrypt           双向加密解密字符串 RSACalc           RSA计算函数 RSAGen            生成随机RSA密钥函数 RSACmp            比较两个十六进制是否相等 URLEncode          URL编码 URLDecode          URL解码 QPEncode           Quoted-Printable QP编码 QPDecode           Quoted-Printable QP解码 压缩解压函数: Zip              压缩文件 UnZip             解压文件 UnZipFile           解压单个文件           ZipInfo            测试一个文件是否在压缩文件存在 ZipFileToStr         将压缩文件的文件解压到 ZipAFile           将zip文件的文件信息生成的数组 CompressString        压缩一个字符串 DeCompressString       解压字符串 数据库: CursorToStr         将Cursor生成 ChangesToStr         将Cursor的动情况生成         StrToCursor         将还原为Cursor AppendFromStr        将的表追加到指定表 ACursorList         将的表信息生成数组 ACursorFields        将的指定表的字段信息生成数组 CRC32Record         计算一条记录的CRC32 SQLCallBack         SQL回调函数载入 SQLCallReset         SQL回调函数卸载 PackMDB           压缩修复Access数据库 ReadMemo           读取vfp大于16M的备注字段 网络相关函数: DownFile           从internet上下载文件到本地 DownFileX           线程方式从网上下载一个文件 HttpGetFileSize       读取internet上的文件大小 HttpPostData         向http服务器Post数据 HttpOpen           打开一个Internet句柄 HttpAddParms         为Http句柄添加一个参数 HttpSend           发送Http句柄的Post数据 HttpClose          关闭Http句柄 FtpDownFile          从FTP服务器下载文件 FtpUploadFile        向FTP服务器上传文件 FtpConnect          连接FTP服务器 FtpDisconnect        断开FTP服务器连接 FtpAFile          枚举Ftp的所有文件 FtpCreateDir        在FTP服务器上创建一个文件夹         FtpSetCurrentDir      设置当前的文件夹 FtpDeleteDir        删除FTP服务器上的文件夹 FtpDelFile         删除FTP服务器上的文件 FtpRename          重命名FTP服务器上的文件 FtpFOpen          打开FTP服务器上的文件 FtpFClose         关闭FTP服务器上的文件 FtpFRead          读取FTP服务器上的文件 FtpFWrite          写入FTP服务器上的文件 FtpSetPasv          设置FTP被动工作模式 ShareAdd           在局域网共享文件夹 ShareDel           删除共享文件夹的共享 ShareMapDrive         映射网络驱动器 ShareDelDrive         删除映射的网络驱动器 GetLocalIP          读取本机IP DomainToIP          转换域名为IP地址 DialUp            建立拨号连接 DialDown           断开拨号连接 GetSqlServer         列出所有网络上的SQL Server IpToMAC           根据IP得到MAC地址 邮件函数: SmtpCreate          创建一个SMTP发送邮件的句柄 SmtpNewMail         在内存创建邮件内容,等待发送 SmtpSend           发送邮件 SmtpGetLastError       检测邮件最后的错误 Pop3Create          创建一个POP3接收邮件的句柄 Pop3Close          关闭句柄 Pop3AMailList        枚举POP3服务器上的邮件数 Pop3DeleteMail        删除POP3邮件服务器上的邮件 Pop3GetMail         下载一封邮件 Pop3GetMailHeader      下载邮件头 Pop3DeleteMail        删除服务器上的邮件 打印相关函数: PaperAdd           添加自定义纸张并返回ID PaperDel           删除自定义纸张 PaperInfo          读取所有纸张信息或指定纸张信息 APaper            枚举所有纸张生成数组 GetDefaultPrinter      取得默认打印机的名称 SetDefaultPrinter      设置默认打印机 PrinterOpen         启用一个打印任务 PrinterOutPage        打印页对像 PrinterClose         结束打印 常用转换函数: ToPY             生成指写字符串的拼音首字 NToC             数字转人民币大写 hzbh             计算指定字符串的汉字笔划 StringToDword        将高底位存放的字符串,转换为字符型 DwordToString        将整型数转换为字符型数 NumConver          进制转换函数,能够将一个数字转换为2至36进制的字符串 ConverNum           将指定进制的字符串转换为数型 GB2312ToBIG5         简体转繁体 BIG5ToGB2312         繁体转简体 FormToBmp          将表单保存为BMP图片 RectToBmp           指定屏幕区域保存为bmp图片 StrReverse          指定屏幕区域保存为bmp图片 ImageConver         转换图片格式 FTrim            删除字符串除指定字符以外的字符 Thumbnail          缩放图片 注册表读写函数: regRead           读取注册表的设置 regWrite           向注册表写入设置 regDelKey          删除注册表的分支 regDelValue         删除注册表的设置 ini文件读写函数: iniRead           从ini文件读取设置 iniWrite           向ini文件写入一个设置 iniSet            设置默认的数据段和ini文件 iniSetSection        设置默认的数据段 iniSetFileName        设置默认的ini文件 系统托盘 SysTrayAdd          向系统托盘添加一个图标 SysTrayEdit         修改系统托盘的图标 SysTrayDel          删除系统托盘的图标 HotKeyAdd          向系统注册一个热键 HotKeyDel          删除向系统注册的热键 SysTrayShowMessage      显示托盘消息 文件操作 CopyFiles          复制文件 MoveFiles          移动文件 DeleteFiles         删除文件 CreateShortcut        创建快捷方式 GetIcon           释放exe或dll的图标 其它: SetVFPEvents         设置MYFLL内部函数回调功能 SetDateTime         设置Windows系统时间 ChangEres          更改屏幕的分辨率 idleLoad           开始加载空闲检测 idleSeconds         读取系统空闲时间 idleUnload          卸载空闲检测 KillApp           终止指定进程 KillAllApp          终止所有进程,但排除指定标题的进程 KillProcessByName      根据程序文件名杀死一个进程 FindAllFile         查找指定文件夹下的所有文件 IsNum            检测函数是否是数字 CheckProcess         检测主程序是否重复运行 ProcLoad            载入一个VFP函数,取得函数地址 ProcUnload          卸载函数 MemRead           读取指定地址的内存 MemWrite           写入指写内存 PushError          系统错误处理压栈 PopError           系统错误处理出栈 Format            格式化输出字符串(类C语言) CreateLink          创建文件关联 DesktopHide         隐藏桌面 SystemKeySet         禁用系统键 RegisterFile         注册文件名解除文件注册 封装过的Win32 API函数: FindWindow          查找指定窗口的句柄 SendMessage         向指写窗口发送指定消息 PostMessage         将消息投递到指定句柄的消息队列 ShowWindow          显示指定窗口 ShowWindowAsync       显示指定窗口 SetWindowLong        设置窗口的扩展样式 SetLayeredWindowAttributes  设置窗口效果 SetForegroundWindow     激活指定窗口使这成为最前面的窗口 ShellExecute         调用系统关联,打开一个文件 ShellExecWait        调用一个程序,并等待执行结束 SuspendThread        暂停一个线程 ResumeThread         恢复一个线程 Beep             使电脑内喇叭发出beep声 ExitWindowsEx        退出Windows Sleep            程序挂起nMilliseconds毫秒 ExitProcess         终止当前进程 GetLastError         返回最后的错误号码 SetParent          设置窗口的父窗口 UpdateWindow         更新窗口
一、程序与程序文件   1、 程序的概念:由命令动词或短语参数以及语法结构所组成的能够自动处理的命令文件, 扩展名为 PRG。   2、程序的特点     可以利用编辑器,方便地输入、修改和保存程序。     可以用多种方式,多次运行程序。     可在一个程序调用另一个程序。     它是一种自动处理方式。   3、编程要遵循的原则:     在输入命令动词或短语时,命令动词的输入要与命令窗口一致即:不分 字母大小写、命令动词可缩写前四个字母、命令动词或短语之间至少有一空格隔开。     一行只能写一条语句,输入完后必须回车,才能在第二行输入下面的内容。     当一行输入不完语句时,在该行的最后输入";",再回车,转到下一行,系统回 默认下一行是上一行的继续。     在程序允许使用注释语句:用"*"或"&&"或NOTE开头,命令行后也可以用注释 ,用"&&"开头,当然注释语句可以有可以无,在程序运行时不运行注释语句。     在编辑程序,并不是每句都执行,只有在运行时才执行程序,而且是按照自然 顺序执行。 4、程序文件的建立与执行     程序文件的建立     步骤1:点击"文件",在弹出的下拉菜单选择"新建",然后在"新建"的对话框 选择"程序",再单击"新建文件"按钮。     步骤2:在弹出的"程序"框,可以输入语句。     步骤3:保存文件。从"文件"的下拉菜单选择"保存"或"另存为"或用快捷键" CTRL+W",在"另存为"对话框指定程序存放的路径和文件名,并单击"保存"按钮。     编辑或修改程序     步骤1:点击"文件",在弹出的菜单选择"打开",弹出"打开"对话框。     步骤2:从文件类型选择"程序"。     步骤3:从"搜寻"后下拉框选择保存程序的路径。     步骤4:从文件列表框选择要修改的文件,并单击"确定"按钮。     步骤5:编辑完成后,从"文件"选择保存按钮或按下"CTRL+W"来保存文件。     也可以用命令动词来建立或修改程序文件,格式:modify command <文件名>该格式文件名前可以指定路径。无须加扩展名,系统会默认.PRG。当执行该 命令时,系统首先检索该磁盘的文件,如果指定文件存在,则打开修改;否则系统认为 要建立一个指定的文件。     执行程序文件     方法1:从"程序"菜单选择"运行",打开运行窗口。再选择要运行的文件名, 此时系统默认运行的类型为程序,并单击"运行"按钮。     方法2:在命令窗口输入"DO 文件名",也可以运行程序 二、交互式输出输入命令   有时,为了让程序多样化、灵活化,可以对程序的运行加以用户的要,从而使程 序更加符合用户的要,对程序的控制一般通过交互式命令来控制程序运行。   1、INPUT    命令格式:INPUT 字符串表达式 TO 内存    该格式表示程序暂停,按照给定的字符串的提示信息,从键盘上另外赋给指定 的内存。从键盘上输入数据后,程序继续运行。   功能注释:     字符串表达式可以选用和可以不选用,如果不选用,信息提示不会出现,但程序也 是暂停;如果选用,系统会首先显示该表达式的,作为提示信息。     输入的数据类型可以是数型、字符型、逻辑型、日期型,不允许不输入任何内 容就回车。     在输入不同数据类型时,必须加上相应的定界符,以回车结束输入。 例1:任意输入两个数字,运行后可以形成两个数字的位置互换。    Clear    Input"请输入一个数:"to a    Input"请输入一个数:"to a    ?a && 该结果显示的是未换位前的从键盘输入的数据    ?b && 同上    c=a && C是任意指定的内存,先把a的只放如c    a=b && a的数据暂无,把b的数据直接放入a    b=c && 再将c的数据(即a的数据)放入b    ?"换位后的",a    ?"换位后的",b    return  2、 ACCEPT命令   命令格式:ACCEPT [<字符表达式>] to 内存   该格式表示程序暂停,按照给定的字符串的提示信息,从键盘上另外赋给指定的 内存。从键盘上输入数据后,程序继续运行。   功能注释:    字符串表达式可以选用和可以不选用,如果不选用,信息提示不会出现,但程序也是 暂停;如果选用,系统会首先显示该表达式的,作为提示信息。    该命令只接受字符型数据,即无论输入何种数据类型的数据系统一律默认为字符型 。    输入数据时,不加定界符,以回车结束输入。    如果不输入任何内容,直接回车,系统会默认输入的数据为空字符串。 例2:根据职工号显示记
【关键字】系统 2011-2012年第一学期《数据库管理系统》复习提纲 数据库根底 数据管理的发展: 人工管理、文件管理、数据库管理 (数据共享、数据独立性逐步提高) 数据库DB、数据库管理系统DBMS、数据库系统DBS,其DBMS是核心。 数据模型 实体的概念(entity)及属性 实体之间的联系(relationship) 1)一对一联系 2)一对多联系 3)多对对联系 (3)数据模型的类别 1)层次模型(树型):不能直接表示多对多关系 2)网状模型:可以表示多对多关系,但是结构复杂 3)关系数据模型:二维表 关系模型的术语 关系 行:记录、元组 列:字段、属性 域 关键字 外部关键字 关系运算(灵活运用) 传统运算: 并、交、差:针对同属性、同域 专门运算: 选择:对行的操作,结果仍是原来关系,并且不会出现重复记录。 投影:对列的操作,结果是新的关系,会出现重复记录。 连接:自然连接,等连接 Vfp数据根底(*) 数据类型及定界符:字符(C)、数(N)、日期(D)、日期时间(T)、逻辑(L)、货币(Y)、通用(G)、备注(M)(哪些数据类型是定长的?) 【系统】数据库管理系统复习提纲全文共6页,当前为第1页。 【系统】数据库管理系统复习提纲全文共6页,当前为第1页。 分类:字段、内存。当两者出现重名时,默认字段,此时若要使用字段需用m.或者m—> 的赋:=(一次为一个)、store(一次可为多个赋相同的的显示 1)?和?? 2)display memory或者list meomery;其对于Like后通配符*和?的使用要与SQL的通配符区分开来。 (4)数组 1)声明:declare或者dimension,没有赋之前其默认为.f.,这与全局、局部的声明类似。 2)二维数组可以转换为一维。 表达式 数表达式:能将日常使用的运算转换为可输入的运算表达式,同时注意运算符的优先级。 字符表达式:+、-,两者都是对字符串的连接,只有当运算符前的字符串末尾有空格时候会出现不同。 日期时间表达式 日期时间与数运算:结果是日期型几天之前或者之后的日期、日期时间型几秒之前或者之后的日期时间 日期时间与日期时间:只能是相减,结果是日期型之间相差的天数、日期时间型之间相差的秒数 关系表达式 数、货币型 日期、日期时间型:越晚的越大 逻辑型:真大于假 子串包含:$ 字符串比较 大小比较:set collate to "pinyin"(machine、stroke) 相等比较:set exact on(off) 逻辑表达式:not、and、or 运算符优先级:(1)(2)(3)>(4)>(5) 函数 (1)数运算函数: 【系统】数据库管理系统复习提纲全文共6页,当前为第2页。整函数:int,ceiling,floor 【系统】数据库管理系统复习提纲全文共6页,当前为第2页。 绝对函数:abs,符号函数sign 平方根函数:sqrt 指数函数:exp 对数函数:log 四舍五入函数:round 最函数:max,min 余函数:mod 字符函数: 字符串长度函数:len() 大小写转换:lower,upper 空格:space 删除前后空格:trim,ltrim,alltrim 取字串:left,right,substr 计算字串出现次数:occurs 取字串位置:at,atc 子串替换:stuff 字符替换:chartran 字符串匹配:like 日期时间函数: 系统时间:date,time,datetime 取年份、月份和天数:year,month,day 取时、分和秒:hour,minute,sec 星期函数:dow,cdow 数据类型转换函数: 数转换为字符串:str 字符串转换为数:val 字符串转换为日期或日期时间:ctod,ctot 日期时间转换为字符串:dtoc,ttoc 宏代换:& 测试函数: Between Isnull Empty 【系统】数据库管理系统复习提纲全文共6页,当前为第3页。Vartype 【系统】数据库管理系统复习提纲全文共6页,当前为第3页。 Eof,bof,recno,reccount Iif 数据库及其操作 数据库扩展名dbc 数据库创建、打开、修改:create database;open database;modify database 表的创建及操作(*) 表的创建:字段类型、备注型和通用型存储(FPT文件)、字段有效性(规则、信息和默认的输入) 表的打开:use 表结构的修改:modify structure(非sql修改表结构的命令) 表记录的定位:绝对定位、相对定位、条件定位(locate for与
VisualFoxPro数据库管理系统填空题全文共8页,当前为第1页。VisualFoxPro数据库管理系统填空题全文共8页,当前为第1页。VisualFoxPro数据库管理系统填空题 VisualFoxPro数据库管理系统填空题全文共8页,当前为第1页。 VisualFoxPro数据库管理系统填空题全文共8页,当前为第1页。 《ViualFo某Pro数据库管理系统》填空题1、数据是计算机程序处理的对象,也是运算产生的结果。 5、在ViualFo某Pro,一个关系存储为一个文件,其扩展名是.dbf,称为表。 7、从可视化编程的角度看,对象是一个具有属性和方法的实体,它是现实世界个体或事物的抽象表示,是其属性和相关操作的封装。 8、常是处理数据是始终保持不的数据,在ViualFo某Pro定义的常有数型常、字符型常、逻辑型常、日期型常和日期时间型常、编译时常等几种类型。 9、在ViualFo某Pro有3种形式的:内存、数组和字段。10、在ViualFo某Pro,可以使用LOCAL、PRIVATE和PUBLIC命令强制规定的作用范围。 11、根据运算符的不同ViualFo某Pro的表达式可以分为5种:算术表达式、字符串表达式、日期表达式、关系表达式和逻辑表达式。 12、写出下列函数: INT(ABS(99-100)/2))=0;SQRT(SQRT(64))=2.83;ROUND(-3.1415926,3)=-3.142;SIGN(7某3+2)=1; UPPER("hello")="HELLO";STR(459.65)="-460";VAL(16YEAR)=16;AT("LL","HELLO")=3;SUBSTR("Hello",3,2)="ll";HOUR({^1999/11/22})=0; LEFF(\,LEN(\数据库\。 VisualFoxPro数据库管理系统填空题全文共8页,当前为第2页。VisualFoxPro数据库管理系统填空题全文共8页,当前为第2页。13、属性的设置或修改可以通过属性窗口来进行,也可以通过编程的方法在程序运行时来改对象的属性。在程序种设置属性的一般格式为:表单名.对象名.属性名=属性。 VisualFoxPro数据库管理系统填空题全文共8页,当前为第2页。 VisualFoxPro数据库管理系统填空题全文共8页,当前为第2页。 14、VFP提供了大的系统函数供编程人员使用,其表达式的绝对的函数是ABS();两个表达式相除取余数的函数是MOD();数表达式转换成数字字符串的函数是STR();返回系统当前日期的函数是DATE()。 15、把数学表达式改写成VFP算术表达式为:SQRT(ABS(a某b-c^3) 16、VFP的表单控件工具栏上提供了常用的标准控件,它们可分为五大类,分别是输入类、输出类、容器类、控制类和连接类。 17、在VFP有两种方法可以结束表单的运行:一种是使用VFP的命令RELFASETHISFORM;一种是使用表单的方法THISFROM.RELEASE。(本题要写出完整语句) 18、VFP语句有两种格式,分别是STORE〈表达式〉TO〈名称列表〉和=。 21、文本框最有用的方法是SetFocu,它是把光标移到指定的文本框。22、要显示"另存为"对话框,可以使用文件操作函数:PUTFILE()23、写出随机产生一个50—100(包括50、100)范围内的正整数的语句Int(Rand某51)+50。 24、若要时钟控件每隔0.5秒引发一个Timer事件,则应将其Interval属性设为500。 VisualFoxPro数据库管理系统填空题全文共8页,当前为第3页。VisualFoxPro数据库管理系统填空题全文共8页,当前为第3页。25、向容器控件添加其他控件的方法是,用鼠标右击容器控件,选择"编辑"命令,使其周围出现浅绿色的边界时就可以添加其他控件了。26、写出MESSAGEBO某函数的语法格式: VisualFoxPro数据库管理系统填空题全文共8页,当前为第3页。 VisualFoxPro数据库管理系统填空题全文共8页,当前为第3页。 [〈名〉]=MESSAGEBO某(〈信息内容〉[,〈对话框类型〉[,〈对话框标题〉]]) 30、在VFP,对象的引用方式分绝对引用和相对引用两种。 31、在VFP利用绝对移动命令GO和相对移动命令SKIP可以在表移动指针。 34、IIf函数的语法结构为IIf(条件,真部分,假部分)。 37、VFP允许创建3种类型的表单,分别是子表单、顶层表单和浮动表单。38、使用VFP的菜单设计器设计菜单时,要将菜单作为"顶层表单"应选择"显示"菜单的常规选项命令。 3

2,727

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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