在Indy,当我们向服务器发送一些字符串时,它们会更改并以新格式显示.例如,我试图在indy中使用"WriteLn"命令发送二进制文件(File.exe):
Ms.LoadFromFile(FileAddress);
Ms.Read(B, Chunk);
for j := low(B) to high(B) do
begin
Part := Part + chr(B[j]);
end;
Run Code Online (Sandbox Code Playgroud)
并发送字符串:
FileClient.IOHandler.WriteLn(Part);
Run Code Online (Sandbox Code Playgroud)
当客户端向服务器发送字符串时,我正在用嗅探器监视clinet.最后我得到了这个结果:
MZ?.........yy..,.......@...................................,.....o..?.I!,.LI!This program cannot be run in DOS mode....$..
Run Code Online (Sandbox Code Playgroud)
如你所见,有些角色不再是真正的格式,而是变成了"?" 性格.但应该注意的是,嗅探器会自动将某些字符串更改为"." 例如,其中一个点(".")可能是chr(0)或chr(5)!
但嗅探器无法将某些字符更改为"." 我们在"?"中看到它们 格式.例如,我用记事本打开一个二进制文件,你可以看到真正的格式:
alt text http://up.iranblog.com/Files/9f195012dbc2425b8773.png 无论如何,问题是:如何在Indy 10中使用"WriteLn"命令发送二进制文件?
请指导我,如何在VS C++中启用自动完成功能?通过自动完成,我的意思是,当我在控件名称后面放一个点时,编辑器应该显示一个下拉菜单供选择.
谢谢.
我不确定到底发生了什么,但确实发现这URLLoader.close();是原因.
我有一个简单的应用程序,用户将信息输入文本框,然后我将该信息发送到PHP脚本并返回输出.收到输出后,您可以单击重置应用程序的新按钮.错误在于单击该按钮后执行的功能.
如果单击该按钮重置应用程序,它将重置所有变量等,但似乎我的addEventListener方法不执行.
这是重置功能:
//Reset function if the Reset button is pressed
function clearApplication(e:MouseEvent):void {
receivedData="";
data1TextBox.text="";
data2TextBox.text="";
resetButton.visible=false;
resetButton.removeEventListener(MouseEvent.CLICK, clearApplication, false);
goButton.visible=true;
goButton.addEventListener(MouseEvent.CLICK, getData, false, 0, true);
myLoader.close();
}
Run Code Online (Sandbox Code Playgroud)
执行完毕后,我的goButton工作不再有效.
如果goButton单击,则应执行以下操作:
function getData(e:MouseEvent):void {
if (data1TextBox.text!=""&&data2TextBox.text!="") {
goButton.removeEventListener(MouseEvent.CLICK, getData, false);
goButton.visible=false;
postVars = new URLVariables();
postVars.data1=data1TextBox.text;
postVars.data2=data2TextBox.text;
myRequest=new URLRequest("URL");
myRequest.method=URLRequestMethod.POST;
myRequest.data=postVars;
myLoader.addEventListener(Event.COMPLETE, onComplete, false, 0, true);
myLoader.load(myRequest);
}
}
Run Code Online (Sandbox Code Playgroud)
最后,onComplete函数:
function onComplete(e:Event):void {
receivedData=e.target.data;
outputTextBox.text=receivedData;
resetButton.visible=true;
resetButton.addEventListener(MouseEvent.CLICK, clearApplication, false, 0, true); …Run Code Online (Sandbox Code Playgroud) 我在使用 Ruby 中的 Base64.decode64 解码字符串时遇到问题。作为测试,我正在使用这个网站来解码 php 中的字符串:https : //rnd.feide.no/simplesaml/module.php/saml2debug/debug.php。
作为测试,我使用这个字符串:
fZJNT%2BMwEIbvSPwHy%2Fd8tMvHympSdUGISuwS0cCBm%2BtMUwfbk%2FU4zfLvSVMq2Euv45n3fd7xzOb%2FrGE78KTRZXwSp5yBU1hpV2f8ubyLfvJ5fn42I2lNKxZd2Lon%2BNsBBTZMOhLjQ8Y77wRK0iSctEAiKLFa%2FH4Q0zgVrceACg1ny9uMy7rCdaM2%2Bs0BWrtppK2UAdeoVjW2ruq1bevGImcvR6zpHmtJ1MHSUZAuDKU0vY7Si2h6VU5%2BiMuJuLx65az4dPql3SHBKaz1oYnEfVkWUfG4KkeBna7A%2Fxm6M14j1gZihZazBRH4MODcoKPOgl%2BB32kFz08PGd%2BG0JJIkr7v46%2BhRCaEpod17DCRivYZCkmkd4N28B3wfNyrGKP5bws9DS6PKDz%2FMpsl36Tyz%2F%2Fax1jeFmi0emcLY7C%2F8SDD0Z7dobcynHbbV3QVbcZW0TlqQemNhoqzJD%2B4%2Fn8Yw7l8AA%3D%3D
输出应该是:
<?xml version="1.0" encoding="UTF-8"?>
<samlp:AuthnRequest xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" ID="agdobjcfikneommfjamdclenjcpcjmgdgbmpgjmo" Version="2.0" IssueInstant="2007-04-26T13:51:56Z" ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" ProviderName="google.com" AssertionConsumerServiceURL="https://www.google.com/a/solweb.no/acs" IsPassive="true"><saml:Issuer xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">google.com</saml:Issuer><samlp:NameIDPolicy AllowCreate="true" Format="urn:oasis:names:tc:SAML:2.0:nameid-format:unspecified" /></samlp:AuthnRequest>
但是在 Ruby 中,我不断得到一个奇怪的输出:
}\222MO?0\206?H?\a??|\264???jRuA\210J????\233?LS\a??8???IS*?K\257??}????\377\254a;??e|\022\247\234\201SXiWg????~?y~~6#iM+\026]?'??6L:\022?C?;?J?$\234\264@\"(\261Z?~?8\255?\n\rg??\214??u\2436??Z?i\244\255\224\001?V5\266\256?m??"g/G\254?kI???Q\220.\f\2454\275\216?hzUN~\210?\270\274z??t???!?)\254????}Y\026Q?*G\201\235\256??\031\2723^#?b\205\226\263\005\021?0??\243?_\201?i\005?O\017\031??H\222\276??\241D&\204\246\207u?0?\212?
I\244w\203v??|?\030\243?o
.\217(<\3772\233%??????X?h\264zg\vc\260\277? ??\236?\2672\234v?Wt\025m?V?9jA?\212\263$?\270\376\177\030ù|\000
我使用的代码是:
require 'cgi'
require 'base64'
Base64::decode64(CGI::unescape('fZJNT%2BMwEIbvSPwHy%2Fd8tMvHympSdUGISuwS0cCBm%2BtMUwfbk%2FU4zfLvSVMq2Euv45n3fd7xzOb%2FrGE78KTRZXwSp5yBU1hpV2f8ubyLfvJ5fn42I2lNKxZd2Lon%2BNsBBTZMOhLjQ8Y77wRK0iSctEAiKLFa%2FH4Q0zgVrceACg1ny9uMy7rCdaM2%2Bs0BWrtppK2UAdeoVjW2ruq1bevGImcvR6zpHmtJ1MHSUZAuDKU0vY7Si2h6VU5%2BiMuJuLx65az4dPql3SHBKaz1oYnEfVkWUfG4KkeBna7A%2Fxm6M14j1gZihZazBRH4MODcoKPOgl%2BB32kFz08PGd%2BG0JJIkr7v46%2BhRCaEpod17DCRivYZCkmkd4N28B3wfNyrGKP5bws9DS6PKDz%2FMpsl36Tyz%2F%2Fax1jeFmi0emcLY7C%2F8SDD0Z7dobcynHbbV3QVbcZW0TlqQemNhoqzJD%2B4%2Fn8Yw7l8AA%3D%3D'))
Run Code Online (Sandbox Code Playgroud)
可能有什么问题?提前致谢。
是)我有的:
QTreeView 带有表数据的类QAbstractTableModel模型问题:如何保存扩展的物品状态?有人已经完成了解决方案吗?
PS:我知道,我可以自己做这个代码,但是我没有太多时间,这不是我们项目的主要问题,但我们仍然需要它,因为app包含很多这样的表,并且每次扩展树项都是烦恼的过程...
在下面的代码中,我正在接收和超出范围异常.
private void btnRoll_Click(object sender, EventArgs e)
{
int success4 = 0;
int success6 = 0;
int success8 = 0;
int success10 = 0;
int success20 = 0;
int botch4 = 0;
int botch6 = 0;
int botch8 = 0;
int botch10 = 0;
int botch20 = 0;
if (cbnd4.SelectedIndex != 0)
{
int value = 4;
int arraySize = (int)cbnd4.SelectedIndex;
int[] refArray = randomNumber(value, arraySize);
foreach (int i in refArray)
{
if (cbGame.SelectedIndex == 1)
{
if (refArray[i] >= …Run Code Online (Sandbox Code Playgroud) 从MSDN获取的代码示例
public class Test {
public static void Main() {
MyBaseClass myBase = new MyBaseClass();
MyDerivedClass myDerived = new MyDerivedClass();
object o = myDerived;
MyBaseClass b = myDerived;
Console.WriteLine("mybase: Type is {0}", myBase.GetType());
Console.WriteLine("myDerived: Type is {0}", myDerived.GetType());
Console.WriteLine("object o = myDerived: Type is {0}", o.GetType());
Console.WriteLine("MyBaseClass b = myDerived: Type is {0}", b.GetType()); }}
/*
This code produces the following output.
mybase: Type is MyBaseClass
myDerived: Type is MyDerivedClass
object o = myDerived: Type is MyDerivedClass
MyBaseClass b = …Run Code Online (Sandbox Code Playgroud) 在VS2010中是否可以创建以.Net 3.5为目标的混合模式可执行文件?
如果我们尝试这个,我们会得到错误MSB8009:.NET Framework 2.0/3.0/3.5定位到v90平台工具集.请确保在计算机上安装了Visual Studio 2008.
如果我们然后将属性中的工具集更改为v100,则生成的可执行文件仍然以.Net 4.0为目标.
如果我们要安装VS2008,那么在针对.Net 3.5时,我们是否仍然可以在我们的(本机)C++代码中使用VS2010编译器和VS2010 CRT?
/* Converts the unsigned integer k to binary character form with a blank
after every fourth digit. Result is in string s of length 39. Caution:
If you want to save the string, you must move it. This is intended for
use with printf, and you can have only one reference to this in each
printf statement. */
char * binary(unsigned k) {
int i, j;
static char s[40] = "0000 0000 0000 0000 0000 0000 0000 0000";
j = …Run Code Online (Sandbox Code Playgroud) 我有一个带有随机scr属性的iframe元素.当我每次都刷新页面时,iframe应该根据src属性加载具有不同查询参数的页面.但是在firefox中,如果我尝试在iframe中加载动态URL,它总是执行第一次执行的URL,尽管src属性动态变化.查询参数也未正确传递.那么,我怎么能解决这个问题呢?
例如:
<?php
$url = "http://localhost/test.php";
$rand_val = rand(1000, 9999);
echo "<iframe name='dynamicload' src='{$url}?rand_val={$rand_val}'></iframe>";
?>
Run Code Online (Sandbox Code Playgroud)