16,467
社区成员
发帖
与我相关
我的任务
分享
Private Type BBType
A As Long
B As Integer
End Type
Private Sub Command1_Click()
Dim UU() As BBType
Dim UULen As Long
Dim UUU As String
Dim TempStr1() As String
Dim TempStr2() As String
Dim X As Long
UUU = "78567:13|29856:356|776545:13|25565:765|8456:13"
TempStr1 = Split(UUU, "|")
UULen = 0
For X = LBound(TempStr1) To UBound(TempStr1)
TempStr2 = Split(TempStr1(X), ":")
If Int(TempStr2(1)) = 13 Then
If UULen = 0 Then
ReDim UU(UULen)
Else
ReDim Preserve UU(UULen)
End If
UU(UULen).A = TempStr2(0)
UU(UULen).B = X
UULen = UULen + 1
End If
Next X
Cls
For X = 0 To UBound(UU)
Print UU(X).A & " - " & UU(X).B
Next X
End Sub
D=new BBType[1]; //D = (BBType)malloc(sizeof(BBType));
D=(BBType)realloc(D, X);
bool BBTypeCreate(BBType**, UINT*,.../*其他参数*/); //取得一个BBType*和其长度
void BBTypeDestroy(BBType*); //删除之前取得的BBType*
Private Type BBType
A As Long
B As Integer
End Type
Private Declare Function MyAPIFunction Lib "API.dll" _
(ByVal A As Long, ByVal B As Integer, ByVal C As Long, D As Any) As Long
Dim A as long,B as Long,C as Long
Dim D() As BBType
Redim D(0)
MyAPIFunction A,B,C,D(0)
Msgbox Ubound(D)
#include "malloc.h"
typedef struct _BBType
{
DWORD A;
WORD B;
} BBType;
DWORD UULen;
_stdcall MyAPIFunction(DWORD A,WORD B,DWORD C,BBType* D){
DWORD X;
UULen=1;
D=new BBType[1];
for(X=1,X<=C,X++){
if(X==1){
D[1].A=A;
D[1].B=B;
}else{
D=(BBType)realloc(D, X);
D[X].A=A;
D[X].B=B;
}
}
return C;
}