标题:几个关于MyFll.Fll使用问题
只看楼主
igaoyuan
Rank: 2
等 级:论坛游民
帖 子:84
专家分:49
注 册:2022-12-19
结帖率:100%
已结贴  问题点数:10 回复次数:10 
几个关于MyFll.Fll使用问题
刚刚接触MyFll,说一说体会和遇到的问题。
MyFll强大易用!以前不了解,一直没有碰,使用后发现有着大量丰富易用的函数,把很多写代码工作变成了搭积木,新手也能快速出活儿!

碰到的问题:
一、编译exe时,提示找不到未知的相关使用函数,但是并不影响使用,不知是什么原因?


二、最近在弄一个向网页传送参数查询,发现myfll有网络相关函数名:HttpPostData(cUrl,cData)进行尝试
举例:表staff.dbf中有email字段,在表单中希望双击email值的时候检验email地址的有效性并返回是否有效,思路是传递此staff.email值到查询网站。

程序代码:
*示例 1--将myFll发送到ASP服务器
Set Library To myfll 

cFll=this.value   &&FileToStr("myfll.fll")
vRet=httpPostData("https://www./cn/",cFll)

If Vartype(vRet) = "C" 
    If "有效"$vRet
        MessageBox("查询此地址有效!")
    EndIf 
EndIf 

Set Library To

实操失败是否与网站使用的代码有关,asp代码无法传递参数?

附邮箱有效性查询网址
https://www.

http://vmail.

粘贴直接查询显示

搜索更多相关主题的帖子: ASP 函数 查询 代码 email 
2023-01-14 12:08
csyx
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:29
帖 子:484
专家分:1827
注 册:2018-3-13
得分:0 
问题一没看到代码咋写的不好猜测
问题二是邮件服务器的问题,在验证网页手工输入你截图的邮件地址也是一样结果,也许是当垃圾邮件过滤了,用你的QQ邮箱去验证,应该是没问题的
2023-01-14 14:07
hdx60
Rank: 2
等 级:论坛游民
威 望:1
帖 子:72
专家分:30
注 册:2013-2-8
得分:0 
没太看明白,但有问题注意一下,提供思路方式
smptcreate() 是myfll 的邮件建立句柄函数。本地使用没问题。你用的是网页执行?不过,发送邮件的密码是邮箱的“授权码”。
2023-01-14 14:54
nbwww
Rank: 6Rank: 6
等 级:贵宾
威 望:10
帖 子:222
专家分:468
注 册:2021-1-9
得分:5 
试试这个方式
程序代码:
CLEAR 
oHTTP = CREATEOBJECT("MSXML2.ServerXMLHTTP") 
oHTTP.Open("GET", "http://vmail./Validation.aspx?email=43%&type=mailbox", .F.)
OHTTP.SETREQUESTHEADER("Content-Type", "application/x-www-form-urlencoded")
oHTTP.Send()
IF oHTTP.Status = 200
    lcStr = oHTTP.ResponseText
    ALINES(laStr,lcstr, '},')
    FOR ii=1 TO ALEN(lastr)
       ?lastr[ii]+'},'
    ENDFOR 
ENDIF 
2023-01-14 16:31
igaoyuan
Rank: 2
等 级:论坛游民
帖 子:84
专家分:49
注 册:2022-12-19
得分:0 
回复 4楼 nbwww
果然行!!!谢谢,谢谢!这样就能解决这个问题了。
更多一个问题:"http://vmail.这个地址参数是如何获知的?

我在您的代码基础上稍稍调整,因为只需要判断邮箱地址是否有效即可
程序代码:
CLEAR 
ValMail = 'charlesa.concordexporting@' &&return .F.  &&'10000@' return .T.
oHTTP = CREATEOBJECT("MSXML2.ServerXMLHTTP") 
oHTTP.Open("GET", "http://vmail./Validation.aspx?email=&ValMail&type=mailbox", .F.)
OHTTP.SETREQUESTHEADER("Content-Type", "application/x-www-form-urlencoded")
oHTTP.Send()
IF oHTTP.Status = 200
    lcStr = oHTTP.ResponseText
    ?? '成功' $ lcStr 
*!*        STRTOFILE(lcStr,'D:\ex.txt') 
*!*        ALINES(laStr,lcstr, '},')
*!*        FOR ii=1 TO ALEN(lastr)
*!*           ?lastr[ii]+'},'
*!*        ENDFOR 
ENDIF 


