How do I programmat​ically modify array element sizes?

Hi All,
I have a quick question about modifying the size of array elements. Hopefully someone can help, because I am at a dead end!
I am logging some intensities from a Fibre Array using a camera. For calibration of the system, I acquire an image from the camera, click points on the image to divide it into areas of interest. I overlay my image with a grid showing the regions of interst - for example a 4x6 array. I then have to select the fibres - or ROIs - I want to log from.
I have a cluster type-def ( a number and a boolean) to specify the fibre number and to turn logging from that fibre on/off. I overlay an (transparent) array of this typedef over my image to correspond with the regions of interest. So here's my problem - I want to modify the dimensions of the array so each control matches my ROI. I can resize the elements by rightclicking on the elements on the frontpanel, but can't find a way to do it programmatically. The Array Property Node>>Array Element>>Bounds won't 'change to write'...thats the first thing I tried.
Its really only important that the elements align with my ROIs - so programmatically adding in gaps/spacings would also work for me...but again I can't figure out how to do this! I've attached a screenshot of part of my image with array overlaid to show you all exactly what my problem is.
Thanks in advance for you help,
Dave
PS I am running Labview 8.6 without the vision add on.
Solved!
Go to Solution.
Attachments:
Array_Overlay.png ‏419 KB

Here's my cheat (and cheap?) way If you want to get fancy and center the numeric and boolean indicators, you could add spacers on the north and west sides, too.
Attachments:
ClusterSpacer.vi ‏13 KB

