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

VB6 - Exportar valores de tabelas em *.txt multiLine

Discussão em 'Programação' iniciada por n{Ò.ó}x, 4 de Julho de 2008. (Respostas: 8; Visualizações: 1687)

  1. n{Ò.ó}x

    n{Ò.ó}x Power Member

    Boas noites, queria conseguir exportar valores de tabelas para um txt ou outra extensão, mas nao sei como faça! pois preciso de definir os espaçamentos entre a margem i o texto e etc.
    Alguem me poderia dar uma ajudinha?!
    Ficaria imensamente agradecido!:'(
     
  2. n{Ò.ó}x

    n{Ò.ó}x Power Member

    Ninguem me pode mesmo dar uma ajudinha??
    É que tou mesmo entalado com isto...
     
  3. Kayvlim

    Kayvlim Undefined Moderator
    Staff Member

    Vais buscar os valores das tabelas, delimitas o número de caracteres que cada campo pode ter, fazes uma função que acrescente espaços a cada valor de forma a que todos os valores de cada coluna tenham o mesmo número de caracteres e gravas para .txt.

    Onde exactamente é que tens dúvidas?
     
  4. n{Ò.ó}x

    n{Ò.ó}x Power Member

    consegues exemplificar por codigo?
    o que pretendia era conseguir definir o espaçamento em relaçao á margem, para depois exportar um xml
     
  5. Kayvlim

    Kayvlim Undefined Moderator
    Staff Member

    Só te vou dar "código batido" numa única coisa: uma função:
    Código:
    Private Function FormatarString(strng, tamanho As Integer)
            If Len(strng) > tamanho Then
                FormatarString = Left(strng, tamanho)
            Else
                FormatarString = strng & String(tamanho - Len(strng), " ")
            End If
    End Function
    
    Exemplo de como funciona:

    Código:
        Debug.Print FormatarString("The quick brown fox jumps over the lazy dog", 20) & ";" & vbCrLf & _
                   FormatarString("Teste", 20) & ";" & vbCrLf & _
                   FormatarString("Mais um teste", 20) & "."
    
    E depois olha ali para a janela do Imediato :P


    O que essa função faz é obrigar a que a string introduzida como 1ºargumento tenha obrigatoriamente o número de caracteres que especificares como 2º argumento. Assim, se passares como 2ºargumento "20", uma string com mais de 20 caracteres é cortada e com menos de 20 caracteres leva com tantos espaços quantos necessários até perfazer os 20 caracteres.

    Se quiseres que os espaços fiquem antes, e não depois, é só trocares
    Código:
    FormatarString = strng & String(tamanho - Len(strng), " ")
    por
    Código:
    FormatarString = String(tamanho - Len(strng), " ") & strng
    Agora já consegues fazer o que queres?
     
  6. n{Ò.ó}x

    n{Ò.ó}x Power Member

    Uns ajustes i ja pus a funcionar como queria, agora precisava era saber como exportar para xml (suponho que seja igual a txt), será que me poderás ajudar nisso também?
    Obrigadissimo plo teu tempo ;)
     
  7. Kayvlim

    Kayvlim Undefined Moderator
    Staff Member

    É tal e qual como txt, mas no caso do XML, tens de acrescentar tags; abres antes de um valor e fechas tipo. Tipo <b>Texto a bold</b>, podias ter <linha><coluna>valor</coluna><coluna>valor</coluna></linha>.
    Tu é que tens de saber quais as tags a usar :P
     
  8. n{Ò.ó}x

    n{Ò.ó}x Power Member

    Sim, claro, disso ja eu tou a tratar! A minha pergunta é como exportar realmente o texto?!
     
  9. Kayvlim

    Kayvlim Undefined Moderator
    Staff Member

    Como gravá-lo para um ficheiro?

    Código:
    Open "ficheiro.txt" For Output As #1  'Abre o ficheiro para escrita. Se ele existir, apaga-o.
       Print #1, "abc"         'escreve isto
       Print #1, "def"         'e isto
    Close #1                   'Fecha o ficheiro
     
    Open "ficheiro.txt" For Append As #1  'Abre o ficheiro para escrita. Se ele existir, acrescenta tudo isto no fim
       Print #1, "ghi"         'escreve mais isto
    Close #1                   'Volta a fechar
     
    Open "ficheiro.txt" For Input As #1  'Abre o ficheiro para leitura.
       Do Until EOF(1)
           Line Input #1, buffer  'Extrai cada linha do ficheiro, uma a uma, até chegar ao EOF - End Of File
           MsgBox buffer          'Mostra cada linha numa MsgBox
       Loop
    Close #1                      'E fecha o ficheiro de novo
    
    Analisa este código e percebes :P
     

Partilhar esta Página