MesuTher.dproj 07/05/ :56:44

Size: px
Start display at page:

Download "MesuTher.dproj 07/05/ :56:44"

Transcription

1 MesuTher.dproj 07/05/ :56:44 Page 1 sur 1 1: library MesuTher; 2: 3: uses 4: Windows, 5: Messages, 6: Classes, 7: Dialogs, 8: Forms, 9: SysUtils, 10: UTherElec in 'UTherElec.pas'; 11: 12: {$R MesuTher.res} 13: {$R MesuTherL.res} 14: 15: procedure PElectro(H, Main: HWND; NoLg: word; Var TBDll: TabDll; 16: VersPElec: Pchar); stdcall; 17: var 18: i: integer; 19: begin 20: for i := 0 to high(tbdll) do 21: begin 22: if LowerCase(TBDll[i].Name) = 'mesuther.dll' then 23: begin 24: TBDll[i].Divers := 2; 25: break; 26: end; 27: end; 28: Application.Handle := H; 29: Hdle := Main; 30: NumLg := NoLg; 31: end; 32: 33: function GetTypOp: word; stdcall; 34: begin 35: result := MenuPopUp; 36: end; 37: 38: procedure Identity(var D, N, V, C, M: string); stdcall; 39: begin 40: D := 'MesuTher'; 41: N := 'JBa'; 42: V := 'V2.0'; 43: C := ' 44: M := 'Thermometre'; 45: end; 46: 47: function GetMaxCompo: byte; stdcall; 48: begin 49: result := 0; 50: end; 51: 52: function ChangeCompo(H: HWND; i, ACount: word; var A: PTAc; var TBDll: TabDll; 53: var Parm: PTPa; NoLg: word): boolean; stdcall; 54: var 55: PVDll: TPVDll; 56: begin 57: NumLg := NoLg; 58: Application.Handle := H; 59: PVDll := AllocMem(SizeOf(TVarDll)); 60: with PVDll^ do 61: begin 62: IPosDroit := i; 63: INbrComposant := ACount; 64: PA 65: PD 66: Parms 67: SendMessage(Hdle, WM_LOCKFUNC, LockNew + LockOpen + LockCCP + LockNComp, 0); 68: PTHermo := TTHermo.Create(Application, PVDll); 69: PTHermo.Show; 70: end; 71: result := false; 72: end; 73: 74: procedure GetMenuCompo(List: Pchar; N: integer; var H: HBITMAP; NoLg: word); 75: stdcall; 76: begin 77: NumLg := NoLg; 78: StrLCopy(List, Pchar(MesLangID(164)), N - 1); 79: H := LoadBitmap(hInstance, Pchar('Image0')); 80: end; 81: 82: exports Identity, GetMaxCompo, ChangeCompo, GetMenuCompo, PElectro, 83: GetTypOp; 84: 85: begin 86:

2 MesuTher.dproj 07/05/ :56:44 87: end. Page 2 sur 1

3 Page 1 sur 15 1: unit UTherElec; 2: 3: interface 4: 5: uses 6: Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, 7: StdCtrls, ExtCtrls, Mask, Math, Printers, ComCtrls, IniFiles, Menus, 8: JvComponent, JvComCtrls, JvExComCtrls, JvExControls, 9: JvDialButton, JvButton, JvTransparentButton, JvLED; 10: 11: const 12: WM_AFFMESTD = WM_USER; 13: {$I IPElectro} 14: 15: type 16: TPVDll = ^TVarDll; 17: 18: TThermo = class(tform) 19: Erreur: TStatusBar; 20: Panel3: TPanel; 21: GroupBox8: TGroupBox; 22: GroupBox3: TGroupBox; 23: Val1: TGroupBox; 24: VaV1: TLabel; 25: Edit1: TEdit; 26: T2: TMaskEdit; 27: LabFin: TLabel; 28: AM: TJvTransparentButton; 29: Pow1: TLabel; 30: Tps: TMaskEdit; 31: LabT: TLabel; 32: Paus2: TLabel; 33: Pause: TJvTransparentButton; 34: PopupVide: TPopupMenu; 35: BarTher: TProgressBar; 36: Edit2: TEdit; 37: Label1: TLabel; 38: procedure FormClose(Sender: TObject; var Action: TCloseAction); 39: procedure FormCreate(Sender: TObject); 40: procedure AMClick(Sender: TObject); 41: procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean); 42: procedure PauseClick(Sender: TObject); 43: function FormHelp(Command: Word; Data: Integer; 44: var CallHelp: Boolean): Boolean; 45: procedure FormDestroy(Sender: TObject); 46: private 47: { Déclarations privées } 48: i: Integer; 49: d: double; 50: s1: string; 51: H, M, S, Ms, Mi: Integer; 52: T1: double; 53: function FMmSs(S: String): double; 54: function MmSs(T0: double): string; 55: public 56: { Déclarations publiques } 57: PDDllF: TPVDll; 58: constructor Create(Appli: TApplication; APDllF: TPVDll); 59: procedure WMAffMesTd(var Msg: TMessage); message WM_AFFMESTD; 60: end; 61: 62: TGest = record 63: Circuit: Integer; 64: Attach: array [0.. 1] of Word; 65: Sommet: array [0.. 1] of Word; 66: ZeroPot: Boolean; 67: end; 68: 69: TBlockPar = record 70: Ni: Integer; 71: j: Integer; 72: l: Integer; 73: JNbrComposant: Word; 74: ib: Integer; 75: T: double; 76: auto: Boolean; 77: Preci: Boolean; 78: Err: Boolean; 79: VPci: double; 80: Dxt: double; 81: VTa: double; 82: NumLg: Word; 83: PA: PPTa; 84: PR: PPTr; 85: A: PTA; 86: C: PTA;

4 Page 2 sur 15 87: Par: TI; 88: Par2: TI; 89: Vm: TI; 90: Vj: TI; 91: PD: PTabd; 92: Parms: PPTp; 93: TAdr: array of TCalCompo; 94: Gest: array of TGest; 95: end; 96: 97: TCalMesure = class(tthread) 98: private 99: PDDllT: TPVDll; 100: Hwdle: Hwnd; 101: { Déclarations privées } 102: BlkPar: TBlockPar; 103: H, M, S, Ms, Mi: Integer; 104: T1: double; 105: s1, s2: string; 106: { Fichier des mesures } 107: MaxPt, i2, i5, iv, im: Integer; 108: PtInter: Boolean; 109: Err: Boolean; 110: hmutex: Hwnd; 111: Ok: smallint; 112: iq: double; 113: TypOp: Word; 114: Ano: PChar; 115: TA: array of array of double; 116: TC: array of array of double; 117: Ai, TX, TV: TI; 118: TP: TI; 119: TP2: TI; 120: TVp: array of array of double; 121: VTp: array of array of double; 122: VTp2: array of array of double; 123: VTi: array of array of double; 124: AiRi: array of Integer; 125: PR: PTRc; 126: procedure FinTrd; 127: procedure Anomalie; 128: procedure MettreCptsArrete(i, k, n: Integer); 129: function RechCptsPRTest(i: Integer): Boolean; 130: function MmSs(T0: double): string; 131: protected 132: constructor Create(APDllT: TPVDll; FHdle: Hwnd); 133: procedure Execute; override; 134: end; 135: 136: TVarDll = record 137: { Thread } 138: PThermo: TThermo; 139: PCalMesure: TCalMesure; 140: INbrComposant, JNbrComposant, IPosDroit: Word; 141: PA: PPTa; 142: PD: PTabd; 143: Parms: PPTp; 144: { erreur dans un composant } 145: ErrCompo: Integer; 146: { Résolutions } 147: IDt: Integer; 148: { Automatique } 149: auto: Boolean; 150: { nombre de point supplementaire } 151: l: Integer; 152: 153: Taille: Integer; 154: ActivJournal: Boolean; 155: Ni: Integer; 156: Dt: double; 157: { Boucle de calcul } 158: Dxt, Dxt2, Dxt3, Dft: double; 159: { nombre de point supplementaire } 160: ib: Integer; 161: T: double; 162: VTa: double; 163: case Conv: Boolean of 164: true: 165: (r1: single); 166: false: 167: (ri: Integer); 168: end; 169: 170: var 171: NumLg: Word; 172: Hdle: Hwnd;

5 Page 3 sur : 174: function MesLangID(MesID: Word): string; 175: 176: function CycMat(A: PTA; n: Integer; M: Integer; C: PTA; k: Integer): Boolean; 177: stdcall; external 'FoncMath.dll'; 178: function Newton(var BlkPar: TBlockPar): Boolean; stdcall; 179: external 'FoncMath.dll'; 180: function FuncCompo(BlkPar: TBlockPar; TypOp: Word; i: Integer; var Ai: TI; 181: out iq: double; i1: Integer; Bool: Boolean; Ano: PChar; const n: Integer; 182: out Ok: smallint): Boolean; stdcall; external 'FoncMath.dll'; 183: function MathLock: Hwnd; stdcall; external 'FoncMath.dll'; 184: 185: implementation 186: 187: {$R *.DFM} 188: 189: constructor TThermo.Create(Appli: TApplication; APDllF: TPVDll); 190: begin 191: PDDllF := APDllF; 192: Inherited Create(Appli); 193: end; 194: 195: function MesLangID(MesID: Word): string; 196: begin 197: Case NumLg of 198: Francais, Japonais, Chinois, Allemand, Espagnol, Italien, Hindi, Hebreu, 199: Russe, Arabe, English, Portugais, Indonesien: 200: else 201: NumLg := English; 202: end; 203: result := LoadStr(NumLg * MesID); 204: end; 205: 206: function TThermo.FMmSs(S: String): double; 207: begin 208: with PDDllF^ do 209: begin 210: s1 := copy(s, 1, 2); 211: i := strtoint(s1); 212: d := i * 3600; 213: s1 := copy(s, 4, 2); 214: i := strtoint(s1); 215: d := d + i * 60; 216: s1 := copy(s, 7, 2); 217: i := strtoint(s1); 218: d := d + i; 219: s1 := copy(s, 10, 6); 220: i := strtoint(s1); 221: result := d + i / 1E6; 222: end; 223: end; 224: 225: function TCalMesure.MmSs(T0: double): string; 226: begin 227: with PDDllT^ do 228: begin 229: T1 := T0; 230: H := trunc(t1 / 3600); 231: T1 := T1 - H * 3600; 232: M := trunc(t1 / 60); 233: T1 := T1 - M * 60; 234: S := trunc(t1); 235: T1 := T1 - S; 236: Ms := trunc(t1 * 1E3); 237: Mi := trunc(t1 * 1E6); 238: result := TimeToStr(EncodeTime(H, M, S, Ms)) + format(':%6.6d', [Mi]); 239: end; 240: end; 241: 242: function TThermo.MmSs(T0: double): string; 243: begin 244: with PDDllF^ do 245: begin 246: T1 := T0; 247: H := trunc(t1 / 3600); 248: T1 := T1 - H * 3600; 249: M := trunc(t1 / 60); 250: T1 := T1 - M * 60; 251: S := trunc(t1); 252: T1 := T1 - S; 253: Ms := trunc(t1 * 1E3); 254: Mi := trunc(t1 * 1E6); 255: result := TimeToStr(EncodeTime(H, M, S, Ms)) + format(':%6.6d', [Mi]); 256: end; 257: end; 258:

