function Query_Str(lab:string): string;
var
lab1:string;
begin
with dm.PMT_Query do
  begin
    close;
    sql.Clear;
    sql.Text:='select spbh from spxsht where spbh='''+lab1+'''';
    open;
    if not isempty then
      lab1:=lab1+#13+'★'
    else
      lab1:=lab1+#13+'☆';
  end;
end;procedure TPMT_HZ_Form.Button1Click(Sender: TObject);
begin
B1004.Caption:=Query_str('B1004');
end;
返回是空的是,哪里错了.帮我看一下谢谢

解决方案 »

  1.   

    好像没有看到你的函数返修值...function Query_Str:string; 
     
    begin 
    with dm.PMT_Query do 
      begin 
        close; 
        sql.Clear; 
        sql.Text:='select spbh from spxsht where spbh='''+lab1+''''; 
        open; 
        if not isempty then 
          Result:=lab1+#13+'★' 
        else 
          Result:=lab1+#13+'☆'; 
      end; 
    end; procedure TPMT_HZ_Form.Button1Click(Sender: TObject); 
    begin 
    B1004.Caption:=Query_str('B1004'); 
    end; 
      

  2.   

    function Query_Str(lab:string): string; 
    var 
    lab1:string; 
    begin 
    with dm.PMT_Query do 
      begin 
        close; 
        sql.Clear; 
        sql.Text:='select spbh from spxsht where spbh='''+lab1+''''; 
        open; 
        if not isempty then 
          Result:=lab1+#13+'★' 
        else 
          result:=lab1+#13+'☆'; 
      end; 
    end; procedure TPMT_HZ_Form.Button1Click(Sender: TObject); 
      

  3.   

    delphi中的函数返回值是通过内嵌的result变量来实现的
    该变量无需用户声明,可以直接拿来用,其类型为函数声明中返回值类型如果想要过程返回值,则可以考虑在过程的参数中添加var 变量来接收返回值
      

  4.   

    不知楼主原来是干啥的???以前看来完全不懂任何语言
    function Query_Str(lab:string): string; 
    var 
    lab1:string; 
    begin 
    result:='';
    with dm.PMT_Query do 
      begin 
        close; 
        sql.Clear; 
        sql.Text:='select spbh from spxsht where spbh='''+lab1+''''; 
        open; 
        if not eof then 
          lab1:=lab1+#13+'★' 
        else 
          lab1:=lab1+#13+'☆'; 
      end; 
    result:=lab1;
    end; procedure TPMT_HZ_Form.Button1Click(Sender: TObject); 
    begin 
    B1004.Caption:=Query_str('B1004'); 
    end; 
      

  5.   

    不知楼主原来是干啥的???以前看来完全不懂任何语言 
    function Query_Str(lab:string): string; 
    var 
    lab1:string; 
    begin 
    result:=''; 
    with dm.PMT_Query do 
      begin 
        close; 
        sql.Clear; 
        sql.Text:='select spbh from spxsht where spbh='''+lab+''''; 
        open; 
        if not eof then 
          lab1:=lab+#13+'★' 
        else 
          lab1:=lab+#13+'☆'; 
      end; 
    result:=lab1; 
    end; procedure TPMT_HZ_Form.Button1Click(Sender: TObject); 
    begin 
    B1004.Caption:=Query_str('B1004'); 
    end; 
      

  6.   

    delphi中的函数返回值是通过内嵌的result变量来实现的
    function Query_Str(lab:string): string; 
    var 
    lab1:string; 
    begin 
    result:=''; 
    with dm.PMT_Query do 
      begin 
        close; 
        sql.Clear; 
        sql.Text:='select spbh from spxsht where spbh='''+lab+''''; 
        open; 
        if not eof then 
          lab1:=lab+#13+'★' 
        else 
          lab1:=lab+#13+'☆'; 
      end; 
      result:=lab1; 
    end; procedure TPMT_HZ_Form.Button1Click(Sender: TObject); 
    begin 
    B1004.Caption:=Query_str('B1004'); 
    end; 
      

  7.   

    if not eof then 
          result:=lab+#13+'★' 
        else 
          result:=lab+#13+'☆'; 
      

  8.   

    if not eof then 
          result:=lab+#13+'★' 
        else 
          result:=lab+#13+'☆';