Ir para conteúdo
Fórum Script Brasil
  • 0

Salvar alterações


Matheus-vb6

Pergunta

ola gente, eu estou crindo um programa que abre um form e pergunta o nome... a pessoa digitando o nome, esse form fexa (unload me) e abre um outro dizendo: Bem vindo (nome que foi digitado).

Eu gostaria de saber se tem como manter esse nome "gravado", e quando a pessoa entrasse perguntasse: "Voce é o "+(ultimo nome digitado)+"?"

se a pessoa clicar em sim o programa seja executado normalmente, se ela clicar em não, abrir o form frmnome..

meu problema é só como q eu faço pra deixar esse ultimo nome, de preferencia em arquivo .txt

vlws desde já

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

pra gravar os dados, você teria 3 opcoes:

1 - gravar num arquivo no hd, o q me parece q seja o q você planeja fazer. o codigo seria mais ou menos esse:

Dim f As Long

f = FreeFile
Open "arquivo.txt" For Output As f 'Abre o Arquivo

Print #f, "texto" 'Escreve no Arquivo

Close #f 'Fecha o arquivo[/code]

2 - gravar no registro do windows, como explica esse tutprial do skylopirata: http://scriptbrasil.com.br/forum/index.php?showtopic=78055

3 - gravar num banco de dados.

essa opcao so seria viavel se a sua aplicacao já estivesse usando bancos de dados pra outros fins. não teria o minimo sentido enfiar um bd na sua aplicacao somente pra gravar esse nome ou qualquer outra informacao desse tipo a mais q você precise gravar.

Link para o comentário
Compartilhar em outros sites

  • 0

vo testa aki

---

então, essa parada funfo

ai agora coloquei properties pra começa no frmMenu ao invés do frmNome...

o código do frmMenu fiko assim:

Private Sub Form_Load()

Dim arquivo As Long

arquivo = FreeFile

Open "arquivo.txt" For Output As arquivo

If arquivo = Empty Then

frmNome.Show

Unload Me

Else

If MsgBox("Seu nome é " + arquivo + "?", vbYesNo + vbQuestion, "Nome?") = vbNo Then

frmNome.Show

Unload Me

Else

Dim v1 As String

v1 = txtNome.Text

lblnome.Caption = "Olá " + arquivo + "!"

frmMenu.Show

Unload Me

End If

End If

End Sub

e do botao enviar no frmNome assim:

Private Sub txtNome_KeyPress(KeyAscii As Integer)

Dim v1 As String

v1 = txtNome.Text

If KeyAscii = 13 Then

If v1 = Empty Then

MsgBox "Digite um nome valido!", vbCritical, "Erro!"

Else

frmMenu.lblnome.Caption = "Olá " + v1 + "!"

frmMenu.Show

Unload Me

End If

End If

Dim f As Long

f = FreeFile

Open "arquivo.txt" For Output As f 'Abre o Arquivo

Print #f, v1 'Escreve no Arquivo

Close #f 'Fecha o arquivo

End Sub

ele ta dando erro na linha do if, msgbox, do frmMenu, o q tem de errado?

Editado por Matheus-vb6
Link para o comentário
Compartilhar em outros sites

  • 0

então, primero de tudo, isso aqui não vai funcionar:

Open "arquivo.txt" For Output As arquivo
If arquivo = Empty Then[/code] pra ler o arquivo, você tem q abrir como Input e não Output. e é bom fechar o arquivo no final. mais ou menos assim:
[code]Dim arquivo As Long, nome_arquivo As String

arquivo = FreeFile
Open "arquivo.txt" For Input As arquivo

nome_arquivo = Input$(LOF(arquivo), arquivo)

Close arquivo

mas você tb ia ser legal você usar antes a funcao Dir() pra saber se o arquivo existe ou não.

ele ta dando erro na linha do if, msgbox, do frmMenu, o q tem de errado?

isso deve ser porque você ta declarando a variavel arquivo como Long e ta tentando soma-la com uma string.

quando você for concatenar strings, use sempre o & em vez do + pra evitar esse problema.

mas de qualquer forma, a variavel arquivo serve somente pra apontar para o arquivo aberto na memoria. o conteudo do arquivo deve ser lido numa outra variavel string, como você pode ver no codigo acima. e é essa segunda variavel q você deve concatenar no msgbox.

veja ai, qualquer coisa poste.

Link para o comentário
Compartilhar em outros sites

  • 0

vou testar aki

---

ele agora ta perguntando : seu nome é 1?

código frmmenu:

Private Sub Form_Load()

Dim arquivo As String

arquivo = FreeFile

Open "arquivo.txt" For Input As arquivo

If arquivo = Empty Then

frmNome.Show

Unload Me

Else

If MsgBox("Seu nome é " & arquivo & "?", vbYesNo, "Nome?") = vbNo Then

frmNome.Show

Unload Me

End If

End If

End Sub

e do frmnome:

Private Sub cmdOk_Click()

Dim v1 As String

v1 = txtNome.Text

frmMenu.lblnome.Caption = "Olá " + v1 + "!"

frmMenu.Show

Unload Me

End Sub

Private Sub txtNome_KeyPress(KeyAscii As Integer)

Dim v1 As String

v1 = txtNome.Text

If KeyAscii = 13 Then

If v1 = Empty Then

MsgBox "Digite um nome valido!", vbCritical, "Erro!"

Else

frmMenu.lblnome.Caption = "Olá " + v1 + "!"

frmMenu.Show

Unload Me

End If

End If

Dim arquivo As Long, nome_arquivo As String

arquivo = FreeFile

Open "arquivo.txt" For Input As arquivo

nome_arquivo = input$(LOF(arquivo), arquivo)

Close arquivo

End Sub

Desculpa ae se fiz alguma besteira obvia, só estou no 3 mes de curso tecnico em informatica

Editado por Matheus-vb6
Link para o comentário
Compartilhar em outros sites

  • 0
ele agora ta perguntando : seu nome é 1?

isso é porque, como eu disse:

mas de qualquer forma, a variavel arquivo serve somente pra apontar para o arquivo aberto na memoria. o conteudo do arquivo deve ser lido numa outra variavel string, como você pode ver no codigo acima. e é essa segunda variavel q você deve concatenar no msgbox.

arquivo é o primero arquivo aberto, então dentro dele esta o valor 1. o conteudo do arquivo (o nome da pessoa) estaria, naquele codigo q eu passei, dentro da variavel nome_arquivo. é ela q você deve passar no msgbox, entendeu??

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...