Searching for Staic VI References

I recently found out about a neat way to open vi references in labview by using the static vi reference.  Today I tried to open an app in 8.5 and couldn't because of a whole bunch of bugs and problems with labview 8.5.  Then when I looked at the 8.5 known issues page I saw:
4CKERKC3
Building an application that contains a VI that has a static VI reference to itself throws Error 7
Building an application that contains a VI that has a static VI reference to itself fails throwing the following errors: "LabVIEW cannot find a file that is a dependency of a Startup, Exported, or Always Included VI. File Not Found: The missing file might be referenced by one of the libraries included in the build or by the file - test.vi." or "Error 7 LabVIEW: File not found. The file might have been moved or deleted, or the file path might be incorrectly formatted for the operating system. For example, use \ as path separators on Windows, : on Mac OS, and / on Linux. Verify that the path is correct using the command prompt or file explorer."
Workaround—Don't use static VI referece, instead use the Open VI ref prim, passing it the the Current VI path constant.
Date Added—09/27/2007
Return to top
Now I am very worried.  If this didn't work right in labview 8.5, does it work right in labview 8.2?  Is there a way to search for static references in a project?  I realize now that it is a new feature and I should have never used it.  But now I can't rememeber all teh places I used it.  Any suggestions?
-Devin
I got 99 problems but 8.6 ain't one.

That sounds like one of my bugs and I probably found it in LV 8.2.
If you open all of the top level VI's, then serach all of the VI's in memory, it should show up.
Ben
Message Edited by Ben on 10-18-2007 12:00 PM
Ben Rayner
I am currently active on.. MainStream Preppers
Rayner's Ridge is under construction
Attachments:
Static_ref.PNG ‏48 KB