6 Page 4 sur : procedure TThermo.AMClick(Sender: TObject); 260: var 261: S: string; 262: Sp: PChar; 263: begin 264: with PDDllF^ do 265: begin 266: if AM.Down then 267: begin 268: SendMessage(Hdle, WM_LEDONOFF, 1, 0); 269: AM.Caption := MesLangID(211); 270: AM.Color := cllime; 271: Pause.Enabled := true; 272: Edit1.Text := ''; 273: Tps.EditText := '00:00:00:000000'; 274: S := T2.EditText; 275: Dft := FMmSs(S); 276: if Dft = 0. then 277: Dft := 1.E37; 278: Erreur.Panels[0].Text := MesLangID(212) + DateToStr(Date) + MesLangID(57) 279: + TimeToStr(Time); 280: Sp := PChar(SendMessage(Hdle, WM_ALLOCMEM, cstmaxchars * SizeOf(Char), 281: 0)); 282: StrCopy(Sp, PChar('0101;MesuTher.dll;' + Erreur.Panels[0].Text)); 283: SendMessage(Hdle, WM_ADDMES, Integer(Sp), 3); 284: SendMessage(Hdle, WM_FREEMEM, Integer(Sp), 0); 285: Erreur.Panels[1].Text := ''; 286: Screen.Cursor := crhourglass; 287: PCalMesure := TCalMesure.Create(PDDllF, PThermo.handle); 288: end 289: else 290: begin 291: PCalMesure.Terminate; 292: SendMessage(Hdle, WM_LEDONOFF, 0, 0); 293: Screen.Cursor := crdefault; 294: AM.Caption := MesLangID(168); 295: AM.Color := clblack; 296: Pause.Down := false; 297: Pause.Color := clblack; 298: Pause.Enabled := false; 299: Erreur.Panels[0].Text := MesLangID(222) + DateToStr(Date) + MesLangID(57) 300: + TimeToStr(Time); 301: end; 302: end; 303: end; 304: 305: procedure TThermo.FormCloseQuery(Sender: TObject; var CanClose: Boolean); 306: begin 307: if AM.Down then 308: CanClose := false 309: else 310: CanClose := true; 311: end; 312: 313: procedure TThermo.PauseClick(Sender: TObject); 314: begin 315: with PDDllF^ do 316: begin 317: if Pause.Down then 318: begin 319: Pause.Color := cllime; 320: PCalMesure.Suspend; 321: end 322: else 323: begin 324: Pause.Color := clblack; 325: PCalMesure.Resume; 326: end; 327: end; 328: end; 329: 330: procedure TThermo.WMAffMesTd(var Msg: TMessage); 331: begin 332: with PDDllF^ do 333: begin 334: ri := Msg.WParam; 335: if r1 > 300 then 336: r1 := 300; 337: if r1 < -100 then 338: r1 := -100; 339: BarTher.Position := round(r1) + 100; 340: Edit1.Text := FormatFloat('+###.##;-###.##', r1); 341: r1 := r ; 342: Edit2.Text := FormatFloat('+###.##;-###.##', r1); 343: Tps.EditText := MmSs(Dxt2); 344: end;

7 Page 5 sur : Application.ProcessMessages; 346: end; 347: 348: procedure TCalMesure.Anomalie; 349: var 350: Sp: PChar; 351: begin 352: with PDDllT^ do 353: begin 354: if s1 = '' then 355: exit; 356: s1 := PThermo.Caption + ':' + s1; 357: if ActivJournal then 358: begin 359: Sp := PChar(SendMessage(Hdle, WM_ALLOCMEM, cstmaxchars * SizeOf(Char), 360: 0)); 361: StrCopy(Sp, PChar('0132;MesuTher.dll;' + MmSs(Dxt) 362: + '*' + s1 + ' ' + TimeToStr(Time))); 363: SendMessage(Hdle, WM_ADDMES, Integer(Sp), 0); 364: SendMessage(Hdle, WM_FREEMEM, Integer(Sp), 0); 365: end; 366: end; 367: end; 368: 369: procedure TCalMesure.FinTrd; 370: var 371: Sp: PChar; 372: begin 373: with PDDllT^ do 374: begin 375: PThermo.AM.Caption := MesLangID(168); 376: PThermo.AM.Down := false; 377: PThermo.AM.Color := clblack; 378: PThermo.Pause.Down := false; 379: PThermo.Pause.Color := clblack; 380: PThermo.Pause.Enabled := false; 381: PThermo.Erreur.Panels[0].Text := MesLangID(222) + DateToStr(Date) 382: + MesLangID(57) + TimeToStr(Time); 383: ActivJournal := PtInter; 384: Anomalie; 385: SendMessage(handle, WM_LEDONOFF, 0, 0); 386: Screen.Cursor := crdefault; 387: if ActivJournal then 388: begin 389: Sp := PChar(SendMessage(Hdle, WM_ALLOCMEM, cstmaxchars * SizeOf(Char), 390: 0)); 391: StrCopy(Sp, PChar('0101;MesuTher.dll;' + PThermo.Erreur.Panels[0].Text)); 392: SendMessage(Hdle, WM_ADDMES, Integer(Sp), 3); 393: SendMessage(Hdle, WM_FREEMEM, Integer(Sp), 0); 394: end; 395: end; 396: end; 397: 398: constructor TCalMesure.Create(APDllT: TPVDll; FHdle: Hwnd); 399: begin 400: Inherited Create(true); 401: FreeOnTerminate := true; 402: PDDllT := APDllT; 403: Hwdle := FHdle; 404: Priority := tpnormal; 405: Suspended := false; 406: end; 407: 408: function TCalMesure.RechCptsPRTest(i: Integer): Boolean; 409: var 410: i0, i1, i2: Integer; 411: begin 412: with PDDllT^ do 413: begin 414: BlkPar.Gest[i].Circuit := 1; 415: i0 := PR[i].AffiCompo; 416: for i1 := 0 to JNbrComposant do 417: if PR[i1].AffiCompo = i0 then 418: if BlkPar.Gest[i1].Circuit <> 1 then 419: RechCptsPRTest(i1); 420: if (PR[i].LienCompo <> 0) and (PR[i].LienCompo <> ) then 421: begin 422: i1 := PR[i].LienCompo + i; 423: if BlkPar.Gest[i1].Circuit <> 1 then 424: RechCptsPRTest(i1); 425: end; 426: for i0 := 0 to PR[i].RNbBorn - 1 do 427: begin 428: { pointe -> } 429: for i1 := 0 to JNbrComposant do 430: begin

8 Page 6 sur : if PR[i].RBorne[i0].Bi = 0 then 432: continue; 433: if PR[i].RBorne[i0].Bi <> PR[i1].RComposant then 434: continue; 435: if PR[i].RBorne[i0].BR <> PR[i1].RangCompo then 436: continue; 437: if BlkPar.Gest[i1].Circuit = 1 then 438: break; 439: RechCptsPRTest(i1); 440: end; 441: { i pointé <- } 442: for i1 := 0 to JNbrComposant do 443: begin 444: for i2 := 0 to PR[i1].RNbBorn - 1 do 445: begin 446: if PR[i1].RBorne[i2].Bi <> PR[i].RComposant then 447: continue; 448: if PR[i1].RBorne[i2].BR <> PR[i].RangCompo then 449: continue; 450: if PR[i1].RBorne[i2].BVal <> i0 then 451: continue; 452: if BlkPar.Gest[i1].Circuit = 1 then 453: continue; 454: RechCptsPRTest(i1); 455: end; 456: end; 457: end; 458: end; 459: result := false; 460: end; 461: 462: procedure TCalMesure.MettreCptsArrete(i, k, n: Integer); 463: var 464: i0, i1: Integer; 465: begin 466: { i pointe -> } 467: with PDDllT^ do 468: begin 469: BlkPar.Gest[i].Sommet[k] := n; 470: for i0 := 0 to JNbrComposant do 471: begin 472: if PR[i].RBorne[k].Bi = 0 then 473: break; 474: if PR[i].RBorne[k].Bi <> PR[i0].RComposant then 475: continue; 476: if PR[i].RBorne[k].BR <> PR[i0].RangCompo then 477: continue; 478: if BlkPar.Gest[i0].Sommet[PR[i].RBorne[k].BVal] <> 9999 then 479: break; 480: MettreCptsArrete(i0, PR[i].RBorne[k].BVal, n); 481: break; 482: end; 483: { i pointé <- } 484: for i0 := 0 to JNbrComposant do 485: begin 486: for i1 := 0 to PR[i0].RNbBorn - 1 do 487: begin 488: if PR[i0].RBorne[i1].Bi <> PR[i].RComposant then 489: continue; 490: if PR[i0].RBorne[i1].BR <> PR[i].RangCompo then 491: continue; 492: if PR[i0].RBorne[i1].BVal <> k then 493: continue; 494: if i0 <> i then 495: inc(blkpar.gest[i].attach[k]); 496: if BlkPar.Gest[i0].Sommet[i1] <> 9999 then 497: continue; 498: MettreCptsArrete(i0, i1, n); 499: end; 500: end; 501: end; 502: end; 503: 504: procedure TCalMesure.Execute; 505: { Code du thread } 506: var 507: i0, i1, k, d, j, i: Integer; 508: n: Word; 509: InitParCompo: TInitParCompo; 510: RInCompo: TRInCompo; 511: begin 512: with PDDllT^ do 513: begin 514: JNbrComposant := 0; 515: n := 0; 516: j := 0;