再次感谢!
2023-01-14 20:30
igaoyuan
Rank: 2
等 级:论坛游民
帖 子:84
专家分:49
注 册:2022-12-19
得分:0 
回复 3楼 hdx60
问题一
我用的是以下这段代码修改,运行和发送邮件都没有问题。

是的,网易邮箱需要授权码作为密码,但是稳定性不好,发送后总是提示账号异常,后换为搜狐邮箱就稳定多了!

问题是出在连编成EXE提示出错,出错信息如下:
表单 j:\wintrade\forms\feedback.scx 包含下列错误:
    未知的 SMTPCREATE - 未定义
    未知的 SMTPNEWMAIL - 未定义
    未知的 SMTPSEND - 未定义
    未知的 SMTPGETLASTERROR - 未定义
    未知的 SMTPCLOSE - 未定义

但是连编的exe文件运行正常。
这五个都是与用到的函数SmtpSend(hSmtpHdl,cServer,cUserName,cPassword)有关
不清楚为什么会提示错误。

程序代码:
*示例2:发送一封html格式的邮件,同时发送给两个人,带两个附件

Set Library To myFll

Local hSmtp,cHtmlBody

hSmtp = SmtpCreate(.T.) &&创建句柄,指定要使用html格式
cHtmlBody="<html><body>这是个html格式的邮件<b>Hello world!</b></body></html>" &&这是邮件内容 
SmtpNewMail(hSmtp,"abc@163.com","gates@gates.com,abc@163.com","邮件主题",cHtmlBody,"myfll.fll|c:\boot.ini")&&邮件发送给了两个人,带了两个附件。
if not SmtpSend(hSmtp,"smtp.163.com","abc","password") &&开始发送 
    ?"发送失败,错误信息为:"
    ??SmtpGetLastError(hSmtp) 
endif 
SmtpClose(hSmtp) &&断开句柄 

Set Library To


[此贴子已经被作者于2023-1-14 20:43编辑过]

2023-01-14 20:40
csyx
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:29
帖 子:484
专家分:1827
注 册:2018-3-13
得分:5 
编译器需要能找到 myfll,可能你的 myfll 没有放在配置(工具->选项->文件位置)指定的"默认路径"和"搜索路径"中
如果编译器能在这些路径中找到 myFll,它会自动加到项目文件的“API库”这个分支中

也可以试试手工添加(注意要设为 不包含)



[此贴子已经被作者于2023-1-14 21:47编辑过]

2023-01-14 21:43
igaoyuan
Rank: 2
等 级:论坛游民
帖 子:84
专家分:49
注 册:2022-12-19
得分:0 
回复 7楼 csyx
完美解决!非常感谢!!
您的是英文版,找了好一阵,附上中文版位置供他人参考

2023-01-14 21:59
nbwww
Rank: 6Rank: 6
等 级:贵宾
威 望:10
帖 子:222
专家分:468
注 册:2021-1-9
得分:0 
以下是引用igaoyuan在2023-1-14 20:30:00的发言:

果然行!!!谢谢,谢谢!这样就能解决这个问题了。
更多一个问题:"http://vmail.这个地址参数是如何获知的?

我在您的代码基础上稍稍调整,因为只需要判断邮箱地址是否有效即可
CLEAR
ValMail = 'charlesa.concordexporting@' &&return .F.  &&'10000@' return .T.
oHTTP = CREATEOBJECT("MSXML2.ServerXMLHTTP")
oHTTP.Open("GET", "http://vmail., .F.)
OHTTP.SETREQUESTHEADER("Content-Type", "application/x-www-form-urlencoded")
oHTTP.Send()
IF oHTTP.Status = 200
    lcStr = oHTTP.ResponseText
    ?? '成功' $ lcStr
*!*        STRTOFILE(lcStr,'D:\ex.txt')
*!*        ALINES(laStr,lcstr, '},')
*!*        FOR ii=1 TO ALEN(lastr)
*!*           ?lastr[ii]+'},'
*!*        ENDFOR
ENDIF

再次感谢!

浏览器里F12  看下
2023-01-15 09:32
igaoyuan
Rank: 2
等 级:论坛游民
帖 子:84
专家分:49
注 册:2022-12-19
得分:0 
回复 9楼 nbwww
收到,谢谢!学习一下,网页代码这方面了解不多,找到比较接近的语句描述,是从这里下手吗?
2023-01-15 10:10



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-511109-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.065241 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved