小编Log*_*man的帖子

相当于"Dim As String*1"VB6到VB.NET

我有一些需要迁移到VB.NET的VB6代码,我想查询这行代码,看看是否有办法在.NET中实现它

Dim strChar1 As String * 1
Run Code Online (Sandbox Code Playgroud)

Intellisense一直告诉我语句结束是预料之中的.

vb.net string vb6 vba vb6-migration

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

VB6/VBA MSFlexGrid到VB.NET DataGridView

再一次,更加出色的VB6VB.NET迁移.

好的,这不一定是定义中的"问题",但它将回答用户将来会遇到的许多问题,并希望能够回答我的问题.

我试图编译内的性质和功能的列表,MSFlexGrid在VB6/VBA和.NET的DataGridView提供相同或有所相同用途.我不仅需要它们,而且我相信还有更多的人需要它们.

到目前为止,这就是我所拥有的,我希望其他人可以随意添加和编辑.我希望这有助于我和其他人将旧控件转换为.NET控件,其功能与旧代码相同.如果您想添加,请在BlockQuote中输入关系,并在其专有位置输入定义:

VB6/VBA                          VB.NET

MSFlexGrid.Cols         :::::    DataGridView.ColumnCount
MSFlexGrid.Col          :::::    ???
MSFlexGrid.Rows         :::::    DataGridView.RowCount
MSFlexGrid.Row          :::::    ???
MSFlexGrid.TextMatrix   :::::    DataGridView.Item(Int32,Int32).Value
MSFlexGrid.TextArray    :::::    ???
Add More Here           :::::    Add More Here
Run Code Online (Sandbox Code Playgroud)

定义VB6:

  1. MSFlexGrid控件.Cols =返回或设置MSFlexGrid中的总列数.

  2. MSFlexGrid控件.Col =返回或设置MSFlexGrid中活动单元格的坐标.

  3. MSFlexGrid控件.Rows =返回或设置MSFlexGrid中的总行数.

  4. MSFlexGrid控件.Row =返回或设置MSFlexGrid中活动单元格的坐标.

  5. MSFlexGrid控件.TextMatrix =返回或设置任意单元格的文本内容.此属性允许您设置或检索单元格的内容,而无需更改RowCol属性

  6. MSFlexGrid控件.TextArray =返回或设置任意单元格的文本内容.此属性允许您设置或检索单元格的内容,而无需更改RowCol属性.

  7. 在这里添加更多


定义VB.NET:

  1. DataGridView的. …

vb.net datagridview vb6-migration winforms msflexgrid

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

DoD密码复杂性:用户无法重用以前的任何X密码

我已经看到了几个帖子,但我还没有看到确定的答案.因此,我想我会尝试在新的背景下重申这个问题(国防部).

根据DISA的" 应用安全和开发STIG,V3R2 ",第3.1.24.2密码复杂性和维护,DoD企业软件有一个非常严格的密码指南:

  • 密码长度必须至少为15个字符.

  • 密码必须包含大写字母,小写字母,数字和特殊字符的混合.

  • 更改密码后,用户必须无法使用姓名,电话号码,帐户名称或字典单词等个人信息.

  • 密码必须在60天后过期.

  • 用户必须无法重复使用以前的10个密码.

  • 确保应用程序能够在更改密码时要求新帐户密码与以前的密码相差至少四个字符.

  • 除管理员或特权用户外,用户每天不得更改密码超过一次.特权用户可能需要重置用户忘记的密码以及每天更改密码的能力.

NullUserException的帖子所述,开发人员实际上可以检查最后X个密码量(并且还确保新密码与以前的密码[ bullet 6 ]不同),密码必须使用可逆密码加密方法,而不是哈希密码(即使我使用的是NSA批准的加密算法,也会更加不安全).拟议的答案似乎有道理,尽管似乎存在一些差异和争论,如Dan Vinton的帖子所示.

我想真正的问题是,是否有人能够实现所有这些看似常见的密码复杂性约束而不会真正降低其系统的安全性


编辑:漏洞APP3320.7(项目符号第6点)声明"确保应用程序能够在密码更改时要求新帐户密码与以前的密码相差至少四个字符." 这让我相信我必须运行一个字符串相似度算法,如Levenshtein来检查相似性.我不能在hash/salt上执行此操作.如果我错了,请告诉我?

security encryption passwords complexity-theory

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

WPF DataGrid ItemsSource问题

请让我知道我对WPF相对较新.我正在ObservableCollection使用我的简单数据类的类型创建一个新的,并将其分配给ItemsSource我的属性DataGrid.在我进入我的问题之前,这里是代码:

XAML:

