bids Posted September 1, 2014 Report Share Posted September 1, 2014 (edited) Eu criei um bloco de notas mas demorar muito para abrir , há uma forma de fazer com que ele abra mais rapido? Edited September 1, 2014 by bids Ajude-me? Link to comment Share on other sites More sharing options...
herty Posted September 1, 2014 Report Share Posted September 1, 2014 Acho tua pergunta demasiado abstracta. Link to comment Share on other sites More sharing options...
nelsonr Posted September 1, 2014 Report Share Posted September 1, 2014 Se executares 2 vezes, demora o mesmo tempo? Ou à segunda vez é mais rapido? Quando a aplicação inicia, faz algum procedimento que possa ser demorado? Link to comment Share on other sites More sharing options...
bids Posted September 3, 2014 Author Report Share Posted September 3, 2014 a segunda vez é mais rapido Private Sub frmMain_Load(sender As Object, e As EventArgs) Handles Me.Shown, MyBase.Shown, MyClass.Shown AZEITE = System.Text.Encoding.Unicode With ToolStripProgressBar1 .Minimum = 1 .Maximum = 3 .Value = 1 .Step = 1 For i As Integer = .Minimum To .Maximum .PerformStep() If My.Application.CommandLineArgs.Any Then Dim nomeFicheiro As String = My.Application.CommandLineArgs.First() ru = nomeFicheiro Dim SR As New IO.StreamReader(nomeFicheiro, System.Text.Encoding.Default) While Not SR.EndOfStream Dim ver As New FileInfo(ru) Me.Text = ver.Name & " - Bloco de Notas" TextBox1.Text = SR.ReadToEnd End While SR.Close() End If Next i End With Timer2.Start() If BarraToolStripMenuItem.Checked = True Then StatusStrip1.Dock = DockStyle.Bottom StatusStrip1.Visible = True End If If Not StatusStrip1.Dock = DockStyle.Bottom Then StatusStrip1.Dock = DockStyle.None StatusStrip1.Visible = False BarraToolStripMenuItem.Checked = False End If End Sub Ajude-me? Link to comment Share on other sites More sharing options...
nelsonr Posted September 3, 2014 Report Share Posted September 3, 2014 Qual a razão desse For? Link to comment Share on other sites More sharing options...
bids Posted September 3, 2014 Author Report Share Posted September 3, 2014 é para dar valor ao progressbar Ajude-me? Link to comment Share on other sites More sharing options...
nelsonr Posted September 3, 2014 Report Share Posted September 3, 2014 Não faz sentido nenhum e caso se defina um parametro, estás a repetir a leitura do ficheiro 3 vezes sem necessidade Link to comment Share on other sites More sharing options...
bids Posted September 3, 2014 Author Report Share Posted September 3, 2014 ok eu irei adicionar iF I = 3 THEN Dim nomeFicheiro As String = My.Application.CommandLineArgs.First() ru = nomeFicheiro Dim SR As New IO.StreamReader(nomeFicheiro, System.Text.Encoding.Default) While Not SR.EndOfStream Dim ver As New FileInfo(ru) Me.Text = ver.Name & " - Bloco de Notas" TextBox1.Text = SR.ReadToEnd End While SR.Close() End If Mais eu não acho que o aplicativo vai ficar tão rapido quanto ao bloco de notas só com isso! Existe mais alguma forma? Ajude-me? Link to comment Share on other sites More sharing options...
nelsonr Posted September 3, 2014 Report Share Posted September 3, 2014 Qual a razão dessa progressbar se não tens uma operação dividida que justifique mostrar o progresso? A progressbar fazia sentido se lesses por exemplo o ficheiro linha a linha e mostrasses a progress para cada linha lida. Agora da forma que tens, não faz ai absolutamente nada. Em relação à lentidadão, poderá haver alguma, caso seja logo após a compilação é normal. A aplicação compila internamente à medida que é utilizada (http://blogs.telerik.com/justteam/posts/13-05-28/understanding-net-just-in-time-compilation). No entanto julgo que numa aplicação de bloco de notas não deve ser muito perceptivel. Não estás a fazer mais nada ao iniciar? Acontece caso executes com e sem parametro? Link to comment Share on other sites More sharing options...
bids Posted September 3, 2014 Author Report Share Posted September 3, 2014 (edited) Para usar o progress bar para tal ação eu teria de saber o numero de linhas. Eu também tenho outro form que é o form de formato de texto. E sim tenho também um timer que calcula a quanto tempo a aplicação está aberta Edited September 3, 2014 by bids Ajude-me? Link to comment Share on other sites More sharing options...
nelsonr Posted September 3, 2014 Report Share Posted September 3, 2014 Acontece caso executes com e sem parametro? ... De resto, se executares em modo debug e andares de linha a linha, não consegues ver qual a operação que provoca a lentidão? Em relação ao leres o ficheiro para uma string, se não precisas de nada em especial, porque não usas algo do tipo: TextBox1.Text = File.ReadAllText(nomeFicheiro) Link to comment Share on other sites More sharing options...
bids Posted September 3, 2014 Author Report Share Posted September 3, 2014 (edited) Parece que sem os parametros fica mais lento Edited September 3, 2014 by bids Ajude-me? Link to comment Share on other sites More sharing options...
nelsonr Posted September 3, 2014 Report Share Posted September 3, 2014 De resto, se executares em modo debug e andares de linha a linha, não consegues ver qual a operação que provoca a lentidão?Em relação ao leres o ficheiro para uma string, se não precisas de nada em especial, porque não usas algo do tipo: TextBox1.Text = File.ReadAllText(nomeFicheiro) Link to comment Share on other sites More sharing options...
bids Posted September 3, 2014 Author Report Share Posted September 3, 2014 Eu executei o programa sem o formload mais o tempo continua o mesmo. O meu formload está assim agora : Private Sub frmMain_Load(sender As Object, e As EventArgs) Handles Me.Load AZEITE = System.Text.Encoding.Unicode If My.Application.CommandLineArgs.Any Then Dim nomeFicheiro As String = My.Application.CommandLineArgs.First() ru = nomeFicheiro Dim SR As New IO.StreamReader(nomeFicheiro, System.Text.Encoding.Default) Dim ver As New FileInfo(ru) Me.Text = ver.Name & " - Bloco de Notas" TextBox1.Text = IO.File.ReadAllText(nomeFicheiro) SR.Close() End If If BarraToolStripMenuItem.Checked = True Then StatusStrip1.Dock = DockStyle.Bottom StatusStrip1.Visible = True End If If Not StatusStrip1.Dock = DockStyle.Bottom Then StatusStrip1.Dock = DockStyle.None StatusStrip1.Visible = False BarraToolStripMenuItem.Checked = False End If Timer1.Enabled = True End Sub Ajude-me? Link to comment Share on other sites More sharing options...
nelsonr Posted September 3, 2014 Report Share Posted September 3, 2014 Não vejo ai nada que possa provocar a demora. Usando o ReadAllText não precisas do StreamReader. Não está ai a fazer nada. Se colocares um breakpoint na primeira linha do form_load e executares em debug, a lentidão é antes de parar no breakpoint ou depois? E é lentidão em exactamente o que? Até o form ficar visivel? Link to comment Share on other sites More sharing options...
bids Posted September 3, 2014 Author Report Share Posted September 3, 2014 não é que seja muito lento mais eu gostaria que ele aparecesse na hora exacta em que eu abro o ficheiro. Queria que estivesse na mesma velocidade que o bloco de notas do windows Ajude-me? Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now