1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

[VB6] Problema com ListBox

Discussão em 'Programação' iniciada por WinAce_Boy, 10 de Abril de 2007. (Respostas: 6; Visualizações: 1214)

  1. WinAce_Boy

    WinAce_Boy Power Member

    Oi..
    Estou a desenvolver um programa tipo Agenda em que lembra ao utilizador certos eventos que ele próprio digitou no mesmo programa..
    O programa é composto por:

    1 form principal(frmindex);
    1 form para adicionar um evento(onde a pessoa escreve o que quer ser lembrada)
    (frmadicionar);
    1 form para editar no caso do utilizador se tiver enganado(frmeditar);
    ----//---
    Estou a usar ListBoxes para guardar os dados que o utilizador insere..
    Mas o problema surge na parte de lembrar(que será uma ListBox a dizer exactamente o que a pessoa inseriu num textbox e nas horas e datas que o utilizador inseriu) e não consigo arranjar maneira de o fazer(dentro da minha sabedoria lol).
    Gostaria de saber se existem e quais são as melhores alternativas para além de ListBoxes para o efeito..

    Desde já agradecido..
    Obrigado pela atenção ;)
    Abraços..
     
  2. Kayvlim

    Kayvlim Undefined Moderator
    Staff Member

    O que é que queres dizer com "lembrar"? Guardar o conteúdo das listboxes de modo a que, da próxima vez que ligares o programa, elas já estão preenchidas com aquilo que o utilizador tinha escrito previamente?
    É que uma listbox, quando o programa é iniciado, está sempre vazia. Tens é de gravar tudo para um ficheiro, e cada vez que ligas o programa ele vai ao ficheiro buscar os dados, e com eles é que preenche as lists.

    Se não for o que eu disse ... explica-te melhor :P isso (para mim) está um pouco confuso.
     
  3. WinAce_Boy

    WinAce_Boy Power Member

    lol, não, não é isso.. "lembrar" é uma MsgBox que aparece com o conteúdo de um item na list2.
     
  4. Kayvlim

    Kayvlim Undefined Moderator
    Staff Member

    MsgBox List1.Item(<número do item>) ' um item qualquer entre 0 e List1.ListCount-1
    MsgBox List1.Item(List1.ListIndex) ' mostra o item seleccionado actualmente

    É isto?
     
  5. WinAce_Boy

    WinAce_Boy Power Member

    Pois mas o problema é que há vários items
     
  6. msdevweb

    msdevweb Power Member

    Fazes um ciclo para percorrer a tua listbox toda e encontrar o item que queres, tipo
    for x=0 to x=list.itemcount


    if list.item(x)=CERTO (valor que queres, se for verdade) then msgbox list.item(x)
    x=x+1;

    P.S. Eu fiz um sistema de agenda à alguns tempos, e decidi, para nao usar um db, usar um ficheiro .ini anual, por exemplo:

    data2007.ini no qul se encontrava distribuida a informaçao seguinte

    [Janeiro]
    12=Dia de anos da Capitolina Andrioleta, lisboa |19:00
    23=Jantar com Amigos, Oeiras |21:00

    [Fevereiro]
    19=Cinema com Joaquina |21:00
    23=Jantar com Rumira, Oeiras |21:00

    Depois é só fazeres uma funçao diaria para procurar tarefas no dia actual dentro do ficheiro ini, ou até mesmo fazeres um timer de 15 em 15 minutos a verificar tarefas para aviso na hora certa.
    Existe mesmo uma API para ler e gravar ficheiros .ini, tornando tudo muito mais simples, depois buscas dos dados do dia, e se reparares existe sempre à frente dos dados uma hora, separada por "|", quando tiveres os teus dados numa variavel, é só procurares pelo "|" na string e retirares os valores à direita para outra variavel.

    Um sistema rapido e eficaz :)
    Ve isto, pode ajudar-te:
    http://www.thescarms.com/vbasic/registry.aspx le com atençao e vais ver que e facil com as funcoes, neste caso usam um .bas que podes incluir na tua aplicaçao, faz o download e esperimenta, se quiseres claro.
    Nesse caso fWriteValue e fReadValue

    Aqui tens todo o codigo e declaraçao das api's para fazeres no teu proprio projecto com um exemplo pratico:
    http://www.sythe.org/archive/index.php/t-148404.html



    Um abraço.
     
  7. WinAce_Boy

    WinAce_Boy Power Member

    Ok, vou analisar e exprimentar, depois dou-te uma resposta..
    Abraços
     

Partilhar esta Página