9 Page 7 sur : VTa := Parms^[0]; 518: Dt := Parms^[1]; 519: { init BlkPar.Gestion parametres } 520: Ni := ceil(parms^[3]); 521: if Parms^[9] = 1 then 522: ActivJournal := true 523: else 524: ActivJournal := false; 525: PtInter := ActivJournal; 526: SetLength(AiRi, INbrComposant + 1); 527: for i := 0 to INbrComposant do 528: begin 529: k := -1; 530: for d := Low(PD^) to High(PD^) do 531: begin 532: if PD^[d].Composant = PA^[i].RComposant then 533: begin := GetProcAddress(PD^[d].handle, 'RInCompo'); 535: = nil Then 536: begin 537: s1 := 'RInCompo pointer error'; 538: FinTrd; 539: exit; 540: end; 541: k := RInCompo(Application.handle, PA^[i], PD^, Parms^); 542: if k < 1 Then 543: begin 544: s1 := 'RInCompo error'; 545: FinTrd; 546: exit; 547: end; := GetProcAddress(PD^[d].handle, 'InitParCompo'); 549: = nil Then 550: begin 551: s1 := 'InitParCompo pointer error'; 552: FinTrd; 553: exit; 554: end; 555: AiRi[i] := JNbrComposant; 556: inc(j, k); 557: SetLength(PR, j + 1); 558: Err := InitParCompo(Application.handle, i, JNbrComposant, PA^, PR, 559: PD^, n, Parms^, NumLg); 560: if not Err Then 561: begin 562: s1 := 'InitParCompo error'; 563: FinTrd; 564: exit; 565: end; 566: inc(jnbrcomposant); 567: break; 568: end; 569: end; 570: if k = -1 then 571: begin 572: s1 := 'TabDll error'; 573: FinTrd; 574: exit; 575: end; 576: end; 577: if JNbrComposant < 2 then 578: begin 579: s1 := MesLangID(1); 580: FinTrd; 581: exit; 582: end; 583: SetLength(PR, JNbrComposant); 584: dec(jnbrcomposant); 585: { Recherche lien entre composants } 586: for i := 0 to JNbrComposant do 587: begin 588: if PR[i].LienCompo = then 589: begin 590: j := PR[i].AffiCompo; 591: l := Length(PA^[j].ADonne[1]); 592: s1 := PA^[j].ADonne[1]; 593: for k := l downto 1 do 594: begin 595: if (s1[k] >= '0') and (s1[k] <= '9') then 596: else 597: begin 598: n := strtoint(copy(s1, k + 1, l - k)); 599: delete(s1, k + 1, l - k); 600: break; 601: end; 602: end;

10 Page 8 sur : for k := 0 to INbrComposant do 604: begin 605: if k = j then 606: continue; 607: if PA^[k].RNbBorn <> 2 then 608: continue; 609: if (PA^[k].RTypCompo = s1) and (PA^[k].RangCompo = n) then 610: PR[i].LienCompo := AiRi[k] - i; 611: end; 612: end; 613: end; 614: { Recherche source dépendante et liaisons } 615: for i := 0 to INbrComposant do 616: begin 617: for k := 0 to PA^[i].RNbBorn - 1 do 618: begin 619: if PA^[i].RBorne[k].Bi = 0 then 620: continue; 621: for j := 0 to INbrComposant do 622: begin 623: if PA^[i].RBorne[k].Bi <> PA^[j].RComposant then 624: continue; 625: if PA^[i].RBorne[k].BR <> PA^[j].RangCompo then 626: continue; 627: i0 := PA^[i].RBorne[k].BVal; 628: if (i = j) and (k = i0) then 629: begin 630: s1 := 'Same link error'; 631: FinTrd; 632: exit; 633: end; 634: n := AiRi[i]; 635: while (PR[n].RABorn[0] <> k) and 636: ((PR[n].RABorn[1] <> k) or (PR[n].RNbBorn = 1)) do 637: begin 638: inc(n); 639: if (JNbrComposant < n) or (PR[n].AffiCompo <> i) then 640: begin 641: s1 := 'Link error'; 642: FinTrd; 643: exit; 644: end; 645: end; 646: l := AiRi[j]; 647: while (PR[l].RABorn[0] <> i0) and 648: ((PR[l].RABorn[1] <> i0) or (PR[l].RNbBorn = 1)) do 649: begin 650: inc(l); 651: if (JNbrComposant < l) or (PR[l].AffiCompo <> j) then 652: begin 653: s1 := 'link error'; 654: FinTrd; 655: exit; 656: end; 657: end; 658: if PR[n].RABorn[0] = k then 659: begin 660: PR[n].RBorne[0].Bi := PR[l].RComposant; 661: PR[n].RBorne[0].BR := PR[l].RangCompo; 662: if PR[l].RABorn[0] = i0 then 663: PR[n].RBorne[0].BVal := 0 664: else 665: PR[n].RBorne[0].BVal := 1; 666: end 667: else 668: begin 669: PR[n].RBorne[1].Bi := PR[l].RComposant; 670: PR[n].RBorne[1].BR := PR[l].RangCompo; 671: if PR[l].RABorn[0] = i0 then 672: PR[n].RBorne[1].BVal := 0 673: else 674: PR[n].RBorne[1].BVal := 1; 675: end; 676: break; 677: end; 678: end; 679: end; 680: { Recherche du circuit a tester } 681: SetLength(BlkPar.Gest, JNbrComposant + 1); 682: for i := 0 to JNbrComposant do 683: begin 684: BlkPar.Gest[i].ZeroPot := true; 685: BlkPar.Gest[i].Circuit := 0; 686: for k := 0 to PR[i].RNbBorn - 1 do 687: begin 688: BlkPar.Gest[i].Sommet[k] := 9999;

11 Page 9 sur : BlkPar.Gest[i].Attach[k] := 0; 690: end; 691: end; 692: j := AiRi[IPosDroit]; 693: RechCptsPRTest(j); 694: i1 := 0; 695: for i := 0 to JNbrComposant do 696: begin 697: if BlkPar.Gest[i].Circuit <> 1 then 698: continue; 699: if PR[i].LienCompo = then 700: begin 701: s1 := MesLangID(2); 702: FinTrd; 703: exit; 704: end; 705: { La masse a comme extremité 0 } 706: if (PR[i].RComposant = CstWH00) and (PR[i].RNumCompo = 0) then 707: begin 708: MettreCptsArrete(i, 0, 0); 709: inc(i1); 710: end; 711: end; 712: { une masse minimum } 713: if i1 = 0 then 714: begin 715: s1 := MesLangID(4); 716: FinTrd; 717: exit; 718: end; 719: { Calcul des sommets du circuit } 720: l := 0; 721: for i := 0 to JNbrComposant do 722: begin 723: if BlkPar.Gest[i].Circuit <> 1 then 724: continue; 725: for k := 0 to PR[i].RNbBorn - 1 do 726: if BlkPar.Gest[i].Sommet[k] = 9999 then 727: begin 728: inc(l); 729: MettreCptsArrete(i, k, l); 730: end; 731: end; 732: { Composant de même sommet } 733: k := -1; 734: for i := 0 to JNbrComposant do 735: begin 736: BlkPar.Gest[i].ZeroPot := true; 737: PR[i].Indice := -1; 738: if BlkPar.Gest[i].Circuit <> 1 then 739: continue; 740: for i0 := 0 to PR[i].RNbBorn - 1 do 741: begin 742: { un sommet à 9999 => erreur } 743: if (PR[i].RComposant = CstWH00) and (PR[i].RNumCompo = 0) then 744: continue; 745: if PR[i].RBorne[i0].Bi = 0 then 746: begin 747: s1 := MesLangID(5); 748: FinTrd; 749: exit; 750: end; 751: end; 752: if BlkPar.Gest[i].Sommet[0] = BlkPar.Gest[i].Sommet[1] then 753: continue; 754: BlkPar.Gest[i].ZeroPot := false; 755: inc(k); 756: PR[i].Indice := k; 757: end; 758: { Verification sommet utilisé } 759: for i := 0 to JNbrComposant do 760: begin 761: if BlkPar.Gest[i].Circuit <> 1 then 762: continue; 763: if not BlkPar.Gest[i].ZeroPot then 764: continue; 765: if BlkPar.Gest[i].Sommet[0] = 0 then 766: continue; 767: i1 := -1; 768: { Si le sommet est utilisé autrepart } 769: for i0 := 0 to JNbrComposant do 770: begin 771: if i0 = i then 772: continue; 773: if BlkPar.Gest[i0].Circuit <> 1 then 774: continue;

