Jump to content

Ajuda ao gravar ficheiros .txt!


Dj_Pedro
 Share

Recommended Posts

Boas pessoal tudo?

Eu cria fazer um programa que desse para gravar documentos em .txt ( isso é ir ao filter) agora o resto não sei...

CommandDialog1.ShowSave
                 Richtextbox1.Save 

tenho assim mas não sei o resto....

Alguem me pode ajudar sff???  :wallbash:

Cumps. :P

Link to comment
Share on other sites

Boas pessoal tudo?

Eu cria fazer um programa que desse para gravar documentos em .txt ( isso é ir ao filter) agora o resto não sei...

CommandDialog1.ShowSave
                 Richtextbox1.Save 

tenho assim mas não sei o resto....

Alguem me pode ajudar sff???  :wallbash:

Cumps. :P

A ver se compreendi bem: tu queres fazer um dialog box de save com o filtro .txt e que o componente RTF grave nesse formato, é isso?

Se assim é, a primeira coisa a fazer é construires os filtros na dialog box, consulta a documentação que, se bem me lembro até vem um exemplo.

A segunda coisa a fazeres é verificar qual o directório, nome e filtro seleccionados pelo utilizador na dialog box.

Por fim, gravas o ficheiro no local indicado, com o nome especificado e, caso o filtro seja um .txt, deves trocar o RTF para "plain text" (é assim em VB?).

10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Link to comment
Share on other sites

A ver se compreendi bem: tu queres fazer um dialog box de save com o filtro .txt e que o componente RTF grave nesse formato, é isso?

Se assim é, a primeira coisa a fazer é construires os filtros na dialog box, consulta a documentação que, se bem me lembro até vem um exemplo.

A segunda coisa a fazeres é verificar qual o directório, nome e filtro seleccionados pelo utilizador na dialog box.

Por fim, gravas o ficheiro no local indicado, com o nome especificado e, caso o filtro seja um .txt, deves trocar o RTF para "plain text" (é assim em VB?).

