www.pudn.com > dtmffft.zip > Parameter.c
// PARAMETER.C (c) 2004 Howard Long (G6LVB), Hanlincrest Ltd. All rights reserved. // 72 Princes Gate // London SW7 2PA // United Kingdom // howard@hanlincrest.com // Free for educational and non-profit use. For commercial use please contact the author. #define PARM_MAXPARAMETERS 5 #include#include #include "resource.h" #include "registry.h" #include "parameter.h" static BOOL ParameterSetString(HWND hdlg,char *pszKey,int nDlgID) { char sz[30]; GetDlgItemText(hdlg,nDlgID,sz,sizeof(sz)); return RegSetString(pszKey,sz); } static BOOL ParameterGetString(HWND hdlg,char *pszKey,int nDlgID) { char sz[30]; if (!RegGetString(pszKey,sz,sizeof(sz))) { SetDlgItemText(hdlg,nDlgID,""); return FALSE; } SetDlgItemText(hdlg,nDlgID,sz); return TRUE; } static LRESULT CALLBACK ParameterDlg(HWND hdlg,UINT message,WPARAM wParam,LPARAM lParam) { switch (message) { case WM_INITDIALOG: ParameterGetString(hdlg,"NumParameters",IDC_NUM_PARAMETERS); ParameterGetString(hdlg,"ParameterName1",IDC_PARAMETER_NAME1); ParameterGetString(hdlg,"ParameterOffset1",IDC_PARAMETER_OFFSET1); ParameterGetString(hdlg,"ParameterMultiplier1",IDC_PARAMETER_MULTIPLIER1); ParameterGetString(hdlg,"ParameterUnits1",IDC_PARAMETER_UNITS1); ParameterGetString(hdlg,"ParameterName2",IDC_PARAMETER_NAME2); ParameterGetString(hdlg,"ParameterOffset2",IDC_PARAMETER_OFFSET2); ParameterGetString(hdlg,"ParameterMultiplier2",IDC_PARAMETER_MULTIPLIER2); ParameterGetString(hdlg,"ParameterUnits2",IDC_PARAMETER_UNITS2); ParameterGetString(hdlg,"ParameterName3",IDC_PARAMETER_NAME3); ParameterGetString(hdlg,"ParameterOffset3",IDC_PARAMETER_OFFSET3); ParameterGetString(hdlg,"ParameterMultiplier3",IDC_PARAMETER_MULTIPLIER3); ParameterGetString(hdlg,"ParameterUnits3",IDC_PARAMETER_UNITS3); ParameterGetString(hdlg,"ParameterName4",IDC_PARAMETER_NAME4); ParameterGetString(hdlg,"ParameterOffset4",IDC_PARAMETER_OFFSET4); ParameterGetString(hdlg,"ParameterMultiplier4",IDC_PARAMETER_MULTIPLIER4); ParameterGetString(hdlg,"ParameterUnits4",IDC_PARAMETER_UNITS4); ParameterGetString(hdlg,"ParameterName5",IDC_PARAMETER_NAME5); ParameterGetString(hdlg,"ParameterOffset5",IDC_PARAMETER_OFFSET5); ParameterGetString(hdlg,"ParameterMultiplier5",IDC_PARAMETER_MULTIPLIER5); ParameterGetString(hdlg,"ParameterUnits5",IDC_PARAMETER_UNITS5); break; case WM_COMMAND: switch (LOWORD(wParam)) { case IDOK: { char szNumParms[30]; int n; GetDlgItemText(hdlg,IDC_NUM_PARAMETERS,szNumParms,sizeof(szNumParms)); n=atoi(szNumParms); if (n<=0 || n>PARM_MAXPARAMETERS) { char szMessage[100]; sprintf(szMessage,"Number of parameters must be between 1 and %d.",PARM_MAXPARAMETERS); MessageBox(hdlg,szMessage,"DTMFFFT",MB_ICONEXCLAMATION | MB_OK); return FALSE; } } ParameterSetString(hdlg,"NumParameters",IDC_NUM_PARAMETERS); ParameterSetString(hdlg,"ParameterName1",IDC_PARAMETER_NAME1); ParameterSetString(hdlg,"ParameterOffset1",IDC_PARAMETER_OFFSET1); ParameterSetString(hdlg,"ParameterMultiplier1",IDC_PARAMETER_MULTIPLIER1); ParameterSetString(hdlg,"ParameterUnits1",IDC_PARAMETER_UNITS1); ParameterSetString(hdlg,"ParameterName2",IDC_PARAMETER_NAME2); ParameterSetString(hdlg,"ParameterOffset2",IDC_PARAMETER_OFFSET2); ParameterSetString(hdlg,"ParameterMultiplier2",IDC_PARAMETER_MULTIPLIER2); ParameterSetString(hdlg,"ParameterUnits2",IDC_PARAMETER_UNITS2); ParameterSetString(hdlg,"ParameterName3",IDC_PARAMETER_NAME3); ParameterSetString(hdlg,"ParameterOffset3",IDC_PARAMETER_OFFSET3); ParameterSetString(hdlg,"ParameterMultiplier3",IDC_PARAMETER_MULTIPLIER3); ParameterSetString(hdlg,"ParameterUnits3",IDC_PARAMETER_UNITS3); ParameterSetString(hdlg,"ParameterName4",IDC_PARAMETER_NAME4); ParameterSetString(hdlg,"ParameterOffset4",IDC_PARAMETER_OFFSET4); ParameterSetString(hdlg,"ParameterMultiplier4",IDC_PARAMETER_MULTIPLIER4); ParameterSetString(hdlg,"ParameterUnits4",IDC_PARAMETER_UNITS4); ParameterSetString(hdlg,"ParameterName5",IDC_PARAMETER_NAME5); ParameterSetString(hdlg,"ParameterOffset5",IDC_PARAMETER_OFFSET5); ParameterSetString(hdlg,"ParameterMultiplier5",IDC_PARAMETER_MULTIPLIER5); ParameterSetString(hdlg,"ParameterUnits5",IDC_PARAMETER_UNITS5); EndDialog(hdlg,TRUE); break; case IDCANCEL: EndDialog(hdlg,FALSE); break; default: break; } break; default: break; } return FALSE; } BOOL Parameter(HWND hdlg, HINSTANCE hinst) { return (BOOL)DialogBox(hinst,MAKEINTRESOURCE(IDD_PARAMETERS),hdlg,ParameterDlg); }