小编pfi*_*rno的帖子

如何更改内核的版本字符串?

我是Linux的新手,也是构建/编译自己的内核的新手.对于初学者,我只想弄清楚如何更改内核的版本字符串.例如,当我执行uname -a时,它会输出"Linux localhost.localdomain 3.11.10-100.fc18.i686".我想自定义,但我不确定要编辑的文件.我知道它必须是我的内核目录中的一些文件,但我一直在经历它们没有运气.任何帮助都会很棒!

linux kernel fedora version uname

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

使用参数正确保护SQL语句

我的C#代码中有两个SQL语句来检索一些值.我知道他们对SQL注入是开放的,因为我没有使用参数,但我不确定我是否正确实现它们.

(注意:每个都在循环中循环数据表的行)第一个例子:

string sql2 = "select max(day) as day from users u join days d on d.User_ID = u.id where u.ActiveUser = 1 and u.id = " + Users["ID"].ToString();
command.CommandText = sql2;               
string dt = command.ExecuteScalar().ToString(); 
Run Code Online (Sandbox Code Playgroud)

在上面的语句中,它检索日期时间并将其分配给字符串dt.任何带有id或ID的东西都是bigint.

string sql = "SELECT MAX(Day) FROM Days WHERE Project_ID IN (SELECT ID FROM Projects WHERE Parent_ID = -1 AND ID = " + row["ID"] +  ") HAVING MAX(Day) < DATEADD(dd, -730, getdate())";
command.CommandText = sql;                                  
object val = command.ExecuteScalar();
Run Code Online (Sandbox Code Playgroud)

上面的语句与第一个语句相同,就像它检索日期时间值一样.任何带有id或ID的东西都是bigint.

这是我第一个想到的,我错过了什么或做错了什么?

string sql2 …
Run Code Online (Sandbox Code Playgroud)

c# sql sql-server

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

将C for循环转换为MIPS

我正在尝试将此C代码直接转换为mips,而不修改任何指令,以使其运行更好:

for(i = 0; i != j; i += 2)
    b[i] = a[i] - a[i + 1]
Run Code Online (Sandbox Code Playgroud)

我并不是真的要用mips编码,我只是想了解一些东西。这是我到目前为止(不多):

#t5 = i
$t6 = j
#t1 = a
#t2 = b
#t3 = c
#t10, t11, t12 = free

add $t5, $zero, $zero # initialize i = 0 

loop:
    bne $t5, $t6        # check if i is not equal to j
    addi $t5, $t5, 2    # i += 2
    add $t10, $t5, $t11 # temp reg $t10 = address of b[i] …
Run Code Online (Sandbox Code Playgroud)

c for-loop mips

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

如何使这些结构函数通用?

我有这两个函数将流读入缓冲区并将其加载到给定的结构中.

    TestStruct1 ReadRecFromStream2(Stream stream)
    {
        byte[] buffer = new byte[Marshal.SizeOf(typeof(TestStruct1))];
        stream.Read(buffer, 0, 128);
        GCHandle handle = GCHandle.Alloc(buffer, GCHandleType.Pinned);
        try
        {
            return (TestStruct1)Marshal.PtrToStructure(handle.AddrOfPinnedObject(), typeof(TestStruct1));
        }
        finally
        {
            handle.Free();
        }
    }

    TestStruct2 ReadRecFromStream(Stream stream)
    {
        byte[] buffer = new byte[Marshal.SizeOf(typeof(TestStruct2))];
        stream.Read(buffer, 0, 128);
        GCHandle handle = GCHandle.Alloc(buffer, GCHandleType.Pinned);
        try
        {
            return (TestStruct2)Marshal.PtrToStructure(handle.AddrOfPinnedObject(), typeof(TestStruct2));
        }
        finally
        {
            handle.Free();
        }
    }
Run Code Online (Sandbox Code Playgroud)

我想将它们组合成一个通用函数来获取任何一个结构,我只是不确定这样做的正确方法是什么.