Tipo o que cria mesmo era saber qual p código para guardar o doc. em .txt ( + isso é so ir as propriedades da dialog box e por *.txt agora o problema é como fazer ele gravar o ficheiro ou seja como o criar....

Em delphi se não me engano era qualquer coisa deste genero:

if SaveDialog1.Show then 
Richtextbox1.savetofile (savedialog1.name) 
end if

Tas a ver o que eu quero???

Tipo fazer como o bloco de notas escrever normalmente e depois fazer o save.... so não sei é o codigo de salvar o ficheiro  :dontgetit:

Alguem me consegue ajudar??? :wallbash:

Cumps. 😁

Link to comment
Share on other sites

Para gravares em flat file tens de colocar o RTF nesse modo, consulta a documentação sobre isso.

Para gravares, basta invocares o método de gravação, que também está documentado.

Vê a documentaão dos métodos e propriedades do objecto que está lá tudo.

10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Link to comment
Share on other sites

se quiseres guardar à unha um texto para um file simples tipo texto podes usar a classe "StreamWriter"

eu uso isso para fazer logging aplicacional em files de texto simples sem usar o sistema de eventos do windows

se for util para isso dá uma vista neste codigo que cria um ficheiro caso não exista e escreve texto para lá... assim dominas totalmente a operação

esta classe está no NameSpace "System.IO"

usa o

Imports System.IO

Public Sub toLogFile(ByVal codigo As String, ByVal msg As String, ByVal logFileName As String)

        Try

            Dim objFile As StreamWriter

            If File.Exists(logFileName) Then
                objFile = New StreamWriter(logFileName)
            Else
                objFile = File.CreateText(logFileName)
            End If

            objFile.WriteLine(dataHoje() & "  - ad_utils ---  " & msg)

            objFile.Close()


        Catch ex As Exception
            deb.WriteLine("Excepção : " & ex.Message)
        End Try


    End Sub

é sempre uma opão

fica

teckV

Link to comment
Share on other sites

perdido_e_sozinho

Dj_Pedro lembra-te de que sempre que postares na secção de Visual Basic deves indicar a versão do VB que usas. [vb5] [vb6] [vb.net 2003] [vb.net 2005]

Com os melhores cumprimentos,

Sérgio Matias

ser.gifsartim.gif

Link to comment
Share on other sites

PreTenDer666

Bem vou assumir que será VB6.

Como disseste que querias fazer tipo o bloco de notas penso que é isto que queres.

1 botao com o nome de "gravar"

1 Commondialog

1 textbox com a opcao multiline = true

Aqui fica o codigo para gravar ficheiros TXT apartir do que escrevemos numa textbox.

Private Sub Gravar_Click()

    Dim gravar As Integer
    
    On Error GoTo ErrorH

    CommonDialog1.DialogTitle = "Guardar ficheiro TXT"

    CommonDialog1.Filter = "Ficheiros TXT |*.TXT"

    CommonDialog1.FilterIndex = 0

    CommonDialog1.ShowSave
    
    gravar = FreeFile
    
    Open CommonDialog1.FileName For Append As gravar
    
     Print #gravar, Text1.Text
   
    Close gravar
    Text1.Text = ""
' aqui vai chamar a common_error senao vai
' dar erro quando carregamos em cancelar
ErrorH:
Common_Error
Exit Sub
    End Sub
  Private Sub Common_Error()
'---------------------------------
' Usado para apanhar o erro
' que me ocorria quando o Cancelar
' era presionado, de outra maneira o prog da erro
'---------------------------------

'se o erro for 32755("Cancel was clicked")

If Err.Number = 32755  Then
    ' Nao faz nada pois nada e requerido
    End If

End Sub
Link to comment
Share on other sites

Ok PreTenDer666 vou experimentar e obrigado a todos os outros membros pela ajuda....

Sim é VB6 e desculpa perdido_e_sozinho pela falha...

Eu ja tinha conseguido gravar files só que o problema é que é em formato .rtf e so le bem no wordpad.... + vo experimentar isso e depois digo news....

Cumps. 👍

Link to comment
Share on other sites

Não necessitas de escrever a rotina de escrita do ficheiro. O objecto RTF tem um método que faz isso.

10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Link to comment
Share on other sites

Bem vou assumir que será VB6.

Como disseste que querias fazer tipo o bloco de notas penso que é isto que queres.

1 botao com o nome de "gravar"

1 Commondialog

1 textbox com a opcao multiline = true

Aqui fica o codigo para gravar ficheiros TXT apartir do que escrevemos numa textbox.

Private Sub Gravar_Click()

    Dim gravar As Integer
    
    On Error GoTo ErrorH

    CommonDialog1.DialogTitle = "Guardar ficheiro TXT"

    CommonDialog1.Filter = "Ficheiros TXT |*.TXT"

    CommonDialog1.FilterIndex = 0

    CommonDialog1.ShowSave
    
    gravar = FreeFile
    
    Open CommonDialog1.FileName For Append As gravar
    
     Print #gravar, Text1.Text
   
    Close gravar
    Text1.Text = ""
' aqui vai chamar a common_error senao vai
' dar erro quando carregamos em cancelar
ErrorH:
Common_Error
Exit Sub
    End Sub
  Private Sub Common_Error()
'---------------------------------
' Usado para apanhar o erro
' que me ocorria quando o Cancelar
' era presionado, de outra maneira o prog da erro
'---------------------------------

'se o erro for 32755("Cancel was clicked")

If Err.Number = 32755  Then
    ' Nao faz nada pois nada e requerido
    End If

End Sub

Caro PreTenDer666 obrigado funciona 😄 , so que gostava que me explicasses uma coisa pois não gosto de fazer programas sem perceber ...

Para que é que serve isto :

 

 gravar = FreeFile
    
    Open CommonDialog1.FileName For Append As gravar
    
     Print #gravar, Text1.Text
   
    Close gravar
    Text1.Text = ""
Link to comment
Share on other sites

PreTenDer666

O primeiro passo foi criar a variável gravar, à qual está a ser atribuída o valor FreeFile, que faz com que o sistema retorne o próximo manipulador de arquivos disponível, que deverá ser utilizado em todas as instruções do tipo Open, Print# e Close.

Dps dizemos para utilizar o commondialog1.filename para o tipo Append (ou seja, irá receber a adição/inclusão de dados).

Dps gravamos o conteúdo armazenado no componente Text1.text

Fechar o gravar

E dps "liberta" o que esta escrito dentro da Textbox.

Não tenho muito jeito para explicar, mas espero que tenhas compreendido 😄

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.