问题列表 - 第33152页

如何decomplie /编译DLL文件?

我有一个用C#编写的应用程序.它已经编译完毕.

有很多dll文件,我无法打开它们,反编译它们无法查看和访问构建它们的C#代码,当我在Visual Studio中添加对dll文件的引用时我只能看到有什么方法,但我看不到/访问这些方法的代码.

是否有工具或有办法如何查看/访问该代码,修改它然后重新编译它?

如果您有任何想法请帮我一把!

谢谢

.net c# dll

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

程序可移植性

如何确保我的程序完全可移植?

c++ portability

15
推荐指数
5
解决办法
3039
查看次数

在Inno Setup Uninstaller中更改WizardSmallBitmapImage

在安装程序中,您可以使用以下代码轻松更改向导右上角的小位图:

[Setup]
WizardSmallImageFile=gfx\bitmap.bmp
Run Code Online (Sandbox Code Playgroud)

Hovewer,如何在卸载程序向导的右上角更改相同的位图?似乎没有任何参数.

我认为其中一个解决方案是让安装程序将所需的位图解压缩到{app}然后使用此代码:

procedure InitializeUninstallProgressForm;
var bitmap : string;
begin
    bitmap := ExpandConstant('{app}\uninst.bmp');
    uninstallProgressForm.WizardSmallBitmapImage.Bitmap.LoadFromFile(bitmap);
end;
Run Code Online (Sandbox Code Playgroud)

但是,我不想让我的satelite位图挂起{app},我想将它编译成卸载程序.有可能以某种方式将该位图编译到卸载程序中吗?或者是否有其他方法如何在卸载程序的向导中更改该位图?

windows inno-setup

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

如何在MATLAB中获取矩阵的第一列和最后一列?

我有一个矩阵可以说:

a =
    401.4800  344.0900  305.0300  462.2100  310.0600  397.3400  502.5900
    547.7100  429.9600  540.3400  737.3600  491.4700  474.7400  735.8700
Run Code Online (Sandbox Code Playgroud)

我想只获取第一列和最后一列,以便:

b = 
    401.4800  502.5900
    547.7100  735.8700
Run Code Online (Sandbox Code Playgroud)

arrays matlab matrix

9
推荐指数
1
解决办法
4万
查看次数

Eclipse:在.project文件中存储信息

我正在尝试将信息与项目(某些属性)相关联.我尝试使用持久性存储(getPersistentProperty()setPersistentProperty()).
问题在于,当我导出项目并在不同的工作区中重新导入它时,这些属性消失了(因为它们存储在.metadata工作区的文件夹中的某个位置).

所以我想如果有办法将信息存储在.project文件中,那么这将解决我的问题,因为在导出项目时总是包含此文件.

有没有API可以做到这一点?

任何指针将不胜感激!谢谢!

此致,塔梅尔

eclipse eclipse-plugin eclipse-cdt eclipse-rcp

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

Java字符串方法

我有逗号分隔的字符串变量,如:

String doctors = "doc_vijayan,doc_zubair,doc_Raja" 
Run Code Online (Sandbox Code Playgroud)

但是我想从上面的字符串中删除"doc_",并且首字母应该以大写字母显示.我需要像这样的输出:

String doctors1 = "Vijayan, Zubair, Raja"
Run Code Online (Sandbox Code Playgroud)

怎么做?

java string

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

我的GET变量正在被转义?

我真的很困惑,有人可以向我解释一下吗?

请求: http://example.com/test.php?var=String's

$a = $_GET["var"];
$b = "String's";

echo $a . "<br/>";
echo $b . "<br/>";

$output = mysql_real_escape_string($a);
$output = mysql_real_escape_string($b);
echo "<hr/>";
echo $a . "<br/>";
echo $b . "<br/>";
Run Code Online (Sandbox Code Playgroud)

结果:

String\'s
String's
----------------
String\'s
String's
Run Code Online (Sandbox Code Playgroud)

有人可以向我解释为什么我的GET变量正在被这样转换,但是我如何能够删除这种行为,使得我的输入与发送完全一样?我有一个问题,我的SQL包装器通过mysql_real_escape_string()传递它,最终是String\\\'s:(

php apache get http mysql-real-escape-string

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

通过PHP通过电子邮件发送动态创建的PDF

我最近创建了一个在线模板,用于为我们的网站创建招聘信息.一切都已完成,它在浏览器中正确格式化,自动发布到我们的网站,bla bla bla.

我正在创建的最后一个部分是为管理员提供一些选项,以便以一致,方便的方式将发布分发到各个地方(通过电子邮件).我已经创建了一个PHP页面,可以使用TCPDF库动态创建PDF文档.当加载pdf.php?id = X时,页面显示一个PDF,其中包含作业发布X的内容.这意味着我永远不会将PDF文件保存到服务器,只需在每次调用时即时创建它.

但我想将此PDF附加到电子邮件中,并将其发送到各个大学,内部邮件列表等.如果我将pdf.php?id = x附加到电子邮件中,它不会附加PDF,它会附加什么似乎是一个空白文件,具有上述名称.

