我想滚动RichTextBox,以使插入符号大约位于RichTextBox的中间.
像RichTextBox.ScrollToCaret()之类的东西,除了我不想把插入符号放在最顶层.
我看到了Winforms:Caret Position的屏幕位置,当然也看到了Win32函数SetCaretPos().但我不确定如何将SetCaretPos所需的x,y转换为richtextbox中的行.
在我参与的每个项目中,我都有一个或多个战术构建工具.它们执行验证或校验和或某些特定的构建时任务.这些工具通常是项目特定的,并以项目的实现语言编写.
Q1.你有这样的工具吗?这是一个项目气味我有这些工具吗?
Q2.在源控制系统中,这些工具的来源属于哪里?不在源代码中,也不在源代码测试中.您是否保留了首先构建的源工具?
假设我有一个 MSI,它以 .NET Framework 作为先决条件。
我知道从 VS2008 安装项目生成的 MSI 会检测到该先决条件何时缺失,并指导用户安装它。
Q1 . 从技术上讲,是否可以在 MSI 运行期间调用 dotnetredist.exe(或者我猜是任何任意 EXE)来处理此先决条件,然后继续安装?我的意思是,如果我将自己限制在 VS2008 生成的设置中,我认为不是这样,但如果我使用 WIX 呢?如果我愿意编写自定义操作怎么办?如果我可以使用 Orca 或通过脚本手动编辑 MSI 表会怎样?是否可以?
Q2 . 合法吗?许可证允许吗?
我有2个数字这是0和49之间让我们给他们打电话x和y.现在我想得到一些不是x或y的其他数字,但也介于0和之间49(我正在使用Objective C,但这更像是一个普遍的理论问题吗?).
我想到的方法是:
int a;
int b;
int c;
do {
a = arc4random() % 49;
} while ((a == x) || (a == y));
do {
b = arc4random() % 49;
} while ((b == x) || (b == y) || (b == a));
do {
c = arc4random() % 49;
} while ((c == x) || (c == y) || (c == a) || (c == b));
Run Code Online (Sandbox Code Playgroud)
但这对我来说似乎有点不好,我不知道,我只是想学习成为一名更好的程序员,最佳做法是什么才能做到这一点?
我想在 nmake 中如果我这样做:
example :
set value=77
echo %%value%%
Run Code Online (Sandbox Code Playgroud)
结果将在控制台上显示 77。
有没有办法让我调用 .cmd 或 .bat 文件来影响 nmake.exe 进程的环境?假设我将该语句放在set value=77名为“setvalue.cmd”的文件中。然后将 makefile 更改为:
example :
setvalue
echo %%value%%
Run Code Online (Sandbox Code Playgroud)
我得到:
%value%
Run Code Online (Sandbox Code Playgroud)
或者,如果有一种方法可以在命令块中设置宏,那也可以。或者,一种从批处理文件设置宏值的方法,甚至在命令块之外也是如此。
假设我有一个Dictionary<String, Tuple<T1,T2>>并且我想确定任何字典值是否具有T1的V1.我怎样才能最优雅地做到这一点?
LINQ?
我在C中写了一些WinHttp代码.我正在通过SSL发送请求,为了处理SSL错误,我正在注册一个WINHTTP_STATUS_CALLBACK函数,通过调用WinHttpSetStatusCallback并将dwNotificationFlags设置为WINHTTP_CALLBACK_STATUS_SECURE_FAILURE.
WINHTTP_STATUS_CALLBACK的文档说,当使用dwInternetStatus= WINHTTP_CALLBACK_STATUS_SECURE_FAILURE 调用回调时,它表示
从服务器检索安全套接字层(SSL)证书时遇到一个或多个错误.lpvStatusInformation参数包含一个标志.有关更多信息,请参阅lpvStatusInformation的说明.
现在,该lpvStatusInformation参数被输入为LPVOID.但是我从文档中的声明中得出它,在WINHTTP_CALLBACK_STATUS_SECURE_FAILURE的情况下它不被视为指针.
该文件lpvStatusInformation说:
如果dwInternetStatus参数为WINHTTP_CALLBACK_STATUS_SECURE_FAILURE,则此参数可以是以下值之一.
......这些值是这些十六进制值之一:1,2,4,8,10,20,40.(见WinHttp.h)
这对我来说似乎很清楚.我不应该取消引用指针来获取值.所述 lpvStatusInformation保持的十六进制值,而不是一个指针.
我能正确地解释这个吗?
我已经用这种方式编写了代码,并且它在过去也有用.我认为!但是现在我得到的lpvStatusInformation是0x0104f288.这与任何十六进制值都没有任何关系.也不可能通过对可能的值进行OR运算来创建该值(尽管doc在同一个DWORD中没有说明多个状态项).它看起来像是指向我的指针.当我取消引用指针时,我得到0x8,这对应于WINHTTP_CALLBACK_STATUS_FLAG_INVALID_CA,这至少是有道理的.
问题是,我应该取消引用该指针吗?
这是回调代码:
void CALLBACK Iirf_WinHttpSslStatusCallback( HINTERNET hInternet,
DWORD_PTR context,
DWORD code,
void * pInfo,
DWORD infoLength)
{
if (code == WINHTTP_CALLBACK_STATUS_SECURE_FAILURE) {
ConfigInfo * cfg = (ConfigInfo *) context; // app-specific structure
DWORD details = (DWORD) pInfo; // do not de-reference??
CHAR buffer[32];
CHAR * statusDescription = NULL;
switch (details) {
case …Run Code Online (Sandbox Code Playgroud) 我一直试图强迫我的wordpress网站使用特定版本的jquery.自从wordpress上次更新后,用户必须使用版本1.9,因此我的菜单栏现在无法正常工作.直到我从此升级中找到修复程序,我想强制我的网站使用以前版本的jquery.为此,我已经尝试了两件事:
我编辑了functions.php文件以添加一些代码.我从这个链接得到了这个:(http://www.wpbeginner.com/wp-themes/replace-default-wordpress-jquery-script-with-google-library/)
//Making jQuery Google API
function modify_jquery() {
if (!is_admin()) {
// comment out the next two lines to load the local copy of jQuery
wp_deregister_script('jquery');
wp_register_script('jquery',
'http://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js', false, '1.8.1');
wp_enqueue_script('jquery');
}
}
add_action('init', 'modify_jquery');
Run Code Online (Sandbox Code Playgroud)我编辑了default-options.php文件,并在其中说'jquery'=> true,我将其更改为false.
但是,这些选项都没有起作用,我的网站仍然加载了jquery的1.9.1版本.该网站的链接是www.fiestacolegial.com
请让我知道我可以做些什么来强制以前版本的jquery或其他调整来修复子菜单没有加载.
谢谢!
.net ×3
c# ×2
build ×1
class-design ×1
collections ×1
emacs ×1
generics ×1
ide ×1
image ×1
jquery ×1
linq ×1
nmake ×1
objective-c ×1
random ×1
richtextbox ×1
winforms ×1
winhttp ×1
wix ×1
wordpress ×1