<my:DataGrid SelectionMode="Single" SelectionUnit="Cell" Height="113" HorizontalAlignment="Left" Margin="11,22,0,0" Name="addressGrid" VerticalAlignment="Top" Width="213" Background="#FFE2E2E2" AlternatingRowBackground="#FFA4CFF2" BorderBrush="#FF7C7C7C" HorizontalGridLinesBrush="White" PreviewKeyDown="addressGrid_PreviewKeyDown" CellEditEnding="addressGrid_CellEditEnding" BeginningEdit="addressGrid_BeginningEdit" PreparingCellForEdit="addressGrid_PreparingCellForEdit">
        <my:DataGrid.Columns>
        <my:DataGridTextColumn Header="Name" Width="*" Binding="{Binding Path=Name}"></my:DataGridTextColumn>
        <my:DataGridTextColumn Header="Value" Width="3*" Binding="{Binding Path=Value}"></my:DataGridTextColumn>
        <my:DataGridTextColumn Header="Index" Visibility="Hidden" Binding="{Binding Path=Index}"></my:DataGridTextColumn>
        </my:DataGrid.Columns>
</my:DataGrid>
Run Code Online (Sandbox Code Playgroud)

数据类:

public class PropertyFields
{
    public string Name { get; set; }
    public object Value { get; set; }
    public int Index { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

人口:

ObservableCollection<PropertyFields> propertyList = new ObservableCollection<PropertyFields>();
for …
Run Code Online (Sandbox Code Playgroud)

.net c# wpf datagrid itemssource

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

ASP.NET Web API - 实体框架 - 500 内部服务器错误 .Include(param =&gt; param.field)

我目前正在使用实体框架(我知道它不是最稳定的平台)使用数据库优先方法处理 Web API 项目,但我遇到了一些非常奇怪的事情。

当我的 APIController 中的 GET 方法尝试返回 DbSet 中包含 LINQ Include() 方法的所有记录时,它将返回 500 错误:

// GET api/Casinos
    public IEnumerable<casino> Getcasinos()
    {
            var casinos = db.casinos.Include(c => c.city).Include(c => c.state);
            return casinos.AsEnumerable();
        }
Run Code Online (Sandbox Code Playgroud)

然而,这个方法工作正常,并从我的数据库中返回我的数据:

// GET api/States
    public IEnumerable<state> Getstates()
    {
        return db.states.AsEnumerable();
    }
Run Code Online (Sandbox Code Playgroud)

所以我已经在其他实例中证明,如果它返回没有 LINQ 查询的实体,它工作得很好,但是当在 DbContext 上使用 Include 方法时,它会失败。

当然,即使使用 Fiddler、Chrome/Firefox 开发工具并添加 GlobalConfiguration.Configuration.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always;

如果有人解决了这个问题,很高兴知道一个不错的解决方案,这样我就可以开始返回我的数据了!谢谢!:)

PS 我使用的是 SQL Server 2012

sql linq asp.net entity-framework asp.net-web-api

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

相当于"打开文件名输出为#1"VB6到.NET

另一个移民问题,

我有另一块VB6代码,似乎需要.NET的一些解决方法.对于缩短版本,这就是它所做的一切:

Open sFileName For Output As #1
Print #1,
Print #1, "Facility:" & vbTab & Replace(Frame1.Caption, ",", " ")
Print #1, 
Print #1, "Address:" & vbTab & Replace(Me.lblAddr1.Caption, ",", " ")
Print #1, "City/State:" & vbTab & Replace(Me.lblAddr2.Caption, ",", " ")
Run Code Online (Sandbox Code Playgroud)

等等等等.你可以看到它不断重复创建新的线条.问题是,我如何在.NET中实现相同的功能?感谢所有帮助人员.

洛根

vb.net printing vb6 io vb6-migration

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

VB.NET嵌入式DLL在另一个DLL中作为嵌入式资源?

我已经在C#中看到了这个,比如这里,虽然我似乎无法弄清楚如何在VB.NET中做到这一点.对于某些背景,我创建了一个自定义ComboBox控件作为.dll,我需要在另一个.dll(ArcMap组件)中实现它.

遗憾的是,ArcMap不允许将"第三方"DLL与组件一起加载,因为没有选项可以为您的加载项引用任何第三方程序集.

如果有人能指出我正确的方向,那将是非常值得赞赏的.

vb.net dll arcmap embedded-resource

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

VB6/VBA TabStrip可以在两个选项卡中具有相同的控件?

我注意到VBA/VB6 TabStrip控件允许在其页面中克隆其子节点的实例.我正在查看一个旧的VBA项目,它有一个tabtrip,幕后它只是添加页面,控件是自动复制的,但可以有不同的数据源.

有什么方法可以在VB.NET中复制它吗?

vb6 vba vb6-migration

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

VB6到VBNet - ListBox.Selected

我目前有一个选择案例,它将从记录集中读取名称字段,以及从该记录集中读取一个布尔值,该值假定是否将该字段包含在稍后将生成的报告中.

问题是,在VB6中,你能够为ListBox.Selected(i)分配一个布尔值.

现在,我不能为我的生活弄清楚要分配什么,选择或不选择依赖于记录集中的布尔值的字段.

码:

Do Until rs_1.EOF
        'Until we run out of records ...

