如何将EliminaAcentos
函数生成的数据传递给
这个脚本中有URLEncode
个函数吗?
第一个函数删除变音符号,第二个函数对数据进行URL编码。
Function EliminaAcentos(texto)
Dim i, s1, s2
s1 = "ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜàáâãäåçèéêëìíîïòóôõöùúûü"
s2 = "AAAAAACEEEEIIIIOOOOOUUUUaaaaaaceeeeiiiiooooouuuu"
If Len(texto) <> 0 Then
For i = 1 To Len(s1)
texto = Replace(texto, Mid(s1,i,1), Mid(s2,i,1))
Next
End If
EliminaAcentos = texto
End Function
Function URLEncode(ByVal str)
Dim strTemp, strChar
Dim intPos, intASCII
strTemp = ""
strChar = ""
For intPos = 1 To Len(str)
intASCII = Asc(Mid(str, intPos, 1))
If intASCII = 32 Then
strTemp = strTemp & "+"
ElseIf ((intASCII < 123) And (intASCII > 96)) Then
strTemp = strTemp & Chr(intASCII)
ElseIf ((intASCII < 91) And (intASCII > 64)) Then
strTemp = strTemp & Chr(intASCII)
ElseIf ((intASCII < 58) And (intASCII > 47)) Then
strTemp = strTemp & Chr(intASCII)
Else
strChar = Trim(Hex(intASCII))
If intASCII < 16 Then
strTemp = strTemp & "%0" & strChar
Else
strTemp = strTemp & "%" & strChar
End If
End If
Next
URLEncode = strTemp
End Function
WScript.Echo URLEncode(WScript.Arguments(0))
答案 0 :(得分:1)
基本上有两种方法可以解决这个问题:
您可以将procedure TForm3.dxDateTimeWheelPicker2PropertiesChange(Sender: TObject);
var
myDate : TDateTime;
begin
myDate := datetimetostr(dxDateTimeWheelPicker2.DateTime);
label1.Caption := formatdatetime('mm', myDate);
end;
的来电嵌套在EliminaAcentos
的来电中,建议@JosefZ:
URLEncode
您可以将URLEncode(EliminaAcentos(WScript.Arguments(0)))
的调用嵌入EleminaAcentos
函数的正文中:
URLEncode
如果您遇到Function URLEncode(ByVal str)
Dim strTemp, strChar
Dim intPos, intASCII
strTemp = ""
strChar = ""
str = EliminaAcentos(str)
For intPos = 1 To Len(str)
...
Next
URLEncode = strTemp
End Function
并且不希望删除变音符号,或者您不控制URLEncode
的实现,则通常会选择第一个选项。如果您总是希望URLEncode
删除变音符号并控制函数实现,则可以选择第二个选项。
旁注(@JosefZ也提到):按值将参数传递给URLEncode
,因此函数调用不会无意中修改原始值。
EliminaAcentos