How to create an accurate delay?

We try to control our 3-D piezostage using PCI-6229. Currently we restricted ourselves to send analog output in only 2-D. We want the increment, say in x-direction, is 0.1V per 10ms.  Using DAQ express indeed speed up the design but it  was done using “wait milliseconds” function(wait 10ms before increase another 0.1V), which is not accurate as the clock is software dependent(interruption from other software in Windows based system). How can I increase the accuracy? Can I use “multiple milliseconds” function or better still, “time” express vi? If we want to use DAQ express and use “hardware time”(external clock) to be the clock, how can it be done? Can someone please help out?

When you say “DAQ express” I assume you mean DAQmx, in
LabVIEW 7.0 or later. You could go the route of trying to do precise software
timed stuff, but using WinXP you will always run into the problems that you
mentioned. Hardware timed, will always be more accurate, but setting up the
control may be a bit tricky. To program a hardware timed acquisition you can either
do it explicitly with the DAQmx functions, or you can use the DAQ assistant
(which is an Express VI). With the DAQ assistant once you drop it down it
should be pretty straight forward how to configure it, a window will pop and
you will have to fill in what you want. I would also recommend taking a look at
some of the shipping examples to get a feel for DAQmx programming without using
the DAQ assistant. You can find these examples in LabVIEW by going to: Help
Menu >> Find Example. Then from there: Hardware Input and Output >>
DAQmx >> Analog Generation. If you look at the examples that are Internally
Clocked, those will be the easiest to work with initially. Now I am not too
sure how well this will be for stage control, generally this is done either
with a motion board or if fine enough control is needed FPGA. But with those
examples, it should give you a good starting point to work from.
 -GDE

