菜鸟提问:请看一下我这个参数调用有什么问题

谢紫枫 2003-08-20 11:16:22
在类模块clsmain定义的函数
Function par(id As String) As String
par = id
End Function
在窗体主程里调用
Dim class1 As clsmain
Private Sub Form_Load()
id = class1.par
End Sub
要生成dll文件时
会在 id = class1.par的par处报错参数不可选。
...全文
21 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
haipingma 2003-08-20
  • 打赏
  • 举报
回复
Function par(optional byval id As String='') As String默認參數為''(可以自己定義)
par = id
End Function
這樣可以
Dim class1 As clsmain
Private Sub Form_Load()
id = class1.par
End Sub
射天狼 2003-08-20
  • 打赏
  • 举报
回复
你定义的时候有一个参数,调用的时候什么参数也没有,当然出错了.

Dim class1 As clsmain
Private Sub Form_Load()
id = class1.par ('参数')
End Sub

菜鸟提问基于MATLAB的防盗报警系统的有关问题-sounddetection.m 话不多说,之前有人做出视频防盗系统,详见此贴。 原来的一个版本:视频监控,有东西经过监控区域就报警: 贴子如下: https://www.ilovematlab.cn/thread-133835-1-1.html 后来又有人加上了声音报警系统。声音过大就会报警。 详见此贴 声音监控,有东西发出声音就进行报警 https://www.ilovematlab.cn/thread-133881-1-1.html 。。 然后就是我们有个大作业,我想到的是将两者结合在一起,在视频监控的同时,如果声音过大就进行报警,然后拍照(要是能把照片发到邮箱就好了)。 以下是我的修改,但是一直报错。希望有人能帮忙修改下实现上面的功能。 代码贴出: function intruderdetecting2 % 运动参数阈值 motionThreshold = 200;         %  0 ~ 255 secondsToRecord = 10; % 声音参数阈值 soundThreshold = 0.1;         % 0.0 ~ 1.0 %声音麦克风 ai = analoginput; addchannel; set; set; set; samplesToRecord = ceil; set; set; set; set; %启动摄像头 a = imaqhwinfo; [camera_name, camera_id, format] = getCameraInfo; vid = videoinput; set; set; triggerconfig; start; trigger; try     wait; catch     stop; end %启动函数,时间函数 set; set; set; %创建figure fig = figure('DoubleBuffer','on', ...     'Name', 'Intruder Detection', ...     'NumberTitle', 'off', ...     'WindowStyle', 'docked', ...     'Toolbar', 'none', ...     'MenuBar', 'none', ...     'Color',[.1 .1 .1], ...     'CloseRequestFcn', @figureCloseFcn, ...     'DeleteFcn', @figureDeleteFcn); %对界面初始化 timePrevious = []; start; imagePrevious = []; start; %视频的启动函数     function videoStartFcn             imagePrevious = getsnapshot;     end %声音启动函数     function soundStartFcn             timePrevious = now;     end %视频时间函数         function videoTimerFcn         try             imageCurrent = getsnapshot;             timeCurrent = now;         catch             % getsnapshot can fail if object is deleted while we are waiting.             return;         end samplesRequested = ceil * *... ai.SampleRate); warning; try sound = peekdata; catch sound = zeros); end warning; sound = sound - mean); % Center about the mean. soundMax = max)); % Calculate max deviation from mean. timePrevious = timeCurrent; % Make our figure current. figOld = get; %if fig ~= figOld %set; %end %plot;         imageDifference = abs;         imageMax = max);         imagePrevious = imageCurrent;         figOld = get;         if fig ~= figOld             set;         end         image;         label = datestr;         xlabel;         set;         if imageMax > motionThreshold             motion = true;         else             motion = false;         end         if ~islogging             % 如果有东西闯入,进行响应             if motion                 % 将figure变红                 set;                 % 将闯入者的视频发送到你的邮箱                 str=['SB.jpg'];                 imwrite; %保存拍下来的图像                 customIntruderAction();             else                 set;             end;         end     if ~islogging    % if noise       customIntruderAction();%有人闯入时发进行报警         if fig ~= figOld             set;         end    % end     end    %function customIntruderAction()      % [y,fs]=wavread;      % sound; end     function figureCloseFcn         %关闭视频和声音         try             stop;             stop;         catch         end         closereq;     end     function figureDeleteFcn         delete;         delete;     end end 纯M文件编程。
与前版功能基本相似,修正了部分bug,对界面进行了美化,目前这个美化相信应该够用了,因为时间问题没有增加可自定义界面功能,等有时间再提供吧,压缩文件使用“好压”做的,里面有一个例子,图片资源编辑工具,大家可以测试一下效果,里面也有详细说明,图片资源编辑器大家也可以用到自己的程序中,方便程序的图片统一管理和调用菜鸟,达人们别笑话我了。 这里还是在说一下等待窗体的具体使用方法吧 首先将LOADing.dll,DevComponents.DotNetBar2.dll两个dll文件复制到你程序目录中,在程序项目中引用LOADing.dll,在要使用的地方 //先实例 LOADing.FORMshow FRload = new LOADing.FORMshow(); //再调用showto方法,其中的参数this为你调用等待窗体的主窗体对象,delegate { }为委托,IMGclass_AddFlie_r()为功能处理函数,其中所传递的参数第一的FRload必须为固定的创建等待窗体的实例对象,后面跟所需要传递的对象参数。 FRload.showto(this, delegate { IMGclass_AddFlie_r(new object[] { FRload, iclass, fileDialog1.FileNames, _at.SelectedNode.Text }); },true); //这个为数据处理部分 private void IMGclass_AddFlie_r(object[] d) { for (int i = 0; i <= ((string[])d[2]).Length - 1; i++) { ((IMGclass)d[1]).top[d[3].ToString()].Add("标" + ((IMGclass)d[1]).top[d[3].ToString()].Count, BinToCmd(((string[])d[2])[i])); f_new_hand(new object[] { ((IMGclass)d[1]).top[d[3].ToString()], "标" + (((IMGclass)d[1]).top[d[3].ToString()].Count - 1) }); ((LOADing.FORMshow)d[0]).send("加载图片文件:", Convert.ToInt32((Convert.ToSingle(i) / (Convert.ToSingle(((string[])d[2]).Length) / Convert.ToSingle(100))))); } BinToclass(((IMGclass)d[1]), _path[_at.SelectedNode.Parent.Text]); } 好了,使用起来很简单,看看上面的例子就会了,如需索要源码或者要提问的话,联系QQ76230454.

7,762

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