Você está aqui: C# ::: Dicas & Truques ::: Sistema |
Como retornar a capacidade do HD em MB ou GB em C# usando um objeto ManagementObjectQuantidade de visualizações: 8919 vezes |
Nesta dica mostrarei como podemos usar um objeto ManagementObject para retornar o tamanho de um HD em MB ou GB usando a linguagem C#. No exemplo eu acessei o drive C, mas você pode usar qualquer um que esteja disponível na sua máquina. Veja o código C# 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 ---------------------------------------------------------------------- private void button2_Click(object sender, EventArgs e) { // não esqueça de importar // using System.Management; // vamos criar um novo objeto ManagementObject ManagementObject dispositivo = new ManagementObject("win32_logicaldisk.deviceid=\"C:\""); // vamos retornar o dispositivo dispositivo.Get(); // agora vamos retornar o tamanho do HD double tam = Convert.ToDouble(dispositivo["Size"]); // convertemos para GB tam = tam / 1024 / 1024 / 1024; // e mostramos o resultado textBox1.Text = "O HD tem capacidade de " + tam + " GB"; } Ao executar este código C# nós teremos o seguinte resultado: O HD tem capacidade de 251,767574310303 GB Se você quiser o tamanho do HD em MB, basta usar: ---------------------------------------------------------------------- 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 ---------------------------------------------------------------------- tam = tam / 1024 / 1024; Nos testes que fiz no Visual Studio 2019, não foi possível acessar o HD a partir de uma aplicação C# console, somente por meio de uma aplicação Windows Desktop. Veja a mensagem retornada: System.PlatformNotSupportedException: 'System.Management currently is only supported for Windows desktop applications.' |
![]() |
C# ::: Windows Forms ::: TextBox |
Como retornar o tamanho do texto de um TextBox em C# Windows Forms usando a propriedade TextLengthQuantidade de visualizações: 9382 vezes |
A propriedade TextLength da classe TextBox do C# Windows Forms nos permite obter a quantidade de caracteres digitadas na caixa de texto, o seja, o tamanho da string presente no controle. Veja um exemplo C# Windows Forms no qual temos um botão button1 e uma caixa de texto textbox1. Ao digitar algum conteúdo e clicar no botão, uma mensagem MessageBox exibirá a quantidade de caracteres digitados: ---------------------------------------------------------------------- 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) { // vamos obter o tamanho do texto do TextBox int tamanho = textBox1.TextLength; MessageBox.Show("A caixa de texto contém " + tamanho + " caracteres."); } Ao executar este código C# Windows Forms nós teremos um resultado parecido com: A caixa de texto contém 10 caracteres. |
C# ::: Dicas & Truques ::: Matemática e Estatística |
Como testar se um número é primo em C#Quantidade de visualizações: 7581 vezes |
O Número Primo é o número maior que 1 e que só pode ser dividido por 1 e por ele mesmo, ou seja, números primos não podem ser divididos por outros números, a não ser por ele mesmo e pelo número 1. Dessa forma, 2, 3, 5, 7, 11, 13, 17, etc, são todos números primos. É importante observar que 0 e 1 não são números primos, e que o número 2 é o único número primo par. Veja agora um código C# completo que pede para o usuário informar um número inteiro positivo e mostra uma mensagem indicando se o número informado é primo ou nã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 ---------------------------------------------------------------------- using System; namespace Estudos { class Program { static void Main(string[] args) { bool primo = true; // vamos solicitar um número inteiro positivo Console.Write("Informe um número inteiro positivo: "); int numero = int.Parse(Console.ReadLine()); // o número é negativo? if (numero < 0) { Console.WriteLine("Número inválido."); } // é 0 ou 1? else if ((numero == 0) || (numero == 1)) { Console.WriteLine("Número válido, mas não é primo."); } // passou até aqui. Vamos testar se o número é primo else { for (int i = 2; i <= (numero / 2); i++) { // se passar no teste, não é primo if (numero % i == 0) { primo = false; // recebe false break; } } if (primo) { Console.WriteLine("O número informado é primo"); } else { Console.WriteLine("O número informado não é primo"); } } 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: Informe um número inteiro positivo: 9 O número informado não é primo |
C# ::: Dicas & Truques ::: Arquivos e Diretórios |
Como retornar a data e hora da criação de um diretório em C# usando a função GetCreationTime() da classe DirectoryQuantidade de visualizações: 40 vezes |
Nesta dica mostrarei como usar o método GetCreationTime() da classe Directory do C# para obter e retornar a data e hora da criação de um diretório. Note que o retorno de uma chamada a este método é um objeto da classe DateTime. 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.IO; namespace Estudos { class Principal { static void Main(string[] args) { // caminho e nome do diretíro string diretorio = @"C:\estudos_csharp\imagens"; DateTime data = Directory.GetCreationTime(diretorio); Console.WriteLine("Diretório criado em: {0}", data); Console.WriteLine("\nPressione uma tecla para sair..."); Console.ReadKey(); } } } Ao executar este código C# nós teremos o seguinte resultado: Diretório criado em: 17/07/2022 22:09:12 |
C# ::: Dicas & Truques ::: Strings e Caracteres |
Como contar as palavras de uma frase ou texto em C# usando as funções IndexOf(), Replace() e Split() da classe StringQuantidade de visualizações: 12181 vezes |
Este exemplo mostra como retornar a quantidade de palavras em uma frase ou texto usando métodos da classe String do C#. Veja como usar os métodos IndexOf() e Replace() para remover os espaços em excesso e, em seguida, o método Split() para quebrar as partes da frase ou texto usando um único espaço como separador. Veja o código completo: ---------------------------------------------------------------------- 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) { string frase = "Gosto muito de C# e Java"; int cont = 0; // remove os espaços em excesso while (frase.IndexOf(" ") >= 0) { frase = frase.Replace(" ", " "); } // remove espaços antes e depois da string frase = frase.Trim(); // conta as palavras cont = frase.Split(" ").Length; Console.WriteLine("A frase contém " + cont + " palavras"); Console.WriteLine("\n\nPressione uma tecla para sair..."); Console.ReadKey(); } } } Ao executar este código C# nós teremos o seguinte resultado: A frase contém 6 palavras |
C# ::: Coleções (Collections) ::: List<T> |
Como inserir um novo elemento em uma posição N de uma List<T> do C# usando a função Insert()Quantidade de visualizações: 9005 vezes |
Em algumas situações gostaríamos de inserir um novo elemento em uma determinada posição de uma List<T>, ou seja, queremos ser capazes de inserir o novo elemento em qualquer posição, e não somente no final da lista. Para isso podemos usar o método Insert(). Veja sua assinatura:public void Insert( int index, T item ) ---------------------------------------------------------------------- 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 ---------------------------------------------------------------------- static void Main(string[] args){ // vamos criar um objeto da classe List<T> List<int> valores = new List<int>(); // vamos inserir quatro valores na lista valores.Add(5); valores.Add(2); valores.Add(6); valores.Add(9); // vamos usar o laço foreach para percorrer os elementos na lista Console.WriteLine("Elementos na lista:"); foreach(int v in valores){ Console.WriteLine(v); } // vamos inserir um novo elemento no índice 2 valores.Insert(2, 20); // vamos usar o laço foreach para percorrer os elementos na lista novamente Console.WriteLine("Elementos na lista:"); foreach(int v in valores){ Console.WriteLine(v); } // vamos pausar a execução Console.ReadKey(); } Ao executarmos este código teremos o seguinte resultado: Elementos na lista: 5 2 6 9 Elementos na lista: 5 2 20 6 9 Este método pode lançar uma exceção do tipo ArgumentOutOfRangeException se o índice fornecido for menor que 0 ou superior à quantidade de itens na lista. |
C# ::: Dicas & Truques ::: Arquivos e Diretórios |
Como retornar a extensão de um arquivo em C# usando a função GetExtension() da classe PathQuantidade de visualizações: 15655 vezes |
Muitas vezes precisamos obter a extensão de um arquivo. Em C# isso pode ser feito usando-se o método GetExtension() da classe Path. Este método recebe uma string contendo o caminho e nome do arquivo e retorna uma string contendo a extensão do arquivo (incluindo o ponto). Veja um 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 ---------------------------------------------------------------------- static void Main(string[] args){ // não esqueça // using System.IO; // caminho e nome do arquivo string arquivo = "C:\\estudos_csharp\\arquivo.txt"; // obtém a extensão string extensao = Path.GetExtension(arquivo); // exibe o resultado Console.WriteLine("A extensão do arquivo é: {0}", extensao); Console.WriteLine("\n\nPressione uma tecla para sair..."); Console.ReadKey(); } Ao executar este código C# nós teremos o seguinte resultado: A extensão do arquivo é: .txt |
C# ::: Dicas & Truques ::: Strings e Caracteres |
Como retornar o índice da primeira ocorrência de uma substring em uma string C# usando o método IndexOf() da classe StringQuantidade de visualizações: 7819 vezes |
Este trecho de código mostra como obter o índice da primeira ocorrência de uma substring em uma string. Se a substring não for encontrada, o valor -1 é retornado. Note que o método IndexOf() da classe String recebe a substring a ser pesquisada e retorna o índice de sua primeira ocorrência (começando sempre em 0). Além disso, este método diferencia maiúsculas de minúsculas. Veja o código 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; namespace Estudos { class Program { static void Main(string[] args) { string frase = "Gosto de Java e C#"; // obtém o índice da primeira ocorrência int pos = frase.IndexOf("de"); if (pos != -1) { Console.WriteLine("A substring foi encontrada" + " na posição " + pos); } else { Console.WriteLine("A substring não foi encontrada"); } Console.WriteLine("\n\nPressione uma tecla para sair..."); Console.ReadKey(); } } } Ao executar este código C# nós teremos o seguinte resultado: A substring foi encontrada na posição 6 |
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. |
Vamos testar seus conhecimentos em Hidrologia |
(Udesc 2011) Segundo a Agência Nacional de Energia Elétrica (ANEEL), existem no Brasil oito bacias hidrográficas. Assinale a alternativa correta em relação a essas bacias. A) As bacias do Paraná e do Uruguai formam a Bacia Platina. Essa última drena somente 5% do território nacional e seu potencial hidrelétrico instalado é pequeno e inexpressivo. B) A Bacia do Rio São Francisco é a segunda maior bacia brasileira e seu rio principal é totalmente navegável. C) A maior bacia é a do Rio Amazonas, que recebe afluentes dos dois lados e possui o maior volume de água do planeta. D) A Bacia do Rio Tocantins recebe seus dois principais afluentes: o Araguaia e o Tietê. Possui a segunda maior usina do país, mas seu potencial hidrelétrico é o menor de todas as bacias hidrográficas brasileiras. E) A Bacia do Atlântico Norte/Nordeste é a terceira maior bacia hidrográfica do Brasil. Seus rios principais são o Madeira e o Juruá. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em JavaScript |
Qual é o resultado da execução do seguinte código JavaScript?var resultado = Boolean(5 < 3); document.write(resultado); A) true B) NaN C) false D) Um erro de execução Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Hidrostática |
Qual a massa, em quilograma, de um cubo maciço de lado igual a 5 cm que é fabricado de um material com massa específica de 11,3 g/cm3? A) 1,4125 kg B) 2,8250 kg C) 4,2375 kg D) 5,6500 kg E) 7,0625 kg Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Engenharia Civil - Estruturas de Aço e Madeira |
Ações em estruturas: apresentação dos principais carregamentos na análise de estruturas convencionais Qual das alternativas a seguir possui exemplos, na ordem correta de ações: permanentes diretas, permanentes indiretas, acidentais diretas, acidentais indiretas e excepcionais. A) Peso próprio, variações de temperatura, cargas móveis, protensão e terremotos. B) Peso próprio, protensão, vento, variações de temperatura e terremotos. C) Deslocamento de apoio, imperfeições geométricas, vento, variações de temperatura e terremotos. D) Peso próprio, imperfeições geométricas, vento, força longitudinal de frenagem e explosões. E) Peso próprio, imperfeições geométricas, vento, variações de temperatura e cargas verticais de uso da construção. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Fenômeno de Transportes e Hidráulica |
Perda de carga Perda de carga é a energia dissipada em forma de calor devido ao atrito e à viscosidade em uma canalização. Nesse sentido, a perda de carga unitária em um tubo de 50mm de diâmetro, coeficiente de atrito de 0,031 e comprimento de 100m, sendo que a água escoa com vazão de 0,01 m3/s, é de: A) 0,47m/m. B) 0,52m/m. C) 0,74m/m. D) 0,82m/m. E) 0,94m/m. Verificar Resposta Estudar Cards Todas as Questões |
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 |