我正在尝试使用的特定正则表达式有些困难.我在文档中搜索字符串的每次出现(为了我的目的,我会说它是" mystring "),除了它在标签中的位置,例如
<a href="_mystring_">
Run Code Online (Sandbox Code Playgroud)
不应该匹配,但是
<a href="someotherstring">_mystring_</a>
Run Code Online (Sandbox Code Playgroud)
应该匹配,因为它不在标签内部(内部意思是"在<和>标记内")我也使用.NET的正则表达式函数.
我已经 KeyPreview
在表单属性中设置为true
我正在开发一个小程序,我遇到一个问题,当我按下并释放任何箭头键时,组件盒内部的某些控件似乎没有触发我的表单上的KeyDown事件,只是KeyUp事件.我的代码是否有问题可能导致此问题?
具体来说,我已经在表单上启用了KeyPreview,并e.SuppressKeyPress = True
在两个子例程中设置了断点,并且只有frmMain_KeyUp的断点点击了断点.
我添加了两个GroupBox事件,希望可以缓解这个问题,但没有这样的运气.但是,我在表单上有一个自定义控件,专门编码忽略这些按键,代码按预期工作.
Private Sub frmMain_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown, GroupBox1.KeyDown, GroupBox2.KeyDown
e.SuppressKeyPress = True
Select Case e.KeyCode
Case Keys.Left
ScrollDir = ScrollDir Or 1
Case Keys.Right
ScrollDir = ScrollDir Or 2
Case Keys.Down
ScrollDir = ScrollDir Or 4
Case Keys.Up
ScrollDir = ScrollDir Or 8
Case Else
e.SuppressKeyPress = False
End Select
tScroll.Enabled = True
tScroll_Tick(Nothing, Nothing)
End Sub
Private Sub frmMain_KeyUp(ByVal sender As Object, ByVal e …
Run Code Online (Sandbox Code Playgroud) 我在MSVC++ 2008中遇到问题,其中VS2008抛出了这个编译错误:
error C2509: 'render' : member function not declared in 'PlayerSpriteKasua'
Run Code Online (Sandbox Code Playgroud)
现在,令我困惑的是,render()已定义,但是在继承的类中.
类定义的工作方式如下:
SpriteBase -Inherited By-> PlayerSpriteBase -Inherited By-> PlayerSpriteKasua
Run Code Online (Sandbox Code Playgroud)
因此,SpriteBase.h的精简版本如下:
class SpriteBase {
public:
//Variables=============================================
-snip-
//Primary Functions=====================================
virtual void think()=0; //Called every frame to allow the sprite to process events and react to the player.
virtual void render(long long ScreenX, long long ScreenY)=0; //Called every frame to render the sprite.
//Various overridable and not service/event functions===
virtual void died(); //Called when the sprite is killed either externally …
Run Code Online (Sandbox Code Playgroud) 我正在尝试用.NET组装一个插件系统,我不确定我是否正确地进行了操作.该系统的基础是一个特定的目录({apppath}/Plugins /)将有一堆预编译的DLL,我想通过反射来查看每个目录,并且对于每个可用的类,如果它继承了特定的基类(这是在另一个DLL中定义的,但我将在稍后介绍),然后创建它的实例并在所述实例中调用特定的函数.
Public Sub ScanPluginsInDirectory(ByVal Directory As String)
Dim Plugins As New IO.DirectoryInfo(Directory)
Dim Files As IO.FileInfo() = Plugins.GetFiles("*.dll")
Dim CryptType As Type = GetType(CryptPluginBase)
Dim PluginsData as List(Of LoadedPluginsInfo)
For Each DllFile As IO.FileInfo In Files
Try
Dim thisAsm As Assembly = Assembly.LoadFrom(DllFile.FullName)
Dim ClassDefs = thisAsm.GetTypes().Where(Function(type) CryptType.IsAssignableFrom(type))
For Each ClassDef As Type In ClassDefs
Dim A As Object
A = ClassDef.Assembly.CreateInstance(ClassDef.Name)
PluginsData.Add(New LoadedPluginsInfo(A.Plugin(), False))
Next
Catch ex As Exception
Continue For
End Try
Next
End Sub
Run Code Online (Sandbox Code Playgroud)
我遇到的具体问题是,我不确定这是否是正确的方法.如果可以假设A.Plugin() …
我看到了几个问题,询问如何从图像中读取元数据,但我没有看到很多人询问如何编写元数据.基本上,我需要将一个元数据项("ImageDescription")添加到我正在动态生成的PNG图像中(创建一个Bitmap对象并在程序上生成其中的所有内容).
在将文件写入磁盘之前或之后,使用.NET向图像添加元数据的最佳方法是什么?
我正在做一个游戏(并且已经对它提出了几个问题),现在我还有一个问题要问你们.
这个游戏中的关卡格式被设置为Uint16的平铺图(我正在使用SDL),这是tilemapData结构数组的索引.tilemapData结构的一个位是isConductive位/布尔值.
这个位的使用基本上是创建将各种对象连接成一个"powerNet"的路径.我在下面有一些关于当前方法的代码(可行,但我会介绍为什么我真的讨厌它)
void findSetPoweredObjects(unsigned long x, unsigned long y, powerNetInfo * powerNet) {
//Look for poweredObjs on this tile and set their powerNet to the given powernet
for (int i = 0; i < level->numChunks[CHUNKTYPE_POWEREDDEF]; i++)
if (level->poweredObjects[i]->position[0] == x && level->poweredObjects[i]->position[1] == y)
level->poweredObjects[i]->powerNet = powerNet, powerNet->objectsInNet++;
}
void recursiveCheckTile(bool * isWalked, powerNetInfo * powerNet, unsigned long x, unsigned long y, tilemapData * levelMap) {
//If out of bounds, return
if (x < 0 || y < 0 …
Run Code Online (Sandbox Code Playgroud) 显然SDL_Mixer中的这个功能一直在死,我不知道为什么.有没有人有任何想法?根据visual studio的说法,崩溃是由Windows在realloc()行的某处触发断点引起的.
有问题的代码来自SDL_Mixer的SVN版本,如果这有所不同.
static void add_music_decoder(const char *decoder)
{
void *ptr = realloc(music_decoders, num_decoders * sizeof (const char **));
if (ptr == NULL) {
return; /* oh well, go on without it. */
}
music_decoders = (const char **) ptr;
music_decoders[num_decoders++] = decoder;
}
Run Code Online (Sandbox Code Playgroud)
我正在使用Visual Studio 2008,music_decoders和num_decoders都是正确的(music_decoders包含一个指针,字符串"WAVE"和music_decoders.ptr是0x00000000,我能说的最好,崩溃似乎在realloc中()函数.有没有人知道如何处理这个崩溃问题?我不介意做一些重构以使这项工作,如果它归结为那.
.net ×3
c++ ×3
vb.net ×3
abstract ×1
algorithm ×1
breakpoints ×1
class ×1
html ×1
inheritance ×1
late-binding ×1
metadata ×1
pathing ×1
png ×1
realloc ×1
reflection ×1
regex ×1
tile-engine ×1
virtual ×1
windows ×1
winforms ×1