我需要使用qsBarcode http://www.qsbarcode.de/en/index.htm的DLL文件(这里是下载链接http://www.qsbarcode.de/en/download/qsbar39.zip).该DLL将包含条形码code39的位图图像解码为字符串.
在他们的例子中只有VB和C的例子,但我需要在Delphi中使用它.这是C中的官方示例代码:
#include <windows.h>
#include <stdio.h>
typedef int (WINAPI * CODE39_PROC)(char *, char *);
int main(int argc, char* argv[])
{
HINSTANCE hinstLib;
CODE39_PROC ProcAdd;
BOOL fFreeResult;
char cFileName[512] = "\0";
char cResult[512] = "\0";
int iReturn = 0;
if(argc < 2) return 0; //no bitmap filename in argv[1]
strcpy(cFileName,argv[1]);
hinstLib = LoadLibrary("qsBar39");
if (hinstLib == NULL) return -1; //can't load lib
ProcAdd = (CODE39_PROC) GetProcAddress(hinstLib, "ReadCode39");
if (NULL == ProcAdd) return -1; //can't access Proc
//dll …Run Code Online (Sandbox Code Playgroud) 我已经阅读了这个答案, 但我不知道如何在我的案例中使用该样本.我有一个xml文件
<Archive>
<Source>
<Name>321</Name>
<BatchID>123</BatchID>
</Source>
<DataList>
<Data>
<PN>AAAA</PN>
<FN>1111</FN>
</Data>
<Data>
<PN>BBBB</PN>
<FN>2222</FN>
</Data>
</DataList>
</Archive>
Run Code Online (Sandbox Code Playgroud)
如何删除PN = BBBB的节点?
我很抱歉,我想我不清楚我的问题,我的不好,我的问题是如何删除这一部分:
<Data>
<PN>BBBB</PN>
<FN>2222</FN>
</Data>
Run Code Online (Sandbox Code Playgroud)
不仅是这一节
<PN>BBBB</PN>
Run Code Online (Sandbox Code Playgroud)
答案:感谢Runner,我修改了他的一些代码
DeleteNode := XMLDoc.DocumentElement.SelectSingleNode('/Archive/DataList/Data[PN="BBBB"]');
DeleteNode.ParentNode.RemoveChild(DeleteNode);
Run Code Online (Sandbox Code Playgroud)