        str_FieldName = rs_1.Fields("FieldName").Value
        b_IncludeField = rs_1.Fields("IncludeInBatchReport").Value

        Select Case str_FieldName
            Case "Sequence"
                listbox_Fields.Items.Add("Sequence")
                listbox_Fields.SelectedItem(listbox_Fields.Items.Count - 1) = b_IncludeField
            Case "BldgNo"
                listbox_Fields.Items.Add("BldgNo")
                listbox_Fields.SelectedItem(listbox_Fields.Items.Count - 1) = b_IncludeField
            Case "BldgName"
                listbox_Fields.Items.Add("BldgName")
                listbox_Fields.SelectedItem(listbox_Fields.Items.Count - 1) = b_IncludeField
            Case "BldgFunc"
                listbox_Fields.Items.Add("BldgFunc")
                listbox_Fields.SelectedItem(listbox_Fields.Items.Count - 1) = b_IncludeField
            Case "POC"
                listbox_Fields.Items.Add("POC")
                listbox_Fields.SelectedItem(listbox_Fields.Items.Count - 1) = b_IncludeField
            Case "Phone"
                listbox_Fields.Items.Add("Phone")
                listbox_Fields.SelectedItem(listbox_Fields.Items.Count - 1) = b_IncludeField
            Case "AH_Phone"
                listbox_Fields.Items.Add("AH_Phone")
                listbox_Fields.SelectedItem(listbox_Fields.Items.Count - 1) = b_IncludeField
            Case …
Run Code Online (Sandbox Code Playgroud)

vb.net vb6 listbox vb6-migration

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

检测用户是否在WPF中移动了窗口

我已经看到了几个帖子,但它们并不一定完全回答我的问题.

我有一个父窗口,在它的LocationChanged事件中,它将抓住一个子窗口并以"快照"的方式随之移动它.我想找到一个事件,并在子窗体上设置一个布尔值"if the user has manually moved me, I will not re-attach to the parent."

有没有办法检测用户是否移动了子窗口,而不是我的父窗口移动它?

我希望这是有道理的.

c# wpf events window

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

VB中C语言的"等于"等效

我知道在循环的上下文Toi = long1 To long2,VB中的等价(i = long1; i < long2; ++i)于C#,但我试图在上下文中找到它的等价物ReDim/System.Array.Resize():

VB6:

ReDim indexCorr(LBound(fDefMatchs) to UBound(fDefMatchs)

C#:

System.Array.Resize(indexCorr, ***?)

有没有其他人知道如何使用一系列这样的数字在C#中调整数组大小?

c# arrays vb6 vb6-migration

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

实体框架包含无法编译

我通过DbContext生成器生成了我的实体,并将其添加到使用我的实体上下文模型的API控制器中.以下方法无法编译:

public IEnumerable<casino> Getcasinos()
    {
        var casinos = db.casinos.Include(c => c.city).Include(c => c.state);
        return casinos.AsEnumerable();
    }
Run Code Online (Sandbox Code Playgroud)

编译器说:

Cannot Convert Lambda Expression to Type 'String' Because It Is Not A Delegate Type
Run Code Online (Sandbox Code Playgroud)

有什么想法为什么这么说?我System.Linq导入了名称空间.

entity-framework asp.net-web-api

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

调用线程无法访问此对象 - Timer

Timer在一个方法中设置了一个间隔为1000每秒钟它将另一个相应的字符Textbox键入一个(几乎自动输入).当我检查_currentTextLength == _text.Length我得到线程错误"调用线程无法访问此对象,因为另一个线程拥有它."

 public void WriteText(string Text)
    {
        timer = new Timer();

        try
        {
            _text = Text;
            timer.Elapsed += new ElapsedEventHandler(timer_Elapsed_WriteText);
            timer.Interval = 1000;
            timer.Enabled = true;
            timer.Start();
        }
        catch
        {
            MessageBox.Show("WriteText timer could not be started.");
        }
    }
    // Write Text Timer Event
    void timer_Elapsed_WriteText(object sender, ElapsedEventArgs e)
    {
        TextBoxAutomationPeer peer = new TextBoxAutomationPeer(_textBox);
        IValueProvider valueProvider = peer.GetPattern(PatternInterface.Value) as IValueProvider;

        valueProvider.SetValue(_text.Substring(0, _currentTextLength));
        if (_currentTextLength == _text.Length) // Error here
        {
            timer.Stop(); …
Run Code Online (Sandbox Code Playgroud)

c# wpf multithreading timer

-2
推荐指数
2
解决办法
1857
查看次数