Similar Messages

  • How to modify array elements from a separate class?

    I am trying to modify array elements in a class which populates these fields by reading in a text file. I have got mutator methods to modify the array elements and they work fine in the same class.
    public class Outlet {
         private Outlet[] outlet;
         private String outletName;
         private int phoneNumber;
         private int category;
         private int operatingDays;
    static final int DEFAULT = 99;
         public void setPhoneNumber(int newPhoneNumber) {
              phoneNumber = newPhoneNumber;
         public void setCategory(int newCategory) {
              category = newCategory;
         public void setOperatingDays(int newOperatingDays) {
              operatingDays = newOperatingDays;
    public static void readFile(Outlet[] outlet) throws FileNotFoundException {
              Scanner inFile = new Scanner(new FileReader("outlets.txt"));
              int rowNo = 0;
              int i = 0;
              String outletValue;
              while (inFile.hasNext() && rowNo < MAXOUTLETS) {
                   outlet[rowNo] = new Outlet();
                   outletValue = inFile.nextLine();
                   outlet[rowNo].setOutletName(outletValue.toUpperCase());
                   outlet[rowNo].setPhoneNumber(DEFAULT);
                   outlet[rowNo].setCategory(DEFAULT);
                   outlet[rowNo].setOperatingDays(DEFAULT);
              inFile.close();
         public static void displayUnassignedOutlets(Outlet[] outlet) {
              int i = 0;
              System.out.println("Showing all unassigned Outlets");
              System.out.println(STARS);
              for (i = 0; i < MAXOUTLETS; i++ ) {
                   if (outlet.getCategory() == DEFAULT) {
                   System.out.println("\nOutlet Number: " + (i + 1) + "\t" +
                             outlet[i].getOutletName());
    Now in the other class that I want to modify the array elements I use the following code but I get an error that "The expression type must be an array but a Class ' Outlet' is resolved".
    So how can I modify the array elements? What do I have to instantiate to get the following code to work?
    public class Franchise {
         private Franchise[] franchise;
         public Outlet[] outlet;
         public static void createFranchise(Franchise[] franchise) throws FileNotFoundException {
              Scanner console = new Scanner(System.in);
              int choice = -1;
    ++++++++++++++++++++++++++++++++++++
              Outlet outlet = new Outlet();
              Outlet.readFile(outlet.getOutlet());
    ++++++++++++++++++++++++++++++++++++
              boolean invalidChoice = true;
              while (invalidChoice) {
              System.out.println("\nCreating a New Franchise...");
              System.out.println(STARS);
              System.out.println("Please select an outlet from the list below");
              Outlet.displayUnassignedOutlets(outlet.getOutlet());
              choice = console.nextInt();
              if (choice < 0 || choice > 10) {
                   System.out.println("Error! Please choose a single number between 1 and 10");               
              else {
                   invalidChoice = false;
              invalidChoice = true;
              while (invalidChoice) {
                   System.out.println("Please enter the Phone Number for this Outlet");
                   choice = console.nextInt();
                   String phone = new String();
              phone = new Integer(choice).toString();
                   if (phone.length() < 8 || phone.length() > 10) {
                        System.out.println("Error! Please enter 8 to 10 digits only");
                   else {
    +++++++++++++++++++++++++++++++++++++++
                        outlet[(choice - 1)].setPhoneNumber(choice);
    +++++++++++++++++++++++++++++++++++++++
                        invalidChoice = false;

    Hi Pete!
    Thanks for your comments. I have included my full classes below with their respective driver modules. Hope this helps out a bit more using the code tags. Sorry, it was my first posting. Thanks for the heads up!
    import java.util.*;
    import java.io.*;
    public class Outlet {
         public Outlet[] outlet;
         private String outletName;
         private int phoneNumber;
         private int category;
         private int operatingDays;
    //     private Applicant chosenApplicant;
         static boolean SHOWDETAILS = false;
         static final String STARS = "****************************************";
         static final int MAXOUTLETS = 10;
         static final int DEFAULT = 99;
         public Outlet[] getOutlet() {
              return outlet;
         public String getOutletName() {
              return outletName;
         public int getPhoneNumber() {
              return phoneNumber;
         public int getCategory() {
              return category;
         public int getOperatingDays() {
              return operatingDays;
         public void setOutletName(String newOutletName) {
              outletName = newOutletName;
         public void setPhoneNumber(int newPhoneNumber) {
              phoneNumber = newPhoneNumber;
         public void setCategory(int newCategory) {
              category = newCategory;
         public void setOperatingDays(int newOperatingDays) {
              operatingDays = newOperatingDays;
         public Outlet() {
              outlet = new Outlet[10];
         public static void readFile(Outlet[] outlet) throws FileNotFoundException {
              Scanner inFile = new Scanner(new FileReader("outlets.txt"));
              int rowNo = 0;
              int i = 0;
              String outletValue;
              while (inFile.hasNext() && rowNo < MAXOUTLETS) {
                   outlet[rowNo] = new Outlet();
                   outletValue = inFile.nextLine();
                   outlet[rowNo].setOutletName(outletValue.toUpperCase());
                   //System.out.println(rowNo % 2);
              //     if (rowNo % 2 == 0) {
                   outlet[rowNo].setPhoneNumber(DEFAULT);
                   outlet[rowNo].setCategory(DEFAULT);
                   outlet[rowNo].setOperatingDays(DEFAULT);
    //               System.out.println("Outlet Name+++++++  " + rowNo + "\n" + outlet[rowNo].getOutlet());               
                   rowNo++;
         //          System.out.println(rowNo);
              if (SHOWDETAILS) {
                   if (rowNo > 6) {
                        for (i = 0; i < rowNo; i++ ) {
                             System.out.println("\nOutlet Name+++++++  " + (i + 1) + "\t" +
                                       outlet.getOutletName());
              inFile.close();
         public static void displayAllOutlets(Outlet[] outlet) {
              int i = 0;
              System.out.println("Showing All Outlets");
              System.out.println(STARS);
              for (i = 0; i < MAXOUTLETS; i++ ) {
                   System.out.println("\nOutlet Number: " + (i + 1) + "\t" +
                             outlet[i].getOutletName());
         public static void displayUnassignedOutlets(Outlet[] outlet) {
              int i = 0;
              System.out.println("Showing all unassigned Outlets");
              System.out.println(STARS);
              for (i = 0; i < MAXOUTLETS; i++ ) {
                   if (outlet[i].getCategory() == DEFAULT) {
                   System.out.println("\nOutlet Number: " + (i + 1) + "\t" +
                             outlet[i].getOutletName());
         public static void main(String[] args) throws FileNotFoundException {
              Outlet start = new Outlet();
              Outlet.readFile(start.getOutlet());
              Outlet.displayUnassignedOutlets(start.getOutlet());
    ================================
    So in the below Franchise class, when I specify:
    outlet[(choice - 1)].setPhoneNumber(choice);
    I get the error that an array is required but the class Outlet is resolved. Any feedback is greatly appreciated!
    import java.io.FileNotFoundException;
    import java.io.PrintWriter;
    import java.util.*;
    public class Franchise {
         private Franchise[] franchise;
         public Outlet[] outlet;
         static final int MAXOUTLETS = 10;
         static final int DEFAULT = 99;
         static boolean SHOWDETAILS = false;
         static final String STARS = "****************************************";
         static final double REGHOTDOG = 2.50;
         static final double LARGEHOTDOG = 4;
         static final int SALESPERIOD = 28;
         static final int OPERATINGHOURS = 8;
         public Franchise[] getFranchise() {
              return franchise;
         public Franchise() {
         public static void createFranchise(Franchise[] franchise) throws FileNotFoundException {
              Scanner console = new Scanner(System.in);
              int choice = -1;
              //franchise[i] = new Franchise();
              Outlet outlet = new Outlet();
              //outlet[i] = new Franchise();
              Outlet[] myOutlet = new Outlet[10];
              Outlet.readFile(outlet.getOutlet());
              boolean invalidChoice = true;
              while (invalidChoice) {
              System.out.println("\nCreating a New Franchise...");
              System.out.println(STARS);
              System.out.println("Please select an outlet from the list below");
              Outlet.displayUnassignedOutlets(outlet.getOutlet());
              choice = console.nextInt();
              if (choice < 0 || choice > 10) {
                   System.out.println("Error! Please choose a single number between 1 and 10");               
              else {
                   invalidChoice = false;
              //System.out.println(j);
              invalidChoice = true;
              while (invalidChoice) {
                   System.out.println("Please enter the Phone Number for this Outlet");
                   choice = console.nextInt();
                   String phone = new String();
                  phone = new Integer(choice).toString();
                   if (phone.length() < 8 || phone.length() > 10) {
                        System.out.println("Error! Please enter 8 to 10 digits only");
                   else {
                        outlet[(choice - 1)].setPhoneNumber(choice);
                        invalidChoice = false;
              invalidChoice = true;
              while (invalidChoice) {
                   System.out.println("Please enter the category number for this Outlet");
                   choice = console.nextInt();
                   if (choice < 1 || choice > 4) {
                        System.out.println("Error! Please choose a single number between 1 and 4");
                   else {
                        outlet.setCategory(choice);
                        invalidChoice = false;
              invalidChoice = true;
              while (invalidChoice) {
                   System.out.println("Please enter the Operating Days for this Outlet");
                   choice = console.nextInt();
                   if (choice < 5 || choice > 7) {
                        System.out.println("Error! Please choose a single number between 5 and 7");
                   else {
                        outlet.setOperatingDays(choice);
                        invalidChoice = false;
    //          Applicant chosenApplicant = new Applicant();
         //     Applicant.readFile(chosenApplicant.getApplicant());
              //Applicant.checkCriteria(chosenApplicant.getApplicant());
         //     System.out.println("This Franchise has been assigned to : " +
              //          chosenApplicant.displayOneEligibleApplicant());
              Outlet.displayUnassignedOutlets(outlet.getOutlet());
         public static void main(String[] args) throws FileNotFoundException {
              Franchise start = new Franchise();
              Franchise.testing(start.getFranchise());
              //Franchise.createFranchise(start.getFranchise());
              //Franchise.displaySalesForcast();
              //Franchise.displayAllFranchises(start.getOutlet());

  • How to auto insert a number array with size of 20 into a named excel file with the positon is from A1 TO A20?i use lv6.1

    can you give me a example vi for it ?thanks a lot!
    how to auto insert a number array with size of 20 into a named excel file  with the positon is from A1 TO A20?i use lv6.1

    You don't need us to give you an example, as the example already comes with LV. Go to Help>>Find Examples and search for "excel". You will find an example called "write table to XL". You should note that the example doesn't do that exactly, because it writes a 2D array from 2 to N.
    You can modify the example by using only one for loop (instead of nested loops) with a 1D array or by going into the Set Cell Value and modifying it to accept a second cell value for the Cell2 terminal and wiring in a 1D array instead of the single string. If you do modify it, be sure to save it under a different name, so you don't overwrite the original.
    To learn more about LabVIEW, I suggest you try searching this site and google for LabVIEW tutorials. Here and here are a couple you can start with. You can also contact your local NI office and join one of their courses.
    In addition, I suggest you read the LabVIEW style guide and the LabVIEW user manual (Help>>Search the LabVIEW Bookshelf).
    Try to take over the world!

  • How do I programmat​ically determine if a device supports external calibratio​n?

    I'm writing a vi to determine the current state of a system with about 6 devices connected, consisting of two cDaq chassis with 9229 and 9269 modules and a few PXI cards. I want the vi to monitor when the devices were last calibrated and issue a warning if the device hasn't been calibrated within the accepted window. I can get the program to work as long as the device I'm polling supports external calibration, but naturally I get an error if it doesn't. I can't seem to find a property node or the like to determine this. Any help would be great.
    This is a gross simplification of what I'm trying to accomplish:
    Attachments:
    calibration snippet.png ‏16 KB

    Well, the trick is that while all of the C modules may be calibratable, the chassis is not. For example, if I have a cDAQ-9178 with 3 9269 units and 5 9229s and I query the system for devices it returns an array with 9 elements because the chassis is detected. If I then loop through those array elements in a for loop and query the last calibration date, I get the error:
    Error -200197 occurred at Property Node DAQmx Calibration Info (arg 2) in Untitled 3
    Possible reason(s):
    Device does not support this property.
    Property: ExtCal.LastDate/Time
    Short of clearing the error and moving on, I don't know how to get around this. I've attached a new snippet in the hopes that it will better illustrate what I'm attempting.
    Thanks again for your help,
    Tanner Blair
    Attachments:
    calibration.png ‏25 KB

  • How do I programmat​ically open block diagram?

    Hi, All
    How do I programmatically open block diagram of subVI and add frame to event structure
    Thanks,

    Could you be a bit more specific on what you are trying to do?
    Do you want to programmatically edit an existing VI that is currently not running? As mike said, scripting could work but it is unsupported (see the Lava scripting forum for details: http://forums.lavag.org/LabVIEW-VI-Scripting-f29.h​tml). Somehow, adding an event case does not give you much, you would also need to add the code contents and hook everything up to the existing controls, indicators, and other nodes.
    If you just need an event that is not always active during run, maybe you can use user events. Check the online help. (Also have a look at e.g. section 4 in the following application note:
    http://zone.ni.com/devzone/cda/tut/p/id/2994.
    LabVIEW Champion . Do more with less code and in less time .

  • How do I programmat​ically set chart history length?

    How do I programmatically set chart history length?

    Hi, u could try instead of using a chart, u could use an xy graph with a chart buffer and with the chart buffer defining the length/amount points needed. And this also mimics what happens in a chart.
    Stuart
    Attachments:
    XY_Chart_Buffer.vi ‏54 KB

  • How can I programmat​ically detect transition times in a digital waveform

    Hi, I have a digital waveform and at certain times I have transistions and glinches , how can I programmatically detect and record the time stamps of the transitions
    Thanks  

    Let me see if I understand you. You are reading 14 bits in parallel and you want to know how long between transitions of just one of those bits - say bit 11. Is this bit number constant or can the number of the bit in which you are interested change?
    Well, you could XOR the value from each read of the digital bits with the 14 bits you got from the previous read. If the resulting value of bit 11 is true, the state of bit 11 has changed. Use that flag to read/restart an interval timer. Of course the resolution of your measurement will be dependent upon the rate at which you are reading the 14 bit input. If you are only sampling the 14 bits every 500 msec, you obviously won't be able to measure intervals of less than 1/2 sec.
    Mike...
    Certified Professional Instructor
    Certified LabVIEW Architect
    LabVIEW Champion
    "... after all, He's not a tame lion..."
    Be thinking ahead and mark your dance card for NI Week 2015 now: TS 6139 - Object Oriented First Steps

  • Display and modify array elements

    Hello,
    I am using LabVIEW to read a set of parameters from an instrument and display them into an array indicator. This first part is quite easy and works fine. What I would like to be able to do (so far unsuccessfully) is to modify some of the values directly on the array indicator and subsequently pass the new values on the array indicator back to LabVIEW. I would really appreciate if somebody could help me understand whether this is possible and how do it?
    Thanks a lot,
    Gianni
    Solved!
    Go to Solution.

    Make the array a control and write to it programmatically using a local variable. Be aware of race conditions. For example in this case you have two writers: the instrument and the user, and whoever writes last, wins.
    LabVIEW Champion . Do more with less code and in less time .

  • How to put data into a array element in the BPEL

    Hi,
    I have a element in the WSDL which is of type Array. (i.e accepts unlimited data for the same element). How should i put a data into a array in the BPEL.
    Example:
    The below Example gives u an idea about wht iam asking:pasting a piece of my requirement:
    <s:element minOccurs="0" maxOccurs="1" name="parameters" type="tns:ArrayOfCSParameters" />
    <s:complexType name="ArrayOfCSParameters">
    <s:sequence>
    <s:element minOccurs="0" maxOccurs="unbounded"
    name="CSParameters" nillable="true" type="tns:CSParameters" />
    </s:sequence>
    </s:complexType>
    <s:complexType name="CSParameters">
    <s:sequence>
    <s:element minOccurs="0" maxOccurs="1" name="RevenueItem" type="tns:RevenueItem" />
    <s:element minOccurs="0" maxOccurs="1" name="AccountURIs" type="tns:ArrayOfString" />
    <s:element minOccurs="0" maxOccurs="1" name="GroupURIs" type="tns:ArrayOfString" />
    <s:element minOccurs="1" maxOccurs="1" name="Percentage" nillable="true" type="s:decimal" />
    </s:sequence>
    <s:attribute name="Version" type="s:decimal" use="required" />
    <s:attribute name="URI" type="s:string" />
    </s:complexType>
    Any suggestion is appreciated.
    Regards
    pavan

    You have 2 options i guess.
    Use the transformation and the for-each to construct the array-list
    or like Richard said, use a loop in bpel, assign in the loop an variable of element type="CSParameters" and append this variable to your variable with accepts the arraylist.

  • Is it possible to programmat​ically modify camera descriptio​n files?

    Hi all,
    Basically I'm trying to figure out how to store to file the changes a user made to the .iid and/or .icd values during an app run.
    For instance... I have utilities built up that help the user vary the Black and White reference voltages (using an IMAQ 1408) interactively (they can see the results of each new value nearly instantly). The problem is that these changes only last for that program run... meaning that once the app is restarted the values found in the .icd file (I presume) are re-loaded.
    I had thought that the .icd file was similar enough in format to the standard configuration file format to make using the read/write config file VIs applicable. However th
    ere are subtle differences that cause problems when re-writing the file.
    I am also not sure that the values stored in the .icd file are exact matches with those presented under MAX. For instance the key names that seem to be related to the black and white reference voltages don't always reference numerical values that are matches with those displayed in MAX.
    Does anyone know of a way to store programmatic changes to IMAQ properties, without having to store all the modified values into a seperate file?

    The only way I know to record changes in an ICD file is to use MAX, other than directly editing it as a text file. Any changes you make during the execution of a program will, as you said, revert to the default values the next time you run the program.
    To store the changes, the easiest way would probably to have the user use MAX for permanent changes. The MAX interface is relatively easy to use (after a short learning curve). You can get immediate updates after changing values by using the grab button to continuously update the image.
    If you don't like the MAX interface, I think you are going to need to store the values in a separate file. You could try to change the contents of the ICD file by using string manipulation, but I don't think it would be worth t
    he amount of time it would take to develop the tools.
    Bruce
    Bruce Ammons
    Ammons Engineering

  • How to create programmat​ically a new step type in TestStand (to myTypes.in​i)

    I need to create a new step type to myTypes.ini file programmatically. I have tried to do it with following steps:
    - Get reference to engine
    - Load type palette files
    - creating new step type (engine.NewSteptype() )
    - Inserting new type using TypeUsageList.InsertType method. Problem with this is the first parameter. It excpects it to be in a form of PropertyObject, but engine.NewStepType returns it as a StepType object. If I try to use StepType.AsPropertyObject it returns an error.
    How to convert StepType object to a PropertyObject?

    And here it is in C++:
    TS::IEnginePtr mEngine;
    SAFEARRAY * typeList;
    TS::TypeUsageListPtr typeUseage;
    TS:tepTypePtr stepObj;
    mEngine = engine;
    mEngine->LoadTypePaletteFiles();
    typeList=mEngine->GetTypePaletteFileList();
    TS:ropertyObjectFilePtr *rgelems;
    SafeArrayAccessData(typeList,(void**)&rgelems);
    typeUseage = rgelems[0]->TypeUsageList;
    stepObj=mEngine->NewStepType();
    TS:ropertyObject *property = stepObj->AsPropertyObject();
    property->PutName("TestMe");
    typeUseage->InsertType(property, 0, TS::TypeCategory_StepTypes);
    rgelems[0]->IncChangeCount();
    rgelems[0]->SaveFileIfModified(true);
    SafeArrayUnaccessData(typeList);

  • Programmat​ically modify scan engine scaling

    I need to be able to programmatically adjust the scaling factors for my cRIO analog channel.  I manage all
    my I/O from an external spreadsheet that gets compiled and ftp'd to 9
    cRIO targets.  Each cRIO will have different scaling factors.  I
    understand that this is a feature that will be forthcoming but I need
    to be able to do this within the next 2 months.  I already have in
    place a secondary scan engine of my own design that replicates all the
    I/O and includes such niceties as scaling, filtering,  zero offset and
    deadband updating.  Recently I noticed a file on the cRIO called
    'variables.xml' which quite clearly contains all of the I/O variable
    properties.  I am planning on writing a utility vi that can modify this
    xml file.  I believe I would have to call this vi from my cRIO code and
    then reboot to have it redigested into the LOGOS? server or scan
    engine.  I understand that the development engineers loath to support
    this type of activity and I also would not want this to be permanantly
    in my code, but only as a short term solution until the proper API is
    released.  If anyone has a better idea I would love to hear about it.

    sachsm,
    While I definitely don't promote doing what you suggested, I tried it out and it looks like it should theoretically work with a reboot.  I only did this with a straight VI ran from LabVIEW.  The xml file is generated when the scan engine variables are first deployed.  This file is updated on an input-by-input basis based on what was edited in the project explorer.  If the xml file is edited, then the device rebooted (but the project not changed) and you run the VI, the 'updated' scaling will be present.  Once you edit the particular IO in the project then it will override the manual edit.  When these are changed the scaling changes go into effect immediately and the device doesn't need to be rebooted.  Good idea, indeed, not sure if or what the implications may be with this though.  Definitely try at your own risk for this one.
    Regards,
    Jared Boothe
    Staff Hardware Engineer
    National Instruments

  • How to load programmat​ically from CVI the specific sequence file in TestStand 3.1

    I am trying to implement TestStand from Windows/CVI 3.1. I need to insert a specific sequence file in TestStand, with all other sequences unloaded. I used TSUI_ApplicationMgrCloseAllSequenceFiles() and TSUI_ApplicationMgrOpenSequenceFile(), but after Username/Password prompt, the TestStand loaded all the old sequences. How to eliminate this?

    Hello,
    I created a function that calls those two methods. When I made a simple CVI button and in a callback for it, I call my function, it does successfully close all open sequencefiles and then load the one I specified; however, it does not work when I call the function just before the call to RunUserInterface! I am very surprised by this and will be bringing it up with our R&D department. There is a simple work-around. Instead of closing all open sequencefiles at the beginning of the OI, close them at the end instead. I have modified the full-featured OI for you and tagged in the code where I made changes. This should do exactly what you want (you may want to change the code around to make it a little cleaner...I left more in code in than I needed for instructive purposes). Please let me know if you have any questions about this. Take care!
    Regards,
    Aaron B.
    National Instruments
    Attachments:
    TestExec.c ‏55 KB

  • Error -201402; how do you programmat​ically determine 'Samples per file' size

    Error -201402 - The samples per file is not divisible by the file write size. The error also give a suggested value to use, which is helpful, and i have amended by code to suit this value.
    I am writting to a tdms file in chunks, such as the first 2.5-5 seconds save the data (sampled at 1M samples per second per channel) to tdms files named initial.tdms, initial_0001.tdms (need to be able to split the files due large data size) then capture the remainder, such as 150 seconds of data (sampled at 1000 samples per second per channel) into a single file, remainder.tdms
    Example Inputs to the vi will be:
    Initial sampling rate = 1M
    Initial acquire time = 2.5 seconds
    Remainder sampling rate = 1000
    Remainder acquire time = 150 seconds
    What I want is to be able to programmatically set Logging.SampPerFile and maybe Logging.FileWriteSize to improve maintainablility and code reuse (I have a number of difference sequence patterns to generate/ capture.)
    I am also developing this code on a debug system which may have a different hard drive volume sector size so need to be able to derive the FileWriteSize based on this value, but don't know how to get/view this hard drive info.
    How do I go about this?
    Cheers,
    Helen
    CLD, CTD

    Thank you for your help.
    The Get Volume Info does indeed give me the Sector Size, however i still had problems with working out what multiple of the sector size to use.
    Based on "Samples per file - must be EVENLY divisible by the file write size" and "File write size - must be EVENLY divisible by the sector size" I have derived te following code snippet which ensures that the calculated SampPerFile is divisible by 4 (2 lots of evenly divisble by).
    Whilst this appears to work I wonder if anyone could comment/ suggest any pitfalls etc.
    Regards,
    Helen
    CLD, CTD

  • HT2513 How do you get iCal to its original size after having asked it to fill the screen.

    The iCal now fills the whole screen and I do not see how you reduce the size.

    Mouse up to the top of the screen and then click the blue icon in the menu bar when it appears.
    Or you can press the escape key.
    Matt

Maybe you are looking for

  • Problems with vista

    I have recently upgraded to vista (fresh install and it went great. even an idiot like me can do it). i have several swf based websites with links in them. they are action scripts like getURL(" http://www.penny-arcade.com/", "_blank"). in XP, these w

  • Has anyone found the mail app bug regarding "return" during typing?

    OS X 10.1.1 During the composition of an email, I find the cursor dropping down to the next line without hitting the "return" key. It will drop down after an apostrophe and sometimes in the middle of a word. It will also drop down a line for every ..

  • Tried to restore iPod and am now having difficulties with formatting

    Hi everyone, I had been having problems with my iPod Classic recently and I tried to restore it to factory settings. I believe the restore worked but I had walked away from my computer while it was going. Now, each time that i try to plug in my compu

  • Playing FLV in reverse

    Seems that you can't play an flv in reverse? I've searched a lot but couldn't find a solid answer or any hints to overcome this. Is this simply impossible (without embedding and reversing the timeline) or is there a solution out there?

  • Migrating BO from Windows 2000 to 2003 Server

    Post Author: Eric Van Steenbergen CA Forum: Older Products Hello,We're planning migration of our Windows 2000 Server to a Windows 2003 Server. Can anyone advice how to proceed regarding following issues:- repository is running on different server tha