是否可以将其附加到电子邮件而不将其保存到服务器?


下面根据JM4对进一步故障排除的响应进行了补充.我已将PDF文件创建放入一个函数中,并将其放入包含文件中,以便更容易管理.

// random hash necessary to send mixed content
$separator = md5(time());

$eol = PHP_EOL;

// attachment name
$filename = "_Desiredfilename.pdf";

include_once('pdf.php');
// encode data (puts attachment in proper format)
$pdfdoc = job_posting_to_pdf($posting_id);
$attachment = chunk_split(base64_encode($pdfdoc));

///////////HEADERS INFORMATION////////////
// main header (multipart mandatory) message
$headers  = "From: Sender_Name<valid_email@mydomain.com>".$eol;
//$headers .= "Bcc: email@domain.com".$eol;
$headers .= "MIME-Version: 1.0".$eol; 
$headers .= "Content-Type: multipart/mixed; boundary=\"".$separator."\"".$eol.$eol; 
$headers .= "Content-Transfer-Encoding: 7bit".$eol;
$headers .= "This is a …
Run Code Online (Sandbox Code Playgroud)

php pdf email pdf-generation tcpdf

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

哪个更好:依赖注入+注册表或依赖注入或全局注册?

首先,我想将此问题仅限于Web开发.因此,只要语言用于Web开发,这就是语言无关的.就个人而言,我是从PHP的背景来看这个.

通常我们需要使用来自多个范围的对象.例如,我们可能需要在正常范围内使用数据库类,但也需要在控制器类中使用.如果我们在正常范围内创建数据库对象,那么我们无法从控制器类内部访问它.我们希望避免在不同的范围内创建两个数据库对象,因此无论范围如何,都需要一种重用数据库类的方法.为此,我们有两种选择:

  1. 使数据库对象成为全局,以便可以从任何地方访问它.
  2. 将数据库类以例如控制器构造函数的参数的形式传递给控制器​​类.这称为依赖注入(DI).

当许多类涉及许多不同范围内的所有要求对象时,问题变得更加复杂.在这两种解决方案中,这都成了问题,因为如果我们将每个对象都设置为全局,那么我们就会在全局范围内输入太多噪声,如果我们将太多参数传递给类,则该类变得更难以管理.

因此,在这两种情况下,您经常会看到使用注册表.在全局情况下,我们有一个全局的注册表对象,然后将所有对象和变量添加到任何对象中,但只将一个变量(注册表)放入全局范围.在DI情况下,我们将注册表对象传递给每个类,将参数数量减少到1.

就个人而言,我使用后一种方法,因为许多文章主张使用全局变量,但我遇到了两个问题.首先,注册表类将包含大量的递归.例如,注册表类将包含数据库类所需的数据库登录变量.因此,我们需要将注册表类注入数据库.但是,许多其他类将需要该数据库,因此需要将数据库添加到注册表中,创建一个循环.现代语言可以处理这个问题还是会导致巨大的性能问题?请注意,全局注册表不会受此影响,因为它没有传递给任何东西.

其次,我将开始将大量数据传递给不需要它的对象.我的数据库不关心我的路由器,但路由器将与数据库连接详细信息一起传递到数据库.这通过递归问题变得更糟,因为如果路由器具有注册表,则注册表具有数据库和注册表并且注册表被传递到数据库,然后数据库通过路由器传递给自己(即我可以$this->registry->router->registry->database从在数据库类里面`).

此外,除了更复杂之外,我没有看到DI给了我什么.我必须将一个额外的变量传递给每个对象,我必须使用注册表对象$this->registry->object->method()而不是$registry->object->method().现在这显然不是一个大问题,但如果它没有给我任何关于全球方法的东西,它似乎是不必要的.

显然,当我在没有注册表的情况下使用DI时,这些问题不存在,但是我必须"手动"传递每个对象,导致类构造函数具有荒谬的参数数量.

鉴于这两个版本的DI存在这些问题,是不是全球注册表优越?通过在DI上使用全球注册表,我失去了什么?

在讨论DI vs Globals时经常提到的一件事是全局变量会抑制你正确测试程序的能力.全局变量究竟是如何阻止我测试DI不会的程序?我在很多地方都读到这是因为全局可以从任何地方改变,因此难以模仿.但是,在我看来,至少在PHP中,对象是通过引用传递的,更改某个类中的注入对象也会在注入它的任何其他类中更改它.

php registry dependency-injection global-variables

16
推荐指数
2
解决办法
2209
查看次数

面向对象的编程不仅仅是方法?

我对OOP的理解非常有限.

我已经在.Net中编程了一年左右,但我完全是自学成才,所以我对OOP细节的一些使用感到失望.

封装,继承,抽象等我知道它们的含义(表面上看),但它们的用途是什么?

我只使用OOP将可重用代码放入方法中,但我知道我错过了很多功能.

甚至班级 - 我只做了两到三次实际班级.相反,我通常只使用MainForm包含所有方法.

oop

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