FlexPro
HistoryBase
Engineering
Training
Downloads
FlexPro-Support
Wissen
Community
Über Uns
Referenzen
Jobs
Allgemeiner Kontakt
Händlerverzeichnis
FlexPro-Support
DE
EN
FR
Placeholder
Produkte und Lösungen
Support und Downloads
Unternehmen
Magazin
Kontakt
Sprache
MyWeisang

Account Einstellungen

Topic

Datensatz – Maximum

Startseite ' Community ' Automation and VBA ' Datensatz – Maximum

Anzeigen von 6-Stellen - 1 bis 6 (von insgesamt 6)
  • Autor
    Beiträge
  • #34859
    Mustapha Ghazzouz
    Teilnehmer

    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
    Teilnehmer

    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
    Teilnehmer

    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
    Teilnehmer

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

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

    #34862
    Bernhard Kantz
    Teilnehmer

    You could use String operators to create your FPScript code:

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

    support@weisang.com

    #34863
    Mustapha Ghazzouz
    Teilnehmer

    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]

Anzeigen von 6-Stellen - 1 bis 6 (von insgesamt 6)
  • Du musst angemeldet sein, um auf dieses Thema antworten zu können.