Similar Messages

  • How to create a pushbutton delay in the FPGA module in Labview 8.2

    I am a very inexperienced programmer of Labview, and I have what I thought would be a simple problem. I have a CompactRIO system that utilizes Labview 8.2 as well as RT and FPGA modules. I am running an end of line tester that uses a pushbutton to start the test. I am looking to force an operator to hold the test start pushbutton for one second before testing begins. If the pushbutton is released before the second is up, the test will not start. In the FPGA module, I cannot figure out how to accomplish this. I have tried using both flat sequence and while loops, but I cannot get the program to work as stated above. With the flat sequence there is not a way, that I could see, to break out of the sequence should the pushbutton be released. Using the while loop, I was closer to a solution, but could not get the program to read the input consistently. I did verify that the 24Vdc signal is getting to the input card whenever the pushbutton is pressed. The program worked fine without trying to add the delay when I was just looking for a transistion to 24Vdc on the input card when the pushbutton was pressed.
    Any ideas?  Thanks!

    Here's how you might do it with a button on-screen in LabVIEW for Windows.  If you need more specific help, post your code, or a small portion of it that demonstrates the bit that you can't get working.  (The snippet is in LabVIEW 2009 since that's what I'm using, but the attached VI is saved for 8.2)
    Attachments:
    Hold 1 Second.vi ‏8 KB

  • How to create timer to delay On/Off

    I am currently using the evaluation version of LabView to figure out if LabView is a good choice for an application I would normally use ladder logic for. I am trying to find examples on how to do the following, any advice would be appreciated:
    -Timer for delaying On condition
    -Timer for delaying Off condition
    -Counter
    -Latching circuit

    Hi agon,
    From my experience, the cRIO should definitely be able to do that - though that would of course depends on the specifics of your application. In order to properly evaluate this system, you would likely need hardware. Have you been in contact with your local field sales engineer or inside sales engineer in Austin regarding your interest? If not, feel free to send me a private mesage with contact information (name, e-mail, phone number, company) and I can get one of them to get in touch with you. They would have more information about this, but we could likely set up a demo or something similar so that you can get a good visual feel for how LabVIEW/cRIO works and how it could be scaled up to your application.
    A great resource for now is the cRIO Developers Guide: http://www.ni.com/pdf/products/us/fullcriodevguide.pdf. This discusses high-level benefits of the cRIO's Real-Time OS (namely determinism and thread priority setting) and FPGA (very fast, user customizeable logic, no VHDL programming, parallelism) and then details of how this is implemented in LabVIEW (which may or may not become too low-level depending on how familiar you are with LabVIEW).
    As I touched upon above, evaluating us based on your application description would be difficult without hardware to play around with or see in action. However, the Developers Guide will show you how we communicate with I/O on a RIO and an idea of control code you can implement.
    Rahul B.
    Applications Engineer
    National Instruments

  • How to create a pulldown list in numbers

    how to create a pulldown list in numbers

    Here is it:
    Open Applescript editor
    Copy the entire script and paste it into Applescript Editor
    Compile it
    Read the instructions at the top of the script
    Run the script, following the instructions.
    You can save the script and it will be available in the Scripts menu (on the right side of the menu bar where Time Machine , Airport, and all those icons are).
    Copy and paste all of what is below:
    -- Script to populate a Numbers pop-up list.
    -- Instructions:
    --                    GUI scripting must be on in System Preferences
    --                    Create a list of items. Must be a contiguous range of cells in a table.
    --                    Select the range of cells to use as items in the popup.
    --                    Run the script. 
    --                    A dialog box will appear asking you to select which cells you want to turn into pop-ups
    --                    Select the cells then click OK on the dialog box
    set tValues to my doThis(1) -- get values of the selection
    if tValues is not "" then
      activate
              display dialog "Select the cells where you want to create the PopUp." & return & "After that, click on the 'OK' button."
              my doThis(tValues) -- set the cell format of the new selection to "PopUp Menu" and set the values of the each menu item
              tell application "Numbers" to display dialog "Done"
    else
              tell application "Numbers" to display dialog "You must select the cells in a table before running this script."
    end if
    on doThis(n)
              tell application "Numbers"
                        set tTables to (tables of sheets of front document whose its selection range is not missing value)
                        repeat with t in tTables -- t is a list of tables of a sheet
                                  if contents of t is not {} then -- this list is not empty, it's the selected sheet
                                            set activeTable to (get item 1 of t)
                                            if n = 1 then return value of cells of selection range of activeTable -- return values of the selection
                                            set format of (cells of selection range of activeTable) to pop up menu -- set the format to pop up menu
                                            return my setValuePopUp(n) -- set value of each menu item
                                  end if
                        end repeat
              end tell
              return ""
    end doThis
    on setValuePopUp(L)
              tell application "System Events"
                        tell process "Numbers"
                                  set frontmost to true
                                  delay 0.3
                                  set inspectorWindow to missing value
                                  set tWindows to windows whose subrole is "AXFloatingWindow"
                                  repeat with i in tWindows
                                            if exists radio group 1 of i then
                                                      set inspectorWindow to i
                                                      exit repeat
                                            end if
                                  end repeat
                                  if inspectorWindow is missing value then
      keystroke "i" using {option down, command down} -- Show Inspector
                                  else
      perform action "AXRaise" of inspectorWindow -- raise the Inspector window to the front
                                  end if
                                  delay 0.3
                                  tell window 1
      click radio button 4 of radio group 1 -- the "cell format" tab
                                            delay 0.3
                                            tell group 2 of group 1
                                                      set tTable to table 1 of scroll area 1
                                                      set tc to count rows of tTable
                                                      set lenL to (count L)
                                                      if tc < lenL then -- ** add menu items **
                                                                repeat until (count rows of tTable) = lenL
      click button 1 -- button [+]
                                                                end repeat
      keystroke return -- validate the default name of the last menu item
                                                      else if tc > lenL then -- ** remove menu items **
                                                                repeat while exists row (lenL + 1) of tTable
                                                                          select row (lenL + 1) of tTable
      click button 2 --  button [-]
                                                                end repeat
                                                      end if
                                                      tell tTable to repeat with i from 1 to lenL -- ** change value of each menu item **
                                                                set value of text field 1 of row i to item i of L
                                                      end repeat
                                            end tell
                                  end tell
                        end tell
              end tell
    end setValuePopUp

  • How to create a Layout variable in Macro

    Hi Friends,
    I have to run a macro in the planning book which will execute and perform disaggregation / aggregation at whatever level the users enter the data. For Example, if a user enters a data at Product level it has to disaggregate to the SKU level and execute the macro to calculate forecast figures. Always calculating at detailed level gives accurate results. Here am using Drill down and Drill up functionality .
    My question is, should I use any IF condition to perform a check say IF at AGG_LEVEL ('SKU') =1 then perform Drilldown. And for DrillUp should I set a LAYOUT_VARIABLE
    use this to determine if it needs to be drilled up.
    Am not familiar using this condition check and Layout variable creation. Can anyone pls let me know how do create these steps probably with an example.
    Thanks for your help in advance.
    Regards
    Bala

    Hi Bala,
    I suggest you to go through the following SAP standard macro book. It contains a collective macro..DRILL(Start), which in turn contains macros for setting indicators, for doing Drill-down and drill-up and deleting the idicators..In this way u can set your drill-up and drill -down macros for the charectaristics you want and do the automatic drill-up and drill-down.
    SNP94(1)_Interactive Planning
    regards,
    uma mahesh...
    confirm, Am i targetted ur post exactly...if not kindly post back...

  • How to add a time delay of microsecond in labview 2011

    can you please help me, how to add a time delay of microseconds in labview 2011 version . I expect a helpful replies

    A delay between what and what?
    Is this plain LabVIEW, LabVIEW RT, or LabVIEW FPGA? What kind of data acquisition hardware are you using?
    What is your OS? An accurate "software only" delay of microsseconds is not possible on windows or any other general purpose OS.
    perumpadapu wrote:
    ... I expect a helpful replies
    To get a helpful reply, you need to provide much more detail on what you are trying to do!
    LabVIEW Champion . Do more with less code and in less time .

  • What is this effect called, and how to create it?

    Hello,
    I' m just curious about this gradation effect's name, and how to create it in Photoshop.

    Hi,
    Chuck is on the right path. You can construct this with the Filter> Pixelate> Color Halftone..., but then you have to go further.
    The pattern is made of two sections of the same halftone channel, one rotated 180 degrees and horizontally offset.
    Basic outline:
    1. create a linear gradient (you can work in color or black/white)
    2. Filter> Pixelate> Color Halftone... use a large radius value for bigger circles, and set the channels to 0 or 90
    3. after the filter has run, go to the Channels panel and find a transition in one of the channels that you like
    4. Cmd/Ctrl click on the thumbnail of the channel to make a selection
    5. go back to the Layer panel and turn off the background layer with the full haltone filter effert.
    5. create a new layer, and fill it with a color (you want the dots to fill so invert the selection if needed)
    6. create another layer and fill it with a second color
    7. rotate the layer from step 6 180 degrees, and move it so the same size circles in the middle of you doc overlap. Now offset horizontally so the center point of circles lies halfway between the layer created in step 5.
    8. now marquee a selction that goes approximately half of the doc and create masks for both layers.
    9. Invert one fo the masks so that what you see is small dots of one color increasing to the center, and the second color decreasing back t the edge
    10 create a third layer and fill it with one of the color and drag copy the mask from the dot pattern layer of the opposite color. Drag this layer in stack order to just above the background layer.
    11. create a fourth layer filled with the opposite color of the step 11 layer. Drag this layer in stack order just below the layer you created in step 10.
    12. Now (there's surely some math that makes this more accurate but I was just eyeballing it), move the top layer with the mask linked down so it is below the other offset centers by ~60-70 %. Unlink the mask and move it back so more of the dot is exposed and starts to show when it will intersect with the other layer.
    13. Do the same mask movement with the second color dot layer so more of that layer's circle shows, until each dots tangents match up.
    Here's my layer panel for reference.
    regards,
    steve

  • How to create roadmap

    Hello
    I want to understand how to create roadmap
    Lets imagine I repair & improve my house. The roadmap will look like below :
    repair floor-repair celings-paint the walls-install new doors
    Am I right?

    Hi,
    Roadmap is step-by-step program and redirect your focus, replacing confusion with clarity and clear action.  Youu2019ll clarify your vision, values and purposeu2014and use it as a base for moving in a new and an exciting direction. 
    Take your Example of Improve and repair house.The  roadmap should cover, develop an accurate simulation techniues and model of  improve house,Detailed methods for simulation proposed ,the major issues, the direction along with the proposed timelines etc..
    Regards
    CSM Reddy

  • How two create UPDATE FUNCTION MODULE

    Hi,
    I have 2 tables to update one after the other...
    I have geard it is advisable to use update function module for this..
    can any1 tell me how to create and work with update function modules...
    Answers will be rewarded....

    Abhay,
    How an update function module works is, the execution of the FM is delayed to until when a COMMIT WORK statement is executed.
    Hence if you have the data available for updating the two DB tables at the time of calling the FM, you can pass the tables to the same FM and program the DB update for both in the same FM.
    However the COMMIT WORK should be outside the FM further down in the calling program.
    This link is very good and easy to follow
    http://help.sap.com/saphelp_erp2005vp/helpdata/en/41/7af4daa79e11d1950f0000e82de14a/frameset.htm
    Hope it helps
    Aditya[url=http://help.sap.com/saphelp_erp2005vp/helpdata/en/41/7af4daa79e11d1950f0000e82de14a/frameset.htm]
    Message was edited by:
            Aditya

  • How to create MS (Mid Side) tracks from a stereo file

    Hi everyone.
    Can anyone tell me how to create MS tracks from a stereo file?
    I used to do it on old analogue desks but can't figure how to it in logic.
    Would appreciate assistance.

    Hi guys. Here's what I'm really trying to do...It's to do with digital - DAB - radio.
    I've noticed on DAB radio that certain songs exhibit weird and severe loss of stereo image. e.g.
    When listening to "Riders on the Storm" by the Doors the keyboard solo goes missing. Totally vanished, bar a weak reverb remnant.
    When I first heard this problem it reminded me instantly of an experiment I made with MS encoding on an analogue desk with that very track some years ago: which I mentioned in my first thread.
    I'm not attempting to use MS here for a positive purpose. Quite the reverse! It is the INCONPATIBILTY that I am after.
    DAB is broadcasted in the UK using MP2 encoding, which divides the spectrum into 750Hz portions. That makes 13 portions, roughly, if you divide 750 into 10000. I've just set up 13 versions of Riders on the Storm and have bandwidth limited each accordingly: 20 Hz-770 Hz, 770 Hz-1520 Hz, 1520 Hz-2270 Hz etc.. Low and behold, weird things are already starting to happen to the stereo image. Jim Morrison's vocal exihibits a 1.5 second time delay (i.e. loss of reverb intergity, reverb transformed into a discrete one beat time delay) when all thirteen tracks are played together. Now I'm going to try MS encoding this to replicate the way DAB would send these chunks across the airwaves.
    If you've got time, try it too! And please give me some more tips on how to create MS from stereo files.
    Best.
    Power Book G4 15   Mac OS X (10.1.x)  
    Power Book G4 15   Mac OS X (10.1.x)  

  • How to create a new excel file using Excel Destination when Destination file not exists.

    how to create a new excel file using Excel Destination when Destination file not exists.

    Just need to set an expression for excel connectionstring and set delay validation to true and it will create it on the fly.
    The expression should return the full path with dynamic filename in each case.
    Please Mark This As Answer if it helps to solve the issue Visakh ---------------------------- http://visakhm.blogspot.com/ https://www.facebook.com/VmBlogs

  • How to create a warm full chorus effect on a vocal track? What effects, plugins or methods to use?

    Hey, I am using Logic pro 9 and have been for quite sometime now. The reason I am here today is because I want to know how to create a warm, more full, (almost doubling) chorus effect for my vocal hooks for the hip-hop tracks that I create. I have always heard that type of effect on hooks and never knew how they did it. For example in this song (This song is not my song, excuse the language but this is the type of effect i am looking for. Go to 1:12 of the song)
    http://www.youtube.com/watch?v=5aok9Hq7GQ4
    This is what I am looking for. PLEASE SOME ONE HELP I WOULD REALLY APPRICATEIT!! Thanks

    True, the equipment that I am using does matter and at the moment I am only using a usb microphone with no pre amps or audio interface. I was asking that question to know what methods people use to create that chorus  effect. What I did for the time being until I get my new set up I had a main vocal track that was centered and had no effect on it, then made 2 other copies so I had 3 tracks all together I panned one track all the way left and the other track all the way right then I applied the stereo spreader to the two copied tracks and turned the mix 76% channel delay 250 same intensity 100% and speed 1.644 Hz. Then I manually moved the tracks so that the left panned track came first then the main track then the right panned track. It was very small moves not to the point were you could tell just gave it that chorus effect. Do you think those were the right things to do? So its close almost there and maybe with the new setup it will be what I am looking for. But PLEASE KEEP COMMENTING EVERYONE HAS THERE OWN METHODS I AM CURIOUS TO KNOW YOURS!

  • How to Create the Custom print Quote Report ?

    Hi All,
    I want to create the custom Print Quote report . I know the below details and referred the below metalinks .
    Note: 780722.1 - How to Create a Custom Print Quote Template in Oracle Quoting ?
    https://metalink2.oracle.com/metalink/plsql/ml2_documents.showDocument?p_database_id=NOT&p_id=780722.1
    Note: 392728.1 - How to Modify the data source for the XML version of the Print Quote report
    https://metalink2.oracle.com/metalink/plsql/ml2_documents.showDocument?p_database_id=NOT&p_id=392728.1
    Note: 468982.1 - How To Customize The Asoprint.Xsl
    https://metalink2.oracle.com/metalink/plsql/ml2_documents.showDocument?p_database_id=NOT&p_id=468982.1.
    Oracle Metalink:
    Note: To add a column to the print quote report, following files need to be updated:
    LinesVO.xml --- xml files containing the sql query and attribute definition
    LinesVORowImpl.class - public class extending the framework class OAViewRowImpl.
    This class contains the set and get for the attributes defined in xml file.
    ASOPRINT.xsl - this is the xsl stylesheet file used to describe the report layout.
    This file needs to be modified to include the new column being added to the report
    QUESTION :
    My question is,
    1. wether my approach (below iare the details)of trying to extend the PromptVO is the right way or is there any other way to add the new columns.
    I want to add new fields on to the report . When i looked into the it says the below
    Here we find that to add a new column, oracle says to update the LINESVO.xml, do they really mean to update the base files.
    This report uses following VO's
    PROMPTVO
    HEADERVO,
    LINESVO.
    To create new Headers & Prompts, i tried extending the PROMPTVO. Once the extended VO is substitued , i dont even get the data for standard oracle Prompts. is this the right way to add columns?
    Thanks

    Hi All,
    I want to create the custom Print Quote report . I know the below details and referred the below metalinks .
    Note: 780722.1 - How to Create a Custom Print Quote Template in Oracle Quoting ?
    https://metalink2.oracle.com/metalink/plsql/ml2_documents.showDocument?p_database_id=NOT&p_id=780722.1
    Note: 392728.1 - How to Modify the data source for the XML version of the Print Quote report
    https://metalink2.oracle.com/metalink/plsql/ml2_documents.showDocument?p_database_id=NOT&p_id=392728.1
    Note: 468982.1 - How To Customize The Asoprint.Xsl
    https://metalink2.oracle.com/metalink/plsql/ml2_documents.showDocument?p_database_id=NOT&p_id=468982.1.
    Oracle Metalink:
    Note: To add a column to the print quote report, following files need to be updated:
    LinesVO.xml --- xml files containing the sql query and attribute definition
    LinesVORowImpl.class - public class extending the framework class OAViewRowImpl.
    This class contains the set and get for the attributes defined in xml file.
    ASOPRINT.xsl - this is the xsl stylesheet file used to describe the report layout.
    This file needs to be modified to include the new column being added to the report
    QUESTION :
    My question is,
    1. wether my approach (below iare the details)of trying to extend the PromptVO is the right way or is there any other way to add the new columns.
    I want to add new fields on to the report . When i looked into the it says the below
    Here we find that to add a new column, oracle says to update the LINESVO.xml, do they really mean to update the base files.
    This report uses following VO's
    PROMPTVO
    HEADERVO,
    LINESVO.
    To create new Headers & Prompts, i tried extending the PROMPTVO. Once the extended VO is substitued , i dont even get the data for standard oracle Prompts. is this the right way to add columns?
    Thanks

  • How to create a report based on a DataSet programatically

    I'm working on a CR 2008 Add-in.
    Usage of this add-in is: Let the user choose from a list of predefined datasets, and create a totally empty report with this dataset attached to is. So the user can create a report based on this dataset.
    I have a dataset in memory, and want to create a new report in cr2008.
    The new report is a blank report (with no connection information).
    If I set the ReportDocument.SetDataSource(Dataset dataSet) property, I get the error:
    The report has no tables.
    So I must programmatically define the table definition in my blank report.
    I found the following article: https://boc.sdn.sap.com/node/869, and came up with something like this:
    internal class NewReportWorker : Worker
          public NewReportWorker(string reportFileName)
             : base(reportFileName)
    public override void Process()
             DatabaseController databaseController = ClientDoc.DatabaseController;
             Table table = new Table();
             string tabelName = "Table140";
             table.Name = tabelName;
             table.Alias = tabelName;
             table.QualifiedName = tabelName;
             table.Description = tabelName;
             var fields = new Fields();
             var dbField = new DBField();
             var fieldName = "ID";
             dbField.Description = fieldName;
             dbField.HeadingText = fieldName;
             dbField.Name = fieldName;
             dbField.Type = CrFieldValueTypeEnum.crFieldValueTypeInt64sField;
             fields.Add(dbField);
             dbField = new DBField();
             fieldName = "IDLEGITIMATIEBEWIJS";
             dbField.Description = fieldName;
             dbField.HeadingText = fieldName;
             dbField.Name = fieldName;
             dbField.Type = CrFieldValueTypeEnum.crFieldValueTypeInt64sField;
             fields.Add(dbField);
             // More code for more tables to add.
             table.DataFields = fields;
             //CrystalDecisions.ReportAppServer.DataDefModel.ConnectionInfo info =
             //   new CrystalDecisions.ReportAppServer.DataDefModel.ConnectionInfo();
             //info.Attributes.Add("Databse DLL", "xxx.dll");
             //table.ConnectionInfo = info;
             // Here an error occurs.
             databaseController.AddTable(table, null);
             ReportDoc.SetDataSource( [MyFilledDataSet] );
             //object path = @"d:\logfiles\";
             //ClientDoc.SaveAs("test.rpt", ref path, 0);
    The object ClientDoc referes to a ISCDReportClientDocument in a base class:
       internal abstract class Worker
          private ReportDocument _ReportDoc;
          private ISCDReportClientDocument _ClientDoc;
          private string _ReportFileName;
          public Worker(string reportFileName)
             _ReportFileName = reportFileName;
             _ReportDoc = new ReportDocument();
             // Load the report from file path passed by the designer.
             _ReportDoc.Load(reportFileName);
             // Create a RAS Document through In-Proc RAS through the RPTDoc.
             _ClientDoc = _ReportDoc.ReportClientDocument;
          public string ReportFileName
             get
                return _ReportFileName;
          public ReportDocument ReportDoc
             get
                return _ReportDoc;
          public ISCDReportClientDocument ClientDoc
             get
                return _ClientDoc;
    But I get an "Unspecified error" on the line databaseController.AddTable(table, null);
    What am i doing wrong? Or is there another way to create a new report based on a DataSet in C# code?

    Hi,
    Have a look at the snippet code below written for version 9 that you might accommodate to CR 2008, it demonstrates how to create a report based on a DataSet programmatically.
    //=========================================================================
    +           * the following two string values can be modified to reflect your system+
    +          ************************************************************************************************/+
    +          string mdb_path = "C:
    program files
    crystal decisions
    crystal reports 9
    samples
    en
    databases
    xtreme.mdb";    // path to xtreme.mdb file+
    +          string xsd_path = "C:
    Crystal
    rasnet
    ras9_csharp_win_datasetreport
    customer.xsd";  // path to customer schema file+
    +          // Dataset+
    +          OleDbConnection m_connection;                         // ado.net connection+
    +          OleDbDataAdapter m_adapter;                              // ado.net adapter+
    +          System.Data.DataSet m_dataset;                         // ado.net dataset+
    +          // CR variables+
    +          ReportClientDocument m_crReportDocument;          // report client document+
    +          Field m_crFieldCustomer;+
    +          Field m_crFieldCountry;+
    +          void CreateData()+
    +          {+
    +               // Create OLEDB connection+
    +               m_connection = new OleDbConnection();+
    +               m_connection.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + mdb_path;+
    +               // Create Data Adapter+
    +               m_adapter = new OleDbDataAdapter("select * from Customer where Country='Canada'", m_connection);+
    +               // create dataset and fill+
    +               m_dataset = new System.Data.DataSet();+
    +               m_adapter.Fill(m_dataset, "Customer");+
    +               // create a schema file+
    +               m_dataset.WriteXmlSchema(xsd_path);+
    +          }+
    +          // Adds a DataSource using dataset. Since this does not require intermediate schema file, this method+
    +          // will work in a distributed environment where you have IIS box on server A and RAS Server on server B.+
    +          void AddDataSourceUsingDataSet(+
    +               ReportClientDocument rcDoc,          // report client document+
    +               System.Data.DataSet data)          // dataset+
    +          {+
    +               // add a datasource+
    +               DataSetConverter.AddDataSource(rcDoc, data);+
    +          }+
    +          // Adds a DataSource using a physical schema file. This method require you to have schema file in RAS Server+
    +          // box (NOT ON SDK BOX). In distributed environment where you have IIS on server A and RAS on server B,+
    +          // and you execute CreateData above, schema file is created in IIS box, and this method will fail, because+
    +          // RAS server cannot see that schema file on its local machine. In such environment, you must use method+
    +          // above.+
    +          void AddDataSourceUsingSchemaFile(+
    +               ReportClientDocument rcDoc,          // report client document+
    +               string schema_file_name,          // xml schema file location+
    +               string table_name,                    // table to be added+
    +               System.Data.DataSet data)          // dataset+
    +          {+
    +               PropertyBag crLogonInfo;               // logon info+
    +               PropertyBag crAttributes;               // logon attributes+
    +               ConnectionInfo crConnectionInfo;     // connection info+
    +               CrystalDecisions.ReportAppServer.DataDefModel.Table crTable;+
    +               // database table+
    +               // create logon property+
    +               crLogonInfo = new PropertyBag();+
    +               crLogonInfo["XML File Path"] = schema_file_name;+
    +               // create logon attributes+
    +               crAttributes = new PropertyBag();+
    +               crAttributes["Database DLL"] = "crdb_adoplus.dll";+
    +               crAttributes["QE_DatabaseType"] = "ADO.NET (XML)";+
    +               crAttributes["QE_ServerDescription"] = "NewDataSet";+
    +               crAttributes["QE_SQLDB"] = true;+
    +               crAttributes["QE_LogonProperties"] = crLogonInfo;+
    +               // create connection info+
    +               crConnectionInfo = new ConnectionInfo();+
    +               crConnectionInfo.Kind = CrConnectionInfoKindEnum.crConnectionInfoKindCRQE;+
    +               crConnectionInfo.Attributes = crAttributes;+
    +               // create a table+
    +               crTable = new CrystalDecisions.ReportAppServer.DataDefModel.Table();+
    +               crTable.ConnectionInfo = crConnectionInfo;+
    +               crTable.Name = table_name;+
    +               crTable.Alias = table_name;+
    +               // add a table+
    +               rcDoc.DatabaseController.AddTable(crTable, null);+
    +               // pass dataset+
    +               rcDoc.DatabaseController.SetDataSource(DataSetConverter.Convert(data), table_name, table_name);+
    +          }+
    +          void CreateReport()+
    +          {+
    +               int iField;+
    +               // create ado.net dataset+
    +               CreateData();+
    +               // create report client document+
    +               m_crReportDocument = new ReportClientDocument();+
    +               m_crReportDocument.ReportAppServer = "127.0.0.1";+
    +               // new report document+
    +               m_crReportDocument.New();+
    +               // add a datasource using a schema file+
    +               // note that if you have distributed environment, you should use AddDataSourceUsingDataSet method instead.+
    +               // for more information, refer to comments on these methods.+
    +               AddDataSourceUsingSchemaFile(m_crReportDocument, xsd_path, "Customer", m_dataset);+
    +                              +
    +               // get Customer Name and Country fields+
    +               iField = m_crReportDocument.Database.Tables[0].DataFields.Find("Customer Name", CrFieldDisplayNameTypeEnum.crFieldDisplayNameName, CeLocale.ceLocaleUserDefault);+
    +               m_crFieldCustomer = (Field)m_crReportDocument.Database.Tables[0].DataFields[iField];+
    +               iField = m_crReportDocument.Database.Tables[0].DataFields.Find("Country", CrFieldDisplayNameTypeEnum.crFieldDisplayNameName, CeLocale.ceLocaleUserDefault);+
    +               m_crFieldCountry = (Field)m_crReportDocument.Database.Tables[0].DataFields[iField];+
    +               // add Customer Name and Country fields+
    +               m_crReportDocument.DataDefController.ResultFieldController.Add(-1, m_crFieldCustomer);+
    +               m_crReportDocument.DataDefController.ResultFieldController.Add(-1, m_crFieldCountry);+
    +               // view report+
    +               crystalReportViewer1.ReportSource = m_crReportDocument;+
    +          }+
    +          public Form1()+
    +          {+
    +               //+
    +               // Required for Windows Form Designer support+
    +               //+
    +               InitializeComponent();+
    +               // Create Report+
    +               CreateReport();+
    +               //+
    +               // TODO: Add any constructor code after InitializeComponent call+
    +               //+
    +          }+//=========================================================================

  • How to create a group calendar?

    Hello,
    i am sorry but this is one more question on wiki-group-calendars.
    *In short:*
    I am not able to create a group calendar with the wiki frontend. the calendar that is created with a wiki is owned by the admin of the wiki. So it is always a personal calendar that cannot be shared in iCal.
    LONG:
    I want to create a group calendar that is viewed and edited through iCal.app and the web service. Apple´s "wiki deployment" guide says on page 57:
    +"The web calendar allows you to easily schedule events for yourself or your group. ...+
    +There are *two types of web calendars: personal and group*. You can send and receive event invitations through the personal calendar but not through the group calendar. Also, *while anyone in a group can create or edit events in a group calendar*, you can edit only events in your own personal calendar or event invitations you send to other people.+
    +The web calendar uses iCal Server to store events and invitations. ..."+
    But there is not mentioned how to create a group calendar. The calendar created with the wiki web-frontend belongs to the admin of that particular wiki. This is why the calendar data ist stored in folder named with the UUID of the wiki admin. Also the alias "http://server.fqdn:8008/principals/groups/mygroupname/" which i provided in iCal turns into ..._uids_UUID-of-the-wiki-admin and only the wiki-admin can access this calendar in iCal.app.
    My research on this topic reveals that there were in issue that should be resolved in 10.6.4 (that is running on our Server). So, again, how to create a group calendar?
    Thanks, Philipp.
    10.6.4 OSX Server
    10.6.x Clients

    farmer tan wrote:
    you need to go to the wiki page and add the wiki's there and then in the setting of the wiki is where you set permissions and services such as calendar, blog, and podcast you can also set all permissions for the wiki in the settings tab
    fyi none of my groups were available unless i logged into the wiki as the Directory Admin not Server Admin
    migrated from 10.5.7 to 10.6
    Message was edited by: farmer tan
    Could you be more specific farmer tan, please?
    You said "you need to go to the wiki page and add the wiki's there...." What is the "wiki page" you mention? Is that some place I go to via the browser or the Server Admin tool?
    I went to http://ical.mysite.com/ical/ and logged in as the Directory Administrator but didn't see anything resembling what you described.
    Thanks in advance for any help you can provide.

Maybe you are looking for

  • I can't burn a CD anymore...

    Help! I can't burn a CD anymore. I try it in finder and get a can't communicate error...in iTunes...same thing...in iPhoto, (you guessed it...same thing) I can read my created CD's just fine with no problems (those I have created as well as those fro

  • Test results showing how FCP7 running on 10.6 messes with gamma

    I've been running some simple tests to determine how FCP7 handles gamma when running 10.6.4. Note that 10.6.4 now uses a gamma of 2.2 natively (as do PCs). I created three images in targa, png and tif (also tried exr, but FCP won't read that) that co

  • The requested feature DSC-Service is not found on the target machine.

    Hi, I'm trying to create a DSC Pull Server with a 2008 R2 SP1 Virtual Machine, While many of the forums and tutorials have helped, particularly https ://www .google.com/url?url=https://davewyatt.wordpress.com/2014/06/07/how-to-install-a-dsc-pull-serv

  • All words in reverse order - "mirror" effect

    I have got N80 phone. Just upgraded to a new firmware from Nokia website via USB cable. Installation went perfect, no any failures or error. At the end i got all words in the phone in reverse order, actually with "mirror" effect. The phone is working

  • SQL to do a like compare against two concatenated columns...

    I'm trying to do a like search against two columns that house a first and last name, but people might touch like 'John Doe' Can I do a like search against concatenated columns? Kinda what I want to do ... select * FROM worker_view WHERE (LOWER(E.USUA