12 Page 10 sur : if BlkPar.Gest[i0].ZeroPot then 776: continue; 777: if BlkPar.Gest[i0].Sommet[0] = BlkPar.Gest[i].Sommet[0] then 778: inc(i1); 779: if BlkPar.Gest[i0].Sommet[1] = BlkPar.Gest[i].Sommet[0] then 780: inc(i1); 781: end; 782: if i1 <> -1 then 783: continue; 784: { Non } 785: dec(l); 786: i1 := BlkPar.Gest[i].Sommet[0]; 787: BlkPar.Gest[i].Sommet[0] := 0; 788: BlkPar.Gest[i].Sommet[1] := 0; 789: for i0 := 0 to JNbrComposant do 790: for d := 0 to 1 do 791: if BlkPar.Gest[i0].Sommet[d] >= i1 then 792: if BlkPar.Gest[i0].Sommet[d] > i1 then 793: dec(blkpar.gest[i0].sommet[d]) 794: else 795: BlkPar.Gest[i0].Sommet[d] := 0; 796: end; 797: { Calcul matrice A } 798: { Dim matrice A } 799: try 800: SetLength(TA, k + 1, l + 1); 801: SetLength(BlkPar.TAdr, k + 1); 802: except 803: s1 := '! Error SetLength TA'; 804: FinTrd; 805: exit; 806: end; 807: { Construction de la matrice A } 808: j := -1; 809: for i := 0 to JNbrComposant do 810: begin 811: { Ne pas tenir compte des masses } 812: if BlkPar.Gest[i].ZeroPot then 813: continue; 814: inc(j); 815: { recherche DLL du composant } 816: Err := true; 817: for d := Low(PD^) to High(PD^) do 818: begin 819: if PD^[d].Composant = PR[i].RComposant then 820: begin := GetProcAddress(PD^[d].handle, 'CalCompo'); 822: Err := false; 823: break; 824: end; 825: end; 826: if Err then 827: exit; 828: d := -1; 829: for n := 0 to 1 do 830: begin 831: TA[j, BlkPar.Gest[i].Sommet[n]] := TA[j, BlkPar.Gest[i].Sommet[n]] + d; 832: d := -d; 833: end; 834: end; 835: { Si pas de composant calculable -> sortir } 836: if j = -1 then 837: begin 838: s1 := MesLangID(101); 839: FinTrd; 840: exit; 841: end; 842: { Construction de la matrice cyclomatique } 843: BlkPar.A 844: dec(k, l); 845: try 846: SetLength(TC, j + 1, k + 1); 847: except 848: s1 := '! Error SetLength TC'; 849: FinTrd; 850: exit; 851: end; 852: BlkPar.C 853: Err := CycMat(BlkPar.A, j, l - 1, BlkPar.C, k); 854: if Err then 855: begin 856: s1 := MesLangID(102); 857: FinTrd; 858: exit; 859: end; 860: { Initialisation des variables }

13 Page 11 sur : try 862: SetLength(TV, j + 1); 863: SetLength(TX, j + 1); 864: SetLength(TVp, j + 1, 2); 865: SetLength(Ai, j + 1); 866: SetLength(VTi, j + 1, 2); 867: except 868: s1 := '! Error SetLength TV at VTi'; 869: FinTrd; 870: exit; 871: end; 872: BlkPar.Vm := TV; 873: { Température composant } 874: try 875: SetLength(TP2, INbrComposant + 1); 876: SetLength(VTp2, INbrComposant + 1, 2); 877: except 878: s1 := '! Error SetLength TP2 à VTp2'; 879: FinTrd; 880: exit; 881: end; 882: for i := 0 to INbrComposant do 883: begin 884: TP2[i] := VTa; 885: VTp2[i, 0] := VTa; 886: VTp2[i, 1] := VTa; 887: end; 888: { Initialisation des paramètres } 889: try 890: SetLength(TP, j + 1); 891: SetLength(VTp, j + 1, 2); 892: except 893: s1 := '! Error SetLength TP à VTp'; 894: FinTrd; 895: exit; 896: end; 897: BlkPar.Par := TP; 898: BlkPar.Par2 := TP2; 899: { Début du calcul } 900: Dxt := Dt / 30.; 901: Dxt2 := Dxt; 902: Dxt3 := Dxt; 903: iv := 0; 904: im := 0; 905: hmutex := MathLock; 906: { Boucle de temps } 907: repeat 908: { si ces parametres ont bouges } 909: VTa := Parms^[0]; 910: Ni := ceil(parms^[3]); 911: if Parms^[9] = 1 then 912: ActivJournal := true 913: else 914: ActivJournal := false; 915: PtInter := ActivJournal; 916: ib := 1; 917: T := Dt / 30.; 918: repeat 919: i5 := 0; 920: repeat 921: { si parametres changes } 922: MaxPt := ceil(parms^[4]); 923: if Parms^[10] = 0. then 924: auto := false 925: else 926: auto := true; 927: for k := 1 to Ni do 928: begin 929: BlkPar.Err := false; 930: BlkPar.VPci := Parms^[5]; 931: BlkPar.Ni := k; 932: BlkPar.j := j; 933: BlkPar.l := l; 934: BlkPar.JNbrComposant := JNbrComposant; 935: BlkPar.iB := ib; 936: BlkPar.T := T; 937: BlkPar.auto := auto; 938: BlkPar.Dxt := Dxt; 939: BlkPar.VTa := VTa; 940: BlkPar.NumLg := NumLg; 941: BlkPar.PA := PA; 942: BlkPar.PR 943: BlkPar.PD := PD; 944: BlkPar.Parms := Parms; 945: if WaitForSingleObject(hMutex, INFINITE) = WAIT_OBJECT_0 then 946: begin

14 Page 12 sur : if Newton(BlkPar) then 948: begin 949: BlkPar.Err := true; 950: end; 951: ReleaseMutex(hMutex); 952: if not BlkPar.Err then 953: break; 954: end; 955: if Terminated then 956: exit; 957: end; 958: if BlkPar.Err then 959: begin 960: { Arret du traitement } 961: if Terminated then 962: exit; 963: ib := 2 * ib; 964: if ib > MaxPt then 965: begin 966: s1 := MesLangID(104); 967: FinTrd; 968: exit; 969: end; 970: i5 := 0; 971: T := Dt / (30. * ib); 972: Dxt := Dxt2 - T * (ib - 1); 973: for i1 := 0 to j do 974: begin 975: TV[i1] := TVp[i1, 0]; 976: TVp[i1, 1] := TVp[i1, 0]; 977: TP[i1] := VTp[i1, 0]; 978: VTp[i1, 1] := VTp[i1, 0]; 979: Ai[i1] := VTi[i1, 0]; 980: VTi[i1, 1] := VTi[i1, 0]; 981: end; 982: for i1 := 0 to INbrComposant do 983: begin 984: TP2[i1] := VTp2[i1, 0]; 985: VTp2[i1, 1] := VTp2[i1, 0]; 986: end; 987: iv := im; 988: continue; 989: end; 990: { Non affichage des messages des points intermédiaires } 991: if ((i5 + 1) = ib) and ((iv im) = 2) then 992: ActivJournal := PtInter 993: else 994: ActivJournal := false; 995: { Voir si des composants sont détruits } 996: i1 := -1; 997: for i := 0 to JNbrComposant do 998: begin 999: if BlkPar.Gest[i].ZeroPot then 1000: continue; 1001: inc(i1); 1002: { Appel au calcul du composant } 1003: TypOp := 5; 1004: Ano := GetMemory(cstMaxChars * SizeOf(Char)); 1005: StrCopy(Ano, ''); 1006: if WaitForSingleObject(hMutex, INFINITE) = WAIT_OBJECT_0 then 1007: begin 1008: Err := FuncCompo(BlkPar, TypOp, i, Ai, iq, i1, true, Ano, 1009: cstmaxchars, Ok); 1010: ReleaseMutex(hMutex); 1011: end; 1012: s2 := copy(ano, 1, cstmaxchars); 1013: while Length(s2) <> 0 do 1014: begin 1015: i2 := Pos(';', s2); 1016: s1 := copy(s2, 1, i2-1); 1017: delete(s2, 1, i2); 1018: Anomalie; 1019: end; 1020: FreeMemory(Ano); 1021: if Err then 1022: begin 1023: s1 := MesLangID(106) + IntToStr(TypOp) + '-' + IntToStr 1024: (PR[i].RComposant); ; 1025: FinTrd; 1026: exit; 1027: end; 1028: TX[i1] := TV[i1]; 1029: case Ok of 1030: 1: 1031: begin 1032: Ai[i1] := TV[i1];

