小编War*_* P的帖子

Unicode图表中指标XXX的含义是什么

考虑Unicode图表中C1控件和Latin-1补充的unicode图表.如果一个字符有一个字形,则显示它,如果它没有字形,则给出一个特殊的虚线和符号标记或标识符.在这种情况下,0080和0081似乎都有一些"无效标记",我认为这是"XXX"的意思.这是什么意思?

在此输入图像描述

其次,具有存储到值0x80(十六进制)或128(十进制)字符串中的值的Unicode感知字符串类型的行为应该是什么?它应该转换为其他点,例如这样的映射:

  • 许多ANSI代码页中的字节值128是EURO标记.
  • 存储128位十进制值相当于存储U + 20AC?

我在其MBCS和Unicode类型的特定语言或操作系统API实现中遇到的神奇的"非正交性",以及Java的有趣处理,让我想知道,U + 0080字符的真正用途是什么?这个引用链接让我感到困惑,因为它表明Java将此字符视为欧元符号(ANSI代码页与Unicode单向友好性),但它的名称<control>不是我知道如何处理的.维基百科说它就在PAD 这里

谁能帮我?我是否在Unicode学校跳过基础概念日?我错过了什么?

更新 0080到0098之间的块是不可打印的控制字符.我知道这个.我想知道XXX是什么意思,当我用这个值处理unicode数据时,我怎么想到这个字符呢?

unicode

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

如何制作加载到TImage.Picture中的WMF文件的位图版本并将其移动到TSpeedButton.Glyph

为了一个最小的完整问题,我有一个WMF文件加载到TImage窗体上的控件.此控件包含属性Picture,这是一种TPicture类型.我试图"栅格化"我加载到TImage中的WMF文件,并将其存储到TSpeedButton.Glyph.

这个过程有趣的是我能够使用这种技术创建一个独立于分辨率的自定义控件(在我的情况下是一个按钮),它将重绘其字形以获得您喜欢的任何分辨率.

在实际使用中,我不会有TImage或TSpeedButton,但这个问题基本上是关于将内容从TPicturea 移动到a的过程TBitmap.

以下是相关的半工作代码:

procedure CopyBitmap(  Source:TImage;  DestSpeedButton:TSpeedButton );
var
   bmp: TBitmap;
begin
   bmp:=TBitmap.Create;
   try
     // note: with WMF loaded, Source.Picture.Bitmap.Width and Height are 0.
     bmp.Width := Source.Width; // originally I had Source.Picture.Bitmap.Width, which didn't work.
     bmp.Height := Source.Height; //because Source.Picture.Bitmap.Height, doesn't work.
     bmp.Canvas.Draw(0,0, Source.Picture.Graphic );
     DestSpeedButton.Glyph:=bmp;
   finally
     bmp.Free;
   end;
end;
Run Code Online (Sandbox Code Playgroud)

这是正确的方法吗?为什么在复制过程中图像会反转?

我在这里找到一个示例WMF文件,我正在使用的确切文件.

在此输入图像描述

delphi canvas delphi-xe2

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

UseJwtBearerAuthentication 失败并显示 IDX10504:无法验证签名,令牌没有签名

使用 ASP.NET Core 1.0 (rtm),以及我生成的最小可验证示例,我发现我生成的 JSON Web 令牌没有通过 .net core json Web 令牌中间件声明挑战,并且因此失败错误:

Microsoft.IdentityModel.Tokens.SecurityTokenInvalidSignatureException: 
IDX10504: Unable to validate signature, token does not have a signature: 
'... ... token value here...'
Run Code Online (Sandbox Code Playgroud)

我制作了一个最小的示例,它在 ASP.NET Core RC1 中运行良好,但在 RTM 中不起作用。我没有移植到RC2上进行测试,但我相信这样的测试是没有意义的。您可以使用提供的测试脚本来练习演示:

 python tests\testloginapi.py
  GET OK: 200 http://localhost:54993/authorize/login?username=TEST&pas...
  POST OK: 200 http://localhost:54993/authorize/login?username=TEST&pas...
  authorization token received... eyJhbGciOi...
  expected status 200 but got 401 for GET http://localhost:54993/authorizetest/test
Run Code Online (Sandbox Code Playgroud)

我的最小示例的要点是:

Startup.cs方法Configure有:

        app.UseJwtBearerAuthentication(_keyArtifacts.getJwtBearerOptions());
