小编Mar*_*lka的帖子

为什么在TIdHTTP.Get之后LoadFromStream没有显示任何内容?

我刚开始遇到Indy的问题.出于一些奇怪的原因,即使这个非常基本的程序也行不通:

procedure TForm1.Button1Click(Sender: TObject);
var ID: TIdHTTP;
    ms: TMemoryStream;
begin
  ID:=TIdHTTP.Create();
  ms:=TMemoryStream.Create;

  ID.HandleRedirects:=true;

  ID.Get('http://www.google.com',ms);
  Memo1.Lines.LoadFromStream(ms);
end;
Run Code Online (Sandbox Code Playgroud)

没有任何东西被添加到Memo1.SizeOf(ms)返回4.

我甚至重新安装了Indy,仍然没有.我的项目之前肯定有用,但现在不从任何页面下载任何内容.我想知道,问题是什么?

delphi indy

2
推荐指数
1
解决办法
804
查看次数

如何找到给定数量的素数?

我需要从2开始按升序查找一定数量的素数.我有一个工作算法,它采用数字限制作为参数 - 它找到所有小于限制的素数.

例如 - 对于param,20它会返回2,3,5,7,11,13,17,19,但我需要输入5并获取2,3,5,7,11.什么是最好的方法?我正在使用Eratosthenes的Sieve,并且没有办法限制数字删除部分,因为我不知道第195个素数有多大,因此我不知道是否应该删除所有2的倍数到1568或1268426.我希望问题很清楚,谢谢你的帮助

algorithm primes

1
推荐指数
1
解决办法
5416
查看次数

如何指定十进制分隔符

我有一个相当简单的问题。我得到像 一样的实数输入6.03,但这给了我错误。如果我把它改成 就可以了6,03。但是,我无法更改需要处理的输入,那么我如何告诉 Java 将其.用作分隔符而不是,

Scanner sc = new Scanner(System.in);
double gX = sc.nextDouble(); // Getting errors
Run Code Online (Sandbox Code Playgroud)

谢谢

java double delimiter

1
推荐指数
1
解决办法
4439
查看次数

TFileStream并使用String进行操作

我正在尝试使用TFileStream编写和读取非固定字符串.我收到了访问冲突错误.这是我的代码:

// Saving a file
  (...)
  count:=p.Tags.Count; // Number of lines to save (Tags is a TStringList)
  FS.Write(count, SizeOf(integer));
  for j := 0 to p.Tags.Count-1 do
  begin
    str:=p.Tags.Strings[j];
    tmp:=Length(str)*SizeOf(char);
    FS.Write(tmp, SizeOf(Integer));
    FS.Write(str[1], Length(str)*SizeOf(char));
  end;

// Loading a file
  (...)
  p.Tags.Add('hoho'); // Check if Tags is created. This doesn't throw an error.
  Read(TagsCount, SizeOf(integer)); // Number of lines to read
  for j := 0 to TagsCount-1 do
  begin
    Read(len, SizeOf(Integer)); // length of this line of text
    SetLength(str, len); …
Run Code Online (Sandbox Code Playgroud)

delphi tfilestream

1
推荐指数
1
解决办法
1823
查看次数

如何在钩子中改变鼠标位置

我想知道如何在MouseProc函数中更改鼠标位置.具体来说,保持Y坐标相同.这是我的功能:

function HookProc(nCode: Integer; MsgID: WParam; Data: LParam): LResult; stdcall;
var
begin        
  PMouseHookStruct(Data)^.pt.Y:=600;

  Result := CallNextHookEx(Hook,nCode,MsgID,Data);
end;
Run Code Online (Sandbox Code Playgroud)

我认为重写MouseHookStruct Y-coord可以做到这一点,但显然不是.

delphi mouse hook

0
推荐指数
1
解决办法
827
查看次数

在子类中初始化父类的常量成员

我什至不确定这是否可能,所以我想澄清一下。我有一个带有 const 字符串数组的父类,我希望它由其子类初始化,例如:

\n\n
class CParent{\n  CParent();\n  const char** strings;\n};\n
Run Code Online (Sandbox Code Playgroud)\n\n

和儿童班

\n\n
class CChild:CParent{\n  CChild();\n};\n\nCChild::CChild()\n: CParent::strings{\n  "First",\n  "Second"\n}\n{\n  CParent();\n  // some code\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

我需要这个,因为我将调用 CParent 的构造函数,并且我需要使用字符串。可以通过参数传递来完成,但我想知道这样的事情是否可能。

\n\n
\n\n

编辑:我在这里重写代码时忘记写一些东西,所以我宁愿复制粘贴它,这样我现在就不会忘记任何东西。我在 Andy Prowl 的帮助下使用字符串和向量重写了它:

\n\n
class CMenu {\npublic:\n    CMenu(std::vector<std::string> const& s);\nprotected:\n    std::vector<std::string> choicesStr;\n};\n\nCMenu::CMenu(std::vector<std::string> const & s) : choicesStr(s) {\n    // code code\n}\n\nclass CGameTypeMenu : public CMenu {\npublic:\n    CGameTypeMenu();\n};\n\nCGameTypeMenu::CGameTypeMenu() \n :CMenu(std::vector<std::string>("aaa","bbb")){ // This is where I \n                                                   get some nasty errors\n\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

错误看起来像这样:

\n\n
In file included from /usr/include/c++/4.7/vector:63:0,\n                 from CMenu.h:13,\n …
Run Code Online (Sandbox Code Playgroud)

c++ oop initialization

0
推荐指数
1
解决办法
2242
查看次数

广义参数

我想知道是否有可能有一个函数参数,而不关心它的类型是什么.例如,我有一个覆盖<<运算符的类.但它唯一能做的就是将param添加到私有ostringstream:

CLog& CLog::operator <<(const char * txt) {
    buffer << txt;
    return *this;
}
Run Code Online (Sandbox Code Playgroud)

但是,这只允许我将const char写入缓冲区.我需要参数是任何类型ostringstream <<接受.那可能吗?

c++

0
推荐指数
1
解决办法
82
查看次数

标签 统计

delphi ×3

c++ ×2

algorithm ×1

delimiter ×1

double ×1

hook ×1

indy ×1

initialization ×1

java ×1

mouse ×1

oop ×1

primes ×1

tfilestream ×1