Similar Messages

  • Spotlight Search for Reminders: Only references subject line, not Reminder Notes

    Just shipped 20 large boxes from west cost to east coast, they're going to be sitting in the garage of where I'm staying for a month.  Using the Reminders app, I created Reminder for each box, in the subject line the box number and tracking number.  In the Notes field for each Reminder I entered the details of the box contents, thinking that I could later search for a particular item, find the Reminder for it and know what box it's in.
    Wish I'd tested my theory as I've now discovered that while Reminders are searchable with Spotlight on my iOS devices, it only references the subject line -- Spotlight ignores Reminder comments.  Bummer :-(

    Hi benjitek,
    Welcome to the Support Communities!
    The article below may be able to help you with this issue.
    Click on the link to see more details and screenshots. 
    iOS: Understanding Spotlight Search
    http://support.apple.com/kb/ht3636
    Cheers,
    Judy

  • How to search for a certain cross reference using its name in FM 11?

    How to search for a certain cross reference using its name in FM 11?

    Well, thank you. I am only using Find dialog box. By "name", I'd like to give an example. The background is FM 11 structured. I have an element "xref" which is used to make cross reference. Now In Chapter 1, there is a sentence like "This is an ODU for ...". I made a cross ref of the word "ODU" to its full name "outdoor unit" in Chapter 2 (in the same book). After this, the word "ODU" in the sentence in Chapter 1 will no longer be a plain text. So I no longer can use the find dialog box to search for "ODU" because it is already an xref rather than text. I am not if it's clear.

  • No Boolean searches for Endnote references in Pages?

    Dear All,
    I use Endnote heavily in technical papers and grants and have tried the new Pages 09 with Endnote X2. I really like Pages since it handles integrated text and graphics so well whereas Word really does not do that well. However,the Endnote search function in Pages appears to be quite limited, as far as i can tell, to a single word or phrase. It does not appear possible to search, for instance, for an author and a word in the title to narrow the search results. So if I want to search my Endnote database of references for all papers with "Smith" as author and that also contain "cholesterol" in the title I can't do it. Am I correct in assuming that this can't be done with the Pages search engine? Also, there does not appear to be a way to insert references from Endnote directly, so I can't do the search in Endnote and insert the reference into Pages. I would love to be wrong. Thanks in advance for any help!

    You are correct that there doesn't seem to be a Boolean search function from within Pages.
    In Endnote X2 itself, if you use the quick search function you can search author & title or author & title & keyword etcetera. For example, I put in Shakespeare as author and Hamlet as title and came up with two references in my library. I then generated a subject bibliography and inserted that into the Pages document. It is also possible to save references into Groups. There is quite a lot on managing Groups and sub-groups in the Endnote help menu.
    Hope that helps.

  • In Pages document, how do I search for word and view its frequency and page numbers in a sidebar?

    I have a long document and I want to be able to search for certain key words and phrases, and then see how many times they appear in the document and exactly where.  How do I conduct this sort of search and viewing?  In the past, in Pages and Word, I've been able to view my "finds" in a sidebar but I can't figure out how to activate that service anymore.
    Thanks!

    Here is a word frequency concordance Automator Service that works in both versions of Pages. It does not present a page number reference. It is by descending count, and alphabetically, within the repetitive counts as shown in the image here. In any document, you select the text to process, then Menu > Application Name > Services > Frequency. The Service will open TextEdit with the n-pages of scrollable results. It is 16 pt Helvetica Neue for legibility.
    Here is the code:
    on run {input, parameters}
         try
              set mySelection to input as text
              set formatted_result to concordance(mySelection)
              if formatted_result is not null then
                   set textHeading to "Word Frequency List"
                   tell application "TextEdit"
                   activate
                         set NewDoc to make new document with properties {name:"Concordance"}
                         make new paragraph at beginning of text of NewDoc with data textHeading & return
                         make new paragraph at end of text of NewDoc with data formatted_result
                         tell text of NewDoc
                               set font to "Helvetica Neue"
                               set size to 16
                               set color of paragraph 1 to {0, 0, 65535}
                         end tell
                        end tell
              else
                        display dialog with title ¬
                         "No input selected" with icon stop ¬
                          giving up after 15
              end if
         on error errmsg number errnum
                    display alert ¬
                               "AppleScript Error" message errmsg & "[" & errnum & "]" as critical ¬
                                  giving up after 30
         end try
         return input
    end run
    on concordance(mySelection)
    -- Use Ruby to count word frequency and alphabetically sort words
        set rb to ¬
        "selected = String.new\nfreqs = Hash.new(0)\nselected = ARGV.join('  ').gsub(/[,.]/, \"\")\n
         words = selected.split(/[^\\w-]+/)\nwords.each { |word| freqs[word] += 1 }\n
         freqs_sorted = freqs.sort do |a,b|\n\t
         a.last == b.last ? a.first <=> b.first : b.last <=> a.last\nend\n
         freqs_sorted.each { |k,v| printf \"[ %8s ]          %s\", v, k }"
        do shell script "/usr/bin/ruby -e " & rb's quoted form & space & mySelection's quoted form
    end concordance
    Launch /Applications/Automator and choose New Document, then click the Service icon, and then select the Choose button.
    On the left, you will have a list of Libraries from which to choose workflow items. Find Library > Utilities. In the adjacent column, locate the Run Applescript workflow. Click on it, then drag and drop it in the large workflow window to your right.
    At the top, you can select Service receives text in any application. Leave Output replaces selected text unchecked.
    In your Run AppleScript workflow window, you will see AppleScript boilerplate. Click on it and press command+A, then backspace to delete this content. Copy and paste the above code into this Run AppleScript workflow window. Press the Run button in Automator's upper right corner. If (and it should) a TextEdit window pops up, you are good, and you want to press File > Save. A dialog box will pop-up where you can name your Service. I called my Frequency, you may wish to call it something else. Once you have save it, you can exit Automator. Services are deposited in yourlogin directory/Library/Services.
    If you have a Pages document open with text, either select it, or command+a to select the entire document. Now, you select your Service via Pages > Services > Frequency. This will now pop-up a new TextEdit document with the results. If you want to save this new document, you must use option+File to Save as...

  • How do I use domain guessing for single word but search for multiple?

    I would like to configure the search bar to make smart decisions about weather it should fill in an address or search for results. At the very least I would like it to be able to search when multiple words are entered but fill in the address when it's only one word (eg: typing "zelda" would take me to www.zelda.com but "the legend of zelda" would use search)

    The answer that you are probably looking for is what Google calls the '''I'm Feeling Lucky''' Search. Not quite what you describe but if there is one result that stands out as the most common result, you will get taken directly to the page. (Wouldn't work for me, I seldom find what I looking for in the first five hits.)
    This will involve a change to your '''about:config''' configuration variables.
    '''keyword.URL ''' default string
    http://www.google.com/search?ie=UTF-8&oe=UTF-8&sourceid=navclient&gfns=1&q=
    The '''&gfns=1''' is what gets you the I'm Feeling lucky search.
    References:
    * http://dmcritchie.mvps.org/firefox/search.htm
    * [http://kb.mozillazine.org/About:config About:config - MozillaZine Knowledge Base]
    * [http://kb.mozillazine.org/About:config_entries About:config entries - MozillaZine Knowledge Base]
    <hr>Personally I prevent all (external) searching from the location bar to prevent errors from being redirected to a substitute page (along with additional filtering via the '''Adblock Plus''' extension).
    For '''zelda''', I would type in the word and then use '''Ctrl+Enter''' so that it becomes www.zelda.com (with "Ctrl+Shift+Enter" gets .org, and with "Shift+Enter" gets .net).
    For more information on '''keyboard shortcuts''' and the fact that those two shortcuts above can be [http://www.mvps.org/dmcritchie/firefox/keyboard.htm#newtab switched] see
    * Firefox and other Browser Keyboard Shortcuts (Comparison Table)<br>http://www.mvps.org/dmcritchie/firefox/keyboard.htm
    The '''AwesomeBar''' search is what you get in the location bar drop-down when you enter strings of characters that exist in the Title and/or url address of a previously visited site or one that you have in your bookmarks. You see those choices '''before''' you press "Enter".
    Once you press "Enter" by default you would do a search with your currently selected (default) search engine, as if you had entered the search into the search bar.
    I don't like the last method and would use a ''keyword shortcut'' to use a customized search or to go directly to a web page. But without knowledge of what is available using the Location bar to run an external search works okay for most people.
    <hr>
    The "weather" threw me because for weather you really do want a keyword shortcut, the word you meant was whether.
    More information on [http://dmcritchie.mvps.org/firefox/kws.htm keyword shortcuts].
    * http://dmcritchie.mvps.org/firefox/kws.htm

  • How to use a standard library binary search if I'm not searching for a key?

    Hi all,
    I'm looking for the tidiest way to code something with maximum use of the standard libraries. I have a sorted set of ints that represent quality levels (let's call the set qualSet ). I want to find the maximum quality level (choosing only from those within qualSet ) for a limited budget. I have a method isAffordable(int) that returns boolean. So one way to find the highest affordable quality is to start at the lowest quality level, iterate through qualSet (it is sorted), and wait until the first time that isAffordable returns false. eg.
    int i=-1;
    for (int qual : qualSet) {
         if !(isAffordable(qual))
              return i;
         i++;
    }However isAffordable is a slightly complicated fn, so I'd like to use a binary search to make the process more efficient. I don't want to write the code for a binary search as that is something that should be reused, ideally from the standard libraries. So my question is what's the best way of reusing standard library code in this situation so as to not write my own binary search?
    I have a solution, but I don't find it very elegant. Here are the important classes and objects.
    //simple wrapper for an int representing quality level
    class QualityElement implements Comparable<QualityElement>
    //element to use to search for highest quality
    class HiQualFinderEl extends QualityElement {
         HiQualFinderEl(ComponentList cl) {...}
    //class that contains fair amount of data and isAffordable method
    class ComponentList {
         boolean isAffordable(int qual) {...}
    //sorted set of QualityElements
    TreeSet<QualityElement> qualSet When you create an instance of HiQualFinderEl, you pass it a reference to a ComponentList (because it has the isAffordable() method). The HiQualFinderEl.compareTo() function returns 1 or -1 depending on whether the QualityElement being compared to is affordable or not. This approach means that the binary search returns an appropriate insertion point within the list (it will never act as if it found the key).
    I don't like this because semantically the HiQualFinderEl is not really an element of the list, it's certainly not a QualityElement (but it inherits from it), and it just feels ugly! Any clever suggestions? Btw, I'm new to Java, old to C++.
    If this is unclear pls ask,
    Andy

    Thanks Peter for the reply
    Peter__Lawrey wrote:
    you are not looking for a standard binary searchI'm not using a binary search in the very common I'm searching for a particular key sense, which is the Collections.binarySearch sense. But binary searches are used in other situations as well. In this case I'm finding a local maximum of a function, I could also be solving f(x)=0... is there a nice generic way to handle other uses of binary search that anyone knows of?
    I would just copy the code from Collections.binarySearch and modify itI have this thing about reusing; just can't bring myself to do that :)
    It would be quicker and more efficient than trying to shoe horn a solution which expects a trinary result.Not sure I understand the last bit. Are you referring to my bastardised compareTo method with only two results? If so, I know, it is ugly! I don't see how it could be less efficient though???
    Thanks,
    Andy

  • Searching for the fields of a table(very very urgent)

    Hi all,
    i am in graet trouble now.i am searching for the fields like
    1)country of origin where the finished good is created.
    2) customer sales order number
    3)customer sales order line number
    i am writing a report for delivery order.in this report i have to refer customer PO & customer SO .
      i mean, my company has a customer ( seagate) & seagate has a customer (let maxtor).initially maxtor will give a PO to seagate then seagate will raise a SO againest maxtor.
       Then seagate will send PO number(of maxtor), PO line number,SO number(seagate), SO line number(seagate) to our company.
       Then i have to write a report for sales order & delivery order.in these reports i have to refer seagate PO number & seagate SO number for reference.
    i got PO number as vbkd-bstkd but not getting any field for reference Sales order.plz advice me on this. it is very very urgent.
    ur idea is highly appreaciated.
    Thank u very much.
    Regards
    pabitra

    check out tables VBAK(sales order header), VBAP(sales items)

  • Search for records in the event viewer after the last run (not the entire event log), remove duplicate - Output Logon type for a specific OU users

    Hi,
    The following code works perfectly for me and give me a list of users for a specific OU and their respective logon types :-
    $logFile = 'c:\test\test.txt'
    $_myOU = "OU=ABC,dc=contosso,DC=com"
    # LogonType as per technet
    $_logontype = @{
        2 = "Interactive" 
        3 = "Network"
        4 = "Batch"
        5 = "Service"
        7 = "Unlock"
        8 = "NetworkCleartext"
        9 = "NewCredentials"
        10 = "RemoteInteractive"
        11 = "CachedInteractive"
    Get-WinEvent -FilterXml "<QueryList><Query Id=""0"" Path=""Security""><Select Path=""Security"">*[System[(EventID=4624)]]</Select><Suppress Path=""Security"">*[EventData[Data[@Name=""SubjectLogonId""]=""0x0""
    or Data[@Name=""TargetDomainName""]=""NT AUTHORITY"" or Data[@Name=""TargetDomainName""]=""Window Manager""]]</Suppress></Query></QueryList>" -ComputerName
    "XYZ" | ForEach-Object {
        #TargetUserSid
        $_cur_OU = ([ADSI]"LDAP://<SID=$(($_.Properties[4]).Value.Value)>").distinguishedName
        If ( $_cur_OU -like "*$_myOU" ) {
            $_cur_OU
            #LogonType
            $_logontype[ [int] $_.Properties[8].Value ]
    #Time-created
    $_.TimeCreated
        $_.Properties[18].Value
    } >> $logFile
    I am able to pipe the results to a file however, I would like to convert it to CSV/HTML When i try "convertto-HTML"
    function it converts certain values . Also,
    a) I would like to remove duplicate entries when the script runs only for that execution. 
    b) When the script is run, we may be able to search for records after the last run and not search in the same
    records that we have looked into before.
    PLEASE HELP ! 

    If you just want to look for the new events since the last run, I suggest to record the EventRecordID of the last event you parsed and use it as a reference in your filter. For example:
    <QueryList>
      <Query Id="0" Path="Security">
        <Select Path="Security">*[System[(EventID=4624 and
    EventRecordID>46452302)]]</Select>
        <Suppress Path="Security">*[EventData[Data[@Name="SubjectLogonId"]="0x0" or Data[@Name="TargetDomainName"]="NT AUTHORITY" or Data[@Name="TargetDomainName"]="Window Manager"]]</Suppress>
      </Query>
    </QueryList>
    That's this logic that the Server Manager of Windows Serve 2012 is using to save time, CPU and bandwidth. The problem is how to get that number and provide it to your next run. You can store in a file and read it at the beginning. If not found, you
    can go through the all event list.
    Let's say you store it in a simple text file, ref.txt
    1234
    At the beginning just read it.
    Try {
    $_intMyRef = [int] (Get-Content .\ref.txt)
    Catch {
    Write-Host "The reference EventRecordID cannot be found." -ForegroundColor Red
    $_intMyRef = 0
    This is very lazy check. You can do a proper parsing etc... That's a quick dirty way. If I can read
    it and parse it as an integer, I use it. Else, I just set it to 0 meaning I'll collect all info.
    Then include it in your filter. You Get-WinEvent becomes:
    Get-WinEvent -FilterXml "<QueryList><Query Id=""0"" Path=""Security""><Select Path=""Security"">*[System[(EventID=4624 and EventRecordID&gt;$_intMyRef)]]</Select><Suppress Path=""Security"">*[EventData[Data[@Name=""SubjectLogonId""]=""0x0"" or Data[@Name=""TargetDomainName""]=""NT AUTHORITY"" or Data[@Name=""TargetDomainName""]=""Window Manager""]]</Suppress></Query></QueryList>"
    At the end of your script, store the last value you got into your ref.txt file. So you can for example get that info in the loop. Like:
    $Result += $LogonRecord
    $_intLastId = $Event.RecordId
    And at the end:
    Write-Output $_intLastId | Out-File .\ref.txt
    Then next time you run it, it is just scanning the delta. Note that I prefer this versus the date filter in case of the machine wasn't active for long or in case of time sync issue which can sometimes mess up with the date based filters.
    If you want to go for a date filtering, do it at the Get-WinEvent level, not in the Where-Object. If the query is local, it doesn't change much. But in remote system, it does the filter on the remote side therefore you're saving time and resources on your
    side. So for example for the last 30 days, and if you want to use the XMLFilter parameter, you can use:
    <QueryList>
    <Query Id="0" Path="Security">
    <Select Path="Security">*[System[TimeCreated[timediff(@SystemTime) &lt;= 2592000000]]]</Select>
    </Query>
    </QueryList>
    Then you can combine it, etc...
    PS, I used the confusing underscores because I like it ;)
    Note: Posts are provided “AS IS” without warranty of any kind, either expressed or implied, including but not limited to the implied warranties of merchantability and/or fitness for a particular purpose.

  • Searching for a burner for G3

    I have an Apple iMac G3/500 DV SE (Summer 2000). I am running OS 10.4.11 and believe it or not it's doing pretty darn good. I have cranked up the memory as far as it can go. There is still a lot of life left in the thing, and I am not ready to get a new computer yet. I am, however, willing to spend some money now to 'kick it in the guts' so to speak.  
    I am purchasing an external 500MB hard drive that will connect to one of my FW400 ports, so the problem of storage is now solved. Getting a new Mighty Mouse and keyboard as well. Those purchases will be usable on the next computer, so it does not worry me about spending the cash there.
    Obviously, since I am clinging to my G3, I am not terribly concerned about having the fastest thing on the market. But I would like to burn discs, and that is the pipe dream I am bringing to you folks.
    I am searching for an external CD/DVD burner that will be compatible with my iMac G3. I am pretty sure I can use a USB 2.0 connection to my old USB connections, as they are backwards-compatible, yes? I know that speed is sacrificed there. And, obviously, I still have one FW 400 port open, so I would prefer to use that port. I believe the problem is the G3's 500 MHz, or the lack of some other programming/driver/ something internally.
    Is this impossible - if so, just tell me now!!  :)
    Does anyone have any suggestions?  I do not want to spend a small fortune in getting this, but I'm willing to go about 150 bucks or so.
    Thanks, folks!

    muskeegum,
    Sorry for using slang. A sled is where you take an external device, take off the top cover and throw it away. By leaving the top off, you can conveniently change out the contents of the external device and make a multi-purpose container.
    The reason for starting with a generic external case is to give you options that the general market might not offer. There are a number of internal burners available on the market. That is what most people want. So, your selection is much greater.
    However, for simplicity, here are a couple of links that include external options. In fact, firewire is typically external so that narrows the field. On the one hand, it is easier to search, on the other hand, you limit your selection and price options.
    one option
    second option
    While LaCie has a good reputation, I can only speak first hand for Yamaha burners. When you find something you like, you stick with it.
    As for "two out of three work," that was just a reference to the failure rate of the three USB/firewire sleds purchased from the store that was closing. Not being able to return an item must be factored into any discounted price.
    Got to run, more details later.
    Jim

  • Help, recently my hard drive failed so I put in the original that came with my mac back in. ( I have a lot of music and the old HD was too small). It was replaced with a Samsung HM640JJ Spinpoint drive . Now i have to search for my music b4 i can play it

    I tried to restore from time machine, but there was not enough space to load all my music and aplications. I tried to convert it to mp3 now I have bitrates of 128,160,and 1141kbs.  If I try to play a song in the Itunes I get the song could not be used because the original could not be found, would you like to search for it.  Will I have to do this for the remaining 7400songs?
    Thanks in advance 

    Asherr130 wrote:
    so basically, I have all this music on my computer already, and I've been trying to go through it to cut it down to only the things I want.... can I drag those files directly from itunes to a hard drive
    yes. i would ALWAYS let iTunes do the moving lest it loses track of where the files are stored.
    follow the instructions in this link to move your iTunes library to an external HD. the article is for Mac. if your music is still on the windows machine, check this read for pointers: http://lifehacker.com/242468/geek-to-live--how-to-move-an-itunes-library-from-a- pc-to-mac-and-back.
    also, when I've done that, and have everything on the external hard drive, I can go clean up all the music files still left on my computer.... then I press option and drag everything back to itunes? what will that do for me?
    as i mentioned, this will make iTunes reference the path to the original location (your external HD) but will not copy the files physically.
    and how will I be able to work with my music and update it after that?
    you mount the external HD before launching iTunes. now you can do whatever as if the files where on your startup disk.

  • How to search for a variety of characters

    I am working on a document wherein a script I ran has applied differential results to page indicators. I am trying to ensure that I have easy accessibility to indexing in an e-book format, and so I am doing the following:
    1.) Inserting notes at physical page breaks in the print layout in InDesign
    2.) making those notes visible
    3.) applying the "page" style to them, which I have set to display hidden in my CSS but will allow me to insert anchor points for a hyperlink index
    The problem is the note shows up differentially. Some say:
    {~?~PG: @##@} while others show {~?~PG: %##%} where ## represents some page number. The @##@ received the page style properly, but not the %#%. What would be the GREP approach to searching for every instance of {~?~PG: %##%} and applying the page style to it?
    I know how to make sure that the page style is applied. I know that I'd use (\d+) for the numbers. I don't know hwo to represent the brackets, tildes, question marks, or other characters. Is there a good reference for this somewhere or perhaps a tutorial? I hate to bug the forum community with it. I just don't know where to go to get the info I need.
    Edit: To be clear, I'm trying to search for the string
    {~?~PG: %##%}
    All of the characters in the string are the same each time, but the numbers are sequentially higher and higher. There are hundreds of these in my document, so replacing each manually is taking a long time. Thanks for any feedback.
    Edit #2: After a lot of trial and error, I nailed it. This worked for me:
    \{(.+)\%(\d+)\%.
    I left the "change to" blank and in the big Change Format window, I added character style "page", though of course this is going to be different for you depending on how you have the name of that style set up in your CSS file if you're making an e-book too. : )
    Message was edited by: 1John5vs7

    You should definitely look into full-text search. The idea that Kalman floated is doable, but it require a lot more work on your part. Full-text does a lot work for you, for instance handling inflections, so that a search on "goose" will get a
    hit on "geese".
    If you have never worked with full-text search before, I recommend to get your hands on this book:
    http://www.sqlservermvpdeepdives.com/
    http://www.amazon.com/SQL-Server-MVP-Deep-Dives/dp/1935182048/ref=sr_1_1?ie=UTF8&qid=1400851023&sr=8-1&keywords=sql+server+mvp+deep+dives
    This book is a collection of chapters written by a number of SQL Server MVPs, and all our royalties goes to War Child International, so you are supporting a good aim if you buy this book.
    Chapter 13 by Robert Cain is an excellent introduction to full-text search, although it does not handle Semantic Search added in SQL 2012.
    As it happens, my chapter, describes a solution of what Kalman had in mind, although it aimed for the case where you want to permit users to search arbitrary character sequence, and that is not want you want.
    Erland Sommarskog, SQL Server MVP, [email protected]

  • How to search for particular string in array?

    I am struggling to figure out how to search array contents for a string and then delete the entry from the array if it is found.
    The code for a program that allows the user to enter up to 20 inventory items (tools) is posted below; I apologize in advance for it as I am also not having much success grasping the concept of OOP and I am certain it is does not conform although it all compiles.
    Anyway, if you can provide some assistance as to how to go about searching the array I would be most grateful. Many thanks in advance..
    // ==========================================================
    // Tool class
    // Reads user input from keyboard and writes to text file a list of entered
    // inventory items (tools)
    // ==========================================================
    import java.io.*;
    import java.text.DecimalFormat;
    public class Tool
    private String name;
    private double totalCost;
    int units;
      // int record;
       double price;
    // Constructor for Tool
    public Tool(String toolName, int unitQty, double costPrice)
          name  = toolName;
          units = unitQty;
          price = costPrice;
       public static void main( String args[] ) throws Exception
          String file = "test.txt";
          String input;
          String item;
          String addItem;
          int choice = 0;
          int recordNum = 1;
          int qty;
          double price;
          boolean valid;
          String toolName = "";
          String itemQty = "";
          String itemCost = "";
          DecimalFormat fmt = new DecimalFormat("##0.00");
          // Display menu options
          System.out.println();
          System.out.println(" 1. ENTER item(s) into inventory");
          System.out.println(" 2. DELETE item(s) from inventory");
          System.out.println(" 3. DISPLAY item(s) in inventory");
          System.out.println();
          System.out.println(" 9. QUIT program");
          System.out.println();
          System.out.println("==================================================");
          System.out.println();
          // Declare and initialize keyboard input stream
          BufferedReader stdin = new BufferedReader(new InputStreamReader(System.in));
          do
             valid = false;
             try
                System.out.print(" Enter an option > ");
                input = stdin.readLine();
                choice = Integer.parseInt(input);
                System.out.println();
                valid = true;
             catch(NumberFormatException exception)
                System.out.println();
                System.out.println(" Only numbers accepted. Try again.");
          while (!valid);
          while (choice != 1 && choice != 2 && choice != 9)
                System.out.println(" Not a valid option. Try again.");
                System.out.print(" Enter an option > ");
                input = stdin.readLine();
                choice = Integer.parseInt(input);
                System.out.println();
          if (choice == 1)
             // Declare and initialize input file
             FileWriter fileName = new FileWriter(file);
             BufferedWriter bufferedWriter = new BufferedWriter(fileName);
             PrintWriter dataFile = new PrintWriter(bufferedWriter);
             do
                addItem="Y";
                   System.out.print(" Enter item #" + recordNum + " name > ");
                   toolName = stdin.readLine();
                   if (toolName.length() > 15)
                      toolName = toolName.substring(0,15); // Convert to uppercase
                   toolName = toolName.toUpperCase();
                   dataFile.print (toolName + "\t");
                   do
                      valid = false;
                      try
                         // Prompt for item quantity
                         System.out.print(" Enter item #" + recordNum + " quantity > ");
                         itemQty = stdin.readLine();
                         // Parse integer as string
                         qty = Integer.parseInt (itemQty);
                         // Write item quantity to data file
                         dataFile.print(itemQty + "\t");
                         valid=true;
                      catch(NumberFormatException exception)
                         // Throw error for all non-integer input
                         System.out.println();
                         System.out.println(" Only whole numbers please. Try again.");
                   while (!valid);
                   do
                      valid = false;
                      try
                         // Prompt for item cost
                         System.out.print(" Enter item #" + recordNum + " cost (A$) > ");
                         itemCost = stdin.readLine();
                         // Parse float as string
                         price = Double.parseDouble(itemCost);
                         // Write item cost to data file
                         dataFile.println(fmt.format(price));
                         valid = true;
                      catch(NumberFormatException exception)
                         // Throw error for all non-number input (integers
                      // allowed)
                         System.out.println();
                         System.out.println(" Only numbers please. Try again.");
                   while (!valid);
                   // Prompt to add another item
                   System.out.println();
                   System.out.print(" Add another item? Y/N > ");
                   addItem = stdin.readLine();
                   while ((!addItem.equalsIgnoreCase("Y")) && (!addItem.equalsIgnoreCase("N")))
                      // Prompt for valid input if not Y or N
                      System.out.println();
                      System.out.println(" Not a valid option. Try again.");
                      System.out.print(" Add another item? Y/N > ");
                      addItem = stdin.readLine();
                      System.out.println();
                   // Increment record number by 1
                   recordNum++;
                   if (addItem.equalsIgnoreCase("N"))
                      System.out.println();
                      System.out.println(" The output file \"" + file + "\" has been saved.");
                      System.out.println();
                      System.out.println(" Quitting program.");
            while (addItem.equalsIgnoreCase("Y"));
    // Close input file
    dataFile.close();
       if (choice == 2)
       try {
          Read user input (array search string)
          Search array
          If match found, remove entry from array
          Confirm "deletion" and display new array contents
       catch block {
    } // class
    // ==========================================================
    // ListToolDetails class
    // Reads a text file into an array and displays contents as an inventory list
    // ==========================================================
    import java.io.*;
    import java.util.StringTokenizer;
    import java.text.DecimalFormat;
    public class ListToolDetails {
       // Declare variable
       private Tool[] toolArray; // Reference to an array of objects of type Tool
       private int toolCount;
       public static void main(String args[]) throws Exception {
          String line, name, file = "test.txt";
          int units, count = 0, record = 1;
          double price, total = 0;
          DecimalFormat fmt = new DecimalFormat("##0.00");
          final int MAX = 20;
          Tool[] items = new Tool[MAX];
          System.out.println("Inventory List");
          System.out.println();
          System.out.println("REC.#" + "\t" + "ITEM" + "\t" + "QTY" + "\t"
                + "PRICE" + "\t" + "TOTAL");
          System.out.println("\t" + "\t" + "\t" + "\t" + "PRICE");
          System.out.println();
          try {
             // Read a tab-delimited text file of inventory items
             FileReader fr = new FileReader(file);
             BufferedReader inFile = new BufferedReader(fr);
             StringTokenizer tokenizer;
             while ((line = inFile.readLine()) != null) {
                tokenizer = new StringTokenizer(line, "\t");
                name = tokenizer.nextToken();
                try {
                   units = Integer.parseInt(tokenizer.nextToken());
                   price = Double.parseDouble(tokenizer.nextToken());
                   items[count++] = new Tool(name, units, price);
                   total = units * price;
                } catch (NumberFormatException exception) {
                   System.out.println("Error in input. Line ignored:");
                   System.out.println(line);
                System.out.print(" " + count + "\t");
                System.out.print(line + "\t");
                System.out.print(fmt.format(total));
                System.out.println();
             inFile.close();
          } catch (FileNotFoundException exception) {
             System.out.println("The file " + file + " was not found.");
          } catch (IOException exception) {
             System.out.println(exception);
          System.out.println();
       //  Unfinished functionality for displaying "error" message if user tries to
       //  add more than 20 tools to inventory
       public void addTool(Tool maxtools) {
          if (toolCount < toolArray.length) {
             toolArray[toolCount] = maxtools;
             toolCount += 1;
          } else {
             System.out.print("Inventory is full. Cannot add new tools.");
       // This should search inventory by string and remove/overwrite matching
       // entry with null
       public Tool getTool(int index) {
          if (index < toolCount) {
             return toolArray[index];
          } else {
             System.out
                   .println("That tool does not exist at this index location.");
             return null;
    }  // classData file contents:
    TOOL 1     1     1.21
    TOOL 2     8     3.85
    TOOL 3     35     6.92

    Ok, so you have an array of Strings. And if the string you are searching for is in the array, you need to remove it from the array.
    Is that right?
    Can you use an ArrayList<String> instead of a String[ ]?
    To find it, you would just do:
    for (String item : myArray){
       if (item.equals(searchString){
          // remove the element. Not trivial for arrays, very easy for ArrayList
    }Heck, with an arraylist you might be able to do the following:
    arrayList.remove(arrayList.indexOf(searchString));[edit]
    the above assumes you are using 1.5
    uses generics and for each loop
    [edit2]
    and kinda won't work it you have to use an array since you will need the array index to be able to remove it. See the previous post for that, then set the value in that array index to null.
    Message was edited by:
    BaltimoreJohn

  • Getting Error In the Routine - While writing Code for the Cross Reference.

    Hi,
    Getting Error In the Start Routine - While writing Code for the Cross Reference from the Text table ( /BIC/TZMDES with Fields /BIC/ZMDES(Key),TXTSH ) Getting Error as [ E:Field "ZMDES" unknown ].
    Transformation : IOBJ ZPRJ3(Source) -> IOBJ ZPRJC ( Target ).
    The Source  Fields are: 0logsys(Key),zprj3(Key),ZDOM3.
    The Target Fields are : 0logsys(Key),zprjc(Key),ZDOM3, UID.
    Here i am trying to Update the target Field UID by Comparing the Source Field [ zprj3(Key)] with the Text table ( /BIC/TZMDES ) and update the UID.
    The Code is as below:
    Global Declarations in the Start Routine:
    Types: begin of itabtype,
            ZMDES type /BIC/TZMDES-/BIC/ZMDES,
            TXT type /BIC/TZMDES-TXTSH,
             end of itabtype.
    data : itab type standard table of itabtype
    with key ZMDES,
    wa_itab like line of itab.
    Routine Code :
    select * from /BIC/TZMDES into corresponding fields of table itab for
    all entries in SOURCE_PACKAGE
    where ZMDES = SOURCE_PACKAGE-/BIC/ZPRJ3.
    READ TABLE itab INTO wa_itab
    WITH KEY ZMDES = SOURCE_PACKAGE-/BIC/ZPRJ3
    BINARY SEARCH.
    IF SY-SUBRC = 0.
    RESULT = wa_itab.
    CLEAR wa_itab.
    The tys_SC_1 structure is :
    BEGIN OF tys_SC_1,
         InfoObject: 0LOGSYS.
            LOGSYS           TYPE RSDLOGSYS,
         InfoObject: ZPRJ3.
            /BIC/ZPRJ3           TYPE /BIC/OIZPRJ3,
         InfoObject: ZDOM3.
            /BIC/ZDOM3           TYPE /BIC/OIZDOM3,
         Field: RECORD.
            RECORD           TYPE RSARECORD,
          END   OF tys_SC_1.
        TYPES:
          tyt_SC_1        TYPE STANDARD TABLE OF tys_SC_1
                            WITH NON-UNIQUE DEFAULT KEY.
    Please suggest with your valuable inputs.
    Thanks in Advance

    I have split the code in two.. one for start routine.. other for field routine.. hope this helps
    Types: begin of itabtype,
    ZMDES type /BIC/TZMDES-/BIC/ZMDES,
    TXT type /BIC/TZMDES-TXTSH,
    end of itabtype.
    data : itab type standard table of itabtype
    with key ZMDES,
    wa_itab like line of itab.
    Start routine
    select * from /BIC/TZMDES into corresponding fields of table itab for
    all entries in SOURCE_PACKAGE
    where ZMDES = SOURCE_PACKAGE-/BIC/ZPRJ3.
    Sort itab.
    field routine
    CLEAR wa_itab.
    READ TABLE itab INTO wa_itab
    WITH KEY ZMDES = SOURCE_FIELD-/BIC/ZPRJ3
    BINARY SEARCH.
    IF SY-SUBRC = 0.
    RESULT = wa_itab-<field name>

  • Can't open MOV files in FCP: "Searching for movie data in file..."

    I know this has been posted before, but none of them seem to match up to what I'm all of a sudden dealing with. I have 4 MOV files that I'm converting to WMV. Movie 1 & 2 exported fine. Now, however, any time I try to open another MOV file, I get an error that it's "Searching for movie data in file..." and the file name is ALWAYS the same. The weird thing is, the file it's looking for is none of the 4 movies I'm working with. So how did the first two work and this pop out of nowhere??
    I have cleared out the render cache. Dumped all the cache and prefs files I can find, etc. Restarted the machine. Started FCP with the Option key held down.
    I've searched everywhere, but people usually seem to come across this error while opening FCP (I'm running 6.0.6). This only happens when I open a MOV file (oddly, I can open WMV files in FCP without issue).
    HELP!

    So, I open the movies in QT and the EXACT same thing is happening. So it appears the guy who created the videos did something when he was making them (probably made a reference files along the way). I'm having him re-export the MOV files.
    So, it's not a FCP issue.....

Maybe you are looking for

  • Bridge CS4 is slow, slow, slow (so is Photoshop CS4)

    AMD Athlon 64 X2 Dual-Core 6000+ CPU, 4 GB RAM, Windows XP SP2 32-bit, ATI Radeon HD 2600 Pro graphics card, two 1-TB hard disks with hundreds of GB free With Bridge CS3 it took less than ten seconds to build the thumbnails of a folder with 85 image

  • ICal, PDAs and print planner pages

    I'm somewhat confused after reading a number of posts in search of answers to these questions. So, I'm just going to ask here. I'm using OS 10.4.1. I have a Palm Tungsten that I currently sync to the Palm Desktop. But I'm considering the switch iCal.

  • Is Flash Player 11 just not compatible with Windows Vista 64 bit?

    When I installed the latest version of Flash, I lost the ability to view You Tube videos for more than the first 3 or 4 seconds. Today I went to the adobe site thinking I needed a new flash player, and got this message: Note:Flash Player does not sup

  • Display Freezes on W510

    I started getting a problem where at random times the display black out for a second and then a message pops out and says your display driver stopped responding and was restarted. This occurred sparsely in the past but started to be more frequent lat

  • Connect webdynpro callable object with ms sql server 2000

    Hi all how connect webdynpro callable object with ms sql server 2000? How can I register on the portal as an additional connection? thank you very much!