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

Estrutura


ramon

Pergunta

COmo eu faria para salvar uma estrutura que tem arrays? Eu teria que criar um laço ou tem outro jeito de salvar?

exemplo

Type Estrutura 
    Array1(3) As Integer 
    array2 As Byte 
End Type 
Public teste(10) As Estrutura 
Private Sub Form_Load()
teste(1).Array1(1) = 2
teste(2).Array1(1) = 4
teste(3).Array1(1) = 6

End Sub
Private Sub Command1_Click()
Open App.Path & "\teste.txt" For Output As #1
Print #1, teste

Close #1

End Sub

só que da erro e eu naõ queria usar um laço

Link para o comentário
Compartilhar em outros sites

14 respostass a esta questão

Posts Recomendados

  • 0

Para gravar uma estrutura desse jeito, se não me engano, você precisa abrir o arquivo como Random (randômico) e definir o tamanho do registro (através da palavra-chave Len). E usar a instrução Put para escrever também. Exemplo:

n = FreeFile()
Open "c:\teste.txt" For Random As #n Len = 50
Put #n, , teste
Close #n

Faça o teste aí. Lembrando que a leitura também é diferente neste caso (usando a instrução Get).

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0

está mas como eu faço isso?

levando em conta que uma variavel integer ocupa 2 bytes e uma variavel byte ocupa 1 byte, é so fazer a soma.

tipo, sua estrura:

Array1(3) As Integer - 2 bytes * 4 indices = 8 bytes

array2 As Byte 1 byte

ou seja seu tipo ocupa 9 bytes.

so que você declarou um array da estrutura:

Public teste(10) As Estrutura
ou seja, 11 * 9 = 99. ficando o codigo assim:
n = FreeFile()
Open "c:\teste.txt" For Random As #n Len = 99
Put #n, , teste
Close #n[/code]

Link para o comentário
Compartilhar em outros sites

  • 0

está o tamanho está errado....então como posso resolver isso?

me da um exemplo

Eu quis dizer que o tamanho que você "inventou" para o registro é muito grande, e que provavelmente ele não é isso tudo (ou provavelmente você pode diminuí-lo). Quais os tipos de dados que você guarda?

Abraços,

Graymalkin

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,4k
×
×
  • Criar Novo...