segunda-feira, 29 de março de 2010

C++ - Eliminar elemento do Ficheiro

Eliminar elemento de um vector de estruturas de um ficheiro.

if(npf!=0)
{
gotoxy(2,5);cout<<"Qual a Referencia do produto a eliminar? ";
cin>>ref;
while(i < npf)
{
if (ref==produtos[i].refp )
pos=i;
i++;
}
if(pos!=-1)
{
gotoxy(2,5);cout<<"Tem a certeza que pretende eliminar o Produto? (S/N) ";
cin>>opeliminar;
if (opeliminar =='s' opeliminar =='S')
{
ofstream out;
out.open (" ... ");
i=0;
while(i {
if (pos==i)
i++;
else
{
out< i++;
}
}
out.close ();
}
}
else
{
gotoxy(2,21);cout<<"Produto nao encontrado... ";system("PAUSE");
}
[Ler mais...]

sexta-feira, 19 de março de 2010

C++ - Converter String em Float

int GetFloatVal(string strConvert)
{
float num;
num = atof(strConvert.c_str());
return(num);
}
[Ler mais...]

Para lermos valores inteiros de um ficheiro, podemos ler esses valores para uma string e chamar esta função retornando o seu valor inteiro.

int GetIntVal(string strConvert)
{
int num;
// NOTA: A string que esta função recebe só deve conter números
// A seguinte linha converte a string num inteiro, retornando o seu valor

num = atoi(strConvert.c_str());
return(num);
}
Exemplo:

getline(in,texto);
quantidade=GetIntVal(texto); ou produtos[i].quantidade=GetIntVal(texto);
[Ler mais...]

terça-feira, 16 de março de 2010

C++ - Menus com Switch

Para podermos escrever um menu devemos utilizar o comando switch com o intuito de permitir ao utilizador escolher as opções desejadas. Este só deverá conseguir sair da aplicação quando digitar um caracter escolhido pelo programador, enquanto tal não acontecer, poderá escolher as opções que constam do Menu.


do{
system("cls");
gotoxy(10,1);
cout<<" 1 - Inserir \t 2 - Listar \t 3 - Pesquisar \t 0 - Sair"; gotoxy(2,3);
cout<<"Opcao: ";
switch (op)
{
case 1: inserir();break;
case 2: listar();break;
case 3: pesquisar();break;
case 0: break;
}
}while(op!=0);

Este exemplo vai permitir ao utilizador escolher as diversas opções que constam do menu e sair da aplicação apenas quando digitar o número 0 (zero).
No caso (case) de escolher 1, a função inserir() será invocada, no caso (case) de escolher 2 a função listar() será invocada e assim sucessivamente.
[Ler mais...]

Para limpar o ecrã necessitamos da seguinte directiva, #include "stdlib.h"

após a qual, podemos inserir em qualquer função o comando system("cls");
[Ler mais...]

O comando gotoxy(); permite o posicionamento de textos no ecrã.

É definido por #include "windows.h"

void gotoxy(int coluna, int linha)
{
COORD point;
point.X = coluna; point.Y = linha;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), point);
}


Após a inclusão da directiva anterior e da função gotoxy(), já podemos utilizar o comando com duas coordenadas x,y.

Exemplo:

gotoxy(2,5); cout<<"Olá";


O comando gotoxy, vai posicionar a palavra Olá na coordenada x=2 e y=5. Em que x representa o número de colunas e y o número de linhas.
[Ler mais...]

quinta-feira, 4 de março de 2010

MsgBox no Visual Basic

Uma MsgBox é uma janela que permite comunicar com o utilizador, enviando para este mensagens informativas, interrogações, avisos de erro, etc… o utilizador pode interagir com a MsgBox através dos botões que esta pode conter.
É constituida por 4 parâmetros:

1º - Frase que pretende ver escrita na sua MsgBox.

2º - Botão e/ou botões que pretende ver na sua MsgBox.

MsgBoxStyle.OkOnly – Surge o botão OK
MsgBoxStyle.OkCancel – Surge o botão OK e Cancelar
MsgBoxStyle.YesNo – Surge o botão Sim e Não
MsgBoxStyle.YesNoCancel – Surge o botão Sim, Não e Cancelar

3º - Ícone ilustrativo do tipo de mensagem escrita no parâmetro 1º.


MsgBoxStyle.Question
MsgBoxStyle.Information
MsgBoxStyle.Exclamation
MsgBoxStyle.Critical

4º - Texto que aparece na barra de titulo da MsgBox.

Exemplo:
MsgBox("Deseja Sair? ",MsgBoxStyle.YesNoCancel + MsgBoxStyle.Question, "Empresa XPTO")

Cada botão (Sim, Não e Cancelar) retorna para uma variável um número, este é fixo e corresponde a cada um dos respectivos botões.
Clique no botão Sim corresponde ao número 6
Clique no botão Não corresponde ao número 7
Clique no botão Cancelar corresponde ao número 2

[Ler mais...]