// 學生管理.cpp : Defines the entry point for the application.
//
#include "stdafx.h"
#include "resource.h"
#define MAX_LOADSTRING 100
// Global Variables:
HINSTANCE hInst; // current instance
TCHAR szTitle[MAX_LOADSTRING]; // The title bar text
TCHAR szWindowClass[MAX_LOADSTRING]; // The title bar text
// Foward declarations of functions included in this code module:
ATOM MyRegisterClass(HINSTANCE hInstance);
BOOL InitInstance(HINSTANCE, int);
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
LRESULT CALLBACK About(HWND, UINT, WPARAM, LPARAM);
struct person
{
char name[10];
int ID;
int cj_yw;
int cj_sx;
struct person* next;
struct person* pro;
}per;
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
// TODO: Place code here.
MSG msg;
HACCEL hAccelTable;
// Initialize global strings
LoadString(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING);
LoadString(hInstance, IDC_MY, szWindowClass, MAX_LOADSTRING);
MyRegisterClass(hInstance);
// Perform application initialization:
if (!InitInstance (hInstance, nCmdShow))
{
return FALSE;
}
hAccelTable = LoadAccelerators(hInstance, (LPCTSTR)IDC_MY);
// Main message loop:
while (GetMessage(&msg, NULL, 0, 0))
{
if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
return msg.wParam;
}
//
// FUNCTION: MyRegisterClass()
//
// PURPOSE: Registers the window class.
//
// COMMENTS:
//
// This function and its usage is only necessary if you want this code
// to be compatible with Win32 systems prior to the 'RegisterClassEx'
// function that was added to Windows 95. It is important to call this function
// so that the application will get 'well formed' small icons associated
// with it.
//
ATOM MyRegisterClass(HINSTANCE hInstance)
{
WNDCLASSEX wcex;
wcex.cbSize = sizeof(WNDCLASSEX);
wcex.style = CS_HREDRAW | CS_VREDRAW;
wcex.lpfnWndProc = (WNDPROC)WndProc;
wcex.cbClsExtra = 0;
wcex.cbWndExtra = 0;
wcex.hInstance = hInstance;
wcex.hIcon = LoadIcon(hInstance, (LPCTSTR)IDI_MY);
wcex.hCursor = LoadCursor(NULL, IDC_ARROW);
wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
wcex.lpszMenuName = (LPCSTR)IDC_MY;
wcex.lpszClassName = szWindowClass;
wcex.hIconSm = LoadIcon(wcex.hInstance, (LPCTSTR)IDI_SMALL);
return RegisterClassEx(&wcex);
}
//
// FUNCTION: InitInstance(HANDLE, int)
//
// PURPOSE: Saves instance handle and creates main window
//
// COMMENTS:
//
// In this function, we save the instance handle in a global variable and
// create and display the main program window.
//
BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
{
HWND hWnd;
hInst = hInstance; // Store instance handle in our global variable
hWnd = CreateWindow(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL);
if (!hWnd)
{
return FALSE;
}
ShowWindow(hWnd, nCmdShow);
UpdateWindow(hWnd);
return TRUE;
}
//
// FUNCTION: WndProc(HWND, unsigned, WORD, LONG)
//
// PURPOSE: Processes messages for the main window.
//
// WM_COMMAND - process the application menu
// WM_PAINT - Paint the main window
// WM_DESTROY - post a quit message and return
//
//
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
int wmId, wmEvent;
PAINTSTRUCT ps;
HDC hdc;
TCHAR szHello[MAX_LOADSTRING];
LoadString(hInst, IDS_HELLO, szHello, MAX_LOADSTRING);
switch (message)
{
case WM_COMMAND:
wmId = LOWORD(wParam);
wmEvent = HIWORD(wParam);
// Parse the menu selections:
switch (wmId)
{
case IDM_ABOUT:
DialogBox(hInst, (LPCTSTR)IDD_ABOUTBOX, hWnd, (DLGPROC)About);
break;
case IDM_EXIT:
DestroyWindow(hWnd);
break;
default:
return DefWindowProc(hWnd, message, wParam, lParam);
}
break;
case WM_PAINT:
hdc = BeginPaint(hWnd, &ps);
// TODO: Add any drawing code here...
RECT rt;
GetClientRect(hWnd, &rt);
DrawText(hdc, szHello, strlen(szHello), &rt, DT_CENTER);
EndPaint(hWnd, &ps);
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hWnd, message, wParam, lParam);
}
return 0;
}
// Mesage handler for about box.
LRESULT CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message)
{
case WM_INITDIALOG:
return TRUE;
case WM_COMMAND:
if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL)
{
EndDialog(hDlg, LOWORD(wParam));
return TRUE;
}
break;
}
return FALSE;
}
// 學生管理.cpp : Defines the entry point for the application.
//
#include "stdafx.h"
#include "resource.h"
#define MAX_LOADSTRING 100
// Global Variables:
HINSTANCE hInst; // current instance
TCHAR szTitle[MAX_LOADSTRING]; // The title bar text
TCHAR szWindowClass[MAX_LOADSTRING]; // The title bar text
// Foward declarations of functions included in this code module:
ATOM MyRegisterClass(HINSTANCE hInstance);
BOOL InitInstance(HINSTANCE, int);
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
LRESULT CALLBACK About(HWND, UINT, WPARAM, LPARAM);
struct person
{
char name[10];
int ID;
int cj_yw;
int cj_sx;
struct person* next;
struct person* pro;
}per;
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
// TODO: Place code here.
MSG msg;
HACCEL hAccelTable;
// Initialize global strings
LoadString(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING);
LoadString(hInstance, IDC_MY, szWindowClass, MAX_LOADSTRING);
MyRegisterClass(hInstance);
// Perform application initialization:
if (!InitInstance (hInstance, nCmdShow))
{
return FALSE;
}
hAccelTable = LoadAccelerators(hInstance, (LPCTSTR)IDC_MY);
// Main message loop:
while (GetMessage(&msg, NULL, 0, 0))
{
if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
return msg.wParam;
}
//
// FUNCTION: MyRegisterClass()
//
// PURPOSE: Registers the window class.
//
// COMMENTS:
//
// This function and its usage is only necessary if you want this code
// to be compatible with Win32 systems prior to the 'RegisterClassEx'
// function that was added to Windows 95. It is important to call this function
// so that the application will get 'well formed' small icons associated
// with it.
//
ATOM MyRegisterClass(HINSTANCE hInstance)
{
WNDCLASSEX wcex;
wcex.cbSize = sizeof(WNDCLASSEX);
wcex.style = CS_HREDRAW | CS_VREDRAW;
wcex.lpfnWndProc = (WNDPROC)WndProc;
wcex.cbClsExtra = 0;
wcex.cbWndExtra = 0;
wcex.hInstance = hInstance;
wcex.hIcon = LoadIcon(hInstance, (LPCTSTR)IDI_MY);
wcex.hCursor = LoadCursor(NULL, IDC_ARROW);
wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
wcex.lpszMenuName = (LPCSTR)IDC_MY;
wcex.lpszClassName = szWindowClass;
wcex.hIconSm = LoadIcon(wcex.hInstance, (LPCTSTR)IDI_SMALL);
return RegisterClassEx(&wcex);
}
//
// FUNCTION: InitInstance(HANDLE, int)
//
// PURPOSE: Saves instance handle and creates main window
//
// COMMENTS:
//
// In this function, we save the instance handle in a global variable and
// create and display the main program window.
//
BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
{
HWND hWnd;
hInst = hInstance; // Store instance handle in our global variable
hWnd = CreateWindow(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL);
if (!hWnd)
{
return FALSE;
}
ShowWindow(hWnd, nCmdShow);
UpdateWindow(hWnd);
return TRUE;
}
//
// FUNCTION: WndProc(HWND, unsigned, WORD, LONG)
//
// PURPOSE: Processes messages for the main window.
//
// WM_COMMAND - process the application menu
// WM_PAINT - Paint the main window
// WM_DESTROY - post a quit message and return
//
//
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
int wmId, wmEvent;
PAINTSTRUCT ps;
HDC hdc;
TCHAR szHello[MAX_LOADSTRING];
LoadString(hInst, IDS_HELLO, szHello, MAX_LOADSTRING);
switch (message)
{
case WM_COMMAND:
wmId = LOWORD(wParam);
wmEvent = HIWORD(wParam);
// Parse the menu selections:
switch (wmId)
{
case IDM_ABOUT:
DialogBox(hInst, (LPCTSTR)IDD_ABOUTBOX, hWnd, (DLGPROC)About);
break;
case IDM_EXIT:
DestroyWindow(hWnd);
break;
default:
return DefWindowProc(hWnd, message, wParam, lParam);
}
break;
case WM_PAINT:
hdc = BeginPaint(hWnd, &ps);
// TODO: Add any drawing code here...
RECT rt;
GetClientRect(hWnd, &rt);
DrawText(hdc, szHello, strlen(szHello), &rt, DT_CENTER);
EndPaint(hWnd, &ps);
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hWnd, message, wParam, lParam);
}
return 0;
}
// Mesage handler for about box.
LRESULT CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message)
{
case WM_INITDIALOG:
return TRUE;
case WM_COMMAND:
if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL)
{
EndDialog(hDlg, LOWORD(wParam));
return TRUE;
}
break;
}
return FALSE;
}
注冊機分為三部分,分別為PartA,PartB,PartC
此注冊機支持的軟件如下:(2011年07月17日最新版)
PartA:
IAR Embedded Workbench For MSC-51 v8.10
IAR Embedded Workbench For Atmel AVR v5.51
IAR Embedded Workbench For Atmel AVR32 v3.31
IAR Embedded Workbench For ARM v6.21
IAR Embedded Workbench For Renesas M16C and R8C v3.50
IAR Embedded Workbench For NEC 78K v4.71
IAR Embedded Workbench For MSP430 v5.30
IAR Embedded Workbench For Samsung SAM8 v3.10A
PartB:
IAR Embedded Workbench For Dallas Semiconductor/Maxim MAXQ v2.30
IAR Embedded Workbench For NEC V850 v3.80
IAR Embedded Workbench For Renesas M32C v3.30
IAR Embedded Workbench For CR16C v3.10
IAR Embedded Workbench For Renesas R32C v1.31
IAR Embedded Workbench For Microchip PIC18 v3.10A
IAR Embedded Workbench For Microchip dsPIC v1.40A
IAR Embedded Workbench For Renesas RX v2.30
PartC:
IAR Embedded Workbench For ColdFire v1.23
IAR Embedded Workbench For HCS12 v3.20
IAR Embedded Workbench For HCS08 v1.20
IAR Embedded Workbench For STM8 v1.30
IAR Embedded Workbench For Renesas SuperH v2.10
IAR Embedded Workbench For Renesas H8 v2.30
IAR Embedded Workbench For Renesas RL78 v1.10
截止目前,IAR官網上24款軟件,只?!癊mbedded Workbench for MK5 v1.25A”無法完成注冊
當注冊機運行于vista或者WIN7的系統下時,請右鍵點擊然后使用管理員模式運行,或者將系統的UAC功能關閉后運行。
此注冊機針對的是IAR官網上下載的EV版(評估板),至于從其他渠道獲得的CD版或者FULL版的軟件,沒有測試。
本注冊機僅限測試和學習IAR系列軟件之用,請勿用于商業用途。請勿在網絡上隨意傳播。
版本更新說明:
----------------------------------------------------------------------------------------------------------
20110717版:
更新 IAR Embedded Workbench For NEC 78K v4.71
更新 IAR Embedded Workbench For MSP430 v5.30
更新 IAR Embedded Workbench For Renesas RX v2.30
更新 IAR Embedded Workbench For Renesas H8 v2.30
----------------------------------------------------------------------------------------------------------
20110714版:
更新 IAR Embedded Workbench For ARM v6.21
----------------------------------------------------------------------------------------------------------
20110527版:
更新 IAR Embedded Workbench For MSC-51 v8.10
----------------------------------------------------------------------------------------------------------
20110512版:
更新 IAR Embedded Workbench For ARM v6.20
----------------------------------------------------------------------------------------------------------
20110414版:
增加 IAR Embedded Workbench For Renesas RL78 v1.10
更新 IAR Embedded Workbench For Dallas Semiconductor/Maxim MAXQ v2.30
更新 IAR Embedded Workbench For NEC V850 v3.80
更新 IAR Embedded Workbench For CR16C v3.10
更新 IAR Embedded Workbench For Renesas M32C v3.30
更新 IAR Embedded Workbench For STM8 v1.30
----------------------------------------------------------------------------------------------------------
20110224版:
更新 IAR Embedded Workbench For HCS08 v1.20
----------------------------------------------------------------------------------------------------------
20110122版:
更新 IAR Embedded Workbench For Renesas RX v2.20
----------------------------------------------------------------------------------------------------------
20101218版:
更新 IAR Embedded Workbench For MSP430 v5.20
----------------------------------------------------------------------------------------------------------
20101206版:
更新 IAR Embedded Workbench For ARM v6.10
更新 IAR Embedded Workbench For Atmel AVR v5.51
更新 IAR Embedded Workbench For Atmel AVR32 v3.31
更新 IAR Embedded Workbench For ColdFire v1.23
更新 IAR Embedded Workbench For NEC 78K v4.70
更新 IAR Embedded Workbench For Renesas M16C and R8C v3.50
更新 IAR Embedded Workbench For STM8 v1.20
----------------------------------------------------------------------------------------------------------
20100803版:
更新 IAR Embedded Workbench For MSC-51 v7.60
----------------------------------------------------------------------------------------------------------
20100615版:
更新 IAR Embedded Workbench For Renesas RX v2.10
----------------------------------------------------------------------------------------------------------
20100430版:
更新 IAR Embedded Workbench For Atmel AVR v5.50
更新 IAR Embedded Workbench For Renesas R32C v1.31
----------------------------------------------------------------------------------------------------------
20100429版:
增加 Embedded Workbench For Renesas SuperH v2.10
----------------------------------------------------------------------------------------------------------
20100428版:
增加 IAR Embedded Workbench For STM8 v1.10
更新 IAR Embedded Workbench For ARM v5.50
更新 IAR Embedded Workbench For MSP430 v5.10
----------------------------------------------------------------------------------------------------------
20100425版:
初始版本建立
Received: from mail.creditcard.cmbc.com.cn (unknown [111.205.122.39])
by newmx82.qq.com (NewMx) with SMTP id
for <714620454@QQ.COM>; Fri, 20 Oct 2017 03:56:09 +0800
X-QQ-FEAT: nHaaMjwLeTyzuDp5C5V++RVfPHSVEqOujK0vwZroSro=
X-QQ-MAILINFO: MjJD59SVx+LnQ1oU2sDuZ8tZJyZAOGTJaybWFAYRjurknrZoc6gjmnU06
o+pkiTJsdtxgA5CmtpN2ggrWb/T2GoG07QFXqgJtIk+5X1iaz4UykQ9M2a782+Fdn83doxC
4Ej1t99JoZcj8dDkeM5dzZTSR8uZGwHEnIK9Uim+NcaroB2EUWgclSmSzIxUHIbJ1nTLA8G
B4/wa
X-QQ-mid: mx82t1508442969ti70kc84u
X-QQ-ORGSender: master@creditcard.cmbc.com.cn
Received: from sedm([195.203.59.13]) by mail.creditcard.cmbc.com.cn(1.0)
with SMTP id sedm587; Thu, 19 Oct 2017 17:48:11 +0800
Date:Thu, 19 Oct 2017 17:48:11 +0800 (CST)
Message-ID:<0305-euid-31911508406491578>
To:=?gbk?B?zsTS1SDFrsq/?=<714620454@QQ.COM>
From:master<master@creditcard.cmbc.com.cn>
Subject: =?gbk?B?w/HJ+tDF08O/qDIwMTfE6jEw1MK159fTttTVy7Wl?=
X-Priority: 3
X-MSMail-Priority: Normal
MIME-Version: 1.0
Content-Type: multipart/related;
boundary="****MAIN_BOUNDARY****2727BD00F7949069C75FEDD44F1F2988"
This is a multi-part message in MIME format.
--****MAIN_BOUNDARY****2727BD00F7949069C75FEDD44F1F2988
Content-Type: multipart/alternative;
boundary="****SUB_BOUNDARY****2727BD00F7949069C75FEDD44F1F2988"
--****SUB_BOUNDARY****2727BD00F7949069C75FEDD44F1F2988
Content-Type: text/html;
charset="gb2312"
Content-Transfer-Encoding: base64
Delphi三層數據庫連接池 (1)
Connection Pool for Delphi release notes
-------------------------------------------------------------------------------
This document contains:
- Short description of the product
- Other text files
- TRIAL version limitations
- Delphi - versions supported
- Installation of Connection Pool for Delphi
- Installation of Connection Pool for Delphi help file
- Ordering information
- Support and Web resources
- Thanks To
The understanding of electrical system design has become increas-
ingly important, not only to the electrical designer, but to safety, plant
and project engineers as well. With the advent of high energy costs, plant
and project engineers have needed to become more aware of electrical
systems. Both safety and energy efficiency will be covered in this text
along with practical application problems for industrial and commercial
electrical design.