Replace 1D array string in 2D array string unknowning index
I have 3 contols (Case A, Case B and Case C) and one array that shows only one time the status of the controls (TRUE or FALSE) and the message ([F?][0?.01][hh:mm:ss][nº message]). The example works if switch on one control and switch off the same control the next time. But if swicth on the control again, appears 2 status in the array: that last and the status when I switch off.
The objective is show only 3 rows, everu row for one different control.
Can you help me, please?
Thank you.
Win XP / LV 7.1
Attachments:
monitoring.vi 111 KB
Hello Vicens,
I think that what you want it's simple. But I've a problem. My current version o labview (8.2) doesn't allow me to save into your version. So I can't send you the changed .vi. But in attach i'm sending pictures of it. I hope it could help you.
Changed:
- Replace the insert array vi to replace vi (case true). In case A connect a constant row 0, Case B constant 1, case C constante 2
- Don´t change the array value in case false
- initialize the array 3 by 4 with a space
Best regards
Software developer
www.mcm-electronics.com
PS: Don't forget to rate a good anwser ; )
Currently using Labview 2011
PORTUGAL
Attachments:
control panel.zip 280 KB
Similar Messages
-
I have a string array with elements as follows:
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 5E 00 00 00
00 00 50 00 30 00 33 00
34 00 39 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
The array I want to use to replace values with is:
43 4E 31 30 30 33 30 30 31 41
Where 43 goes in the 3rd row fifth position
Where 4E goes in the 3rd row seventh position
Where 31 goes in the 4th row first position
Where 30 goes in the 4th row third position
Where 30 goes in the 4th row fifth position
Where 33 goes in the 4th row seventh position
Where 30 goes in the 5th row first position
Where 30 goes in the 5th row third position
Where 31 goes in the 5th row fifth position
Where 41 goes in the 5th row seventh position
So the final array looks as follows:
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 43 00 4E 00
31 00 30 00 30 00 33 00
30 00 30 00 31 00 41 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
Is there an easy way to replace an element of a string within an array with another element of a string within a different array?
Thank you.
Solved!
Go to Solution.
Attachments:
CMM_Add_SCAN_SN_2_PAT_DATA (temp).vi 13 KBTry this
Omar
Message Edited by Omar II on 03-24-2010 03:25 PM
Omar
Attachments:
CMM_Add_SCAN_SN_2_PAT_DATA%20(temp)[1].vi 17 KB -
Split string into an array (Skip first character)
I have a string like:
,open,close,open
I want to parse the data into an array (without the first ','). I found and tweaked the following code, but the result was:
+<blank line> (think this is coming from the first ',')+
off
on
off
FUNCTION SPLIT (p_in_string VARCHAR2, p_delim VARCHAR2) RETURN t_array
IS
i number :=0;
pos number :=0;
lv_str varchar2(50) := p_in_string;
strings t_array;
BEGIN
-- determine first chuck of string
pos := instr(lv_str,p_delim,1,1);
-- while there are chunks left, loop
WHILE ( pos != 0) LOOP
-- increment counter
i := i + 1;
-- create array element for chuck of string
strings(i) := substr(lv_str,1,pos-1);
-- remove chunk from string
lv_str := substr(lv_str,pos+1,length(lv_str));
-- determine next chunk
pos := instr(lv_str,p_delim,1,1);
-- no last chunk, add to array
IF pos = 0 THEN
strings(i+1) := lv_str;
END IF;
END LOOP;
-- return array
RETURN strings;
END SPLIT;
I am working on a 9i database.How is your collection defined? Assuming you are doing something like
SQL> create type t_array as table of varchar2(100);
2 /
Type created.then you would just need to add an LTRIM to the code that initializes LV_STR and add appropriate EXTEND calls when you want to extend the nested table
SQL> ed
Wrote file afiedt.buf
1 create or replace FUNCTION SPLIT (p_in_string VARCHAR2, p_delim VARCHAR2)
2 RETURN t_array
3 IS
4 i number :=0;
5 pos number :=0;
6 lv_str varchar2(50) := ltrim(p_in_string,p_delim);
7 strings t_array := t_array();
8 BEGIN
9 -- determine first chuck of string
10 pos := instr(lv_str,p_delim,1,1);
11 -- while there are chunks left, loop
12 WHILE ( pos != 0)
13 LOOP
14 -- increment counter
15 i := i + 1;
16 -- create array element for chuck of string
17 strings.extend;
18 strings(i) := substr(lv_str,1,pos-1);
19 -- remove chunk from string
20 lv_str := substr(lv_str,pos+1,length(lv_str));
21 -- determine next chunk
22 pos := instr(lv_str,p_delim,1,1);
23 -- no last chunk, add to array
24 IF pos = 0
25 THEN
26 strings.extend;
27 strings(i+1) := lv_str;
28 END IF;
29 END LOOP;
30 -- return array
31 RETURN strings;
32* END SPLIT;
SQL> /
Function created.
SQL> select split( ',a,b,c', ',' ) from dual;
SPLIT(',A,B,C',',')
T_ARRAY('a', 'b', 'c')If T_ARRAY is defined as an associative array, you wouldn't need to have the EXTEND calls but then you couldn't call the function from SQL.
Justin -
How to get a string or byte array representation of an Image/BufferedImage?
I have a java.awt.Image object that I want to transfer to a server application (.NET) through a http post request.
To do that I would like to encode the Image to jpeg format and convert it to a string or byte array to be able to send it in a way that the receiver application (.NET) could handle. So, I've tried to do like this.
private void send(Image image) {
int width = image.getWidth(null);
int height = image.getHeight(null);
try {
BufferedImage buffImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
ImageIcon imageIcon = new ImageIcon(image);
ImageObserver observer = imageIcon.getImageObserver();
buffImage.getGraphics().setColor(new Color(255, 255, 255));
buffImage.getGraphics().fillRect(0, 0, width, height);
buffImage.getGraphics().drawImage(imageIcon.getImage(), 0, 0, observer);
ByteArrayOutputStream stream = new ByteArrayOutputStream();
JPEGImageEncoder jpeg = JPEGCodec.createJPEGEncoder(stream);
jpeg.encode(buffImage);
URL url = new URL(/* my url... */);
URLConnection connection = url.openConnection();
String boundary = "--------" + Long.toHexString(System.currentTimeMillis());
connection.setRequestProperty("method", "POST");
connection.setRequestProperty("Content-Type", "multipart/form-data; boundary=" + boundary);
String output = "--" + boundary + "\r\n"
+ "Content-Disposition: form-data; name=\"myImage\"; filename=\"myFilename.jpg\"\r\n"
+ "Content-Type: image/jpeg\r\n"
+ "Content-Transfer-Encoding: base64\r\n\r\n"
+ new String(stream.toByteArray())
+ "\r\n--" + boundary + "--\r\n";
connection.setDoOutput(true);
connection.getOutputStream().write(output.getBytes());
connection.connect();
} catch {
}This code works, but the image I get when I save it from the receiver application is distorted. The width and height is correct, but the content and colors are really weird. I tried to set different image types (first line inside the try-block), and this gave me different distorsions, but no image type gave me the correct image.
Maybe I should say that I can display the original Image object on screen correctly.
I also realized that the Image object is an instance of BufferedImage, so I thought I could skip the first six lines inside the try-block, but that doesn't help. This way I don't have to set the image type in the constructor, but the result still is color distorted.
Any ideas on how to get from an Image/BufferedImage to a string or byte array representation of the image in jpeg format?Here you go:
private static void send(BufferedImage image) throws Exception
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
ImageIO.write(image, "jpeg", byteArrayOutputStream);
byte[] imageByteArray = byteArrayOutputStream.toByteArray();
URL url = new URL("http://<host>:<port>");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setDoOutput(true);
connection.setRequestMethod("POST");
OutputStream outputStream = connection.getOutputStream();
outputStream.write(imageByteArray, 0, imageByteArray.length);
outputStream.close();
connection.connect();
// alternative to connect is to get & close the input stream
// connection.getInputStream().close();
} -
Data type of preprend array size in Flatten To String block
Hi
The data type of the preprend array size in Flatten To String block is given as I32. Is it somehow possible to reduce the data type to I8, since the width and height of my array won't exceed 255 ?. I also need to do the same in Unflatten To String as well.
Best regards
OesenOesen wrote:
Hi
The data type of the preprend array size in Flatten To String block is given as I32. Is it somehow possible to reduce the data type to I8, since the width and height of my array won't exceed 255 ?. I also need to do the same in Unflatten To String as well.
The short answer is no. This is because the index is an I32. NI likes to keep integers as an I32 whenever possible for reasons like this.
Since you are dealing with a 2D array (width and height), it will actually use 2 I32s before the actual data.
As Ravens stated, you could put in your own array sizes before the array in the string. But it is worth saving 6 bytes? Not likely.
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines -
Converting XML String to MessageElement array
Hi,
I am trying to call a .NET web service from my Java client. I used WSDL2Java to generate the java classes for calling the .NET web service. The generated classes to call the service expects an array of org.apache.axis.message.MessageElement objects. I have a string representing an XML document which looks like this:
String xmlString = "<Results><Adjustments><Adjustment><RebuildAdjustmentID>16</RebuildAdjustmentID><IsBasicAdjustment>true</IsBasicAdjustment><AdjustmentType>stone/AdjustmentType><Title>External walls</Title></Adjustment></Adjustments></Results>"
I have tried converting the string into an array of MessageElement objects by the following way:
MessageElement[] m = new MessageElement[1];
Document XMLDoc = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(new InputSource(new StringReader(result2.toString())));
m[0] = XMLDoc.getDocumentElement();
However I keep getting the following message returned from the service:
"Object reference not set to an instance of an object"
I have tried a handful of ways but keep getting this same error. I have searched the web for hours looking for a solution to this problem without success so any help/ideas much appreciated,
Thanks.
PaulAny updates on this?
I am facing a similar problem. -
Compare two strings in an array
Hello!
Please feel free to give me hints, but do not give me any code.
Ok, here is what I am trying to do, I whant to compare my input string whith strings allready stored in the array. If my input string equals any of the allready excisting strings, a error wil show upp, otherwise store the new string in next avalibal position. I do not seem to get the method right for comparing the strings. here is the method I have written so far, please take a look and give me a hint, but no code. :)
//Check if a user already excists
public void compareNames (People in_array [], String in_name) {
for (int i=0; i<value.peopleCount; i++) {
if (in_name.equals(in_array.getPeople())) {
System.out.print("The user already excist, please chose another name");
}value.peopleCount is an global count value for people arays.
getPeople get the name from the people class.
MartinA couple notes here.
The name compareNames() is misleading if it is going to do what you described. A comparison will generally not have side-effects like outputting error messages to the console or adding new items to an array. It would be better if you called the method addIfNew(), and returned a boolean indicating whether the name was new or not. The caller would then be responsible for displaying an error message if the method returned false.
I also suggest you use a List such as ArrayList instead of an array, otherwise you will have to resize and copy your array every time you add something to it that exceeds the array size, and will allow you to do away with the global peopleCount. -
How to pass dynamically generated string value as array name in TestStand?
Hi All,
I have a string variable which holds an array name as its value. The string value is a dynamically generated one. Now my problem is how to retrieve the values within the array where as the array name is stored in a string variable.
for eg:
fileglobals.InfoName = "Array_Name" --> fileglobals.InfoName is a string variable, Array_Name is the array name generated dynamically and it is known only at run-time.
Array_Name[0] = "a";
Array_Name[1] = "b";
Array_Name[2] = "c";
In the above case, I have to retrieve the values of a, b and c
Any help is greatly appreciated
Thanks
Arun Prasath E GHi,
Looking at your sequencefile.
You seem to be trying to save into FlieGlobals.InfoName a string with the values of "FileGlobals.Info_0".."FileGlobals.Info_n" where n is the value of Parameter.TestSocket.Index.
Then you are setting the value into FileGlobals.TempName from "StationGlobals.FileGlobals.Info_0" assuming Parameter.TestSocket.Index is 0.
Is this correct?
I realise this is a cutdown sequence file but you must make sure These variable actually exist in either FileGlobals or StationGlobals. Also with FileGlobals each SequenceFile has its own FileGlobals unless you have set the properties of the SequencFile to use a common FileGlobals.
What was the precise error you was seeing as it will properly telling you what variable of property it can't find.
Regards
Ray Farmer
Regards
Ray Farmer -
Creating a String from an array of characters.
Hi,
i'm trying to make a string from an array of characters, this i've managed:
char data[] = new char[x];
String str = new String(data);My problem is this: Let's say the array of characters has space for 10 chars, but i only input 5, when i convert it to a string, the 5 characters show up fine, but the last remaining characters show up as little boxes ( [] [] [] [] [] ) .
It there a way to remove these?
Thanks in advance
Mikejverd wrote:
georgemc wrote:
String str = new String(data).trim();
Does the null character count as whitespace?Seems to. Actually, I'm getting different results depending on the compiler used.
public static void main(String[] args) {
char[] c = new char[10];
for(int i = 0; i < 5; i++) {
c[i] = (char) ('a' + i);
String first = new String(c);
System.err.println("[" + first + "]");
System.err.println(first.length());
String second = new String(c).trim();
System.err.println("[" + second + "]");
System.err.println(second.length());
}ECJ-compiled output:
>
[abcde
10
[abcde]
5
>
javac-compiled output:
>
[abcde]
10
[abcde]
5
>
Odd -
I want to convert a String into an array of bytes
I am working with telnet programming with java, where I want to convert login name and password of an online user in 'String' format to 'Bytes', plz help me. Which Input or Output Stream I can use
Assuming you've got the username / password into a String object, you can convert it to a byte[] array using this method.
String.getBytes();
Look at the String API
http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html
Hope that helps. -
Convert an array of strings into a single string
Hi
I am having trouble trying to figure out how to convert an array of strings into a single string.
I am taking serial data via serial read in a loop to improve data transfer. This means I am taking the data in chunks and these chunks are being dumped into an array. However I want to combine all elements in the array into a single string (should be easy but I can't seem to make it work).
In addition to this I would also like to then split the string by the comma separator so if any advice could be given on this it would be much appreciated.
Many Thanks
Ashley.Well, you don't even need to create the intermediary string array, right? This does exactly the same as CCs attachment:
Back to your serial code:
Why don't you built the array at the loop boundary? Same result.
You could even built the string directly as shown here.
Message Edited by altenbach on 12-20-2005 09:39 AM
LabVIEW Champion . Do more with less code and in less time .
Attachments:
autoindexing.png 5 KB
concatenate.png 5 KB
StringToU32Array.png 3 KB -
Converting Array of string to an array of integers
I have a problem converting a array of string to array of int's
This is my code...
String[] forminfo = request.getParameterValues("forsendur");
int[] forminfoInt = Integer.parseInt(forminfo); This is the error message:
Incompatible type for method. Can't convert java.lang.String[] to java.lang.String.
int[] forminfoInt = Integer.parseInt(forminfo);
^can anyone help me with this?ParesIn methos returns a int buto not a int[]. You must iterate along the String array and perform the methos for each element setting the return value into the element of the int array
Ej:
int[] intArray = new int[stringArray.length]
for(int i = 0; i < stringArray.length; i++)
intArray[i] = Integer.parseInt(stringArray); -
Converting a String to an array list
Anyone know how i turn a string into an array list of characters?
check out the java.lang.String API for the method toCharArray() for your answer.
-
Hi..
Need some help on how to go about converting a given string into an array. I belive there is a way in java to chop the string into chars and then feed the chars into an array. Anyone that can help me out on what methods to look for?Hi ,
Did you get answer of your query If yes then pls send
me the code at my e-mail id
[email protected]
I will be thankful to you
Regds,
SureshSomeone else who likes to get info on breast implants and penis extensions in their email account. -
How do I split a comma delimited string into an array.
I have a string that I am passing into a function that is Comma delimited. I want to split the string into an array. Is there a way to do this.
Thanks in advance.trouble confirmed on 10gR1 and 10gR2
works with 'a,b,c' and also with ' "1" , "2" , "3" '
does not work with '1,2,3'
throwing ORA-6512 -
Convert binary string into binary array
Dear I am looking for a way to convert my ten bit string array into 10 bit array.
Any idea?Yes, but you need to tell us in more details what you have and what you want.
There is no "10bit string", they come in integer multiples of 8 bits. Some possible interpretations:
Maybe you have a 2 character string (16bits). Do you want the 10 low order bits?
Maybe you have a 10 character formatted string of zeroes and ones, one character for each bit.
Do you have a long string and every 10 consecutive bits are one 10bit number that you want as integer?
Please clarify!
There is no "10bit array". Do you want:
a boolean array with 10 elements, one element per bit?
An integer array if ones and zeroes?
An array of U16, each element corresponding to 10bits of the original string?
something else?
It might help if you could attach a small example containing typical data. (make current values default before saving and attaching here).
LabVIEW Champion . Do more with less code and in less time .
Maybe you are looking for
-
I recently bought a new MacBook Pro, and wanted to transfer all the data from my old MacBook Pro, but I get the message saying I need to update time machine on my old one in order to use time machine. However, my old one is too old to update. So I de
-
Update from 10.4.11 to 10.6.2
Need help, I have IMac G5 2.1 GHz, 17" no Intel software on it, can I update from OX 10.4.11 to 10.6.2 ?? I did read somewhere that 10.4.11 updates are no longer available, what could or should be done ??? D.R.
-
My MacBook Pro late 2011 has recently slowed to snails pace after successfully running Yosemite from a clean install for many months. I always have Activity monitor running to keep an eye on memory and CPU. When the issue started, I noticed Kernel_t
-
Rental movie with no image.
I just rented "Baby Mama" and when trying to view it, all I get is a blank white screen - no image, no sound. The menus, and sound works just fine to select options, movies, etc. Just when I click to "Play" I get the blank screen. When I click the ">
-
Eligibility for auto title after charge off
Looking for some info on this here prior to moving forward with any next steps I take. Not looking for any illegal or loophole way to screw my previous financing obligation, just honest info. Back in 2001 I purchased a vehicle under Cap One Auto. Aft