Run Code Online (Sandbox Code Playgroud)

承载选项如下:

  public static JwtBearerOptions CreateJwtBearerOption(RsaSecurityKey key, string tokenIssuer, string tokenAudience)
        {
            var jwtBearerOptions = new …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-identity json-web-token asp.net-core

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

有没有人将UML与OCL一起使用?程序员使用它还是仅使用不编写代码的分析师?

我试图绕过为什么我们首先解决设计问题并决定采用可视化方法(UML)的原因,而不是从碰巧也是可执行的正式规范(RAD原型)开始,我们从可以不容易被证明有效。因此,当需要证明模型的属性时,我们发现需要在设计中定义约束,因此我们设计了形式语法(OCL)来定义模型上的约束。我很难理解这一飞跃回到我们开始的地方。我发现OCL困扰的UML设计(甚至是小册子中显示的示例)也不可读,甚至比无数的UML符号和约定更难以理解。因此,我想知道的是:在当今的软件开发世界中,使用OCL的关键领域是什么,与谁相关或值得学习?您的工作角色是什么样的?从来不编写代码的架构师是否使用UML和OCL,还是也与实现该代码的团队相同的程序员来设计和架构系统?

[更新:其次,在我看来,敏捷开发似乎与“重量级”过程相反,并且像OCL这样的用于设计图约束的领域特定语言似乎并不十分敏捷。是否在任何“敏捷”商店中使用UML + OCL,还是Scrummers普遍避开了它?]

oop uml jbuilder borland-together ocl

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

使用Angle Brackets(我见过有人使用TList <PSomething>)

我看到人们宣称他们的TList喜欢

MyList : TList<PSomeType>;
Run Code Online (Sandbox Code Playgroud)

然后,当他们创造它时,他们会这样做

MyList := TList<PSomeType>.Create;
Run Code Online (Sandbox Code Playgroud)

因此,我认为通过这样做,他们不必在使用它时对类Mypec.Items [I]进行类型转换,例如:

ShowMessage( PSomeType(MyList.Items[I]).SomeTextProperty );
Run Code Online (Sandbox Code Playgroud)

所以相反他们会做

ShowMessage( MyList.Items[I].SomeTextProperty );
Run Code Online (Sandbox Code Playgroud)

那是对的吗?

如果是这样,为什么我不能让它在Delphi 2010中工作?我正在努力 - 将我的清单声明为

MyList : TList<PSomeType>;

但是编译器说:

未声明的标识符:TList <>

我在那里做错了什么?

delphi generics casting tlist

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

如果您没有权限执行需要管理权限的操作(如安装服务),则Delphi代码显示友好消息

客户在安装期间从我们的应用程序报告错误,这表示当域管理员执行安装时,下面的"IsWindowsAdministrator"中的代码返回FALSE.以本地管理员身份登录,一切正常.安装程序(Innosetup)调用exe文件,该文件执行一些服务控制管理器操作(见下文),但在调用下面的IsWindowsAdministrator以检查用户状态之后.

我想检查管理员状态的原因是在调用服务管理器任务以使用驱动程序之前提供一个优雅的错误(请参阅下面的驱动程序安装代码).这些是我在Innosetup内部不能轻易完成的任务,我选择将它们包装到安装程序调用的小exe中.

CHECK ADMIN CODE中的代码对此任务有效吗?或者我应该放弃它并将调用包装到服务控制管理器中,除非有更好的错误消息?

谢谢

=====================驱动程序安装代码========================

procedure ArtIODriver_Install( AShowSummary : boolean );
var
  hServiceControlManager : THandle;
  hService               : SC_HANDLE;
  ServiceStatus          : TServiceStatus;
  ServiceArgVectors      : PAnsiString;
begin

  If not IsWindowsAdministrator then
    Raise EArtIODriver.Create(
      'Error IODR4 - You must be a windows administrator to perform this action' );

  If not FileExists( ArtIODriver_FilePath ) then
    Raise EArtIODriver.CreateFmt(
      'Error IODR7 - Unable to locate the driver file "%s"',
      [ArtIODriver_FilePath] );

  hService := 0;
  hServiceControlManager := 0;
  try

    hServiceControlManager := OpenSCManager(
      nil,
      nil,
      SC_MANAGER_ALL_ACCESS); …
Run Code Online (Sandbox Code Playgroud)

delphi dns administrator

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

TJclCompressArchive(项目绝地).如何选择压缩格式?

在Win7 x64上使用Delphi XE,有Jedi类库ver.3.45和7z.dll ver.9.20,

Uses .., jclcompression;

procedure TForm1.Button1Click(Sender: TObject);
const
   an = 'C:\1.7z';
   fn = 'C:\1.txt';
var Arc: TJclCompressArchive;
    Ext: TJclCompressArchiveClass;

begin
   Ext := GetArchiveFormats.FindCompressFormat(an);
   Arc := Ext.Create(an);
   Arc.AddFile(ExtractFileName(fn), fn);
   Arc.Password:='123';

   // arc. .. compresslevel:= 0..9 (or store..ultra)
   // arc. .. compressmethod:= (lzma,lzma,bzip2,ppmd)
   // arc. .. dictionarysize:= (1 shl 1..30)
   // arc. .. comressheader:= true-false
   // arc. .. cryptalgorithm:= ??? aes256 only?
   // arc. .. threads:= 1..2
   // arc. .. cryptheader:= true-false

   Arc.Compress;

end;
Run Code Online (Sandbox Code Playgroud)

如何选择上面显示的压缩选项作为带"//"的注释?

绝地文件实际上是零,可能有人遇到这样的问题?

用7z尝试了一些不同版本的"作业":tSevenZip,SevenZipVcl,SevenZip Api,但已经得出结论,在项目Jedi中使用7z.dll工作的最新版本.

compression delphi 7zip jedi-code-library

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

如何获得delphi TPaintBox句柄

我正在使用delphi 6处理应用程序,我试图将相机集成到现有应用程序中,相机代码将捕获的帧显示到Tpanel上,在我的应用程序中我需要在Tpaintbox上显示捕获的帧(我不是原始编码器)

这是来自的代码示例

  procedure TFrameThreadX.DrawFrame;
    var
    hdc:THandle; 
     begin

       //do processing
      .
      . 
       hdc := GetDC( ViewForm.ViewPanel.Handle );
       SetStretchBltMode(hdc,COLORONCOLOR);
       StretchDIBits(hdc,0,0,nW,nH,0,0,ScW,ScH,DibPixels,TBitMapInfo((@FDib)^),DIB_RGB_COLORS,SRCCOPY);
       ReleaseDC( ViewForm.ViewPanel.Handle, hdc );


     //do processing
    end;
Run Code Online (Sandbox Code Playgroud)

这里是得到Tpanel手柄为87248682的这

  hdc := GetDC( ViewForm.ViewPanel.Handle );
Run Code Online (Sandbox Code Playgroud)

所以当我尝试在这样的代码中使用Tpaintbox时

       hdc := GetDC( ViewForm.PaintBox1.Canvas.Handle);
Run Code Online (Sandbox Code Playgroud)

结果是0,

所以相机框架不显示..

所以我试过这个

使用GetDCGetWindowDC,但在这两种情况下,句柄的函数结果为0,

在此输入图像描述

我的代码

   var
     hdc  : THandle;
     begin
       hdc := GetDC(Panel1.Handle);
       Label1.Caption:=inttostr(hdc);
       hdc := GetDC(Image1.Canvas.Handle);
       Label2.Caption:=inttostr(hdc);
       hdc := GetDC(PaintBox1.Canvas.Handle);
       Label3.Caption:=inttostr(hdc);
     end;
Run Code Online (Sandbox Code Playgroud)

对于GetWindowDC

    var
     hdc  : THandle;
     begin
     hdc …
Run Code Online (Sandbox Code Playgroud)

delphi winapi handle

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

在delphi 5中找不到strutils.dcu

我正在使用Delphi 5.0,我在编译项目时收到错误'StrUtils.dcu not found'.这个错误与delphi版本有关吗?我不确定在哪个版本的Delphi StrUtils.pas中添加了.感谢帮助.

delphi

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

如何在Delphi中将一个StringList拆分为两个字符串列表?

我正在尝试将一个StringList内容分成多个部分(在Delphi中)...
听起来很简单,但我被愚蠢地阻止:o

例如,StringList包含1001行,我想将内容拆分为2个StringLists.因此,一个将有500行,另一个将有501行.
无论第一个是501还是第二个500,反之亦然.

如果有人能以正确的方式推动我......
提前致谢!

贝尼

delphi split listbox

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