Upload
betsy-freda
View
309
Download
29
Embed Size (px)
Citation preview
VIDYAA VIKAS COLLEGE OF ENGINEERING AND TECHNOLOGY
TIRUCHENGODE - 637 214
DEPARTMENT OF MASTER OF COMPUTER APPLICATIONS
RECORD NOTEBOOK
NAME : …………………………………
REGISTER NO : ………………………………..
SUBJECT CODE : ………………………………….
SUBJECT : ………………………………….
VIDYAA VIKAS COLLEGE OF ENGINEERING AND TECHNOLOGY
TIRUCHENGODE-637 214
Certified that this is the bonafide record of work done by
Mr / Ms……………………………………………………………. with register
number……………………. of II year / IV semester during the academic
year 2011 - 2012 for the VISUAL PROGRAMMING LAB.
Staff-in-charge Head of the Department
Submitted for the university practical examination held on……………………….
Internal Examiner External Examiner
DEPARTMENT OF MASTER OF COMPUTER APPLICATIONS
INDEX
S.No
DATE
NAME OF THE PROGRAM
PAGE
NO
MARKS
STAFF SIGN
WINDOWS SDK/Visual C++
1.
KEYBOARD AND MOUSE EVENT
2.
DIALOG BASED APPLICATIONS
3.
MULTIPLE DOCUMENT INTERFACE
VISUAL C++
4.
THREADS
5.
DOCUMENT VIEW ARCHITECTURE, SERIALIZATION
6.
DYNAMIC CONTROLS
7.
MENU, ACCELERATOR, TOOL TIP, TOOL BAR
8.
CREATING DLLs AND USING THEM
9.
DATA ACCESS THROUGH ODBC
10.
ACTIVEX CONTROL
AVERAGE
EX.NO: DATE:
KEYBOARD AND MOUSE EVENT
AIM:
To write a program in visual c++ for performing mouse and keyboard events.
PROCEDURE:
Step1: Start the process.
Step2: Create the window by using window function and set parameters as need.
Step3: Use the showwindow( ) to display the window.
Step4: Add mouse and keyboard event in my function.
Step5: Use message WM_LBUTTONDOWM and WM_LBUTTONUP for
drawing dotted lines.
Step6: Use message WM_KEYDOWN and WM_KEYUP for pressing and
releasing any key in keyboard.
Step7: Use WM_SYSKEYDOWN and WM_SYSKEYUP for performing alt or f10
key events.
Step8: Build and run the project.
Step9: stop the process.
CODING:
#include"stdafx.h"
LRESULT CALLBACK WndProc(HWND,UINT,UINT,long);
WNDCLASS a;
int flag=0;
int WINAPI WinMain(HINSTANCE i,HINSTANCE j,char *k,int l)
{
HWND h;
MSG m;
a.hInstance =i;
a.lpszClassName ="My";
a.lpfnWndProc =WndProc;
a.hbrBackground =(HBRUSH) GetStockObject(WHITE_BRUSH);
RegisterClass(&a);
h=CreateWindow("My","Title",WS_OVERLAPPEDWINDOW,
10,10,150,100,0,0,0,i,0);
ShowWindow(h,3);
while(GetMessage(&m,0,0,0))
DispatchMessage(&m);
return 0;
}
LRESULT CALLBACK WndProc(HWND W,UINT x,UINT y,long z)
{
HDC d;
d=GetDC(W);
switch(x)
{
case WM_LBUTTONDOWN:
flag=1; break;
case WM_MOUSEMOVE:
if(flag==1)
{
d=GetDC(W);
SetPixel(d,LOWORD(z),HIWORD(z),RGB(255,85,158));
ReleaseDC(W,d);
}
break;
case WM_LBUTTONUP:
flag=0; break;
case WM_KEYDOWN:
TextOut(d,100,100,"Key Pressed",12);break;
case WM_KEYUP:
TextOut(d,100,100,"Key Released",12);break;
case WM_SYSKEYDOWN:
TextOut(d,500,500,"Alt(or)F10 is pressed",21);break;
case WM_SYSKEYUP:
TextOut(d,500,500,"Alt(or)F10 is Released",22);break;
default:
return DefWindowProc(W,x,y,z);
}
return 0;
}
OUTPUT:
RESULT:
EX.NO: DATE:
DIALOG BASED APPLICATIONS
AIM:
To write a VC++ program for Dialog based Control.
PROCEDURE:
Step 1: Start the Program.
Step 2: Create the New project by selecting
File->New->MFCAppWizard(exe)and type Filename,and Select Dialog based
option then click Finish.
Step 3: select resource tab Choose the Dialog boxname
IDD_DIALOG_BOX to add control to the dialog box using the tool box.
Step 4: Build the dialog box with Name,Age,Salary,Experience,
grade by dragging static Button and edit Button.
Step 5: Select Each and every staticcontrols and change the caption.
Step 6: Add value variable and control variable by selecting the right click on the edit
control and select the Class wizard from the menu and select the
member variable and type member variable with related category type.
Step 7: select message map tab.
Step 8: select IDOK from object IDs then select BN_CLICKED from messages.
Step 9: Press add function and then press edit code button and type the code.
Step 10: Click on ok Button. Click on build and execute.
CODING:
DIALOG BASED CONTROL:
//Initialize Member Variable
BOOL CDialogDlg::OnInitDialog()
{
m_Name=_T("Enter your name");
m_Age=0; m_Salary=0;
CDialog::OnInitDialog();
m_Gradeval.AddString("I");m_Gradeval.AddString("II");
m_Gradeval.AddString("III");m_Gradeval.AddString("IV");
m_Gradeval.SetCurSel(0);
m_Experienceval.AddString("<3 yrs");
m_Experienceval.AddString("3 to 5 yrs");
m_Experienceval.AddString("6 to 10 yrs");
m_Experienceval.SetCurSel(0); return TRUE;
}
//Message Handler for OK
void CDialogDlg::OnOK()
{
CDialog::OnOK();
CString str,temp;
str="Name:"+m_Name;
str+="\nGrade:"+m_Grade;
str+="\nExperience:"+m_Experience;
str+=”\nAge”;
temp.Format("%d",m_Age);
str+=temp;
str+="\nSalary";
temp.Format("%d",m_Salary);
str+=temp;
MessageBox(str);
}
OUTPUT:
RESULT:
EX.NO: DATE:
MULTIPLE DOCUMENT INTERFACE
AIM:
To write a VC++ program to create a message box using MDI.
PROCEDURE:
Step 1: Start the Program
Step 2: Create the New project by selecting File->New->MFCAppWizard (exe)
and type Filename.
Step 3: Choose MDI option to create MDI and click finish.
Step 4: Choose view from the File view and Edit code.
Step 5: Then save and Press ctrl+f5 to compile and press ctrl+f7 to execute.
Step6: Stop the program.
CODING:
void CMultipledocView::OnDraw(CDC* pDC)
{
CMultipledocDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
MessageBox("This is multiple document",0,MB_OK);
}
OUTPUT:
RESULT:
EX.NO: DATE:
THREADS
AIM:
To develop the single threaded program that contains the CPU intensive computation
loop.
PROCEDURE:
Step 1: File->new->MFC Appwizard(exe) & click SDI application then finish button.
Step 2: Open the resource view dialog folder, right click & choose insert dialog.
Step 3: Design the dialog with start ,cancel button & progress bar
with the id ID_START,ID_CANCEL & ID_PROGRESS1 respectively.
Step 4: Choose view->classwizard,select create a new dialog then give the
name as “compute” & click ok button.
Step 5: Select class name-> compute,object ID is compute,
messages-WM_TIMER then click add function.
Step 6: select object id->ID_START,messages->BN_CLICKED then click
add function and also add function to ID_CANCEL . finally click edit code.
Step 7: select file view->header files->compute.h file. Declare the variable
under class compute.
Step 8: select file view->source files->projectnameview.cpp. Include header
file as “#include “compute.h” “.then type coding under on draw function.
Step 9: select view->class wizard , select object ID ->C”projectname”view
messages->WM_LBUTTONDOWN click add function and edit code.
CODING:
Type in compute.cpp in source files
void compute::OnCancel()
{
if(m_ncount==0)
CDialog::OnCancel();
else
m_ncount=nmaxcount;
}
void compute::OnStart()
{
MSG message;
m_ntimer=SetTimer(1,100,NULL);
ASSERT(m_ntimer!=0);
GetDlgItem(ID_START)->EnableWindow(FALSE);
volatile int temp;
for(m_ncount=0;m_ncount<nmaxcount;m_ncount++)
{
for(temp=0;temp<10000;temp++)
{ }
if(::PeekMessage(&message,NULL,0,0,PM_REMOVE))
{
::TranslateMessage(&message);
::DispatchMessage(&message);
}
}
CDialog::OnOK();
}
void compute::OnTimer(UINT nIDEvent)
{
CProgressCtrl *pbar=(CProgressCtrl *)GetDlgItem(IDC_PROGRESS1);
pbar->SetPos(m_ncount *100/nmaxcount);
CDialog::OnTimer(nIDEvent);
}
Declare the variable in compute.h in header files
Under class compute : public CDialog
int m_ntimer;
int m_ncount;
enum{nmaxcount=10000};
Type in threadsview.cpp in source files
void CThreadsView::OnDraw(CDC* pDC)
{
CThreadsDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
pDC->TextOut(0,0,"Press left mouse button”);
}
void CThreadsView::OnLButtonDown(UINT nFlags, CPoint point)
{
compute dlg;
dlg.DoModal();
CView::OnLButtonDown(nFlags, point);
}
OUTPUT:
RESULT:
EX.NO: DATE:
DOCUMENT VIEW ARCHITECTURE, SERIALIZATION
AIM:
To develop the VC++ program for document view architecture with serialization.
PROCEDURE:
Step 1: Run VC++ APPWizard (exe) to create SDI application.
Step 2: Accept all the default settings and select the document view architecture
and deselect the printing and print preview by accepting all the default
settings.
Step 3: Declare the string data members in viewdoc.h file CString str data.
Step 4: Edit the serialize() function to viewdoc.cpp.
Step 5: Use the class wizard to connect the WM_CHAR() message handler
in viewview.cpp
Step 6: Build the program.
CODING:
void CDocDoc::Serialize(CArchive& ar)
{
if (ar.IsStoring())
{
ar<<StrData;
}
else
{
ar>>StrData;
}
}
void CDocView::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags)
{
CDocDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
pDoc->StrData+=nChar;
Invalidate();
pDoc->SetModifiedFlag();
CView::OnChar(nChar, nRepCnt, nFlags);
}
void CDocView::OnDraw(CDC* pDC)
{
CDocDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
pDC->TextOut(0,0,pDoc->StrData);
}
OUTPUT:
RESULT:
EX.NO: DATE:
DYNAMIC CONTROLS
AIM:
To create simple object COM with the function to display the string and to
check the functionality of COM using Visual Basic.
PROCEDURE:
Step 1: Start the program.
Step 2: File> New>Projects> ATLCOM AppWizard and give the file name.
Step 3: Accept all the default settings and click DLL and click finish.
Step 4: Click the class file and right click and select new ATL object.select
simple object in the ATL Object Wizard and click next.Then fill
the ATL object wizard names,attributes and click ok.
Step 5: Right click the project class workspace to add a method.
Step 6: Then fill the method name add and attributes as [in] long a,
[in] long b,[out] long *d and click ok.
Step 7: Then right click the method add[long a,long b] and write the code.
Step 8: Then save the project and just compile the code without executing
and COM now created successfully.
Step 9: Now test COM using Visual Basic and open the visual basic and
create a new standard EXE project.
Step 10: Design a form with one button as ADD. Click project menu.
Step 11: Select References Click Browse and select the COM project and
select library file COM.Liband click ok write code for the command button.
Step 12: Save and Run the project.
Step 13: Stop the program.
CODING:
#include "stdafx.h"
#include "com.h"
#include "TEST_ATL.h"
STDMETHODIMP CTEST_ATL::add(long a, long b, long *d)
{
*d=a+b;
return S_OK;
}
FORM:
Private Sub Command1_Click()
Dim c As COMLib.TEST_ATL
Set c = New TEST_ATL
Dim x As Long
c.Add 20, 50, x
MsgBox ("20,50=" & x)
End Sub
OUTPUT:
RESULT:
EX.NO: DATE:
MENU, ACCELERATOR, TOOLBAR AND TOOLTIP
AIM:
To draw Line, Rectangle using Toolbar and Menu bar.
PROCEDURE:
Step 1: Start the Program.
Step 2: Create the New project by selecting
File->New->MFCAppWizard (exe) and type Filename.
Step 3: Choose single document option and click finish.
Step 4: From the Resource Tab select Menu->IDR_MAINFRAME then double click.
Step 5: select the Empty field and then right click choose properties type draw in
the caption field.
Step 6: Same procedure for line, type line in caption. ID_DRAW_LINE in ID and
ctrl+l in prompt.
Step 7: From the tool bar select IDR_MAINFRAME, select any tool and draw it in
the graph. Then press enter, choose ID_DRAW_LINE in ID.
Step 8: Select properties in the dialog box type ID_DRAW_LINE in ID and type ‘l’ in
next box.
Step 9: From File view, select source file->toolview.cpp, and right click in the code
area and select class wizard select ID_DRAW_LINE from object ID’s,
and select command in messages and click add function then edit the code .
Step 10: Press Ctrl +f5 for compile and press ctrl +f7 for execute.
Step 11: Stop the program.
CODING:
void CMenuView::OnDrawLine()
{
CClientDC dc(this);
dc.LineTo (100,300);
}
void CMenuView::OnDrawEllipse()
{
CClientDC dc(this);
dc.Ellipse (100,50,50,100);
}
void CMenuView::OnDrawRectangle()
{
CClientDC dc(this);
dc.Rectangle (100,100,200,200);
}
OUTPUT:
RESULT:
EX.NO: DATE:
CREATING DLLs AND USING THEM
AIM:
To write a VC++ program for implementing Dynamic Link Libraries.
PROCEDURE
Step1: Run application wizard(dll) and create a project named Framer
select Regular DLL using shared MFC DLL in step2 dialogbox
then click finish.
Step2: Edit the Framer.h header file. Add the prototype for function DateAndTime.
Step3: Edit the Framer.cpp file, code the DateAndTime function.
Step4: Build the Framer.cpp file code and copy Framer.dll to
windows/system directory Or windows/system32 directory.
Step5: Copy the Framer.lib file to the sub directory of the application that will use dll.
Step6: Run Application wizard(exe) and create an application dlldemo. Select SDI
and shared dll option in step5 dialog box & click finish.
Step7: Edit dlldemoView.h and dlldemoView.cpp file to call the dll.
Step8: Choose project->settings->link. Give the pathname of library in object/module
link option.
Step9: Build and run the dlldemo application.
CODING:
Framer.h
#include "resource.h"
__declspec(dllexport)void WINAPI DateAndTime();
Framer.cpp
__declspec(dllexport)void WINAPI DateAndTime()
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
struct tm* date_time;
time_t timer;
time(&timer);
date_time=localtime(&timer);
const CString& strtime = asctime(date_time);
AfxMessageBox(strtime,MB_OK,0);
}
dlldemoView.h //prototype declaration
extern void WINAPI DateAndTime();
dlldemoView.cpp
void CDlldemoView::OnDraw(CDC* pDC)
{
pDC->TextOut(280,100,"send text to window",23);
DateAndTime();
}
OUTPUT:
RESULT:
EX.NO: DATE:
DATA ACCESS THROUGH ODBC
AIM:
To create an ODBC connectivity for the Database using VC++.
PROCEDURE:
Step1: Start the program.
Step2: Create the database name as student details.mdb using MSAccess
with field Name, Regno,Mark1,Mark2,Mark3,Total.
Step3: To create a ODBC Connection Start>Control Panel>ODBC.
Choose “User DSN” tab from the ODBC Data Source.
Step4: Click the add Button select MS ACCESS driver (*.mdb) from the created
new data source dialog box.
Step5: Enter the Data Source Name and description as ODBCD
Microsoft Access setup and assign newly created (student details.mdb)
to the ODBC.Then click ok.
Step6: Creation of front end application in VC++ ,
Step7: Select file>projects>MFCAppWizard (.exe) and give the project
name as student and select SDI.
Step18: Select The Option Data Base view with file support and select the
data source name we have created and the table name under Ms Access
using Data Source Button.
Step9: Select Dynaset option from the Record set then click Finish.
Step10: Add the controls using Toolbox and in class wizard assign the
record field name as the Member variable to the controls.
Step11: Add the Message handler member function to the control and click edit code.
Step12: Then save and press ctrl+f5 to compile and press Ctrl+f7 to execute.
Step13: Stop the program.
CODING:
void COdbcd1View::OnAddvalue()
{
SetDlgItemInt(IDC_regno,0);
SetDlgItemText(IDC_name," ");
SetDlgItemInt(IDC_m1,0);
SetDlgItemInt(IDC_m2,0);
SetDlgItemInt(IDC_m3,0);
SetDlgItemInt(IDC_total,0);
}
void COdbcd1View::OnCalculate()
{
UpdateData(true);
m_pSet->m_Total =m_pSet->m_M1 +m_pSet->m_M2 +m_pSet->m_M3 ;
UpdateData(false);
}
void COdbcd1View::OnSave()
{
m_pSet->AddNew ();
UpdateData(true);
if(m_pSet->CanUpdate ())
{
m_pSet->Update();
MessageBox("Records Added");
}
if(m_pSet->IsEOF ())
{
m_pSet->MoveLast();
UpdateData(false);
}
}
void COdbcd1View::OnUpdate()
{
m_pSet->Edit ();
UpdateData(true);
if(m_pSet->CanUpdate ())
{
m_pSet->Update ();
MessageBox("Records Updated");
}
}
void COdbcd1View::OnDelete()
{
int f;
try
{
f=MessageBox("Are u Sure ","Delete",MB_OKCANCEL);
if(f=IDOK)
{
m_pSet->Delete ();
MessageBox("records Deleted");
}
}
catch(CDBException *e)
{
MessageBox(e->m_strError );
e->Delete ();
}
m_pSet->MoveNext ();
UpdateData(true);
}
OUTPUT:
RESULT:
EX.NO: DATE:
ACTIVEX CONTROL
AIM:
To install the Activex Control into our application and perform the Calendar Control.
PROCEDURE:
Step1: Run VC++ AppWizard(EXE) to create an SDI application:Accept
all the default settings and select the document view architecture and click
finish to design the project.
Step2: Select the ActiveXcontrols in the AppWizard Step3 dialog,make
sure the activeX Controls option is selected.
Step 3: Now we have to insert the ActiveXControls into our project.Choose
add to Project from Visual C++’s Project menu and then choose
components and Controls.
Step 4: Choose Registered ActiveXControls and then choose Calendar Control8.0.
Step 5: Use the dialog editor to create a new dialog resource.Choose Resource
from Visual C++’s Insert menu, and then choose Dialog and create the dialog.
Step 6: Change the id of the newly created dialog as IDD_ACTIVEXDIALOG
and also change the dialog caption to ActiveXDialog. Accept the
default OK and Cancel buttons with the IDs IDOK and IDCANCEL.
Step 7 Modify the id of all the controls in the dialog box. Add the id of the controls
in the dialog.
CONTROL ID
Calendar control IDC_CALENDER1
Select Date IDC_SELECTDATE
Edit Control IDC_DAY
Edit Control IDC_MONTH
Edit Control IDC_YEAR
Step 8: Use ClassWizard to create the CActiveXDialog class for the newly
created Dialog box. Select class wizard from the view menu and
press ok to create new dialog class as CActiveXDialog.
Step 9: Click on the ClassWizard Message Maps tab and then add
the message handler functions.
ObjectID Messages Member Function
CActiveXDialog WM_INITDIALOG OnInitDialog
IDC_CALENDAR1 New Month OnNewMonth
IDC_SELECTDATE BN_CLICKE OnSelectDate
IDC_NEXTWEEK BN_CLICKED OnNextWeek
IDOK BN_CLICKED OnOk
Step 10: Use ClassWizard to add data members to the CActiveXDialog
class.Add the datamembers in the CActiveDialog class.
Step 11: Edit the ActiveXDialog the file and add the m_varValue and
m_BackColor data members.
COleVariant m_varValue;
unsigned long m_BackColor;
Step 12: Initialize the m_BackColor value in ActiveDialog.h.
Step 13: Edit the message handling functions OnInitDialog,onn new
Month Calendar1,OnSelectDate,OnNextWeek and OnOK in
Active Dialog.cpp file.
Step 14: Add the message handler for the view class for displaying the dialog box
on the view window when the user presses the left mouse button.
Use ClassWizard to map the WM_LBUTTONDOWN message and then
edit the handler function.
Step 15: Edit the virtual OnDraw function and include the
file #include”ActiveXDialog.h” in the file ActiveXControlsView.cpp.
Step 16: Build the application and run the project so that the following window
appears after we press the left mouse button on the view window and
then give the values of day, month and year inside the edit box and then
click the select date button so that it is selected in the calendar control.
CODING:
Activexdialog.h
// Dialog Data
//{{AFX_DATA(CActivexDialog)
enum { IDD = IDD_ACTIVEXDIALOG };
CCalendar m_calender;
short m_sDAY;
short m_sMONTH;
short m_sYEAR;
//}}AFX_DATA
COleVariant m_varValue;
unsigned long m_BackColor;
// CActivexDialog ActivexD ialog .cpp
CActivexDialog::CActivexDialog(CWnd* pParent /*=NULL*/)
: CDialog(CActivexDialog::IDD, pParent)
{
//{{AFX_DATA_INIT(CActivexDialog)
m_sDAY = 0;
m_sMONTH = 0;
m_sYEAR = 0;
//}}AFX_DATA_INIT
m_BackColor=0x8000000F;
}
BOOL CActivexDialog::OnInitDialog()
{
CDialog::OnInitDialog();
m_calender.SetValue (m_varValue);
return TRUE;
}
void CActivexDialog::OnNewMonthCalendar1()
{
AfxMessageBox("EVENT:ActiveXDialog::OnNewMonthCalender1");
}
void CActivexDialog::OnSelectdate()
{
CDataExchange dx(this,TRUE);
DDX_Text(&dx,IDC_DAY,m_sDAY);
DDX_Text(&dx,IDC_MONTH,m_sMONTH);
DDX_Text(&dx,IDC_YEAR,m_sYEAR);
m_calender.SetDay (m_sDAY);
m_calender.SetMonth(m_sMONTH);
m_calender.SetYear(m_sYEAR);
}
void CActivexDialog::OnNextweek()
{
m_calender.NextWeek ();
}
void CActivexDialog::OnOK()
{
CDialog::OnOK();
m_varValue=m_calender.GetValue ();
}
ACTIVEXCONTROLVIEW.CPP
#include "ActiveXDialog.h"
// CActivexControlView message handlers
void CActivexControlView::OnLButtonDown(UINT nFlags, CPoint point)
{
CActivexDialog dlg;
dlg.m_BackColor=RGB(255,251,240);
COleDateTime today=COleDateTime::GetCurrentTime();
dlg.m_varValue=COleDateTime(today.GetYear(),today.GetMonth(),today.GetDay(),
0,0,0);
if(dlg.DoModal()==IDOK)
{
COleDateTime date (dlg.m_varValue);
AfxMessageBox(date.Format("%B %d %y"));
}
}
// CActivexControlView drawing
void CActivexControlView::OnDraw(CDC* pDC)
{
CActivexControlDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
pDC->TextOut (0,0,"Press the Left Mouse Button Here");
}
OUTPUT:
RESULT: