小编Nan*_*n L的帖子

有没有办法填充偶数个数字?

我正在尝试创建一些需要传输的数据的十六进制表示(具体来说,在ASN.1表示法中).在某些时候,我需要将数据转换为十六进制表示.由于数据是作为字节序列传输的,如果长度为奇数,则必须用0填充十六进制表示.

例:

>>> hex2(3)
'03'
>>> hex2(45)
'2d'
>>> hex2(678)
'02a6'
Run Code Online (Sandbox Code Playgroud)

目标是找到一个简单,优雅的实现hex2.

目前我正在使用hex,剥离前两个字符,然后填充字符串,0如果它的长度是奇数.但是,我想找到一个更好的解决方案,以备将来参考.我str.format没有找到任何可以填充多个的东西.

python string padding

8
推荐指数
2
解决办法
2195
查看次数

在填充值时合并两个版本跟踪表

我有两个跟踪数据库值更改的历史记录表,使用修订ID来跟踪各个更改.例如

表格1:

 rev |  A   |  B 
=================
 1   |  100 | 'A'
 4   |  150 | 'A'
 7   |  100 | 'Z'
Run Code Online (Sandbox Code Playgroud)

表2:

 rev |  C   |  D 
==================
 1   |  200 | True
 5   |    0 | True
 8   |    0 | False
Run Code Online (Sandbox Code Playgroud)

目标是将两个表合并为:

 rev |  A   |  B  |  C  |  D 
===============================
 1   |  100 | 'A' | 200 | True
 4   |  150 | 'A' | 200 | True
 5   |  150 | 'A' | …
Run Code Online (Sandbox Code Playgroud)

sql postgresql

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

错误C2059:语法错误:'常量'

我有一段代码是自动生成的,可以在Linux上编译,但不能在Windows上使用Visual Studio 2008 Express编译.我遇到的问题是我不理解编译器错误.我不认为我可以发布确切的代码,所以这是一个消毒版本...

报告静态const DELETE的行报告错误.注意:编译此文件时编译器错误不会显示 - 它会成功构建到库中,但会显示在包含标题(间接)的第二个项目中.我相信至少有一两个其他项目在解决方案中间接包含它 - 它们没有任何问题编译.

File_A.h:

enum LONG_TYPE_NAME {
  ENUM_NAME_PREFIX_ADD = 0,
  ENUM_NAME_PREFIX_CHANGE = 1,
  ENUM_NAME_PREFIX_DELETE = 2,
  ENUM_NAME_PREFIX_SOMETHINGELSE = 3,
};
//Lots of code here
class FOO : public ::LIBRARY_NAME {
 public:
  //Some stuff
  private:
  //Some stuff
  public:
  //Some more stuff

  typedef LONG_TYPE_NAME SHORT_NAME;
  static const SHORT_NAME ADD = ENUM_NAME_PREFIX_ADD;
  static const SHORT_NAME CHANGE = ENUM_NAME_PREFIX_CHANGE; 

  /* compiler error for the following line only*/
  static const SHORT_NAME DELETE = ENUM_NAME_PREFIX_DELETE; 
  static const …
Run Code Online (Sandbox Code Playgroud)

c++ visual-studio-express

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

带有 AlternationIndex 的 MultiDataTrigger

我有一个 ListView 声明为:

<ListView x:Name="Tree"
      ItemsSource="{Binding ElementName=This, Path=Some.Path.Values}"
      AlternationCount="2"
      ScrollViewer.CanContentScroll="False">
Run Code Online (Sandbox Code Playgroud)

和定义为的样式

<UserControl.Resources>
<Style TargetType="ListViewItem">
    <Style.Resources>
        <SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="SteelBlue"/>
        <SolidColorBrush x:Key="{x:Static SystemColors.ControlBrushKey}" Color="Gray"/>
    </Style.Resources>
    <Style.Triggers>
        <Trigger Property="ItemsControl.AlternationIndex" Value="0">
            <Setter Property="Background" Value="White" />
        </Trigger>
        <Trigger Property="ItemsControl.AlternationIndex" Value="1">
            <Setter Property="Background" Value="GhostWhite" />
        </Trigger>
    </Style.Triggers>
    <Setter Property="HorizontalContentAlignment" Value="Stretch" />
    <Setter Property="VerticalContentAlignment" Value="Top" />
    <EventSetter Event="Loaded" Handler="ContinueLoading" />
</Style>
Run Code Online (Sandbox Code Playgroud)

这种组合产生了最初所需的行为,即交替背景高光的行为。新的期望行为是根据给定 ListView 项的属性值更改该背景颜色;作为这样的Style.Triggers改变为

<Style.Triggers>
    <Trigger Property="ItemsControl.AlternationIndex" Value="0">
        <Setter Property="Background" Value="White" />
    </Trigger>
    <Trigger Property="ItemsControl.AlternationIndex" Value="1">
        <Setter Property="Background" Value="GhostWhite" />
    </Trigger>
    <MultiDataTrigger>
        <MultiDataTrigger.Conditions>
            <Condition …
Run Code Online (Sandbox Code Playgroud)

wpf xaml

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

标签 统计

c++ ×1

padding ×1

postgresql ×1

python ×1

sql ×1

string ×1

visual-studio-express ×1

wpf ×1

xaml ×1