Source file: /~heha/ewa/Ofen/prozess.zip/msvc/o1/dlgPid.cpp

#include "main.h"
#include "tableedit.h"

static int regler_millis(int idx) {
 switch (idx) {
  case 0: return regler.reportk.T_mK; break;
  case 1: return MulDiv(regler.reportk.P_mW,1000,regler.reportk.T_mK); break;
  case 2: return MulDiv(regler.reportk.P_mW,1000000,regler.reportk.T_mK*regler.reportk.tr_ms); break;
  case 3: return MulDiv(regler.reportk.P_mW,regler.reportk.tr_ms,regler.reportk.T_mK); break;
  case 4: return regler.reportk.P_mW; break;
  case 5:
  case 6: return 100000/256; break;	// 256 = 100 %
 }
 return 0x80000000;	// NaN
}

BOOL CALLBACK PidDlgProc(HWND Wnd, UINT msg, WPARAM wParam, LPARAM lParam) {
 switch (msg) {
  case WM_INITDIALOG: {
   HWND hte=GetDlgItem(Wnd,12);	// tableedit
   SendMessage(hte,TE_INITHEADERFOOTER,7,LPARAM("T\0Kp\0W/K\0Ki\0W/Ks\0Kd\0Ws/K\0P0\0W\0boost+\0%\0boost-\0%"));	// Header (linksbündig)
   TE_METRICS*m=(TE_METRICS*)SendMessage(hte,TE_GETMETRICS,0,0);
   m->yMin=4;		// mindestens 2 Datenzeilen
   m->yMax=6;		// höchstens  4 Datenzeilen
   if (regler.getfeature(2)) {		// Reglerparameter
    REGLER::TPID*tpid=(REGLER::TPID*)(regler.report+2);
    for (int j=1;j<=regler.report[1];j++,tpid++) {
     SendMessage(hte,TE_INSERT,MAKELONG(j,1),0);	// Zeile einfügen
     for (int i=0; i<7; i++) {
      char s[32];
      dec2s(s,(&tpid->T)[i],regler_millis(i));
      SendMessage(hte,TE_SETTEXT,MAKELONG(i,j),(LPARAM)s);	// Elemente setzen
     }
    }
   }
  }return TRUE;
  case WM_COMMAND: switch (wParam) {
   case 1:
   case 2: EndDialog(Wnd,wParam); break;
  }
 }
 return FALSE;
}
Detected encoding: ANSI (CP1252)4
Wrong umlauts? - Assume file is ANSI (CP1252) encoded