⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 api.java

📁 一个简单的visio程序。
💻 JAVA
字号:
package HECore.stddata;
import java.util.Vector;
import java.lang.*;
import java.io.*;
import HPCore.Exception.HpException;

public class Api
{
    Vector parVect = null ;
    Vector fortypVect = null ;
    Vector acttypVect = null;
    Vector byvVect = null ;
    
    static Api apiobj = null ;

    static {       
     System.loadLibrary("callapi");    
    }
	
    public Api()
      {
     parVect = new Vector(5,5);
      }
    public static Api addParm(Object parm,boolean isbyval,int fortype,int acttype)
    {
    if(apiobj == null)
       apiobj = new Api();
    if(apiobj.parVect == null)
       apiobj.parVect = new Vector(5,5);
    if(apiobj.fortypVect == null)
       apiobj.fortypVect = new Vector(5,5);
    if(apiobj.acttypVect == null)
       apiobj.acttypVect = new Vector(5,5);
    if(apiobj.byvVect == null)
       apiobj.byvVect = new Vector(5,5);

    apiobj.parVect.addElement(parm);
    apiobj.fortypVect.addElement(new Short((short)fortype));
    apiobj.acttypVect.addElement(new Short((short)acttype));
    apiobj.byvVect.addElement(new Boolean(isbyval));
    return apiobj;
    }


    public static Object CALLAPIFUNC(String apiName,String libName,int returntype)throws Exception
    {
    int size = 0;
    
	if(apiobj == null || apiobj.parVect == null)
	  size = 0;
	else
	  size = apiobj.parVect.size(); 
    int idx = 0;
    String lastname = null;
    Object paramval[] = new Object[size];
    java.util.Vector Parameter = new java.util.Vector();
    short fortype[] = new short[size];
    short acttype[] = new short[size]; 
    boolean byv[] = new boolean[size];
    Object value = null ;
    idx = libName.lastIndexOf('.');
        for(int i = 0 ; i < size; i ++)
            {
            Parameter.addElement((Object)apiobj.parVect.elementAt(i));
            fortype[i] = ((Short)apiobj.fortypVect.elementAt(i)).shortValue();
            acttype[i] = ((Short)apiobj.acttypVect.elementAt(i)).shortValue();
            byv[i] = ((Boolean)apiobj.byvVect.elementAt(i)).booleanValue();
            }
    try{
       value =CallAPI(apiName,libName,Parameter,fortype,acttype,(short)returntype,byv);
    }catch(Exception e)
    {
			e.printStackTrace();

       throw new HpException(56,"Library not Found : " + libName);
    }
        if(apiobj != null)
		{
	    apiobj.parVect = null ;
        apiobj.fortypVect = null;
        apiobj.acttypVect = null;
        apiobj.byvVect =null;
		}
        return value ;
   }

    public static Object CALLAPIFUNC(String apiName,String libName,String returnudtname)throws HpException
    {
    int size = 0;
	if(apiobj == null || apiobj.parVect == null)
	  size = 0;
	else
	  size = apiobj.parVect.size(); 
    java.util.Vector Parameter = new java.util.Vector();
    short fortype[] = new short[size];
    short acttype[] = new short[size];
    boolean byv[] = new boolean[size];
    Object value = null ;
    for(int i = 0 ; i < size; i ++)
        {
        Parameter.addElement(apiobj.parVect.elementAt(i));
        fortype[i] = ((Short)apiobj.fortypVect.elementAt(i)).shortValue();
        acttype[i] = ((Short)apiobj.acttypVect.elementAt(i)).shortValue();
        byv[i]  = ((Boolean)apiobj.byvVect.elementAt(i)).booleanValue();
        }
    try{
       value=CallAPIRtUDT(apiName,libName,Parameter,fortype,acttype,returnudtname,byv);
       
    }catch(Exception e)
    {
		e.printStackTrace();
       throw new HpException(56,"Library not Found : " + libName);  
    }
     if(apiobj != null)
	 {
	 apiobj.parVect = null ;
     apiobj.fortypVect = null ;
     apiobj.acttypVect = null ;
     apiobj.byvVect = null ;
	 }
     return value ;
    }

    public static void CALLAPISUB(String apiName,String libName) throws HpException 
    {
    int idx = 0;
    int size = 0;

	if(apiobj == null || apiobj.parVect == null)
	  size = 0;
	else
	  size = apiobj.parVect.size(); 

    java.util.Vector Parameter = new java.util.Vector();
    short fortype[] = new short[size];
    short acttype[] = new short[size];
    boolean byv[] =new boolean[size];
    String lastname = null;
    Object paramval[] = new Object[size];
    for(int i = 0 ; i < size; i ++)
        {
        Parameter.addElement(apiobj.parVect.elementAt(i));
        fortype[i] = ((Short)apiobj.fortypVect.elementAt(i)).shortValue();
        acttype[i] = ((Short)apiobj.acttypVect.elementAt(i)).shortValue();
        byv[i] = ((Boolean)apiobj.byvVect.elementAt(i)).booleanValue();
        }
    try{
       CallAPINoRt(apiName,libName,Parameter,fortype,acttype,byv);

    }catch(Exception e)
    {
		e.printStackTrace();
       throw new HpException(56,"Library not Found : " + libName);
    }
	 if(apiobj !=null)
	 {
     apiobj.parVect = null ;
     apiobj.fortypVect = null ;
     apiobj.acttypVect = null ;
     apiobj.byvVect = null ;
	 }
    }
public static native void CallAPINoRt(String apiName,String libName,java.util.Vector Parameter,short [] fortype, short []acttype,boolean [] isbyval)throws IllegalArgumentException;
public static native Object CallAPIRtUDT(String apiName,String libName,java.util.Vector Parameter,short [] fortype, short []acttype,String returnudtname,boolean [] isbyval)throws IllegalArgumentException;
public static native Object CallAPI(String apiName,String libName,java.util.Vector Parameter,short []fortype,short[]acttype, short returntype,boolean [] isbyval)throws IllegalArgumentException;

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -