Você está aqui: C# ::: Dicas & Truques ::: Arquivos e Diretórios |
Copiando o conteúdo de um arquivo para outro arquivo (não existente antes da operação)Quantidade de visualizações: 18893 vezes |
Muitas vezes precisamos copiar todo o conteúdo de um arquivo para um outro arquivo. Para isso podemos usar o método Copy() da classe File. Este método recebe dois argumentos: o nome do arquivo a partir do qual o conteúdo será copiado e o nome do novo arquivo, que será criado. Note que, quando usamos o método Copy() com apenas dois parâmetros, o segundo arquivo não poderá ser um arquivo já existente no sistema. Se você quiser copiar para um arquivo já existente veja a dica relacionada a esta operação nesta mesma seção. Eis o código para o exemplo: static void Main(string[] args){ // não esqueça // using System.IO; // caminho e nome do primeiro arquivo string arquivo1 = "C:\\estudos_csharp\\arquivo.txt"; // caminho e nome do segundo arquivo string arquivo2 = "C:\\estudos_csharp\\arquivo2.txt"; // vamos copiar o conteúdo do primeiro arquivo para // um arquivo recém-criado File.Copy(arquivo1, arquivo2); Console.WriteLine("Operação efetuada com sucesso."); Console.WriteLine("\n\nPressione uma tecla para sair..."); Console.ReadKey(); } |
![]() |
C# ::: Namespace System.Drawing ::: Image |
Gráficos C# Windows Forms - Como usar a classe Image em suas aplicações C#Quantidade de visualizações: 6398 vezes |
A classe Image, do namespace System.Drawing (no assemply System.Drawing.dll) é uma classe abstrata de base que fornece funcionalidades para as classes derivadas Bitmap e Metafile (que são classes concretas e sealed, ou seja, não podem ter suas funcionalidades herdadas por outras classes). Por ser uma classe abstrata, não podemos criar novas instâncias de Image (usando new()). Em vez disso nós a usamos apenas para chamar seus métodos estáticos ou como referência para as classes derivadas. Veja um trecho de código no qual carregamos um bitmap e o exibimos em um PictureBox: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- private void button2_Click_1(object sender, EventArgs e){ try{ // vamos carregar o bitmap a partir de um diretório Image imagem = new Bitmap(@"C:\estudos_csharp_wf\logo.bmp", true); // vamos exibir a imagem no PictureBox pictureBox1.Image = imagem; } catch(ArgumentException ae){ MessageBox.Show("Houve um erro ao carregar a imagem: " + ae.Message.ToString()); } } Veja que declaramos uma Image e a usamos como referência a um Bitmap. É claro que podemos perfeitamente trocar a linha: Image imagem = new Bitmap(@"C:\estudos_csharp_wf\logo.bmp", true); por: Bitmap imagem = new Bitmap(@"C:\estudos_csharp_wf\logo.bmp", true); O código compila normalmente, mas aí perdemos todo o poder que o polimorfismo nos entrega. Sempre que possível, devemos programar em cima das interfaces, superclasses e classes abstratas. Além dos métodos estáticos, a classe Image fornece várias propriedades. Veja uma modificação do exemplo anterior no qual obtemos a largura e a altura da imagem que foi carregada: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- private void button2_Click_1(object sender, EventArgs e){ try{ // vamos carregar o bitmap a partir de um diretório Image imagem = new Bitmap(@"C:\estudos_csharp_wf\logo.bmp", true); // vamos exibir a imagem no PictureBox pictureBox1.Image = imagem; // vamos exibir a largura e altura da imagem MessageBox.Show("A imagem carregada possui a largura de " + imagem.Width + " pixels e altura de " + imagem.Height + " pixels."); } catch(ArgumentException ae){ MessageBox.Show("Houve um erro ao carregar a imagem: " + ae.Message.ToString()); } } Depois de carregada a imagem você verá uma mensagem parecida com: A imagem carregada possui a largura de 80 pixels e altura de 50 pixels. |
C# ::: Dicas & Truques ::: Arquivos e Diretórios |
Como retornar o nome de um arquivo sem a extensão em C# usando o método GetFileNameWithoutExtension() da classe PathQuantidade de visualizações: 12792 vezes |
A função GetFileNameWithoutExtension() da classe Path do C# facilita o nosso trabalho quando precisamos obter o caminho e nome de um arquivo sem a sua extensão, ou seja, se o nome do arquivo for "video.mp4", a função nos retornará apenas "video". O método GetFileNameWithoutExtension() recebe uma string representando o caminho e nome do arquivo e retorna uma outra string contendo o nome do arquivo sem a extensão. Veja um exemplo completo de seu uso: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- using System; using System.Collections; using System.IO; namespace Estudos { class Program { static void Main(string[] args) { // caminho e nome do arquivo com a extensão string arquivo = "C:\\estudos_csharp\\texto.txt"; // obtém o nome do arquivo sem a extensão string arquivo2 = Path.GetFileNameWithoutExtension(arquivo); // exibe o resultado Console.WriteLine("O nome do arquivo sem a extensão " + "é: {0}", arquivo2); Console.WriteLine("\n\nPressione qualquer tecla para sair..."); // pausa o programa Console.ReadKey(); } } } Ao executar este código C# nós teremos o seguinte resultado: O nome do arquivo sem a extensão é: texto |
C# ::: Windows Forms ::: TextBox |
C# Windows Forms Avançado - Como rolar as linhas de um TextBox para o fundo (parte inferior) usando a API do WindowsQuantidade de visualizações: 6893 vezes |
Em algumas situações gostaríamos de rolar para baixo (fundo) o conteúdo de um TextBox de múltiplas. Para isso podemos usar a API do Windows, mais especificamente a mensagem WM_VSCROLL com o valor SB_BOTTOM para seu parâmetro wParam. O valor do parâmetro lParam é zero. Veja um trecho de código que rola para baixo o conteúdo de um TextBox. Antes de executar este exemplo, tenha a certeza de ter um TextBox de múltiplas, com barras de rolagem e conteúdo que force o aparecimento das barras de rolagem. Comece adicionando a linha: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- using System.Runtime.InteropServices; na seção de usings do seu formulário ou classe. Em seguida adicione o trecho de código abaixo no corpo da classe, como um método: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- [DllImport("user32.dll", EntryPoint = "SendMessage", CharSet = CharSet.Auto, SetLastError = true)] private static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, IntPtr wParam, IntPtr lParam); Finalmente coloque o código abaixo no evento Click de um botão: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- private void button2_Click(object sender, EventArgs e){ // antes de executar este exemplo certifique-se de que // a propriedade Multiline do TextBox esteja definida // como true e a propriedade ScrollBars contenha o valor // Vertical ou Both textBox1.Multiline = true; textBox1.ScrollBars = ScrollBars.Vertical; // constante para a mensagem WM_VSCROLL const uint WM_VSCROLL = 0x115; // constante para o parâmetro wParam const int SB_BOTTOM = 7; // handle para a caixa de texto IntPtr handle = textBox1.Handle; IntPtr wParam = (IntPtr)SB_BOTTOM; IntPtr lParam = IntPtr.Zero; // vamos fazer com que o TextBox role para o fundo (parte inferior) SendMessage(textBox1.Handle, WM_VSCROLL, wParam, lParam); } |
C# ::: Windows Forms ::: ComboBox |
Como retornar a quantidade de itens em um ComboBox do C# Windows FormsQuantidade de visualizações: 9373 vezes |
A quantidade de elementos (ou itens) em um ComboBox do C# Windows Forms pode ser obtida por meio da propriedade Count da classe ComboBox.ObjectCollection. Podemos ter acesso a esta classe a partir da propriedade Items da classe ComboBox. Veja um trecho de código no qual obtemos a quantidade de itens em um ComboBox chamado cidades: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- private void button1_Click(object sender, EventArgs e){ int quant = cidades.Items.Count; MessageBox.Show("O ComboBox contém " + quant + " itens"); } |
C# ::: Dicas & Truques ::: Data e Hora |
Como retornar o dia do mês da data atual em C# usando a propriedade Day da classe DateTimeQuantidade de visualizações: 31 vezes |
Em algumas situações nós precisamos obter o dia do mês de uma determinada data em C#. Para isso nós podemos acessar a propriedade Day da estrutura DateTime. Veja em seguida um trecho de código no qual mostramos o dia do mês da data atual: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- using System; namespace Estudos { class Program { static void Main(string[] args) { // vamos obter a data e hora atual DateTime agora = DateTime.Now; // agora vamos obter o dia da data int dia = agora.Day; // e mostramos o resultado Console.WriteLine("O dia do mês é: {0:D}", dia); Console.WriteLine("\n\nPressione uma tecla para sair..."); Console.ReadKey(); } } } Ao executar este código C# nós teremos o seguinte resultado: O dia do mês é: 16 |
C# ::: Coleções (Collections) ::: ArrayList |
Como excluir todos os elementos de uma ArrayList do C# usando o método Clear()Quantidade de visualizações: 8277 vezes |
A remoção, ou seja, a exclusão de todos os elementos de uma ArrayList do C# pode ser feita com uma chamada ao método Clear(). Veja que este método poderá lançar uma exceção NotSupportedException se a ArrayList for somente leitura ou possuir um tamanho fixo. Veja um exemplo de seu uso: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- using System; using System.Collections; namespace Estudos { class Program { static void Main(string[] args) { // Cria o ArrayList ArrayList cidades = new ArrayList(); // Adiciona nomes de cidades cidades.Add("Goiânia"); cidades.Add("Cuiabá"); cidades.Add("Fortaleza"); cidades.Add("Curitiba"); // obtém a quantidade de elementos int quant = cidades.Count; Console.Write("A lista contém {0} itens\n", quant); // vamos remover todos os elementos cidades.Clear(); // obtém a quantidade de elementos novamente quant = cidades.Count; Console.Write("A lista contém {0} itens", quant); Console.WriteLine("\n\nPressione uma tecla para sair..."); Console.ReadKey(); } } } Ao executar este código C# nós teremos o seguinte resultado: A lista contém 4 itens A lista contém 0 itens Pressione uma tecla para sair... |
C# ::: Windows Forms ::: ListBox |
Como ordenar alfabeticamente os itens de uma ListBox do C# Windows Forms usando a propriedade SortedQuantidade de visualizações: 10424 vezes |
Os itens de uma ListBox podem ser ordenados alfabeticamente definindo-se o valor True para a propriedade Sorted. Em tempo de execução este propriedade pode ser alterada da seguinte forma: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- private void button2_Click(object sender, EventArgs e){ // Ordena os itens da lista alfabeticamente listBox1.Sorted = true; } Esta propriedade pode também ser obtida enquanto o programa estiver em execução. Veja um trecho de código no qual clicamos em um botão e exibimos uma mensagem com o valor da propriedade Sorted da ListBox: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- private void button1_Click(object sender, EventArgs e) { // Obtém o valor da propriedade Sorted MessageBox.Show("Valor da propriedade Sorted: " + listBox1.Sorted); } Ao executarmos este código C# nós teremos o seguinte resultado: Valor da propriedade Sorted: True |
C# ::: Dicas & Truques ::: Strings e Caracteres |
Como remover espaços em excesso de uma string C# usando expressões regularesQuantidade de visualizações: 14636 vezes |
Nesta dica mostrarei como podemos usar expressões regulares em C# para remover os espaços em excesso de uma frase ou texto. Esta técnica é bem útil quando estamos trabalhando com dados informados pelos usuários de nossas aplicações. Temos sempre que verificar, não somente o excesso de espaços no meio do texto, quanto espaços no início e no fim das strings informadas. Veja o código completo para o exemplo: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- using System; using System.Text.RegularExpressions; namespace Estudos { class Program { static void Main(string[] args) { // vamos construir o Regex com o padrão que queremos Regex regex = new Regex("\\s +", RegexOptions.IgnoreCase | RegexOptions.Compiled); // frase com espaços string frase = " Gosto muito de C# "; // frase sem espaços string resultado = (regex.Replace(frase, " ")).Trim(); // mostramos o resultado Console.WriteLine("Frase com espaços em excesso: {0}", frase); Console.WriteLine("Espaços em excesso removidos: {0}", resultado); Console.WriteLine("\n\nPressione uma tecla para sair..."); Console.ReadKey(); } } } Ao executar este código C# nós teremos o seguinte resultado: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- Frase com espaços em excesso: Gosto muito de C# Espaços em excesso removidos: Gosto muito de C# |
Desafios, Exercícios e Algoritmos Resolvidos de C# |
Veja mais Dicas e truques de C# |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |