Código VB para Delphi
09/06/2005
0
Seguinte, tô precisando passar esse código VB pra delphi 2005 ASP.NET e não tô conseguindo algumas partes :( :
Function AbreArquivo(sArquivo As String) As String Dim iARQ As Integer Dim sLinha As String Dim sResult As String iARQ = FreeFile Open sArquivo For Input As iARQ Do While Not EOF(iARQ) *Pega o conteúdo da linha Line Input #iARQ, sLinha *Quebra a linha e concatena (soma) o resultado sResult = sResult + Chr(13) & Chr(10) + sLinha Loop AbreArquivo = sResult Fecha o arquivo Close iARQ End Function
Se alguém souber como faz e puder me ajudar serei grato. :lol:
Até mais.
mjr.
Mjr
Posts
09/06/2005
Mjr
estou querendo só abrir um arquivo texto em um TextBox no D2005, se alguém souber de um jeito mais fácil e puder me passar serei grato. :D
mjr
09/06/2005
Sanses
Faz o seguinte: Declare System.IO no uses do seu webform e coloque estas linhas no load da página:
var arq : FileStream; ler : StreamReader; begin Arq := FileStream.Create(´C:\www\aspnet\web\arquivo.txt´, FileMode.OpenOrCreate, FileAccess.Read); try ler := StreamReader.create(arq); try ler.BaseStream.Seek(0, SeekOrigin.&Begin); while ler.Peek <> -1 do listbox1.Items.add(ler.ReadLine); finally ler.Close; end; finally arq.Close; end; end;
Atente para que o arquivo texto exista no diretório.
É bem simples, quase não muda muito do win32
Sanses[/code]
09/06/2005
Mjr
:D Muito Obrigado, o código funcionou exatamente como eu queria, porém qual o path que tenho que colocar quando for publicar a pagina, por exemplo: localmente utilizo ´e:\db\pagina\desc\´+ arquivo. quando publicar é só: ´\desc\´+ arquivo?
Ah, e a função que você passou não retorna caracteres acentuados ou o cedilha, tenho que tirá-los do texto ou tem uma maneira de retornar caracteres acentuados? :lol:
Desde já agradeço.
mjr.
09/06/2005
Sanses
Para o path use MapPatch.
Para os caracteres especiais eu não havia reparado, vou dr uma olhada e ver o que pode ser feito.
Sanses
06/07/2005
Sanses
Para carregar também os caracteres acentuados faça assim:
var ler : StreamReader; Begin try ler := StreamReader.create(´C:\inetpub\wwwroot\www\aspnet\web\arquivo.txt´, UTF7Encoding.get_UTF7); try ler.BaseStream.Seek(0, SeekOrigin.&Begin); while ler.Peek <> -1 do listbox1.Items.add(ler.ReadLine); finally ler.Close; end; finally arq.Close; end;
Assim vai aparecer a acentuação e os ´cedilhas´ corretamente.
[]´s
Sanses
13/07/2005
Mjr
Grato pelo código.
O D2005 não tá aceitando esse UTF7Encoding, sabes me dizer o porque?
grato
mjr.
13/07/2005
Sanses
Para que o codigo compile, inclua no uses o namespace System.Text.
[]´s
Sanses
20/07/2005
Mjr
É o seguinte, criei uma variável string e ao invés de colocar listbox1.items.add(ler.ReadLine), coloquei texto := texto + (ler.ReadLine).
Teoricamente teria que funcionar, mas não aparece nada.
O problema é que quero o texto num textbox.
Você sabe me informar o porque de não estar aparecendo o texto?
grato.
mjr.
20/07/2005
Sanses
var arq : FileStream; ler : StreamReader; texto : string; begin Arq := FileStream.Create(´C:\inetpub\wwwroot\www\aspnet\web\arquivo.txt´, FileMode.OpenOrCreate, FileAccess.Read); try ler := StreamReader.create(´C:\inetpub\wwwroot\www\aspnet\web\arquivo.txt´, UTF7Encoding.get_UTF7); try ler.BaseStream.Seek(0, SeekOrigin.&Begin); while ler.Peek <> -1 do //listbox1.Items.add(ler.ReadLine); texto := texto + (ler.readLine); finally ler.Close; end; finally arq.Close; textbox1.Text := texto; end;
isso está no onload da página
[]´s
Sanses
Clique aqui para fazer login e interagir na Comunidade :)