FlexPro
HistoryBase
Engineering
Training
Downloads
FlexPro Support
Knowledge
Community
About us
References
Jobs
General Contact
List Of Retailers
FlexPro Support
EN
DE
FR
Placeholder
Products and Solutions
Support and Downloads
Company
Magazine
Contact Us
Language
MyWeisang

Account settings

Topic

Datensatz – Maximum

Home page Community Automation and VBA Datensatz – Maximum

Viewing 6 posts - 1 through 6 (of 6 total)
  • Author
    Posts
  • #34859
    Mustapha Ghazzouz
    Participant

    In meinem C++-Programm habe ich ein Datensatz-Objekt. Wie kann ich davon dan Maximum berechnen? Ich denke es soll über die FPScript Funktion Maximum() gehen, aber wie das genau geht weiss ich nicht.

    [code]IDataSetPtr fpDSet;
    fpDSet = (IDataSetPtr)fpDB->GetObject((dataset_name), fpObjectTypeDataSet)

    double max;
    max = fpDSet->??
    [/code]

    Danke für die Hilfe

    #34864
    Mustapha Ghazzouz
    Participant

    In meinem C++-Programm habe ich ein Datensatz-Objekt. Wie kann ich davon dan Maximum berechnen? Ich denke es soll über die FPScript Funktion Maximum() gehen, aber wie das genau geht weiss ich nicht.

    [code]IDataSetPtr fpDSet;
    fpDSet = (IDataSetPtr)fpDB->GetObject((dataset_name), fpObjectTypeDataSet)

    double max;
    max = fpDSet->??
    [/code]

    Danke für die Hilfe

    #34860
    Bernhard Kantz
    Participant

    Create a FPScript formula in your database to calcuate the maximum. Alternatively you can do this with Automation. You get the result of the formula with the [b]value[/b]-property of the formula object.

    VBA-Example: Maximum of the signal ‘Signal’
    [code]

    [/code]

    Dim oFml As Formula
    Dim value As Double
    Set oFml = ActiveDatabase.RootFolder.Add(“Maximum”, fpObjectTypeFormula)
    With oFml
    .Formula = “Maximum(Signal)”
    .Update
    value = .value
    End With

    [/code]

    support@weisang.com

    #34861
    Mustapha Ghazzouz
    Participant

    Ich kenne zur Laufzeit aber den Datensatz-Name nicht. Kann ich diesen als Variable übergeben

    sowas wie: .Formula = “Maximum(%oDst.Name)”

    #34862
    Bernhard Kantz
    Participant

    You could use String operators to create your FPScript code:

    VBA:
    [code]
    .Formula = “Maximum(” & oDst.Name & “)”
    [/code]

    support@weisang.com

    #34863
    Mustapha Ghazzouz
    Participant

    Ah ja ok.. thanks

    so sieht der C/C++ Code aus, für die interssierten

    [code] // Maximun-Formula
    fpFrml_temp = (IFormulaPtr)fpDSet->GetParentFolder()->Add(“maxFormula”, fpObjectTypeFormula, fpNameClashHandlingOverwrite, _bstr_t(), _bstr_t());

    // Maximum-Formula-String zusammenstellen
    char strFormulaMax[MAX_PATH];
    strcpy_s(strFormulaMax, “Maximum(‘”);
    strcat(strFormulaMax, (char *)fpDSet->GetName()); // _bstr_t in char * konvertieren
    strcat(strFormulaMax, “‘)”);

    fpFrml_temp->PutFormula(strFormulaMax);
    fpFrml_temp->Update();
    max = fpFrml_temp->GetValue(fpDataComponentAll, column, 1);
    fpFrml_temp->Delete(); // nicht mehr brauchbar[/code]

Viewing 6 posts - 1 through 6 (of 6 total)
  • You must be logged in to reply to this topic.