| Perfil
do Curso |
|
Objetivo:
Capacitar o aluno como programador para
Windows na Linguagem de programação C++,
utilizando o ambiente Visual C++, e introduzindo
a plataforma .NET .
|
|
Pré-requisitos:
Conhecimento de operação em Windows e Linguagem
de programação C++. |
|
OBS:
caso você não conheça a Linguagem
C++, ou não tenha um bom domínio de herança,
polimorfismo (em especial funções virtuais)
e templates, deve cursar primeiro o nosso
curso Linguagem
C++, para preencher este pré-requisito.
|
|
E
se você se inscrever para o curso "Linguagem
C++" e também para o curso "Visual C++.NET",
terá direito a desconto de 20%.
|
|
Carga
Horária: 88 horas.
|
Instrutor:
Certificado
|
|
Principais
Tópicos |
| >> |
O
ambiente de desenvolvimento:
|
| |
•
Os assistentes e recursos do Visual C++.NET;
• As ferramentas auxiliares.
|
| >> |
API
Win32: |
| |
•
A interface de objetos de processamento
e alocação de memória do Windows (KERNEL):
-
... multitarefa e multiencadeamento: threads
e sincronização,
... recursos especiais do SO para acesso
à memória,
... recursos de I/O.
• A interface de objetos de dispositivos
gráficos (GDI):
... contextos de dispositivo,
... objetos e funções de desenho.
• A interface de objetos de usuário
(USER):
... janelas, menus, toolbar, statusbar,
... diálogos, controles standard,
controles comuns.
• A mecânica para aplicações
de interface gráfica de usuário:
... laços de mensagens,
... eventos,
... procedimentos de janela,
... mensagens síncronas e assíncronas.
|
| >> |
Bibliotecas
de vinculação dinâmica (DLL`s): |
| |
•
Vinculação (link) implícita e explícita;
• DLL`s que exportam funções;
• DLL`s que exportam classes;
|
| >> |
A
Biblioteca de classes MFC (Microsoft Foundation
Class Library): |
| |
•
O que é a MFC;
• Assistentes visuais: o appwizard,
as janelas de eventos, propriedades, recursos,
etc;
• As classes de serviços básicos:
CString, CTime;
• O ponto de entrada da aplicação
com MFC; simulações em C++ para entender
a classe CWinApp; entendendo o uso
de funções virtuais na MFC;
• Usando threads: a classe CWinThread;
worker threads e GUI threads;
• A classe CObject; implementação
dinâmica de classes na MFC;
• Aplicações baseadas em diálogo;
as classes CWnd e CDialog;
• Classes derivadas de CWnd
especializadas em janelas filhas (Child):
CEdit, CButton, CComboBox, CListBox,
CStatic, etc.;
• Aprofundando a compreensão dos laços
de mensagens na MFC: quando é preciso ir
além dos assistentes visuais.
|
| >> |
Aplicações
SDI e MDI com a MFC: |
| |
•
Entendendo a arquitetura "documento/visão";
• As classes CFrameWnd, CMDIFrameWnd,
CMDIChildWnd; a classe CView
e suas derivadas;
• As classes CDocument, CDocTemplate,
CSingleDocTemplate e CMultiDocTemplate;
• Barras de ferramentas (toolbar)
e de mensagens (statusbar);
• Aplicações com aspecto e funcionalidades
de um web browser: a classe CHtmlView;
• Aplicações para entrada e edição
de dados: a classe CFormView.
|
| >> |
MultiThreading: |
| |
•
Entendendo o que são threads
e multithreading.
•
Aplicações multitarefa.
• Criando novos fios de processamento
em uma aplicação.
. Agendamento e prioridade de threads.
• Alterando as características
de um thread e controlando o seu
ciclo de vida.
. Utilizando recursos de sincronização
entre fios de processamento:
.. mutexes e seções críticas,
.. eventos de sincronização,
.. outros recursos.
|
| >> |
Comunicação
entre processos locais: |
| |
•
Utilizando mensagens de janela para comunicação
entre processos distintos - a mensagem WM_COPYDATA.
• Utilizando memória compartilhada
e eventos de sincronização
para comunicação entre processos
distintos - arquivos de memória
mapeada, filemapping.
|
| >> |
TCP/IP
- Sockets: |
| |
• Entendendo o que são sockets.
• Utilizando sockets para
comunicação entre processos
locais ou remotos através do protocolo
TCP/IP.
• Criando clientes e servidores TCP
e UDP.
|
| >> |
Comunicação
Serial: |
| |
•
Acesso às portas de comunicação na Win32.
. Detectando a ocorrência de eventos
na porta.
. Lendo e escrevendo na porta.
• Criando uma classe C++ para encapsular
as funções e estruturas de comunicação da
API.
|
| >> |
A
Biblioteca de templates ATL (Active Template
Library)
e a especificação COM (Component Object
Model): |
| |
•
O que é COM, DCOM, COM+
• O que é a ATL;
• As funções DllRegisterServer,
DllUnregisterServer, DllCanUnloadNow, DllGetClassObject,
CoInitialize, CoUninitialize, CoCreateInstance,
GetClassObject, etc;
• Entendendo as Interfaces
COM: a Interface IUnknown
e os métodos QueryInterface, AddRef
e Release;
• Funcionamento básico de componentes:
a "fábrica de classes"; o contador de referências;
apartment; marshaling; comunicação
entre um componente e seu cliente; connection
points e eventos;
• A Interface IDispatch;
• Criando e usando objetos e controles
COM, com suporte da ATL.
. Criando serviços.
. Criando serviços sem utilizar o
COM (acesso direto ao service control
manager).
|
| >> |
Bancos
de dados: OLEDB e ADO: |
| |
•
O que é OLE DB; o que é ADO;
• Os templates e classes da ATL para
simplificar o uso da OLEDB;
• Objetos DataSource, Session,
Command, Rowset, Accessor;
• Usando ADO em aplicações
de interface gráfica: conexão,
recordset, comandos e parâmetros
para comandos;
• Criando e usando componentes COM,
baseados em ATL e OLE DB, para acesso a
banco de dados.
|
| >> |
Programando para a plataforma .NET:
|
| |
•
Visão geral da plataforma .NET.
• Common Language Runtime (CLR)
e o Framework .NET.
. C++/CLI - a especificação
do C++ para .NET e a CLR.
. Criando e usando bibliotecas.
• Windows Forms.
• Acesso a Banco de Dados.
• Trabalhando com código gerenciado
e não-gerenciado (managed
/ unmanaged).
|