这是正确的方法吗?

    private T ReadRecFromStream<T>(Stream stream)
    {
        byte[] buffer = new byte[Marshal.SizeOf(typeof(T))];
        stream.Read(buffer, 0, HeaderSize);
        GCHandle handle = GCHandle.Alloc(buffer, GCHandleType.Pinned);
        try
        {
            return …
Run Code Online (Sandbox Code Playgroud)

c# generics struct

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

将字符串转换为datetime的问题

我在ms-sql数据库中有一个表,其中包含列中的日期,如下所示:

2012-10-31 00:00:00.000
Run Code Online (Sandbox Code Playgroud)

此列列为"datetime"类型.如同在ms sql server管理工作室中,我展开表,然后是列,并查看日期(PK,datetime,not null).

然后在c#中,我得到那些带有语句的日期,并将其分配给一个变量,该变量填充了一个网页,该网页是用asp.net制作的网页.sql语句只是获取用户的最后一个条目.

        SqlCommand command = new SqlCommand();
        //connection info here
        sql2 = "select max(day) as day from users u join days d on d.User_ID = u.id where u.ActiveUser = 1 and u.id = " + Users["ID"].ToString();;
        command.CommandText = sql2;
        dates["Entry"] = command.ExecuteScalar();
Run Code Online (Sandbox Code Playgroud)

这将填充列中的日期,如下所示:

10/31/2012 12:00:00 AM
Run Code Online (Sandbox Code Playgroud)

现在,我不知道为什么会这样转换.我在调试时跟踪数据,并且使用command.ExecuteScalar()函数进行更改.我希望的格式是:

10/31/2012
Run Code Online (Sandbox Code Playgroud)

没有hh/mm/ss AM.

我无法使任何DateTime转换/分析/格式化正常工作.我花了四天时间.我在这里问了一个类似的问题:将日期转换为正确的格式,尝试所有不同的建议.

我在此期间做的是:

string dt = command.ExecuteScalar().ToString();
dt = dt.Substring(0, dt.IndexOf(" ") + 1); 
dates["Entry"] = dt;
Run Code Online (Sandbox Code Playgroud)

哪个删除了返回的日期字符串中的空格后的所有文本.这没关系,除了我想比较我得到的这些日期,所以我需要在DateTime中使用它们.试图将这些字符串转换为DateTime是行不通的.

编辑:定义和类型 -

DataRow dates;
//for …
Run Code Online (Sandbox Code Playgroud)

c# sql-server asp.net datetime

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

无法在 Blazor WASM 中命中断点

我正在尝试调试 Blazor WebAssembly 应用程序,但在尝试设置断点时收到以下消息:

当前不会命中断点。 未绑定断点

如果我执行会遇到断点的操作,Visual Studio 会打开一个新选项卡,其中显示Unable to retrieve source content (Unable to retrieve source content). 我在单独的 blazor 服务器应用程序以及首次创建 blazor 项目(counter.razor 和 fetchdata.razor)时提供的示例模板中遇到了同样的问题。

以下是该应用程序的信息: 目标框架:.NET 5.0(当前) 身份验证类型:无 配置 HTTPS:True ASP.NET Core 托管:False 渐进式 Web 应用程序:True

我使用的是 Visual Studio 2019 版本 16.9.4。

我的 .csproj 文件是:

<Project Sdk="Microsoft.NET.Sdk.BlazorWebAssembly">

  <PropertyGroup>
    <TargetFramework>net5.0</TargetFramework>
    <ServiceWorkerAssetsManifest>service-worker-assets.js</ServiceWorkerAssetsManifest>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="5.0.5" />
    <PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="5.0.5" PrivateAssets="all" />
    <PackageReference Include="System.Net.Http.Json" Version="5.0.0" />
  </ItemGroup>

  <ItemGroup>
    <ServiceWorker Include="wwwroot\service-worker.js" PublishedContent="wwwroot\service-worker.published.js" />
  </ItemGroup>

</Project>
Run Code Online (Sandbox Code Playgroud)

我的 launchSettings.json 文件是:

{
  "iisSettings": { …
Run Code Online (Sandbox Code Playgroud)

debugging breakpoints visual-studio-2019 blazor-client-side blazor-webassembly

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

如何使一个组件淡入而另一个组件淡出?

在类组件中,我有两个视图,一个作为占位符,一个用于图像。占位符会显示,直到某些状态发生变化(当图像完成加载时),然后图像才会显示。我正在尝试添加一些动画,并在状态更改时让图像淡入和占位符淡出。

下面是两个视图的相关渲染函数:

renderImage = (filePath: string): JSX.Element => {
    const { isImageLoaded } = this.state;
    if (isImageLoaded) {
        return (
            <View style={Styles.imageContainer}>
                    <Image source={{ uri: filePath, cache: 'reload' }}/>
            </View>
        );
    }

    return (
        <View style={Styles.placeholderContainer}>
        </View>
    );
};
Run Code Online (Sandbox Code Playgroud)

我知道我需要将视图更改为Animated.View并具有淡入/淡出功能,如下所示:

Animated.timing(this.state.opacity, {
      toValue: 1,
      duration: 500,
      useNativeDriver: true,
    }).start();
Run Code Online (Sandbox Code Playgroud)

setState在状态回调中调用淡入/淡出函数的正确方法是isImageLoaded?或者有没有一种方法可以触发动画而无需手动调用它们setState

react-native react-animated

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

文本框的自定义日期格式

相关:将3个文本框绑定在一起; 相同的DateTime格式不同

我有三个textboxes,所有人都应该在同一个日期绑定在一起.其中两个具有正常的字符串格式.第三个具有特定格式yyyy,jjj/HHmmss.我无法弄清楚如何将其绑定textbox到我拥有的自定义格式,并且如果我更改其中的任何日期值,那么另一个textboxes将更新,反之亦然.

private DateTime _dateInViewModel;
public DateTime DateInViewModel
{
    get { return _dateInViewModel; }
    set
    {
        _dateInViewModel = value;
        NotifyPropertyChanged("DateInViewModel");
    }
}

<TextBox Name="SDate1" Text="{Binding DateInViewModel, StringFormat='MM/dd/yyyy'}" />
<TextBox Name="SDate2" Text="{Binding DateInViewModel}" />
<TextBox Name="STime1" Text="{Binding DateInViewModel, StringFormat='hh:mm:ss'}" />
Run Code Online (Sandbox Code Playgroud)

自定义格式可以像:

format = String.Format("{0},{1}/{2}",
                                DateInViewModel.Year,
                                DateInViewModel.DayOfYear.ToString("d3"),
                                DateInViewModel.ToString("HHmmss"));
Run Code Online (Sandbox Code Playgroud)

现在,只有SDate1STime1当其它改变相互结合的正确和更新.

我做了一个转换器.它正确地更新SDate2SDate1STime1改变,但编辑时不起作用SDate2更新等.

public class DateTimeConverter : IValueConverter
{
    #region IValueConverter Members

    public …
Run Code Online (Sandbox Code Playgroud)

c# wpf string-formatting date-formatting

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

如何从字符串中删除DateTime子字符串

我有一堆字符串,其中一些具有以下格式之一:

"TestA (3/12/10)"
"TestB (10/12/10)"
Run Code Online (Sandbox Code Playgroud)

DateTime字符串的一部分将始终采用mm/dd/yy格式.

我想要做的是删除整个DateTime部分,包括括号.如果它总是相同的长度,我将得到索引/并减去该字符数直到并包括(.但由于mm字符串的一部分可能是一个或两个字符,我不能这样做.

那么有没有办法做一个.Contains或什么来看看字符串是否包含指定的DateTime格式?

c# string datetime string-formatting

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

ComboBox的水印行为

我目前有一个combobox必然的dictionary.我要做的是在其中有一个默认项目combobox,例如"请选择一个项目...",当用户实际点击combobox选择项目时,该项目就会消失.

我在这个网站上看到过类似的问题,但似乎无法让任何解决方案适合我.我唯一的运气就是把它放在我的xaml组合框代码中:

<IsEditable="True" IsReadOnly="True" Text="Please select an item..."/>
Run Code Online (Sandbox Code Playgroud)

但这当然会改变它的外观,combobox我不希望它看起来像是可编辑的.

我的代码背后:

private Dictionary<string, string> imageTypes = new Dictionary<string, string>();

public MainWindow()
{
    InitializeComponent();
    AddImage_Types();
}

public void AddImage_Types()
{
    imageTypes.Add("*.png", Png);
    imageTypes.Add("*.jpg *.jpeg *jfif", Jpg);
}

public Dictionary<string, string> ImageTypes
{
    get
    {
        return imageTypes;
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我的组合框的xaml:

<ComboBox Name="imageCB"
          ItemsSource="{Binding RelativeSource={RelativeSource AncestorType=Window, Mode=FindAncestor}, Path=ImageTypes}"
          SelectedValuePath="Value"
          DisplayMemberPath="Key" >
</ComboBox>
Run Code Online (Sandbox Code Playgroud)

我尝试过使用触发器和样式,就像这个答案:https://stackoverflow.com/a/16782339/2480598

我确信它很简单,但我似乎无法得到它.

注意:默认项目,我的意思是当窗口加载时,一些文本已经显示在组合框中,如"请选择项目...".当用户单击组合框以从下拉列表中选择项目时,这将消失.

c# wpf combobox

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

突出显示oxyplot中的单个点?

我有一个在 WPF 项目中使用的 oxyplot winforms 控件。该控件接受两个列表(一个用于 x 值,一个用于 y 值),并绘制一个线系列。我试图让我的 WPF 项目一次一个地循环遍历这些点并突出显示(简单的颜色更改)循环命中的每个点。但是,我找不到只改变一点的方法,只能改变整个系列。

例如:

var s1 = new LineSeries();

s1.Color = OxyColors.LightBlue;
s1.MarkerFill = OxyColors.Blue;
s1.MarkerType = OxyPlot.MarkerType.Circle;
Run Code Online (Sandbox Code Playgroud)

这会将线系列中的所有点更改为浅蓝色,将线本身更改为蓝色,将点更改为圆形。

但是没有方法或属性可以更改单个点。

c# wpf winforms oxyplot

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

SELECT语句没有返回任何内容

我的问题是,执行语句时结果是空的,即使在Microsoft的SQL Server工作室中执行它时也可以.

//This has two values in it (Ex: 4 and 2)
string[] arr2 = groupListValues.Split('-');

List<string> userID = new List<string>();

// Connect to the database
SqlConnection gconn = new SqlConnection(ConfigurationManager.ConnectionStrings["connectinfohere"].ConnectionString);
gconn.Open();
SqlCommand command1 = new SqlCommand();
command1.Connection = gconn;
String sql = "SELECT ID FROM Users WHERE Group = @groupID";
command1.CommandText = sql;
command1.Parameters.Add(new SqlParameter("@groupID", ""));
SqlDataReader reader = command1.ExecuteReader();              

//issue is in this loop
foreach (string str in arr2)
{
    command1.Parameters["@groupID"].Value = str;
    while (reader.Read())
    {
        userID.Add(reader["ID"].ToString());
    } …
Run Code Online (Sandbox Code Playgroud)

c# sql-server select

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

这个'else`语句在哪里结束?

试图将这段Delphi代码转换为,C#并且我elseif/else语句的以下部分实际结束的地方感到困惑.以下是代码的确切格式:

 try
   Root:=ExtractFileRoot(FileName);
   ErrorStr:=ExtractFileRoot(FileName)+' invalid name';
   if not GetNextNumericSegment(Root,Segment) then exit;  
   if length(Segment) = 4 then
   begin
      Year:=StrToInt(Segment);
      GetnextNumericSegment(Root,Segment)
   end
   else // Where does this else statement end?
       Year:=Defaultyear;
    ErrorStr:=ExtractFileRoot(FileName)+' invalid';
   if Length(Segment) <> 3 then exit;
   Jday:=StrToInt(Segment);
    ErrorStr:=ExtractFileRoot(FileName)+' Bad File';
   if not GetNextNumericSegment(Root,Segment) then exit;  // bad Time of day
   GetTimeFromFileName:=EncodeDate(Year,1,1)+Jday-1+
                        EncodeTime(StrToInt(Copy(Segment,1,2)),StrToInt(Copy(Segment,3,2)),StrToInt(Copy(Segment,5,2)),0);
 except
       GetTimeFromFileName:=0;
 end;
Run Code Online (Sandbox Code Playgroud)

我知道你不必使用开头/结尾,但到目前为止我在这段代码中看到的所有内容都使用了它.我也看了,你不需要;if语句的一部分,并且第一;else是底了else.

我的猜测是,根据一切else和达except是金 …

delphi if-statement delphi-7

0
推荐指数
2
解决办法
265
查看次数