Converting Object Arrays?
I have created a vector which adds various strings to it as it goes along. At the end of this I want to convert the vector into a String array. I've tried to use the vector .toArray() function but it converts it to an Object Array.
Does anybody know how to turn the vector into a String array?
Thanks for your time
Paul
You'll have to remove each Object from the Vector, cast it to String and then put it into a String[]. I don't know of a one-shot solution, but it's not like it's difficult to do.
Similar Messages
-
Is there any way to directly convert and object Array to a Collection object. Basically i need to create a ArrayList from Object Array. The ArrayList has a constructor and also provides a method addAll() that accept Collection as parameter. So the problem becomes , how to convert Object Array to collection. As per my understanding all arrays should be essentially Collection Interface subclass.
So why am i not able to cast?
What is wrong in calling Object Array a sub class of Collection?
// OrderLineItem[] is the object array that i wish to have as ArrayList
// This code generates error -
//"ErpOrder.java": Error #: 364 : cannot cast gal.ERP.OrderLineItem[] to java.util.Collection
public void setLineItems( OrderLineItem[] arrOrderLineItem ) {
m_arrLineItems = new ArrayList((Collection)arrOrderLineItem);
}Is there no way except iterating through the array and adding individual Objects to ArrayList?By "Object array" do you mean an Array class, or do you mean an Object[]? They are different. The Array class wraps an Object[] and provides useful methods to manipulate it.
There is no such thing as a Collection object, per say. "Collection" is an interface implemented by many objects such as LinkedList, Vector, ArrayList, HashSet, and TreeSet.
The Collection interface is designed to be an interface to any object that can keep a mutable list of other Objects, check to see if an Object is in that list, and iterate through all Objects in the list.
As far as resources go, I suggest the API reference at http://java.sun.com/j2se/1.4.1/docs/api/index.html. -
How can I convert an array off byte into an Object ?
Hi folks...
I�m developing an application that comunicates a PDA and a computer via Wi-Fi. I�m using a DataStream ( Input and Output ) to receive / send information from / to the computer. Most off the data received from him is in the byte[] type...
How can I convert an array off byte ( byte[] ) into an Object using MIDP 2.0 / CLDC 1.1 ?
I found on the web 2 functions that made this... but it uses a ObjectOutputStream and ObjectInputStream classes that is not provided by the J2ME plataform...
How can I do this ?
Waiting answers
Rodrigo KerkhoffThere are no ObjectOutputStream and ObjectInputStream classes in CLDC. You must know what you are writing to and reading from the DataStream. You should write the primitives like int, String to the DataOutputstream at one end and read those in exactly the same sequence at the outher end using readInt(), readUTF() methods.
-
How to convert an array collection instance to a complex object for interaction with webservice
Hi there,
I have a stubborn problem that I am trying to work out the best way to solve the problem. I am interacting with a WebService via HTTPService calling a method called find(String name) and this returns me a List of ComplexObjects that contain general string and int params and also lists of other Complex Objects. Now using the code:
ArrayCollection newOriginalResultsArray = new ArrayCollection(event.result as Array)
flex converts my complex objects results to an arraycollection so that I can use it in datagrids etc. Now up until this part is all good. My problem is when getting a single instance from the results list, updating it by moving data around in a new datagrid for example - I want to interact with the webservice again to do an create/update. This is where I am having problems - because these webservice methods require the complex object as a parameter - I am struggling to understand how I can convert the array collection instance back to my complex object without iterating over it and casting it back (maybe this is the only way - but I am hoping not).
I am hoping that there is a simple solution that I am missing and that there is some smart cookie out there that could provide me with an answer - or at least somewhere to start looking. I guess if I have no other alternative - maybe I need to get the people who built the service to change it to accept an array - and let them do the conversion.
Any help would be greatly appreciated.
BertHi Bert,
According to my knowledge you can use describeType(Object) method which will return an XML... That XML will contain Properties and values just iterate through the XML and create a new Object.. Probably u can use this method...
public function getObject(reqObj:Object,obj:Object,instanceName:String,name:String=null,index:int=-1):Obj ect
if(!reqObj)
reqObj = new Object();
var classInfo:XML = describeType(obj);
var className:String = instanceName;
if(name!=null)
className=name+"."+className;
if(index!=-1)
className=className+"["+index+"]";
for each (var v:XML in classInfo..accessor)
var attributeName:String=v.@name;
var value:* = obj[attributeName]
var type:String = v.@type;
if(!value)
reqObj[className+"."+attributeName] = value;
else if(type == "mx.collections::ArrayCollection")
for(var i:int=0;i<value.length;i++)
var temp:Object=value.getItemAt(i);
getReqObject(reqObj,temp,attributeName,className,i);
else if(type == "String" || type == "Number" || type == "int" || type == "Boolean")
reqObj[ className+"."+attributeName] = value;
else if (type == "Object")
for (var p:String in value)
reqObj[ className+"."+attributeName+"."+p] = value[p];
else
getReqObject(reqObj,value,attributeName,className);
return reqObj;
Thanks,
Pradeep -
How can i convert object to byte array very*100 fast?
i need to transfer a object by datagram packet in embeded system.
i make a code fallowing sequence.
1) convert object to byte array ( i append object attribute to byte[] sequencailly )
2) send the byte array by datagram packet ( by JNI )
but, it's not satisfied my requirement.
it must be finished in 1ms.
but, converting is spending 2ms.
network speed is not bottleneck. ( transfer time is 0.3ms and packet size is 4096 bytes )
Using ObjectOutputStream is very slow, so i'm using this way.
is there antoher way? or how can i improve?
Edited by: JongpilKim on May 17, 2009 10:48 PM
Edited by: JongpilKim on May 17, 2009 10:51 PM
Edited by: JongpilKim on May 17, 2009 10:53 PMthanks a lot for your reply.
now, i use udp socket for communication, but, i must use hardware pci communication later.
so, i wrap the communication logic to use jni.
for convert a object to byte array,
i used ObjectInputStream before, but it was so slow.
so, i change the implementation to use byte array directly, like ByteBuffer.
ex)
public class ByteArrayHelper {
private byte[] buf = new byte[1024];
int idx = 0;
public void putInt(int val){
buf[idx++] = (byte)(val & 0xff);
buf[idx++] = (byte)((val>>8) & 0xff);
buf[idx++] = (byte)((val>>16) & 0xff);
buf[idx++] = (byte)((val>>24) & 0xff);
public void putDouble(double val){ .... }
public void putFloat(float val){ ... }
public byte[] toByteArray(){ return this.buf; }
public class PacketData {
priavte int a;
private int b;
public byte[] getByteArray(){
ByteArrayHelper helper = new ByteArrayHelper();
helper.putInt(a);
helper.putInt(b);
return helper.toByteArray();
but, it's not enough.
is there another way to send a object data?
in java language, i can't access memory directly.
in c language, if i use struct, i can send struct data to copy memory by socket and it's very fast.
Edited by: JongpilKim on May 18, 2009 5:26 PM -
Converting object wrapper type array into equivalent primary type array
Hi All!
My question is how to convert object wrapper type array into equivalent prime type array, e.g. Integer[] -> int[] or Float[] -> float[] etc.
Is sound like a trivial task however the problem is that I do not know the type I work with. To understand what I mean, please read the following code -
//Method signature
Object createArray( Class clazz, String value ) throws Exception;
//and usage should be as follows:
Object arr = createArray( Integer.class, "2%%3%%4" );
//"arr" will be passed as a parameter of a method again via reflection
public void compute( Object... args ) {
a = (int[])args[0];
//or
Object arr = createArray( Double.class, "2%%3%%4" );
public void compute( Object... args ) {
b = (double[])args[0];
//and the method implementation -
Object createArray( Class clazz, String value ) throws Exception {
String[] split = value.split( "%%" );
//create array, e.g. Integer[] or Double[] etc.
Object[] o = (Object[])Array.newInstance( clazz, split.length );
//fill the array with parsed values, on parse error exception will be thrown
for (int i = 0; i < split.length; i++) {
Method meth = clazz.getMethod( "valueOf", new Class[]{ String.class });
o[i] = meth.invoke( null, new Object[]{ split[i] });
//here convert Object[] to Object of type int[] or double[] etc...
/* and return that object*/
//NB!!! I want to avoid the following code:
if( o instanceof Integer[] ) {
int[] ar = new int[o.length];
for (int i = 0; i < o.length; i++) {
ar[i] = (Integer)o;
return ar;
} else if( o instanceof Double[] ) {
//...repeat "else if" for all primary types... :(
return null;
Unfortunately I was unable to find any useful method in Java API (I work with 1.5).
Did I make myself clear? :)
Thanks in advance,
Pavel GrigorenkoI think I've found the answer myself ;-)
Never thought I could use something like int.class or double.class,
so the next statement holds int[] q = (int[])Array.newInstance( int.class, 2 );
and the easy solution is the following -
Object primeArray = Array.newInstance( token.getPrimeClass(), split.length );
for (int j = 0; j < split.length; j++) {
Method meth = clazz.getMethod( "valueOf", new Class[]{ String.class });
Object val = meth.invoke( null, new Object[]{ split[j] });
Array.set( primeArray, j, val );
}where "token.getPrimeClass()" return appropriate Class, i.e. int.class, float.class etc. -
I have too many books and not enough understanding on this subject.
I am trying to fill an object type array with values and am totally confused. In my application, I successfully create a constructor in one file and test the object with some values in another file. I have two objects for employee and would like to place the object values into an object array. There is plenty of information on int[] arrays, but little on object arrays.
After I can do the array fill:
I would like to provide object values with JOptionPane.
Change the print display to show all array elements
But one thing at a time.
I was thinking that objects exist first, then are loaded or filled into an object array. I seem to misunderstand as I am not performing the array fill very well. Following a book example seems to confuse me only more.
Thank you
//emp.java
import java.util.*;
public class Emp {
private int id;
private String name;
private double salary;
public Emp(int ident, String nm, double sal) {
id = ident;
name = nm;
salary = sal;
// method raise salary by 5 percent
double raise() { return salary * 1.05;} // ends raise method
// setters and getters
public String getName() { return(name); }
public double getSalary() { return(salary); }
public int getID() { return(id); }
public void setName(String nm) { name = nm; }
public void setSalary(double sal) { salary = sal; }
public void setID(int ident) { id = ident; }
}The test file
//EmpTest.java
import javax.swing.JOptionPane;
public class EmpTest {
public static void main(String[] args_) {
// Create object based on EmployeeTest2 class
// to add employee data to the array called empArray
Emp emp1 = new Emp(1,"Smith",2000);
Emp emp2 = new Emp(2,"Jones",2500);
//test and confirm the objects emp1 and emp2
int i;
String n;
double s;
double newsal;
// get the salary after the 5 percent raise
i = emp1.getID();
n = emp1.getName();
s = emp1.getSalary();
newsal = emp1.raise();
System.out.println("object Employee 1 ID: " + i + " Name: " + n + " Old Salary: " + s + " New salary: " + newsal);
i = emp2.getID();
n = emp2.getName();
s = emp2.getSalary();
newsal = emp2.raise();
System.out.println("object Employee 2 ID: " + i + " Name: " + n + " Old Salary: " + s + " New salary: " + newsal);
// get the number of employees with JOptionPane
String employeeCountString = JOptionPane.showInputDialog(
"Employee Database " +
"\nEnter the number of employees: ");
// convert into an integer empcount
int employeeCount = Integer.parseInt(employeeCountString);
// initialize the empArray.
Employee2[] empArray = new Employee2[employeeCount];
fill(empArray);
printContents(empArray);
} //end main method
private static void fill(Object[] my_arr) {
int i;
for (i = 0; i < my_arr.length; i = i + 1) {
// get the name from the keyboard
String employeeName = JOptionPane.showInputDialog(
"Enter the employee name: ");
// do something here to set the array element to employeeName
// get the salary
String employeeSalaryString = JOptionPane.showInputDialog(
"Enter the employee monthly salary: ");
//convert into a double
double employeeSalary = Double.parseDouble(employeeSalaryString);
//do something here to set array for salary
my_arr[i] = new Employee2(1,"S1",5); // temporary values here
} //ends for loop
} // ends method
private static void printContents(Object[] the_arr) {
int i;
for (i = 0; i < the_arr.length; i = i + 1) {
System.out.print("Element: " + i);
//System.out.println(" has the value : " + the_arr);
System.out.println(" has the value : " + i);
} //ends for loop
} // ends printContents method
} // ends EmpTest classwhat's the matter ?
Try this :
import javax.swing.JOptionPane;
public class EmpTest {
public static void main(String[] args_) {
// Create object based on EmployeeTest2 class
// to add employee data to the array called empArray
Emp emp1 = new Emp(1, "Smith", 2000);
Emp emp2 = new Emp(2, "Jones", 2500);
// test and confirm the objects emp1 and emp2
int i;
String n;
double s;
double newsal;
// get the salary after the 5 percent raise
i = emp1.getID();
n = emp1.getName();
s = emp1.getSalary();
newsal = emp1.raise();
System.out.println("object Employee 1 ID: " + i + " Name: " + n + " Old Salary: " + s + " New salary: "
+ newsal);
i = emp2.getID();
n = emp2.getName();
s = emp2.getSalary();
newsal = emp2.raise();
System.out.println("object Employee 2 ID: " + i + " Name: " + n + " Old Salary: " + s + " New salary: "
+ newsal);
// get the number of employees with JOptionPane
String employeeCountString = JOptionPane.showInputDialog("Employee Database "
+ "\nEnter the number of employees: ");
// convert into an integer empcount
int employeeCount = Integer.parseInt(employeeCountString);
// initialize the empArray.
Emp[] empArray = new Emp[employeeCount];
fill(empArray);
printContents(empArray);
} // end main method
private static void fill(Object[] my_arr) {
int i;
for (i = 0; i < my_arr.length; i = i + 1) {
// get the name from the keyboard
String employeeName = JOptionPane.showInputDialog("Enter the employee name: ");
// do something here to set the array element to employeeName
// get the salary
String employeeSalaryString = JOptionPane.showInputDialog("Enter the employee monthly salary: ");
// convert into a double
double employeeSalary = Double.parseDouble(employeeSalaryString);
// do something here to set array for salary
my_arr[i] = new Emp(1, employeeName, employeeSalary); // temporary values here
} // ends for loop
} // ends method
private static void printContents(Object[] the_arr) {
int i;
for (i = 0; i < the_arr.length; i++) {
System.out.print("Element # "+i+" Name= "+ ((Emp)the_arr).getName());
System.out.print("Salary # "+i+" Salary = "+ ((Emp)the_arr[i]).getSalary());
} // ends for loop
} // ends printContents method
} // ends EmpTest class -
Converting an array to a list using javascript
There are several methods that return arrays, which we all know express cannot handle. The IDM faq metions you can use a script tag to manipulate array data, but gives no example. I like this method because some methods I encounter preface the object name with the object type, and the data needs to be cleaned before use. I always like little snippits that can be reused, so I'm sharing this one.
Here is how to convert an array to a list, assuming the array is captured in "stupidarray":
<split>
<script>
var myarray = env.get('stupidarray');
// Code to manipulate the array
outputarray = myarray.join(",")
// Other code to manipulate the string before output
// i.e. Stripping out the object type tags!
// outputarray.replace(/User:/g,"");
</script>
<s>,</s>
</split>there is a waveset util class provided for this, please check API
--sFred -
Converting String Array -- String
Hi All,
I am converting String array to string using the following code:
String[] a= ....;
StringBuffer result = new StringBuffer();
if (a.length > 0) {
result.append(a[0]);
for (int i=1; i<a.length; i++) {
result.append(a);
return result.toString();
Is there is any other easy or efficient way to convert rather than the above code ?
Thanks,
J.KathirIt could have been written:
StringBuffer result = new StringBuffer();
for(int i=0; i<a.length; ++ i)
result.append(a);
return result.toString();
Or in 1.5 lingo
StringBuilder result = new StringBuilder(); //slightly less overhead
for(String s : a)
result.append(s);
return result.toString();If you aren't picky about the format of the resulting string,
you could use the java.utilArrays method )]toString(Object[]):
String[] array= {"Hello", "World", "this", "is", "a", "1.5", "method"};
String s = Arrays.toString(array); //[Hello, World, this, is, a, 1.5, method] -
Convert byte array to table of int
[http://www.codeproject.com/KB/database/PassingArraysIntoSPs.aspx?display=Print|http://www.codeproject.com/KB/database/PassingArraysIntoSPs.aspx?display=Print] Hello friends.
I'm pretty new with PL/SQL.
I have code that run well on MSSQL and I want to convert it to PL/SQL with no luck.
The code converts byte array to table of int.
The byte array is actually array of int that was converted to bytes in C# for sending it as parameter.
The TSQL code is:
CREATE FUNCTION dbo.GetTableVarchar(@Data image)
RETURNS @DataTable TABLE (RowID int primary key IDENTITY ,
Value Varchar(8000))
AS
BEGIN
--First Test the data is of type Varchar.
IF(dbo.ValidateExpectedType(103, @Data)<>1) RETURN
--Loop thru the list inserting each
-- item into the variable table.
DECLARE @Ptr int, @Length int,
@VarcharLength smallint, @Value Varchar(8000)
SELECT @Length = DataLength(@Data), @Ptr = 2
WHILE(@Ptr<@Length)
BEGIN
--The first 2 bytes of each item is the length of the
--varchar, a negative number designates a null value.
SET @VarcharLength = SUBSTRING(@Data, @ptr, 2)
SET @Ptr = @Ptr + 2
IF(@VarcharLength<0)
SET @Value = NULL
ELSE
BEGIN
SET @Value = SUBSTRING(@Data, @ptr, @VarcharLength)
SET @Ptr = @Ptr + @VarcharLength
END
INSERT INTO @DataTable (Value) VALUES(@Value)
END
RETURN
END
It's taken from http://www.codeproject.com/KB/database/PassingArraysIntoSPs.aspx?display=Print.
The C# code is:
public byte[] Convert2Bytes(int[] list)
if (list == null || list.Length == 0)
return new byte[0];
byte[] data = new byte[list.Length * 4];
int k = 0;
for (int i = 0; i < list.Length; i++)
byte[] intBytes = BitConverter.GetBytes(list);
for (int j = intBytes.Length - 1; j >= 0; j--)
data[k++] = intBytes[j];
return data;
I tryied to convert the TSQL code to PL/SQL and thats what I've got:
FUNCTION GetTableInt(p_Data blob)
RETURN t_array --t_array is table of int
AS
l_Ptr number;
l_Length number;
l_ID number;
l_data t_array;
BEGIN
l_Length := dbms_lob.getlength(p_Data);
l_Ptr := 1;
WHILE(l_Ptr<=l_Length)
loop
l_ID := to_number( DBMS_LOB.SUBSTR (p_Data, 4, l_ptr));
IF(l_ID<-2147483646)THEN
IF(l_ID=-2147483648)THEN
l_ID := NULL;
ELSE
l_Ptr := l_Ptr + 4;
l_ID := to_number( DBMS_LOB.SUBSTR(p_Data, 4,l_ptr));
END IF;
END IF;
l_data(l_data.count) := l_ID;
l_Ptr := l_Ptr + 4;
END loop;
RETURN l_data;
END GetTableInt;
This isn't work.
This is the error:
Error report:
ORA-06502: PL/SQL: numeric or value error: character to number conversion error
06502. 00000 - "PL/SQL: numeric or value error%s"
I think the problem is in this line:
l_ID := to_number( DBMS_LOB.SUBSTR (p_Data, 4, l_ptr));
but I don't know how to fix that.
Thanks,
MTs.I'd found the solution.
I need to write:
l_ID := utl_raw.cast_to_binary_integer( DBMS_LOB.SUBSTR(p_Data, 4,l_ptr));
instead of:
l_ID := to_number( DBMS_LOB.SUBSTR (p_Data, 4, l_ptr));
The performance isn't good, it's take 2.8 sec to convert 5000 int, but it's works. -
I am reading a signal from a USB-8451. This signal is stored as an array where each element represents a bit in the signal, but is stored in the array as a byte. How do I convert this array into a single Hex number. I attatched what I have so far, there are a few extra things to help me see what ia going on. One code uses Queue and the other uses arrays, let me know if you can help.
Attachments:
845x_EEPROMarrays.vi 27 KB
845x_EEPROM.vi 26 KBmkssnwbrd wrote:
... so we can't introduce any other forms of signals or power into the circuit other than what the circuit already has. Trithfully I don't really know how I2C devices work, but my mentor here says that we can't use an I2C method becuase it will introduce voltage into the circuit and may damage out TCON chip.
That makes absolutely no sense. What do you think is happening when you write the digital lines? You're setting a pin high. That voltage is being generated by the 8451x. I think you're not understanding what your mentor is saying. If it's an I2C device then you should be able to use the I2C function to simply talk to it. You still have not indicated what the device is, so there's little more I can say about that aspect of it.
As far as the conversion is concerned, you basically need loop through your array of "bits", taking 16 at time since you said you have 16-bit values. It's not clear from your code whether your eventual goal is to get a numeric value or a string. This does not appear to be a subVI, so a simply numeric indicator formatted to display in hex format should be quite adequate. The array you are generating is an array of rings, whose datatype is I32, but they will have values of 0 or 1. You can use the example just posted, or you can use the attached variation.
Attachments:
Bits to Hex 2.vi 17 KB -
I am unable to figure out the way in which I can return an object
array from a cpp file to java. Is there any obvious error which you can spot in
my CPP file?
When I try to return a single object in the native function,
it works fine but when I try to extend it and return an array of the object, it
throws an error.
Please find below the details
h1. Java Class
public class Flight {
public String ID;
public class InterfaceClass {
private native Flight[] GetFlights();
public static void main(String[] args)
Flight[] objFlight = new
InterfaceClass().GetFlights();
System.+out+.println(objFlight[0].ID);
static {
System.+loadLibrary+("main");
h1. CPP File
JNIEXPORT jobjectArray JNICALL Java_InterfaceClass_GetFlights(JNIEnv env, jobject obj)
//1. ACCESSING THE FLIGHT CLASS
jclass cls_Flight = env->FindClass("LFlight;");
//2. CONSTRUCTOR FOR FLIGHT CLASS
jmethodID mid_Flight = env->GetMethodID(cls_Flight,"<init>", "()V");
//3. CREATING AN OBJECT OF THE FLIGHT CLASS
jobject objFlight = env->NewObject(cls_Flight, mid_Flight);
//4. ACCESSING THE FLIGHT's "ID" FIELD
jfieldID fid_ID = env->GetFieldID(cls_Flight, "ID","Ljava/lang/String;");
//5. SETTING THE VALUE TO THE FLIGHT's "ID" FIELD
env->SetObjectField(objFlight,fid_ID, env->NewStringUTF("ABC"));
//6. ACCESSING THE FLIGHT ARRAY CLASS
jclass cls_Flight_Array = env->FindClass("[LFlight;");
if(cls_Flight_Array == NULL)
printf("Error-1");
//7. CREATING A NEW FLIGHT ARRAY OF SIZE 1 jobjectArray arrFlightArray = env->NewObjectArray(1,cls_Flight_Array,NULL);
if(arrFlightArray == NULL)
printf("Error-2");
//8. INSERTING A FLIGHT BJECT TO THE ARRAY
env->SetObjectArrayElement(arrFlightArray,0,objFlight);
return arrFlightArray;
h1. Error
# A fatal error has been detected by the Java Runtime Environment:
# EXCEPTION_ACCESS_VIOLATION
(0xc0000005) at pc=0x6d9068d8, pid=1804, tid=3836
# JRE version: 6.0_18-b07
# Java VM: Java HotSpot(TM) Client VM (16.0-b13 mixed mode, sharing
windows-x86
# Problematic frame:
# V [jvm.dll+0x1068d8]
# An error report file with more information is saved as:
# C:\Users\Amrish\Workspace\JNI Test\bin\hs_err_pid1804.log
# If you would like to submit a bug report, please visit:
http://java.sun.com/webapps/bugreport/crash.jsp
C:\Users\Amrish\Workspace\JNI Test\bin>java -Djava.library.path=.
InterfaceClass
Exception in thread "main" java.lang.ArrayStoreException
at
InterfaceClass.GetFlights(Native Method)
at
InterfaceClass.main(InterfaceClass.java:6)
C:\Users\Amrish\Workspace\JNI Test\bin>java -Djava.library.path=.
InterfaceClass
Exception in thread "main" java.lang.ArrayStoreException
at
InterfaceClass.GetFlights(Native Method)
at
InterfaceClass.main(InterfaceClass.java:6)
Edited by: amrish_deep on Mar 18, 2010 7:40 PM
Edited by: amrish_deep on Mar 18, 2010 7:40 PM//6. ACCESSING THE FLIGHT ARRAY CLASS
jclass cls_Flight_Array = env->FindClass("[LFlight;");The argument to NewObjectArray is the +element+ class of the array you're about to create, not the +array+ class itself. -
How can I convert an array to image(8bit)
I can convert an array(acquire from usb camera)to a picture,but not images(8 bit grayscale),how can I do it.many thanks!
Attachments:
array to image.vi 249 KBSorry, this is the kind of thing that happens when you have been out for too long.
Message Edité par chilly charly le 10-22-2006 11:09 AM
Chilly Charly (aka CC)
E-List Master - Kudos glutton - Press the yellow button on the left...
Attachments:
array%20to%20image[1].png 3 KB -
How can I convert an array with varying length into a cluster
Hi,
I need to convert an array of n elements into a cluster. Usually, it only involves the "Array to Cluster" function. But since the array length is not constant and the number of elements in the function is constant and can not be changed programaticaly, I need to find another way to do that.
Any ideas?
Thanks.Hi,
I also tried to do this but without success. I think that's not possible.
For me it's a general problem using labview. I often wanted to generate standard controls dynamically which is not possible (or I haven't found the solution yet). So I think that's the reason why you can't create a cluster during runtime (the program would have to add controls dynamically to the cluster).
Do you have an upper limit for your array-size? Although it needs a lot more memory, it would be a possibility to create the cluster with the maximum number of elements.
If you don't have a maximum, you will have to look for another way, I'm afraid.
Thomas
Using LV8.0
Don't be afraid to rate a good answer... -
Java Null Pointer Exception when assigning a value to an Object Array
I am working on a webservice where the request can contain a dynamic array of SingleOwnerRequestNodeDetail objects. I need to read these objects in and sort them according to an orderNbr that is contained in the object.
I am attempting to read these object into a Comparable class and sort them. I am having problems when I try to insert the objects into my object array ComparableBO[]. I get the following error: Exception during processing: java.lang.NullPointerException
Any assistance would be greatly appreciated.
Here's my class:
public class ComparatorBO implements Comparable {
private SingleOwnerRequestNodeDetail nodeDetailInfo;
private int orderNbr;
public SingleOwnerRequestNodeDetail getNodeDetailInfo() {
return nodeDetailInfo;
public void setNodeDetailInfo(SingleOwnerRequestNodeDetail nodeDetailInfo) {
this.nodeDetailInfo = nodeDetailInfo;
public int getOrderNbr() {
return Integer.parseInt(nodeDetailInfo.getSingleOwnerRequestOrderNbr());
public void setOrderNbr (int orderNbr) {
this.orderNbr = orderNbr;
public int compareTo(Object anotherNodeDetailInfo)throws ClassCastException {
if (!(anotherNodeDetailInfo instanceof ComparatorBO))
throw new ClassCastException ("An single owner request node detail object is expected");
int anotherNodeDetailOrderNbr = ((ComparatorBO)anotherNodeDetailInfo).getOrderNbr();
return this.orderNbr - anotherNodeDetailOrderNbr;
}Here's the code where I read in the objects and attempt to place them in the comparableBO[]
ComparatorBO[] comparatorBOArray = null;
comparatorBOArray = new ComparatorBO[requestInfo.length];
for (int i=0; i < requestInfo.length; i++)
SingleOwnerRequestNodeDetail nodes = new SingleOwnerRequestNodeDetail();
ComparatorBO comparatorBO = new ComparatorBO();
nodes.setSingleOwnerRequestNodeID(requestInfo.getSingleOwnerRequestNodeID());
nodes.setSingleOwnerRequestNodeType(requestInfo[i].getSingleOwnerRequestNodeType());
nodes.setSingleOwnerRequestOpCode(requestInfo[i].getSingleOwnerRequestOpCode());
nodes.setSingleOwnerRequestOrderNbr(requestInfo[i].getSingleOwnerRequestOrderNbr());
comparatorBO.setNodeDetailInfo(nodes);
*comparatorBOArray[i].setNodeDetailInfo(comparatorBO.getNodeDetailInfo());*
comparatorBOArray[i].setOrderNbr(Integer.parseInt(nodes.getSingleOwnerRequestOrderNbr()));imadeveloper wrote:
I am working on a webservice where the request can contain a dynamic array of SingleOwnerRequestNodeDetail objects. I need to read these objects in and sort them according to an orderNbr that is contained in the object.
I am attempting to read these object into a Comparable class and sort them. I am having problems when I try to insert the objects into my object array ComparableBO[]. I get the following error: Exception during processing: java.lang.NullPointerException
Any assistance would be greatly appreciated.
Here's my class:
public class ComparatorBO implements Comparable {
private SingleOwnerRequestNodeDetail nodeDetailInfo;
private int orderNbr;
public SingleOwnerRequestNodeDetail getNodeDetailInfo() {
return nodeDetailInfo;
public void setNodeDetailInfo(SingleOwnerRequestNodeDetail nodeDetailInfo) {
this.nodeDetailInfo = nodeDetailInfo;
public int getOrderNbr() {
return Integer.parseInt(nodeDetailInfo.getSingleOwnerRequestOrderNbr());
public void setOrderNbr (int orderNbr) {
this.orderNbr = orderNbr;
public int compareTo(Object anotherNodeDetailInfo)throws ClassCastException {
if (!(anotherNodeDetailInfo instanceof ComparatorBO))
throw new ClassCastException ("An single owner request node detail object is expected");
int anotherNodeDetailOrderNbr = ((ComparatorBO)anotherNodeDetailInfo).getOrderNbr();
return this.orderNbr - anotherNodeDetailOrderNbr;
}Here's the code where I read in the objects and attempt to place them in the comparableBO[]
ComparatorBO[] comparatorBOArray = null;
comparatorBOArray = new ComparatorBO[requestInfo.length];
for (int i=0; i < requestInfo.length; i++)
SingleOwnerRequestNodeDetail nodes = new SingleOwnerRequestNodeDetail();
ComparatorBO comparatorBO = new ComparatorBO();
nodes.setSingleOwnerRequestNodeID(requestInfo.getSingleOwnerRequestNodeID());
nodes.setSingleOwnerRequestNodeType(requestInfo[i].getSingleOwnerRequestNodeType());
nodes.setSingleOwnerRequestOpCode(requestInfo[i].getSingleOwnerRequestOpCode());
nodes.setSingleOwnerRequestOrderNbr(requestInfo[i].getSingleOwnerRequestOrderNbr());
comparatorBO.setNodeDetailInfo(nodes);
*comparatorBOArray[i].setNodeDetailInfo(comparatorBO.getNodeDetailInfo());*
comparatorBOArray[i].setOrderNbr(Integer.parseInt(nodes.getSingleOwnerRequestOrderNbr()));
Well normally when someone wont tell me what line the error occured in I copy paste their code into my compiler and find out. But you have other classes which you have not shown us so I cannot help you.
Incase you missed my point, please tell us where the error occured!
Maybe you are looking for
-
My iphone 4s was stolen i have locked and set it up to erase content when the iphone is turned on, it has 'find my iphone' on it will i still be able to track it if it turns on? PLEASE HELP really want to find it
-
Mail Adapter: How to send data as a simple text file attachment?
Hi All I have a proxy to file scenario, where i write data to a text file. Now, i need to have a second receiver. I have to send an email, with the above file as an attachment, to this receiver. How can i do this? How can i send the data as a text fi
-
When I click on a site to log in the page gets reloaded instead
It doesn't have to be secure page, just something where you have to enter a username and password, then click on something like "Log In". When I click on it the page reloads instead. It happens only once, the second time I get logged on as you would
-
Hi all, Okay let me run down the steps I've done so far and what I've learned. Apparently the newest version of cups does not work with Canon printers it seems, because of an issue with usblp. First I got a version of Cups from the AUR with usblp ena
-
Playlist of podcasts stopping after each podcast
I manage which podcasts, and the order, I want to listen to using a playlist and until recently this worked as I wanted, i.e. when one podcast had finished playing my iPod started playing the next podcast in the playlist. Now it seems to be stopping