Dashboard in Win Form

Hi,
I want to embed the dashboard (.swf) file created using Xcelsius Engage 2008 into a .net winforms application.
Is it possible? If yes please help me.
Regards,
Neel.

Hi Neel,
There is a Shockwave ActiveX COM component to show swf files on win forms in .NET, I think that will cater your requirement.
Thanks
Gaurav

Similar Messages

  • Group Tree issue, web form vs Win form?

    Using Crystal Reports for Visual Studio 2010...
    I am using the same report file for a Win form and web form version of the same utility program.  The report was built bases on a view to the database, and both programs populate the report based on a dataset which has the same columns with restrictive where clauses, based on user input prior to populating the report.
    On the Win Form version, when the user clicks a group on the Group Tree, the report nicely navigates to the appropriate section of the report. However... on the Web version, the ReportViewer makes a return trip to the database, refreshing the data with the entire view, overwriting the original content.  In other words, out of lets say 50,000 possible records, if I ask for 50, they are displayed as I want, but in the web report, if I try and navigate to any of the 50, I get all 50,000 (an no navigation), an unwanted return to the database.
    I am perplexed, as it is the same report file used by both versions.
    I tried hiding the Group Tree panel (I don't need it), per instructions (CrystalReportViewer1.ToolPanelView = ToolPanelViewType.None;)
    But that only closes the panel, and it is still available to the user to open (icon remaining). Is it possible to really make the Group Tree unavailable?
    thanks,
    Mark

    Ludek,
    What I wish to do is follow the instructions for placing the report in a session, per your suggestions above:
         Place the report in session. See
         KBA 1985571 - How to use sessions in web applications using the Crystal Reports viewer (the complete code)
    OK, since I'm new at this, where does the code go? I can't seem to resolve RAPPBasePage, and I admit that without more specific directions on the linked page, I'm more than a bit lost with this.
    Thanks,
    Mark
    Below is a complete code that describes how to ensure the report is in
    session:
    public partial class Reports : RAPPBasePage
          private ReportDocument crReportDocument;
          protected override void Page_Init(object sender, EventArgs e)
               //connect method to master event
               base.Page_Init(sender, e);

  • Not a dashboard to add forms in manager business catalyst

    i don't understand:  Icreated a muse site and send it on adobe business catalyst to test. When i go on my dashboard on creative.adobe I can see  my site but whenI open the admin of this site  i can't  add form of apps or widgets . I can do that with site created directly with adobe catalyst. What  can i do to change that?  I watch tuto, i add a template page with a tag_pagecontent, and publish from muse ...but it's always the same ,i am on a test period... i try a lot ... thanks for help !!!

    Hi
    The features you are looking are in the Site Manager menu. In order to enable site management for your user, please log into your site, and click on "My Details" .In the My details page, please check the option "Enable online content editing (incompatible with Muse) , and enter the password to confirm.
    Go back to your Dashboard, and you'll be able to Access the Site Manager.
    Best regards,
    Aniela

  • How to clear the reader control when displayed on a Win Form?

    Hello
    I am using the reader control to display a pdf using VB.NET 2008 on Windows XP / Win 7.  The pdf is realted to a record displayed in a grid.  The problem I am having is I can not find a way to clear the document.
    The grid is filtered and can be changed by the user.  When the filter changes the reader control has no file to reference, but I can not find a "clear" function.  When the form loads the reader control is nicely blank but I can not revert to that state.  I created a blank pdf but that is confusing because the toolbar remains.  So what now?  Hide that?  Then hide the scrollbars and hope more quirky things don't happen.
    Is there a way to have an empty reader control (like it exists when the form loads) without destroying and re-creating the control every time?
    Thanks
    JM

    Hi Derek,
    I would suggest you check out a piece of freeware called 'CCLEANER' from the following link :_
    http://www.ccleaner.com/
    I use this myself on a regular basis to clear out unwanted bits and pieces from my system including internet cookies which I do not want.
    Be careful though, it can sometimes clean more than expected. :)
    regards,

  • How to bind bar chart(columns) to array list object in c# win form

    how to bind bar chart(columns) to array list  object in c#win form

    Hi Ramesh,
    Did you want to bind list object to bar chart? I made a simple code to achieve binding list to bar chart.
    public partial class Form0210 : Form
    public Form0210()
    InitializeComponent();
    private void Form0210_Load(object sender, EventArgs e)
    BindData();
    public void BindData()
    List<int> yValues = new List<int>(new int[] { 20, 30, 10, 90, 50 });
    List<string> xValues = new List<string>(new string[] { "1:00", "2:00", "3:00", "4:00", "5:00" });
    chart1.Series[0].Points.DataBindXY(xValues, yValues);
    The links below might be useful to you:
    # Data Binding Microsoft Chart Control
    http://blogs.msdn.com/b/alexgor/archive/2009/02/21/data-binding-ms-chart-control.aspx
    # Series and Data Points (Chart Controls)
    https://msdn.microsoft.com/en-us/library/vstudio/dd456769(v=vs.100).aspx
    In addition, if I misunderstood you, please share us more information about your issue.
    Best Regards,
    Edward
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

  • Win Forms app Main(args) being bypassed.

    I have a winforms app that is being placed in an I frame of a web application. When I open the winforms
    app via command line on my local system by clicking the .exe file or by program shortcut it works fine. When it launches on the web(in a web app that I have no control over the code and did not create the application) it seems to skip Main in my program.cs
    file. In fact it doesn't seam to hit the program.cs code at all. I can get other parts of the application that are dependent dll libaries to show the message boxes fine. Anyone know what could be causing this issue. 
    Note: There is no asp.net involved here!
    Just PerdueIT

    I have a winforms app that is being placed in an I frame of a web application. When I open the winforms app via command
    line on my local system by clicking the .exe file or by program shortcut it works fine. When it launches on the web(in a web app that I have no control over the code and did not create the application) it seems to skip Main in my program.cs file. In fact it
    doesn't seam to hit the program.cs code at all. I can get other parts of the application that are dependent dll libaries to show the message boxes fine. Anyone know what could be causing this issue. 
    Note: There is no asp.net involved here!
    Just PerdueIT
    This forum is to discuss windows form application, and it seems that your issue is mainly regarding web application(include website, webapi, web service and so on), web application issues should be posted in asp.net forum.
    remember make the reply as answer and vote the reply as helpful if it helps.

  • How to convert files into pdf forms? (claiming winning forms)?

    How to convert into forms into pdf files?

    Please refer : http://www.adobe.com/content/dam/Adobe/en/products/acrobat/pdfs/adobe-acrobat-xi-convert-f orms-into-fillable-pdf-tutorial_ue.pdf

  • How Do I create Windows Form file in VS and add the form to my VS project?

    C#, How Do I create Windows Form file in VS and add the form file to my VS project by using C# code?
    I like to create a Windows Form file into my VS Win Form project by using C#. I have the path and the file name.
    I need a Win Form with FileName.cs, FileName.Designer.cs, FileName.resx, and FileName (as you see it VS by adding a Win Form manually by using VS)
    Rune Brattas

    You cannot create a Form from code at run time. 
    For one thing, the user running your application will, almost certainly, not have  a copy of Visual Studio to hand with which to build anything.  (Not that you actually need 'Studio at all; Notepad and csc.exe are all you actually
    need), but that's another story).
    You can do this with an awful lot of pain, using the innards of the compiler from iside your own program, compiling the new Form's source code on the fly and then executing the resulting assembly within your application.  IMHO, that's a simply terrifying
    prospect especially as the code you will be compiling will be on someone else's machine and over which you will have absolutely no control.  If you're lucky, they'll spell something wrong and it won't compile.
    The "usual" way to do this sort of thing is to create additional, "plug-in" forms as library assemblies and have your program load and execute these at run-time. 
    Regards, Phill W.

  • Common Date: How to input same period in a dashboard

    Hi there,
    I'm a newbe in BO InfoView, and i9u2019de like to know, how I can create in a dashboard a input form, that provide input to all documents  (Web Intelligence report, analytic graphics...).
    Best regards,
    Bruno Silva

    Hi there,
    I'm a newbe in BO InfoView, and i9u2019de like to know, how I can create in a dashboard a input form, that provide input to all documents  (Web Intelligence report, analytic graphics...).
    Best regards,
    Bruno Silva

  • How to implement two way databinding in windows form c#

    suppose my win form has textboxes, listbox, dropdown, radio button and check box. now i want to bind those control and whenever data will be changes from out side then change should be reflected in control level. how to achieve it in winform. help me with
    a small working sample code. thanks

    Hello,
    If using SQL-Server look at using SQL Dependency class to get notified of changes outside of your application say by another app or from even SQL Server Management Studio
    https://www.google.com/search?q=sqldependency+example&sourceid=ie7&rls=com.microsoft:en-US:IE-SearchBox&ie=&oe=&rlz=&safe=active&gws_rd=ssl
    Sorry I don't have a working example but perhaps the following might provide a clue into what is needed. I am only using a DataGridView but this could be expanded to other controls. There is a good deal of preparation and work internally to have this working
    right when considering all scenarios
    Form code
    namespace FrontEnd_CS
    /// <summary>
    /// Provides the basics to listen to a database table operations, see also the
    /// Readme file in the Solution Items
    /// </summary>
    /// <remarks>
    /// DgvFilterManager is a third party component that permits right-click a column header
    /// in a DataGridView and do filtering on one or more columns
    /// </remarks>
    public partial class Form1 : Form
    private BindingSource bs = new BindingSource();
    private Customers CustomerData = null;
    public Form1()
    InitializeComponent();
    try
    SqlClientPermission perm = new SqlClientPermission(System.Security.Permissions.PermissionState.Unrestricted);
    perm.Demand();
    catch
    throw new ApplicationException("No permission");
    public void OnNewMessageFromServer()
    ISynchronizeInvoke iSyncInvoke = (ISynchronizeInvoke)this;
    // Check if the event was generated from another thread and needs invoke instead
    if (iSyncInvoke.InvokeRequired)
    Customers.NewMessage messageDelegate = new Customers.NewMessage(OnNewMessageFromServer);
    iSyncInvoke.BeginInvoke(messageDelegate, null);
    return;
    // If not coming from a seperate thread we can access the Windows form controls
    LoadCurrentData();
    private void LoadCurrentData()
    DataGridView1.DataSource = null;
    bs.DataSource = CustomerData.GetMessages();
    DataGridView1.DataSource = bs;
    DataGridView1.ExpandColumns();
    bindingNavigator1.BindingSource = bs;
    private void Form1_Load(object sender, EventArgs e)
    CustomerData = new Customers();
    CustomerData.OnNewMessage += OnNewMessageFromServer;
    LoadCurrentData();
    Support code
    namespace BackEnd_CS
    public class Customers
    private static string ConnectionString = "Server=.\\SQLEXPRESS;Trusted_Connection=True;Initial Catalog=CustomerDatabase";
    private SqlConnection Connection = null;
    public delegate void NewMessage();
    public event NewMessage OnNewMessage;
    public Customers()
    // Stop an existing services on this connection string just be sure
    SqlDependency.Stop(ConnectionString);
    // Start the dependency, User must have -- SUBSCRIBE QUERY NOTIFICATIONS permission
    // Database must also have SSB enabled -- ALTER DATABASE CustomerDatabase SET ENABLE_BROKER
    SqlDependency.Start(ConnectionString);
    // Create the connection
    Connection = new SqlConnection(ConnectionString);
    ~Customers()
    SqlDependency.Stop(ConnectionString);
    /// <summary>
    /// Retreive messages from database via conventional SQL statement
    /// </summary>
    /// <returns></returns>
    /// <remarks></remarks>
    public DataTable GetMessages()
    DataTable dt = new DataTable();
    try
    // Create command
    // Command must use two part names for tables
    // SELECT <field> FROM dbo.Table rather than
    // SELECT <field> FROM Table
    // Do not use
    // FROM [CustomerDatabase].[dbo].[Customer]
    // Use
    // FROM [dbo].[Customer]
    // Query also can not use *, fields must be designated
    SqlCommand cmd = new SqlCommand("SELECT [Identifier],[CompanyName],[ContactName],[ContactTitle] FROM [dbo].[Customer]", Connection);
    // Clear any existing notifications
    cmd.Notification = null;
    // Create the dependency for this command
    SqlDependency dependency = new SqlDependency(cmd);
    // Add the event handler
    dependency.OnChange += OnChange;
    // Open the connection if necessary
    if (Connection.State == ConnectionState.Closed)
    Connection.Open();
    // Get the messages
    dt.Load(cmd.ExecuteReader(CommandBehavior.CloseConnection));
    catch (Exception ex)
    throw ex;
    return dt;
    /// <summary>
    /// Handler for the SqlDependency OnChange event
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    private void OnChange(object sender, SqlNotificationEventArgs e)
    SqlDependency dependency = sender as SqlDependency;
    // Notices are only a one shot deal so remove the existing one so a new one can be added
    dependency.OnChange -= OnChange;
    // Fire the event
    if (OnNewMessage != null)
    OnNewMessage();
    Please remember to mark the replies as answers if they help and unmark them if they provide no help, this will help others who are looking for solutions to the same or similar problem. Contact via my webpage under my profile but do not reply to forum questions.

  • Calling Console App from Win Interface

    Need to call a console app[long running process] from a windows interface, such that
    1. The interface remains active after calling the console app
    2. So that I am able to fire another call via interface to the console app
    3. And these two would run concurrently 
    Some googling around gave me certain solutions... will try today .
    1. From Win Forms Interface , I call my console app with this code
    [Link]
    ProcessStartInfo oStartInfo = new ProcessStartInfo()
    oStartInfo.FileName = ApplicationName;
    oStartInfo.Arguments = BaseOptions + MyLoopLoadedItemsHere;
    Process.Start(oStartInfo)
    2. Use the background worker class in the interface component and then call the console app.
    3. Or Any thing else ?
    However feedback required on whats the best approach according to you

    You are on the right track. However you don't need to use a background worker class in this particular case. The line "Process.Start(oStartInfo)" returns immediately  and the process will run in parallel to yours.

  • RegisterHotKey(....) to disable hotkeys such as ALT+F4 is not working in C# Web Browser control

    Disabling hot keys like "ALT+F4" using register RegisterHotKey(..) function and wndproc(..) function in c# windows application is not working as expected in few cases. Below is the description.
    I am using C# Web Browser control in windows application to display Web Pages. We are disabling hot keys like ALT+F4 by calling the method RegisterHotKey(..) and capture the hot key message in Wndproc(..) function. Initially This is working as expected
    normally.
    But as part of new requirement, we need to set the "title of Web browser page" to its parent class(Win form) text property. when we are assigning text property of winform using below code, the hot keys could not be disabled.
    this.Text = webBrowserCustom.DocumentTitle; //this keyword refers to WinForm which loads web browser control
    If webBrowserCustom.DocumentTitle is empty then this.text is set to Empty string. In such case the hot keys are not getting disabled.
    I am not sure what is the relation between text property of winform and hot keys disabling.
    Could you please let us know why hot keys are not getting disabled when we setting empty string to Winform(which is loading Web Browser control) text property.?

    Hi,
    How did you use RegisterHotKey and winproc function in your project, could you please post the code here so that we can reproduce the problem firstly?
    If you just want to prevent the user from closing the form, you could register Form_Closing event handler, and cancel the closing behavior by the user. 
    private void Form1_FormClosing(object sender, FormClosingEventArgs e)
    e.Cancel = (e.CloseReason == CloseReason.UserClosing);
    private void btnCloseForm_Click(object sender, EventArgs e)
    this.FormClosing -= new System.Windows.Forms.FormClosingEventHandler(this.Form1_FormClosing);
    this.Close();
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • Passing Parameter to Crystal Report

    Hi Experts,
    I have created and designed a Report in Crystal Report 2005. I am displaying the report in SAP B1 using Win Form . Here I want to pass 2 parameters to Report ---@FromDate and @ToDate . I have coded to pass these two parameters this way :
    Dim RptDoc As New ReportDocument
            Dim ParamValue As String = String.Empty
            Dim crtableLogoninfos As New CrystalDecisions.Shared.TableLogOnInfos
            Dim crtableLogoninfo As New CrystalDecisions.Shared.TableLogOnInfo
            Dim crConnectionInfo As New CrystalDecisions.Shared.ConnectionInfo
            Dim CrTables As CrystalDecisions.CrystalReports.Engine.Tables
            Dim CrTable As CrystalDecisions.CrystalReports.Engine.Table
            Try
                RptDoc.Load(Application.StartupPath() & "\" & ReportName & ".rpt")
                RptDoc.SetParameterValue("@FromDate", "01/01/2008")
                RptDoc.SetParameterValue("@ToDate", "12/31/2008")
                Dim oForm_ReportViewer As Frm_ReportViewer = New Frm_ReportViewer()
                oForm_ReportViewer.CRViewer.ReportSource = RptDoc
                With crConnectionInfo
                    .ServerName = oCompany.Server  '"(local)"
                    .DatabaseName = oCompany.CompanyDB '"SBODemoIn"
                    .UserID = oCompany.DbUserName
                    .Password = "manager@123" 'oCompany.DbPassword
                 End With
                 CrTables = RptDoc.Database.Tables
                'Loop through each table in the report and apply the
                'LogonInfo information
                For Each CrTable In CrTables
                    crtableLogoninfo = CrTable.LogOnInfo
                    crtableLogoninfo.ConnectionInfo = crConnectionInfo
                    CrTable.ApplyLogOnInfo(crtableLogoninfo)
                Next
               oForm_ReportViewer.Text = frmTitle
                oForm_ReportViewer.WindowState = FormWindowState.Maximized
                oForm_ReportViewer.ShowDialog()
            Catch Ex As Exception
                MessageBox.Show(Ex.ToString)
            End Try
      But When I view the report in B1 , it throws an Exception "Report or Procedure expects parameter @FromDate which is not    supplied. "
    Please help me where I am making mistake , what could be the cause of this exception..
    Thanks and Regards,
    Pooja Singh.

    Hi Pooja Singh,
    You have only set Dim ParamValue As String = String.Empty.  Where are two parameter @FromDate and @ToDate?
    SetParameterValue will only work if you have defined the parameters already and the parameters have the right format.
    You may check this thread:
    Re: Crystal report open instead of PLD with same form reference.
    Thanks,
    Gordon

  • Change crystal report data source dynamically failed with multi tables report

    hello all
    i have many reports created by someone else on his own machine using same database file i use
    my application use Visual studio 2013 win form with crystal report pack 9
    i use rpt files provided to me
    connect database use OLEDB
    to show form i use below code
    SQLstr = " select what ever  from  table "                      ' defined as Public
    reportName = rpt file path & report name
    showReport()
    public sub showReport()
    reportTable.clear()                                                       ' defined as Public
    DBAdapter = new oleDpdataAdapter(SQLstr,DBconnection)
    DBAdapter.fill(reportTable)
    dim rptDoc as new Crystaldesicin.crystalreports.Engine.ReportDocument
    rptDoc.load(reportName)
    rptDoc.setdatasource(reportTable)
    formRpt.RptViewer.reportsource = rptDoc
    formRpt.showdialog()
    now
    when i use one table report with (select from one table) >>>>> works perfectly
    but when i use report retrieve data from 2 tables and group   data like using
    SQLstr = " select 'table'.'coulumn', 'table2'.'column' ....... etc
    from 'table1'
    INNER JOIN 'table2' ON 'table'.'coulumn' = 'table2'.'column'
    it's not working and formrpt shown but asking for database login
    I noted that in database login window : server name refer to ORIGINAL DATABASE USED BY Report Creator not to my local database
    ================================================
    i tried to set
    rptDoc.datasourceconnection.item(0).setconnection("","databse file path and name", False)
    rptDoc.datasourceconnection.item(0).setlogin("admin","")
    but the same
    using dataset instead of reportTable the same error
    ================================================
    what i missed in this type of reports?
    ( apologize about long take and poor English )

    Hi
    Please have a look at the wiki Troubleshooting Issues with VS .NET Datasets and Crystal Reports.
    - Ludek
    Senior Support Engineer AGS Product Support, Global Support Center Canada
    Follow us on Twitter

  • How to print a report in landscape?

    Hi,
    I am using crystal report for visual studio 2010 and I buid a win form test application in c#. I add a crystalReportViewer1, and reportDocument1(unTyped) on the form. In the design time the report (.rpt) is in portrait paper orientation. I want to change the paper orientation to landscape at the runtime. The code snippet is as followed,
    reportDocument1.FileName = @"D:\DotNet Execises\CrystalReportsApplication\CrystalReportsApplication\CrystalReport1.rpt";
    reportDocument1.Load(reportDocument1.FileName, OpenReportMethod.OpenReportByTempCopy);
    crystalReportViewer1.ReportSource = reportDocument1;
    reportDocument1.PrintOptions.PrinterName = @"
    LINDY\HP LaserJet 4000 Series PCL 6";
    reportDocument1.PrintOptions.PaperOrientation = PaperOrientation.Landscape;
    When I click a button to print the report
            private void btnPrintCrystal_Click(object sender, EventArgs e)
                crystalReportViewer1.PrintReport();
    in the print dialog box the paper orientation is correct,ie. landscape. But the actual printout is still in the portrait. Why? how can I print it in landscape?
    Thanks

    Open the report up and check on the Dissociate... option or do it in code and also.
    Try this ... cboCurrentPrinters is a dialog box I created to fill the local user printers in a list
           private void button1_Click(object sender, System.EventArgs e) // Print To P button
                   System.Drawing.Printing.PrintDocument pDoc = new System.Drawing.Printing.PrintDocument();               
                   CrystalDecisions.ReportAppServer.Controllers.PrintReportOptions rasPROpts = new CrystalDecisions.ReportAppServer.Controllers.PrintReportOptions();
                CrystalDecisions.ReportAppServer.ReportDefModel.PrintOptions newOpts = new CrystalDecisions.ReportAppServer.ReportDefModel.PrintOptions();
                   pDoc.PrinterSettings.PrinterName = cboCurrentPrinters.Text;
                pDoc.PrinterSettings.SupportsColor.ToString();
                if (pDoc.PrinterSettings.SupportsColor)
                    MessageBox.Show("Printer Supports Color", pDoc.PrinterSettings.SupportsColor.ToString());
                   rasPROpts.PrinterName = cboCurrentPrinters.Text;               
                   rasPROpts.PaperSize = (CrPaperSizeEnum) pDoc.PrinterSettings.PaperSizes[cboCurrentPaperSizes.SelectedIndex].Kind;
                   rasPROpts.PaperSource = (CrPaperSourceEnum) pDoc.PrinterSettings.PaperSources[cboDefaultPaperTrays.SelectedIndex].Kind;
                newOpts.PrinterName = cboCurrentPrinters.Text;
                newOpts.PaperSize = (CrPaperSizeEnum) pDoc.PrinterSettings.PaperSizes[cboDefaultPaperSizes.SelectedIndex].Kind;
                newOpts.PaperSource = (CrPaperSourceEnum) pDoc.PrinterSettings.PaperSources[cboDefaultPaperTrays.SelectedIndex].Kind;
                newOpts.DissociatePageSizeAndPrinterPaperSize = true;
                newOpts.PaperOrientation = CrPaperOrientationEnum.crPaperOrientationLandscape;
                   rptClientDoc.PrintOutputController.PrintReport(rasPROpts);
                   MessageBox.Show("Printing report.", "RAS", MessageBoxButtons.OK,MessageBoxIcon.Information );
    Don

Maybe you are looking for

  • Sender File Conversion

    Hi guys, I'm having quite a hard time in mapping a Text File into XI XML structure. I've the following structure: mtTest RECORD (0....unbounded)    DATA ( 1 )      ROW (0 ...unbounded) and a text file: 015007V30147425    0018002               2007121

  • Replicating Report Painter programs in BW system

    Hi, We are trying to replicate Programs developed using Report painter tool into BW system. However BW system doesn't have many  transactions and tables corresponding to Report Painter tool. Is there any way to easily replicate these programs instead

  • Finding Windows computer name

    How can you determine the computer name on the local Windows box programmatically in Java?

  • Sorry Ignore it... duplicate question

    Hi In BI, one of my field was off of the data type in flat file, so got error while loading flat file to PSA, so whole file failed to load. Do you have some idea how to cleansing the data for data type before loading to PSA or what do we do generally

  • Http vs https

    Was wondering how we can handle all request/response for HTTPS protocol. Correct me if I am wrong as I do not think Java have any APIs for HTTPS. So does it mean that we still use all the HTTP APIs such as HttpSession, HttpServletRequest and etc to h