Jump to content

enviar mensagens


1Skull
 Share

Recommended Posts

Bom dia, eu estou a desenvolver um programa que faz a gestão de cursos.

E eu tenho um formulário de login, para saber quem está a aceder ao programa, se é um professor, ou um director de turma.

E eu cria criar um caixa de entrada de mensagens, ou seja, eu cria fazer com que um professor, ou um dirctor de turma trocassem mensagens, por exemplo, um professor perguntar algo ou director de turma.

Não sei se fui exclarecedor.

Obrigado

e óptimo fórum.

😁

Link to comment
Share on other sites

Se quiseres gerir isso oflline, é mais fácil, pois guardas tudo numa tabela apenas com a indicação de:

- emissor;

- receptor;

- estado (lida/não lida)

e depois quando o utilizador faz login, aparece-lhe à cabeça as mensagens que não leu...

agora, se queres montar uma coisa tipo IM, prepara-te para muita comunicação TCP IP e afins...

Quando te pedirem peixe.... ensina-os a Pescar!!Hum..lálálálá!!

Link to comment
Share on other sites

Boas

Conforme te foi dito pelo José Lopes (Sistema de mensagens em modo Offline)

1º Cria uma base de dados (protegida por senha)

2º Cria uma tabela com pelos menos 4 campos:

Nome do Remetente;

Nome do Destinatário;

Mensagem;

Lida / Não Lida;

Podes ainda por um campo para o Assunto.

3º Crias um formulário para escrever a mensagem e indicar para quem se destina.

Ao carregar num botão "Enviar Mensagem", gravas esses dados na Base de Dados.

4º Sempre que o utilizador faz login, seleccionas todos os registo na Base de Dados, que tenha  como destinatário o nome do utilizador que acabou de fazer login e apresentas a informação.

Tutoriais:

VB.Net: Gestão de Dados em SQL Server - Parte I

VB.Net: Gestão de Dados em SQL Server - Parte II

Acess (Seleccionar, Inserir, Actualizar, Eliminar)

Se tiveres alguma dúvida para ligar à Base de Dados, diz

Para troca de mensagens instantâneas (IM), procura no google por Sockets

Este site costuma ter bons tutoriais

http://www.macoratti.net/net_soc1.htm

http://www.macoratti.net/11/08/vbn_skmt.htm

A informática chegou para resolver problemas que antes não existiam

Quem ri por último é porque está conectado a 52 Kbs.

Link to comment
Share on other sites

Um campo na base de dados que te guarda esse estado...

Partindo do pressuposto que abres um novo form para ler a mensagem (convém o primeiro ser uma listview, para o caso de ser mais que uma) ele actualiza o estado para o lida...

Ou então o velhinho botão a dizer lida...

Quando te pedirem peixe.... ensina-os a Pescar!!Hum..lálálálá!!

Link to comment
Share on other sites

Muito obrigado, pelas vossas ajudas.

Agora vim pedir mais uma se poderem, em relação a mensagem se esta lida ou não, eu queria que "lida" aparece-se quando a pessoa seleciona-se a coluna inteira, se poderem ajudar agradecia.

Mais um dos pontos que queria abordar era se existe alguma maneira de mudar o nome das colunas da listview.

OBrigado,

vocês são impecaveis!

😁

Link to comment
Share on other sites

Quanto a marcar como lida, é só seleccionar definires qual a regra para considerar lida... Por exemplo se for no duplo clique é só ires actualizar a tabela.. não há grande coisa  a dizer....

Quanto aos nomes das colunas, se estas a criar a coluna dinamicamente, o melhor será mesmo teres alias na instrução de select...

por exemplo:

"select id, mensagem_assunto as ""Assunto"", bla as ""bla bbla bla"" from tabela xpto..."

Pode haver aqui alguma incorrecção nas aspas...é uma questão de testares.

Quando te pedirem peixe.... ensina-os a Pescar!!Hum..lálálálá!!

Link to comment
Share on other sites

Em 29/03/2012 às 11:54, 1Skull disse:
eu queria que "lida" aparece-se quando a pessoa seleciona-se a coluna inteira

Não tenho acompanhado o tópico com atenção, mas desde que tenhas um campo na tabela de mensagens, com algo tão simples como 1 ou 0 (lido ou não-lido), podes fazer o update à tabela em qualquer altura.

O caso que referes não me faz muito sentido: qual é a ideia por detrás de considerar uma mensagem lida quando uma coluna é seleccionada?

Mas de qualquer forma, a ListView tem um evento para isso:

    Private Sub ListView1_ColumnClick(sender As Object, e As System.Windows.Forms.ColumnClickEventArgs) Handles ListView1.ColumnClick
        If DirectCast(sender, ListView).Columns(e.Column) Is ColumnHeader1 Then 'ou o header pretendido
            'UPDATE à tabela
        End If
    End Sub
Em 29/03/2012 às 11:54, 1Skull disse:
existe alguma maneira de mudar o nome das colunas da listview.

Claro!

https://wiki.portugal-a-programar.pt/dev_net:vb.net:listviews_36_utilidades_directas#alterar_colunas

Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.