15 Page 13 sur : TX[i1] := iq; 1034: end; 1035: 2: 1036: TP[i1] := Ai[i1]; 1037: 3: 1038: TP[i1] := TV[i1]; 1039: { Si on veut rien faire } 1040: 4: 1041: else 1042: begin 1043: s1 := MesLangID(107) + IntToStr(Ok); 1044: FinTrd; 1045: exit; 1046: end; 1047: end; 1048: end; 1049: { Voir les sources de courant } 1050: i1 := -1; 1051: for i := 0 to JNbrComposant do 1052: begin 1053: if BlkPar.Gest[i].ZeroPot then 1054: continue; 1055: inc(i1); 1056: { Appel au calcul du composant } 1057: TypOp := 6; 1058: Ano := GetMemory(cstMaxChars * SizeOf(Char)); 1059: StrCopy(Ano, ''); 1060: if WaitForSingleObject(hMutex, INFINITE) = WAIT_OBJECT_0 then 1061: begin 1062: Err := FuncCompo(BlkPar, TypOp, i, Ai, iq, i1, true, Ano, 1063: cstmaxchars, Ok); 1064: ReleaseMutex(hMutex); 1065: end; 1066: s2 := copy(ano, 1, cstmaxchars); 1067: while Length(s2) <> 0 do 1068: begin 1069: i2 := Pos(';', s2); 1070: s1 := copy(s2, 1, i2-1); 1071: delete(s2, 1, i2); 1072: Anomalie; 1073: end; 1074: FreeMemory(Ano); 1075: if Err then 1076: begin 1077: s1 := MesLangID(106) + IntToStr(TypOp) + '-' + IntToStr 1078: (PR[i].RComposant); 1079: FinTrd; 1080: exit; 1081: end; 1082: case Ok of 1083: 1: 1084: begin 1085: Ai[i1] := TV[i1]; 1086: TX[i1] := iq; 1087: end; 1088: 2: 1089: TP[i1] := Ai[i1]; 1090: 3: 1091: TP[i1] := TV[i1]; 1092: { Si on veut rien faire } 1093: 4: 1094: else 1095: begin 1096: s1 := MesLangID(107) + IntToStr(Ok); 1097: FinTrd; 1098: exit; 1099: end; 1100: end; 1101: end; 1102: { Affiche les messages suivants le choix de l'utilisateur } 1103: ActivJournal := PtInter; 1104: inc(i5); 1105: Dxt := Dxt + T; 1106: until i5 = ib; 1107: Dxt := Dxt3 + Dt / 30; 1108: Dxt3 := Dxt; 1109: for i0 := 0 to j do 1110: begin 1111: TVp[i0, 0] := TVp[i0, 1]; 1112: TVp[i0, 1] := TV[i0]; 1113: VTp[i0, 0] := VTp[i0, 1]; 1114: VTp[i0, 1] := TP[i0]; 1115: VTi[i0, 0] := VTi[i0, 1]; 1116: VTi[i0, 1] := Ai[i0]; 1117: end; 1118: for i0 := 0 to INbrComposant do

16 Page 14 sur : begin 1120: VTp2[i0, 0] := VTp2[i0, 1]; 1121: VTp2[i0, 1] := TP2[i0]; 1122: end; 1123: inc(iv); 1124: until (iv - im) = 2; 1125: { Arret du traitement } 1126: if Terminated then 1127: exit; 1128: { Afficher les résultats sur l'écran } 1129: r1 := VTp2[IPosDroit, 0]; 1130: SendMessage(Hwdle, WM_AFFMESTD, ri, 0); 1131: { Temps suivant } 1132: Dxt2 := Dxt2 + Dt / 30.; 1133: inc(im); 1134: until Dxt2 > Dft; 1135: PThermo.Erreur.Panels[0].Text := MesLangID(224); 1136: s1 := MesLangID(145); 1137: FinTrd; 1138: end; 1139: end; 1140: 1141: procedure TThermo.FormCreate(Sender: TObject); 1142: begin 1143: with PDDllF^ do 1144: begin 1145: Caption := MesLangID(188) + ' ' + PA^[IPosDroit].RTypCompo + IntToStr 1146: (PA^[IPosDroit].RangCompo); 1147: Val1.Caption := MesLangID(162); 1148: VaV1.Caption := MesLangID(163); 1149: Label1.Caption := MesLangID(56); 1150: Pow1.Caption := MesLangID(167); 1151: AM.Caption := MesLangID(168); 1152: Paus2.Caption := MesLangID(169); 1153: LabT.Caption := MesLangID(186); 1154: LabFin.Caption := MesLangID(187); 1155: { initialisation des valeurs } 1156: T2.EditText := '00:00:00:000000'; 1157: { IDt est le temps / division } 1158: IDt := 0; 1159: Edit1.Text := ''; 1160: Edit2.Text := ''; 1161: Tps.EditText := '00:00:00:000000'; 1162: Erreur.Panels[0].Text := ''; 1163: Erreur.Panels[1].Text := ''; 1164: AM.Down := false; 1165: AM.Caption := MesLangID(168); 1166: AM.Color := clblack; 1167: Pause.Down := false; 1168: Pause.Color := clblack; 1169: Pause.Enabled := false; 1170: end; 1171: end; 1172: 1173: procedure TThermo.FormDestroy(Sender: TObject); 1174: var 1175: i: Integer; 1176: begin 1177: with PDDllF^ do 1178: begin 1179: for i := 0 to high(pd^) do 1180: begin 1181: if lowercase(pd^[i].name) = 'mesuther.dll' then 1182: begin 1183: if PD^[i].Activate > 0 then 1184: begin 1185: PD^[i].Activate := PD^[i].Activate - 1; 1186: break; 1187: end; 1188: end; 1189: end; 1190: end; 1191: FreeMem(PDDllF); 1192: end; 1193: 1194: function TThermo.FormHelp(Command: Word; Data: Integer; 1195: var CallHelp: Boolean): Boolean; 1196: var 1197: i: Integer; 1198: begin 1199: i := 0; 1200: repeat 1201: inc(i); 1202: until lowercase(pddllf^.pd^[i].name) = 'mesuther.dll'; 1203: SendMessage(Hdle, WM_HelpPE, 0, i); 1204: CallHelp := false;

17 Page 15 sur : result := false; 1206: end; 1207: 1208: procedure TThermo.FormClose(Sender: TObject; var Action: TCloseAction); 1209: begin 1210: with PDDllF^ do 1211: begin 1212: SendMessage(Hdle, WM_LOCKFUNC, LockOpen + LockNew + LockCCP + LockNComp, 1); 1213: end; 1214: Action := cafree; 1215: end; 1216: 1217: begin 1218: 1219: end.

MesuInstru.dproj 07/05/ :53:24

MesuInstru.dproj 07/05/ :53:24 MesuInstru.dproj 07/05/2011 19:53:24 Page 1 sur 3 1: library MesuInstru; 2: 3: uses 4: Windows, 5: Messages, 6: Classes, 7: Dialogs, 8: Forms, 9: SysUtils, 10: UInstrument in 'UInstrument.pas'; 11: 12:

More information

MesuAmp.dproj 07/05/ :50:26

MesuAmp.dproj 07/05/ :50:26 MesuAmp.dproj 07/05/2011 19:50:26 Page 1 sur 3 1: library MesuAmp; 2: 3: uses 4: Windows, 5: Messages, 6: Classes, 7: Dialogs, 8: Forms, 9: SysUtils, 10: UAmpElec in 'UAmpElec.pas'; 11: 12: {$R MesuAmp.res}

More information

CiDess.dproj 07/05/ :36:24

CiDess.dproj 07/05/ :36:24 CiDess.dproj 07/05/2011 19:36:24 Page 1 sur 4 1: library CiDess; 2: 3: uses 4: Windows, 5: Messages, 6: Classes, 7: Dialogs, 8: Forms, 9: SysUtils, 10: Inifiles, 11: UParamCiDess1 in 'UParamCiDess1.pas'

More information

LAMPIRAN Listing Program

LAMPIRAN Listing Program LAMPIRAN Listing Program unit umain; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ComCtrls, StdCtrls, ExtCtrls, ExtDlgs, DCPcrypt2, DCPrc4, DCPsha1,

More information

Introduction to the DLL for the USB Interface Board K8061

Introduction to the DLL for the USB Interface Board K8061 K8061.DLL 1 Introduction to the DLL for the USB Interface Board K8061 The K8061 interface board has 8 digital input channels and 8 digital output channels. In addition, there are 8 analogue inputs, 8 analogue

More information

NATIONAL SENIOR CERTIFICATE GRADE12

NATIONAL SENIOR CERTIFICATE GRADE12 NATIONAL SENIOR CERTIFICATE GRADE12 INFORMATION TECHNOLOGY P1 NOVEMBER 2017 MARKING GUIDELINES MARKS: 150 These marking guidelines consist of 26 pages. Information Technology/P1 2 DBE/November 2017 GENERAL

More information

TD 2. Correction TP info

TD 2. Correction TP info TP 2 Exercice 3 : Impôts Sub impot() Dim montant As Integer montant = Cells(1, 1).Value Dim montanttot As Integer Select Case montant Case 0 To 1000 montanttot = 0.1 * montant Case 1001 To 5000 montanttot

More information

Image. uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls ;

Image. uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls ; B 71 11 Image Image Image Image 11.1 11.1.1 Amida AmidaU.pas AmidaP.dpr 11.1.2 Form Name FormAmida Caption Position poscreencenter HorzScrollBar.Visible False VertScrollBar.Visible False 11.1.3 11.2 Image

More information

NATIONAL SENIOR CERTIFICATE GRADE12

NATIONAL SENIOR CERTIFICATE GRADE12 NATIONAL SENIOR CERTIFICATE GRADE12 INFORMATION TECHNOLOGY P1 FEBRUARY/MARCH 2018 MARKING GUIDELINES MARKS: 150 These marking guidelines consist of 21 pages. Information Technology/P1 2 DBE/Feb. Mar. 2018

More information

VHDL par Ahcène Bounceur VHDL

VHDL par Ahcène Bounceur VHDL VHDL Ahcène Bounceur 2009 Plan de travail 1. Introduction au langage 2. Prise en main 3. Machine à état 4. Implémentation sur FPGA 1 VHDL Introduction au langage Ahcène Bounceur VHDL VHIC (Very High-speed

More information

Delphi Generics.Collections

Delphi Generics.Collections Delphi Generics.Collections Copyright(C) 2008 Embarcadero Technologies, Inc. All Rights Reserved. Delphi Generics.Collections Table of Contents Generics.Collections.TCollectionNotification 1 Generics.Collections.TCollectionNotifyEvent

More information

VLANs. Commutation LAN et Wireless Chapitre 3

VLANs. Commutation LAN et Wireless Chapitre 3 VLANs Commutation LAN et Wireless Chapitre 3 ITE I Chapter 6 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 1 Objectifs Expliquer le rôle des VLANs dans un réseau convergent. Expliquer le rôle

More information

GRADE 12 SEPTEMBER 2012 INFORMATION TECHNOLOGY P1 MEMORANDUM

GRADE 12 SEPTEMBER 2012 INFORMATION TECHNOLOGY P1 MEMORANDUM Province of the EASTERN CAPE EDUCATION NATIONAL SENIOR CERTIFICATE GRADE 12 SEPTEMBER 2012 INFORMATION TECHNOLOGY P1 MEMORANDUM MARKS: 120 This memorandum consists of 11 pages. 2 INFORMATION TECHNOLOGY

More information

Today we spend some time in OO Programming (Object Oriented). Hope you did already work with the first Starter and the box at:

Today we spend some time in OO Programming (Object Oriented). Hope you did already work with the first Starter and the box at: maxbox Starter 2 Start with OO Programming 1.1 First Step Today we spend some time in OO Programming (Object Oriented). Hope you did already work with the first Starter and the box at: http://www.softwareschule.ch/download/maxbox_starter.pdf

More information

Analyse statique de programmes avioniques

Analyse statique de programmes avioniques June 28th 2013. Forum Méthodes Formelles Cycle de conférences: Analyse Statique : «Retour d expériences industrielles» Analyse statique de programmes avioniques Presenté par Jean Souyris (Airbus Opérations

More information

ILLUSTRATION DES EXCEPTIONS

ILLUSTRATION DES EXCEPTIONS ILLUSTRATION DES EXCEPTIONS Exemple 1: Capture d'une exception prédéfinie package exception1; public class PrintArgs public static void main ( String[ ] args ) System.out.println ( " Affichage des paramètres

More information

C-DIAS Analogue Output Module CAO 082 for eight ±10V DC respectively eight 0 20mA DC outputs

C-DIAS Analogue Output Module CAO 082 for eight ±10V DC respectively eight 0 20mA DC outputs C-DIAS Analogue Output Module CAO 082 for eight ±10V DC respectively eight 0 20mA DC outputs This analogue output module is used for driving components capable of being analogue driven (e.g. proportional

More information

About Transferring License Rights for. PL7 V4.5 and Unity Pro V2.3 SP1 Software

About Transferring License Rights for. PL7 V4.5 and Unity Pro V2.3 SP1 Software Page 1 of 38 Click here to access the English Cliquez ici pour accéder au Français Klicken Sie hier, um zum Deutschen zu gelangen Premete qui per accedere all' Italiano Pulse acquì para acceder al Español

More information

C:\MasterPageWeb\HAPR\docu\HAPR_VB6_version15sept06.rtf 19/10/08. HARP_VB projet en VB6

C:\MasterPageWeb\HAPR\docu\HAPR_VB6_version15sept06.rtf 19/10/08. HARP_VB projet en VB6 HARP_VB projet en VB6 Option Explicit Dim Value As Integer Dim i As Integer Dim il As Long Dim LL, L1S, L250µS, L500µS, L1mS, L2mS, L5mS, L10mS As Single Dim offsetdepart As Long Dim police(256, 8) As

More information

Modbus Server. ARSoft International

Modbus Server. ARSoft International Modbus Server ARSoft International Description The ModBus server allows: The cyclic or acyclique interrogation of equipments connected to the serial comport COM1 to COM10. Up to 115200 Bauds. The communication

More information

TP 3 des architectures logicielles Séance 3 : Architecture n-tiers distribuée à base d EJB. 1 Préparation de l environnement Eclipse

TP 3 des architectures logicielles Séance 3 : Architecture n-tiers distribuée à base d EJB. 1 Préparation de l environnement Eclipse TP 3 des architectures logicielles Séance 3 : Architecture n-tiers distribuée à base d EJB 1 Préparation de l environnement Eclipse 1. Environment Used JDK 7 (Java SE 7) EJB 3.0 Eclipse JBoss Tools Core

More information

Source code for simulations: 1 of 11

Source code for simulations: 1 of 11 The following is the source code for the simulations reported in Clinchy, Haydon and Smith (Pattern process: what does patch occupancy really tell us about metapopulation dynamics). unit Main; interface

More information

Использование ассиметричных алгоритмов криптографического преобразования информации в приложениях Windows

Использование ассиметричных алгоритмов криптографического преобразования информации в приложениях Windows Государственное образовательное учреждение высшего профессионального образования «Петербургский государственный университет путей сообщения» Кафедра «Информационные и вычислительные системы» Лабораторная

More information

uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, ImgList, StdCtrls, Buttons, MPlayer;

uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, ImgList, StdCtrls, Buttons, MPlayer; unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, ImgList, StdCtrls, Buttons, MPlayer; type TForm1 = class(tform) Cenario: TImage;

More information

DELPHI FOR ELECTRONIC ENGINEERS. Part 2 Programming a calculator COURSE

DELPHI FOR ELECTRONIC ENGINEERS. Part 2 Programming a calculator COURSE COURSE DELPHI FOR ELECTRONIC ENGINEERS Part 2 Programming a calculator Herman Bulle with thanks to Anton Vogelaar In the first instalment of this series, we introduced the Delphi programming environment

More information

C-DIAS Analog Input Module CAI 086 For eight, ±10V voltage inputs

C-DIAS Analog Input Module CAI 086 For eight, ±10V voltage inputs C-DIAS ANALOG INPUT MODULE CAI 086 C-DIAS Analog Input Module CAI 086 For eight, ±10V voltage inputs This analog input module is used for the input of voltage values in the range of ±100mV / ±1.0V and10v.

More information

NATIONAL SENIOR CERTIFICATE GRADE12

NATIONAL SENIOR CERTIFICATE GRADE12 NATIONAL SENIOR CERTIFICATE GRADE12 INFORMATION TECHNOLOGY P1 FEBRUARY/MARCH 2017 MEMORANDUM MARKS: 150 This memorandum consists of 29 pages. Information Technology/P1 2 DBE/Feb. Mar. 2017 GENERAL INFORMATION:

More information

(1) Trump (1) Trump (2) (1) Trump ExampleU ExampleP (2) Caption. TrumpU (2) Caption. (3) Image FormTrump. Top 0 Left 0.

(1) Trump (1) Trump (2) (1) Trump ExampleU ExampleP (2) Caption. TrumpU (2) Caption. (3) Image FormTrump. Top 0 Left 0. B 114 18 (1) 18.1 52 54 Trump http://www.ss.u-tokai.ac.jp/~ooya/jugyou/joronb/trumpbmp.exe (1) (2) Trump 18.2 (1) Trump ExampleU ExampleP (2) Name Caption FormMain 18.3 (1) TrumpU (2) Name Caption FormTrump

More information

C-DIAS Analog Module CAO 086 For eight ±10 V Outputs

C-DIAS Analog Module CAO 086 For eight ±10 V Outputs C-DIAS-ANALOG OUTPUT MODULE CAO 086 C-DIAS Analog Module CAO 086 For eight ±10 V Outputs This analog output module can be used to control analog controllable components (i.e.: proportional pressure vent,

More information

NATIONAL SENIOR CERTIFICATE GRADE 12

NATIONAL SENIOR CERTIFICATE GRADE 12 NATIONAL SENIOR CERTIFICATE GRADE 12 INFORMATION TECHNOLOGY P1 NOVEMBER 2014 MEMORANDUM MARKS: 150 This memorandum consists of 28 pages. Information Technology/P1 2 DBE/November 2014 GENERAL INFORMATION:

More information

Tutorial :.Net Micro Framework et.net Gadgeteer

Tutorial :.Net Micro Framework et.net Gadgeteer 1 Co-développement émulateur personnalisé et application pour une cible. 1.1 Utilisation d un émulateur personnalisé Après l installation du SDK.Net Micro, dans le répertoire d exemples, Framework (ex.

More information

SunVTS Quick Reference Card

SunVTS Quick Reference Card SunVTS Quick Reference Card Sun Microsystems, Inc. 901 San Antonio Road Palo Alto, CA 94303-4900 U.S.A. 650-960-1300 Part No. 806-6519-10 January 2001, Revision A Send comments about this document to:

More information

2. Design and Development

2. Design and Development Postage Calculator 1. The task Design and implement a program for employees of a travel agency who send out documents to the UK and EU only; the program will calculate the cost of postage. Each envelope

More information

Graphes: Manipulations de base et parcours

Graphes: Manipulations de base et parcours Graphes: Manipulations de base et parcours Michel Habib habib@liafa.univ-paris-diderot.fr http://www.liafa.univ-paris-diderot.fr/~habib Cachan, décembre 2013 Notations Here we deal with finite loopless

More information

GRADE/GRAAD 11 NOVEMBER 2013 INFORMATION TECHNOLOGY P1 INLIGTINGSTEGNOLOGIE V1 MEMORANDUM

GRADE/GRAAD 11 NOVEMBER 2013 INFORMATION TECHNOLOGY P1 INLIGTINGSTEGNOLOGIE V1 MEMORANDUM NATIONAL SENIOR CERTIFICATE NASIONALE SENIOR SERTIFIKAAT GRADE/GRAAD 11 NOVEMBER 2013 INFORMATION TECHNOLOGY P1 INLIGTINGSTEGNOLOGIE V1 MEMORANDUM MARKS/PUNTE: 150 This memorandum consists of 6 pages.

More information

Grafcet++ AUTOMGEN Grafcet++ multi instance macro steps and encapsulating steps with parameters

Grafcet++ AUTOMGEN Grafcet++ multi instance macro steps and encapsulating steps with parameters Grafcet++ AUTOMGEN 80 Grafcet++ multi instance macro steps and encapsulating steps with parameters These functionalities are available from AUTOMGEN 80 Main concept Automation applications sometimes need

More information

APPLICATION NOTE: KONSTANTER LSP32K Interface Protocol

APPLICATION NOTE: KONSTANTER LSP32K Interface Protocol APPLICATION NOTE: KONSTANTER LSP32K Interface Protocol 1 Interface Type At the DB9 connector the LSP32K Power Supply device offers a serial data interface with TTL logic level for remote control and readout

More information

SunVTS Quick Reference Card

SunVTS Quick Reference Card SunVTS Quick Reference Card Sun Microsystems, Inc. www.sun.com Part No. 820-1672-10 September 2007, Revision 01 Submit comments about this document at: http://www.sun.com/hwdocs/feedback Copyright 2007

More information

LAMPIRAN A. Foto Alat

LAMPIRAN A. Foto Alat LAMPIRAN A Foto Alat A-1 A-2 Rangkaian Skematik PCB Sistem Monitoring Infus A-3 LAMPIRAN B Program pada Mikrokontroller AVR Atmega16...B-1 Program pada Borlan Delhpi 7.0...B-9 PROGRAM UTAMA /*****************************************************

More information

unit Unit3; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

unit Unit3; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, unit Unit3; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, CPort, LPComponent, SLCommonGen, SLSignalGen, Menus, SLComponentCollection, LPDrawLayers,

More information

SERIE N 1. 4 ème Année informatiques. Exercice 3. Exercice 4 (Manuel Scolaire) Page [1] Les enregistrements & Les fichiers Infoslpm.e-monsite.

SERIE N 1. 4 ème Année informatiques. Exercice 3. Exercice 4 (Manuel Scolaire) Page [1] Les enregistrements & Les fichiers Infoslpm.e-monsite. Exercice 3 SERIE N 1 program exercice3; uses wincrt; type st = string[30]; fch = file of st; var f:fch; nom: st; b : integer; procedure saisie(var f:fch); var vil:st; rep:char; write('donner le nom d''une

More information

Adventures in Messaging

Adventures in Messaging Adventures in Messaging CHAPTER 3 IN THIS CHAPTER What Is a Message? 130 Types of Messages 131 How the Windows Message System Works 132 Delphi s Message System 133 Handling Messages 134 Sending Your Own

More information

LAMPIRAN. uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Menus, XPMan, ExtCtrls, jpeg;

LAMPIRAN. uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Menus, XPMan, ExtCtrls, jpeg; LAMPIRAN Lampiran A. Listing Program 1. Unit Utama unit UnUtama; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Menus, XPMan, ExtCtrls, jpeg; type Tfrmutama

More information

Classes internes, Classes locales, Classes anonymes

Classes internes, Classes locales, Classes anonymes Classes internes, Classes locales, Classes anonymes Victor Marsault Aldric Degorre CPOO 2015 Enum (1) 2 Quand les utiliser: disjonctions de cas type au sens courant (eg. type de messages d erreur, type

More information

Java et Mascopt. Jean-François Lalande, Michel Syska, Yann Verhoeven. Projet Mascotte, I3S-INRIA Sophia-Antipolis, France

Java et Mascopt. Jean-François Lalande, Michel Syska, Yann Verhoeven. Projet Mascotte, I3S-INRIA Sophia-Antipolis, France Java et Mascopt Jean-François Lalande, Michel Syska, Yann Verhoeven Projet Mascotte, IS-INRIA Sophia-Antipolis, France Formation Mascotte 09 janvier 00 Java Java et Mascopt - Formation Mascotte 09 janvier

More information

TP 2 : Application SnapTchat 20 février 2015

TP 2 : Application SnapTchat 20 février 2015 TP 2 : Application SnapTchat 20 février 2015 SnapTchat : cahier de charges L objectif de ce TP est de développer une simple application d échange de messages courts entre deux utilisateurs. Le cahier des

More information

Ecole Nationale d Ingénieurs de Brest. Programmation par objets Le langage C++ Type Concret de Données en C++

Ecole Nationale d Ingénieurs de Brest. Programmation par objets Le langage C++ Type Concret de Données en C++ Notes de cours Ecole Nationale d Ingénieurs de Brest Programmation par objets Le langage C++ Type Concret de Données en C++ J. Tisseau 1995/1997 enib c jt......... 1/30 Du TAD au TCD Type Abstrait de Données

More information

TP5 Sécurité IPTABLE. * :sunrpc, localhost :domain,* :ssh, localhost :smtp, localhost:953,*: Tous sont des protocoles TCP

TP5 Sécurité IPTABLE. * :sunrpc, localhost :domain,* :ssh, localhost :smtp, localhost:953,*: Tous sont des protocoles TCP TP5 Sécurité IPTABLE Routage classique Q1) Sur la machiine FIREWALL, les services actifs sont : Netstat -a * :sunrpc, localhost :domain,* :ssh, localhost :smtp, localhost:953,*:53856. Tous sont des protocoles

More information

NATIONAL SENIOR CERTIFICATE GRADE12

NATIONAL SENIOR CERTIFICATE GRADE12 NATIONAL SENIOR CERTIFICATE GRADE12 INFORMATION TECHNOLOGY P1 NOVEMBER 2016 MEMORANDUM MARKS: 150 This memorandum consists of 32 pages. Information Technology/P1 2 DBE/November 2016 GENERAL INFORMATION:

More information

PRO7_TEL ver1_0 FINAL.BS2

PRO7_TEL ver1_0 FINAL.BS2 '{$STAMP BS2} PRO7_TEL ver1_0 FINAL.BS2 ' Programme: TEL.BS2 Simulateur de Ligne Telephonique ' Par: Sylvain Bergeron Date: 2000-FEV ' Versions: ' 0.1 Routines de SelfCheck: 2000-Fev-04 ' 0.2 Routines

More information

NATIONAL SENIOR CERTIFICATE GRADE12

NATIONAL SENIOR CERTIFICATE GRADE12 NATIONAL SENIOR CERTIFICATE GRADE12 INFORMATION TECHNOLOGY P1 NOVEMBER 2015 MEMORANDUM MARKS: 150 This memorandum consists of 32 pages. Information Technology/P1 2 DBE/November 2015 GENERAL INFORMATION:

More information

Mardi 3 avril Epreuve écrite sur un document en anglais

Mardi 3 avril Epreuve écrite sur un document en anglais C O L L E CONCOURS INTERNE ET EXTERNE DE TECHNICIEN DE CLASSE NORMALE DES SYSTEMES D INFORMATION ET DE COMMUNICATION Ne pas cacher le cadre d identité. Cette opération sera réalisée par l administration

More information

Verification and Validation

Verification and Validation 2017-2018 Cycle Ingénieur 2 ème année Département Informatique Verification and Validation Part II : Components of the UML Burkhart Wolff Département Informatique Université Paris-Sud / Orsay Plan of the

More information

Quick Reference Guide

Quick Reference Guide SOFTWARE AND HARDWARE SOLUTIONS FOR THE EMBEDDED WORLD mikroelektronika Development tools - Books - Compilers Quick Reference Quick Reference Guide with EXAMPLES for Pascal language This reference guide

More information

{ -- FLORIDA HIGH SCHOOLS COMPUTING COMPETITION '84 } { -- PASCAL PROGRAM SOLUTIONS }

{ -- FLORIDA HIGH SCHOOLS COMPUTING COMPETITION '84 } { -- PASCAL PROGRAM SOLUTIONS } { -- FLORIDA HIGH SCHOOLS COMPUTING COMPETITION '84 } { -- PASCAL PROGRAM SOLUTIONS } {1.1} program One1T84; { -- This program produces a table of Fahrenheit for Celcius. } C: Integer; Writeln ('CELCIUS

More information

CSE443 Compilers. Dr. Carl Alphonce 343 Davis Hall

CSE443 Compilers. Dr. Carl Alphonce 343 Davis Hall CSE443 Compilers Dr. Carl Alphonce alphonce@buffalo.edu 343 Davis Hall www.cse.buffalo. edu/faculty/alphonce/sp18/cse443 piazza.com/buffalo/spring2018/cse443 BUILD A COMPILER! Assessment plan Homework

More information

TD : Compilateur ml2java semaine 3

TD : Compilateur ml2java semaine 3 Module 4I504-2018fev TD 3 page 1/7 TD : Compilateur ml2java semaine 3 Objectif(s) 22 février 2018 Manipulation d un traducteur de code ML vers Java. 1 ML2Java Exercice 1 Structure du runtime 1. Déterminer

More information

Oracle ZFS Storage Appliance Cabling Guide. For ZS3-x, 7x20 Controllers, and DE2-24, Sun Disk Shelves

Oracle ZFS Storage Appliance Cabling Guide. For ZS3-x, 7x20 Controllers, and DE2-24, Sun Disk Shelves Oracle ZFS Storage Appliance Cabling Guide For ZS3-x, 7x20 Controllers, and DE2-24, Sun Disk Shelves Part No: E53670-01 June 2014 Copyright 2009, 2014, Oracle and/or its affiliates. All rights reserved.

More information

Basic program The following is a basic program in C++; Basic C++ Source Code Compiler Object Code Linker (with libraries) Executable

Basic program The following is a basic program in C++; Basic C++ Source Code Compiler Object Code Linker (with libraries) Executable Basic C++ Overview C++ is a version of the older C programming language. This is a language that is used for a wide variety of applications and which has a mature base of compilers and libraries. C++ is

More information

Infobel XmlAccess User Manual. Infobel XmlAccess. User Manual. Version 2.0. Page 1 of 45

Infobel XmlAccess User Manual. Infobel XmlAccess. User Manual. Version 2.0. Page 1 of 45 Infobel XmlAccess User Manual Version 2.0 Page 1 of 45 Table of Content 1. INTRODUCTION... 4 1.1. General... 4 1.2. Glossary... 4 2. INFOBEL SEARCH SERVICE... 5 2.1. Access the Infobel Search Service...

More information

Advanced Systems Programming

Advanced Systems Programming Advanced Systems Programming Introduction to C++ Martin Küttler September 19, 2017 1 / 18 About this presentation This presentation is not about learning programming or every C++ feature. It is a short

More information

This document is a preview generated by EVS

This document is a preview generated by EVS INTERNATIONAL STANDARD ISO 472 NORME INTERNATIONALE Fourth edition Quatrième édition 2013-02-01 Plastics Vocabulary Plastiques Vocabulaire Reference number Numéro de référence ISO 2013 COPYRIGHT PROTECTED

More information

Plugin API. Revision

Plugin API. Revision Plugin API Revision 2012-01-14 1. Creating Your First Plugin A simple example is much better to understand the plugin API than tens of boring pages of theory. Our first plugin will show a window with PI

More information

Voir ces deux articles : [3]

Voir ces deux articles :  [3] Publié sur WindowsLinux.net (http://www.windowslinux.net) Accueil > Microsoft Security Essentials Microsoft Security Essentials [1] Téléchargements Le téléchargement de MSE (Microsoft Security Essentials)

More information

ControlLogix Redundant Power Supply Chassis Adapter Module

ControlLogix Redundant Power Supply Chassis Adapter Module Installation Instructions ControlLogix Redundant Power Supply Chassis Adapter Module Catalog Number 1756-PSCA Use this publication as a guide when installing the ControlLogix 1756-PSCA chassis adapter

More information

COMP 202 Java in one week

COMP 202 Java in one week COMP 202 Java in one week... Continued CONTENTS: Return to material from previous lecture At-home programming exercises Please Do Ask Questions It's perfectly normal not to understand everything Most of

More information

UJIAN AKHIR SEMESTER TEKNIK INFORMATIKA SEKOLAH TINGGI TEKNOLOGI DUTA BANGSA

UJIAN AKHIR SEMESTER TEKNIK INFORMATIKA SEKOLAH TINGGI TEKNOLOGI DUTA BANGSA UJIAN AKHIR SEMESTER TEKNIK INFORMATIKA SEKOLAH TINGGI TEKNOLOGI DUTA BANGSA Dosen Pembimbing : Dedi W ST,. MM Nama : Elly Sunandy NIM : 13158279 Pemrograman Terstruktur Membuat program dengan Delphi 7

More information

1 PORT HARDENED SERIAL SERVER

1 PORT HARDENED SERIAL SERVER QUICK START GUIDE LES421A 1 PORT HARDENED SERIAL SERVER 24/7 TECHNICAL SUPPORT AT 877.877.2269 OR VISIT BLACKBOX.COM STEP 1 - Check for All Required Hardware 1-Port Hardened Serial Server This Quick Start

More information

Installation des interfaces et utilisation de WorldCAT-CIF pour le catalogue CD Meusburger

Installation des interfaces et utilisation de WorldCAT-CIF pour le catalogue CD Meusburger Installation des interfaces et utilisation de pour le catalogue CD Meusburger 1. Condition préalable: lors de l installation du catalogue CD Meusburger, il faut avoir mis en place DAKO. 2. Veuillez vérifier

More information

Solaris 8 6/00 Sun Hardware Roadmap

Solaris 8 6/00 Sun Hardware Roadmap Solaris 8 6/00 Sun Hardware Roadmap This document is a guide to the CDs and documents involved in installing the Solaris 8 6/00 software. Note The arrangement of CDs in the Solaris 8 product is different

More information

LAMPIRAN A: LIST PROGRAM

LAMPIRAN A: LIST PROGRAM LAMPIRAN A: LIST PROGRAM Form Login unit ULogin; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, DB, IBQuery, IBDatabase, IBCustomDataSet, IBTable,

More information

ISE 021 S-DIAS Interface Module RS232 / RS485

ISE 021 S-DIAS Interface Module RS232 / RS485 ISE 021 S-DIAS Interface Module RS232 / RS485 Date of creation: 23.04.2014 Version date: 31.01.2018 Article number: 20-101-021-E Publisher: SIGMATEK GmbH & Co KG A-5112 Lamprechtshausen Tel.: +43/6274/4321

More information

Oracle Dual Port QDR InfiniBand Adapter M3. Product Notes

Oracle Dual Port QDR InfiniBand Adapter M3. Product Notes Oracle Dual Port QDR InfiniBand Adapter M3 Product Notes Part No.: E40986-01 September 2013 Copyright 2013 Oracle and/or its affiliates. All rights reserved. This software and related documentation are

More information

RO 051 S-DIAS Relay Output Module

RO 051 S-DIAS Relay Output Module RO 051 S-DIAS Relay Output Module Date of creation: 10.08.2015 Version date: 18.10.2017 Article number: 20-064-051-E Publisher: SIGMATEK GmbH & Co KG A-5112 Lamprechtshausen Tel.: +43/6274/4321 Fax: +43/6274/4321-18

More information

Interdisciplinary relations in teaching of programming

Interdisciplinary relations in teaching of programming Interdisciplinary relations in teaching of programming VLADIMÍR JEHLIČKA Department of Informatics Faculty of Education University of Hradec Králové Rokitanského 62, 500 03 Hradec Králové 3 CZECH REPUBLIC

More information

Préparation au concours ACM TP 2

Préparation au concours ACM TP 2 Préparation au concours ACM TP 2 Christoph Dürr Jill-Jênn Vie September 25, 2014 Quelques conseils Entraînez-vous à identifier les problèmes les plus faciles. Lisez bien les contraintes d affichage : faut-il

More information

DelphiScript Keywords

DelphiScript Keywords DelphiScript Keywords Old Content - visit altium.com/documentation Modified by on 13-Sep-2017 This reference covers the DelphiScript keywords used for the Scripting System in Altium Designer. The scripting

More information

Sun Control Station. Performance Module. Sun Microsystems, Inc. Part No September 2003, Revision A

Sun Control Station. Performance Module. Sun Microsystems, Inc.   Part No September 2003, Revision A Sun Control Station Performance Module Sun Microsystems, Inc. www.sun.com Part No. 817-3610-10 September 2003, Revision A Submit comments about this document at: http://www.sun.com/hwdocs/feedback Copyright

More information

Functional Blue Prints for the Development of a KMapper Prototype

Functional Blue Prints for the Development of a KMapper Prototype Functional Blue Prints for the Development of a KMapper Prototype SOFTWARE DESIGN DOCUMENT KMAPPER KNOWLEDGE INFERRING SERVICES And prepared by Martin Froment and Ludovic Tobin Fujitsu Consulting (Canada)

More information

Common Misunderstandings from Exam 1 Material

Common Misunderstandings from Exam 1 Material Common Misunderstandings from Exam 1 Material Kyle Dewey Stack and Heap Allocation with Pointers char c = c ; char* p1 = malloc(sizeof(char)); char** p2 = &p1; Where is c allocated? Where is p1 itself

More information

Programmation Mobile Android Master CCI

Programmation Mobile Android Master CCI Programmation Mobile Android Master CCI Bertrand Estellon Aix-Marseille Université March 23, 2015 Bertrand Estellon (AMU) Android Master CCI March 23, 2015 1 / 266 Navigation entre applications Nous allons

More information

ICA 012 S-DIAS Interface Module CAN

ICA 012 S-DIAS Interface Module CAN ICA 012 S-DIAS Interface Module CAN Date of creation: 06.09.2016 Version date: 25.06.2018 Article number: 20-102-012-E Publisher: SIGMATEK GmbH & Co KG A-5112 Lamprechtshausen Tel.: +43/6274/4321 Fax:

More information

12.2 Mixing HLA and MASM/Gas Code in the Same Program In-Line (MASM/Gas) Assembly Code in Your HLA Programs

12.2 Mixing HLA and MASM/Gas Code in the Same Program In-Line (MASM/Gas) Assembly Code in Your HLA Programs 12.1 Chapter Overview Most assembly language code doesn t appear in a stand-alone assembly language program. Instead, most assembly code is actually part of a library package that programs written in a

More information

The scripting system handles two types of components: Visual and Non-visual components.

The scripting system handles two types of components: Visual and Non-visual components. Forms and Components Old Content - visit altium.com/documentation Modified by on 13-Sep-2017 Parent page: DelphiScript Overview of Graphical Components The scripting system handles two types of components:

More information

Font Administrator User s Guide

Font Administrator User s Guide Font Administrator User s Guide Sun Microsystems, Inc. 4150 Network Circle Santa Clara, CA 95054 U.S.A. Part No: 816 0281 10 May 2002 Copyright 2002 Sun Microsystems, Inc. 4150 Network Circle, Santa Clara,

More information

CSCE 531, Spring 2015 Final Exam Answer Key

CSCE 531, Spring 2015 Final Exam Answer Key CSCE 531, Spring 2015 Final Exam Answer Key 1. (40 points total) Consider the following grammar with start symbol S : S S S asb S T T T a T cs T ɛ (a) (10 points) Find FIRST(S), FIRST(T ), FOLLOW(S), and

More information

AI 046 S-DIAS Analog Input Module

AI 046 S-DIAS Analog Input Module AI 046 S-DIAS Analog Input Module Date of creation: 14.06.2017 Version date: 14.02.2018 Article number: 20-009-046-E Publisher: SIGMATEK GmbH & Co KG A-5112 Lamprechtshausen Tel.: +43/6274/4321 Fax: +43/6274/4321-18

More information

Object Pascal Language Guide

Object Pascal Language Guide Object Pascal Language Guide Borland Object Pascal Borland Software Corporation 100 Enterprise Way, Scotts Valley, CA 95066-3249 www.borland.com Borland Software Corporation may have patents and/or pending

More information

(************************ Instructions de base ************************)

(************************ Instructions de base ************************) (**********************************************************************) (* Corrige du TD "Graphisme" *) (**********************************************************************) (************************

More information

Déclaration du module

Déclaration du module Déclaration du module Imports System.IO Module ModuleStagiaires Public Structure Stagiaire Private m_code As Long Private m_nom As String Private m_prenom As String Public Property code() As Long Get Return

More information

GRADE 11 NOVEMBER 2012 INFORMATION TECHNOLOGY P1 INLIGTINGSTEGNOLOGIE V1 MEMORANDUM

GRADE 11 NOVEMBER 2012 INFORMATION TECHNOLOGY P1 INLIGTINGSTEGNOLOGIE V1 MEMORANDUM Province of the EASTERN CAPE EDUCATION NATIONAL SENIOR CERTIFICATE GRADE 11 NOVEMBER 2012 INFORMATION TECHNOLOGY P1 INLIGTINGSTEGNOLOGIE V1 MEMORANDUM MARKS/PUNTE: 120 This memorandum consists of 10 pages.

More information

FlexArmor 24V dc Sinking Input Modules

FlexArmor 24V dc Sinking Input Modules Installation Instructions FlexArmor 24V dc Sinking Input Modules Catalog Number 1798-IB4 & 1798-IB8 42638 The FlexArmor I/O modules (Cat. No. 1798-IB4 & 1798-IB8) mount in a FlexArmor Baseplate. Use compatible

More information

FLEX Integra 4 Input Module

FLEX Integra 4 Input Module Installation Instructions FLEX Integra 4 Input Module (Cat. No. 1793-IB4 and -IB4S) 41355 Module Installation This module mounts on a DIN rail. It connects to an adapter or another FLEX I/O or Integra

More information

Réinitialisation de serveur d'ucs série C dépannant TechNote

Réinitialisation de serveur d'ucs série C dépannant TechNote Réinitialisation de serveur d'ucs série C dépannant TechNote Contenu Introduction Conditions préalables Conditions requises Composants utilisés Sortie prévue pour différents états de réinitialisation Réinitialisation

More information

UPPAAL. Verification Engine, Options & Patterns. Alexandre David

UPPAAL. Verification Engine, Options & Patterns. Alexandre David UPPAAL Verification Engine, Options & Patterns Alexandre David 1.2.05 Outline UPPAAL Modelling Language Specification Language UPPAAL Verification Engine Symbolic exploration algorithm Zones & DBMs Verification

More information

CS313D: ADVANCED PROGRAMMING LANGUAGE

CS313D: ADVANCED PROGRAMMING LANGUAGE CS313D: ADVANCED PROGRAMMING LANGUAGE Computer Science department Lecture 2 : C# Language Basics Lecture Contents 2 The C# language First program Variables and constants Input/output Expressions and casting

More information

Special Documentation Bluetooth module (BT10)

Special Documentation Bluetooth module (BT10) SD02252F/00/EN/01.18 71401266 Products Solutions Services Special Documentation Bluetooth module (BT10) Accessory Application Remote operation of HART devices via Bluetooth wireless technology Suitable

More information

Part 1 The first steps

Part 1 The first steps course DELPHI FOR ELECTRONIC ENGINEERS Part 1 The first steps Detlef Overbeek & Anton Vogelaar This article is the first part in a series about programming in Delphi, which concentrates on the practical

More information

User guide. Bluetooth Keyboard BKB10

User guide. Bluetooth Keyboard BKB10 User guide Bluetooth Keyboard BKB10 Contents Basics...3 Overview... 3 Charging the keyboard... 4 Turning on the keyboard... 5 Getting started... 6 Setting up the keyboard... 6 Support on the web...6 Legal

More information