Jump to content

Recommended Posts

Posted

Olá pessoal, ando para aqui a fazer uma aplicação para mostrar os artigos do código penal, e queria fazer um método de forma a reutilizar o código. 

O objetivo é ter um botão por cada artigo (pelo menos para já) mas não queria estar a copiar e a colar, logo o correto (acho eu) será usar um método, e no EventHandler do botão enviar como parâmetro o caminho do artigo e o título (ambos String) para esse método.

Tenho este código que quero "reutilizar"

 private async void BotaoBloco_Click(object sender, RoutedEventArgs e)

        {
            
            titulo.Text = "INTRODUÇÃO";
            StorageFile OpenedStorageFile = await StorageFile.GetFileFromApplicationUriAsync(new Uri(this.BaseUri, "Livro1/introducao.txt"));

            if (OpenedStorageFile != null)
            {
                try
                {
                    IRandomAccessStream randomAccStream = await OpenedStorageFile.OpenAsync(FileAccessMode.Read);
                    var st = randomAccStream.AsStream();
                    StreamReader sr = new StreamReader(st, Encoding.UTF7);
                    string s = await sr.ReadToEndAsync();
                    Paragraph paragraph = new Paragraph();
                    Run run = new Run();
                    run.Text = s;
                    paragraph.Inlines.Add(run);
                    blocotexto.Blocks.Add(paragraph);


                }
                catch (Exception ex)
                {
                    MessageDialog md = new MessageDialog(ex.Message);
                    await md.ShowAsync();
                }


            }

        }

Mas não estou a conseguir, desconfio que deve ter a ver com o facto do método ter que ser Async (acho eu).

Como é que faço isto?

Obrigado! 

Férias! Estou por aqui: http://maps.google.p...001549&t=h&z=20 (a bulir claro está!)

Nunca mais é verão outra vez.. :)

Posted (edited)

Boas, eu tenho que deixar de mexer no código de manhã muito cedo 😕 , nem sei o que estava a inventar...

Já resolvi... Depois de uma manhã inteira (com vários intervalos) lá dei com isto... Vou deixar aqui o código não vá alguém que também esteja a dormir  precisar 🙂

 private void streamreader_Click(object sender, RoutedEventArgs e)
        {
            string Artigo = "Livro1/art1.txt";                        
            Leitor(Artigo);
        }

        public async void Leitor(string Artigo)
        {
            
            StorageFile OpenedStorageFile = await StorageFile.GetFileFromApplicationUriAsync(new Uri(this.BaseUri, Artigo));

            if (OpenedStorageFile != null)
            {
                try
                {
                    IRandomAccessStream randomAccStream = await OpenedStorageFile.OpenAsync(FileAccessMode.Read);
                    var st = randomAccStream.AsStream();
                    StreamReader sr = new StreamReader(st, Encoding.UTF7);
                    string s = await sr.ReadToEndAsync();
                    Paragraph paragraph = new Paragraph();
                    Run run = new Run();
                    run.Text = s;
                    paragraph.Inlines.Add(run);
                    blocotexto.Blocks.Add(paragraph);
                    
                }
                catch (Exception ex)
                {
                    MessageDialog md = new MessageDialog(ex.Message);
                    await md.ShowAsync();
                }

            }

        }
Edited by Gnrtuga
erro

Férias! Estou por aqui: http://maps.google.p...001549&t=h&z=20 (a bulir claro está!)

Nunca mais é verão outra vez.. :)

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
×
×
  • 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.