C ::: Dicas & Truques ::: Arquivos e Diretórios |
Como contar as linhas de um arquivo usando a função fgetc() da linguagem CQuantidade de visualizações: 21355 vezes |
|
Em algumas situações precisamos obter a quantidade de linhas em um arquivo em C. Nesta dica eu mostro como isso pode ser feito usando-se a função fgetc(), no header stdio.h. Note que aqui estamos assumindo que o arquivo texto não possui uma quebra de linha após a última linha de texto. Veja o código comentado:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
// nome e local do arquivo que será aberto para
// obtermos a quantidade de linhas
FILE *arquivo = fopen("c:\\testes.txt", "r");
int caractere, existe_linhas = 0;
int quant_linhas = 0;
while((caractere = fgetc(arquivo)) != EOF){
existe_linhas = 1; // há conteúdo no arquivo
if(caractere == '\n'){ // é uma quebra de linha?
// vamos incrementar a quantidade de linhas
quant_linhas++;
}
}
// se não houver uma quebra de linha na última linha
// a contagem será sempre um a menos. Assim, é melhor
// incrementar quant_linhas mais uma vez
if(existe_linhas)
quant_linhas++;
// vamos exibir o resultado
printf("O arquivo possui %d linhas.", quant_linhas);
printf("\n\n");
system("PAUSE");
return 0;
}
|
Delphi ::: Imagens, Gráficos e Cores ::: TCanvas (Classe TCanvas) |
Computação gráfica em Delphi - Como desenhar linhas usando o método LineTo() da classe TCanvas do DelphiQuantidade de visualizações: 16757 vezes |
|
Podemos desenhar linhas em Delphi usando o método LineTo() da classe TCanvas. Este método desenha uma linha partindo da posição inicial da caneta (PenPos), ou seja, as coordenadas x e y iniciais, até as coordenadas finais que fornecemos ao método durante a realização do desenho. Veja um exemplo no qual desenhamos uma linha horizontal no formulário: procedure TForm2.Button1Click(Sender: TObject); var areaDesenho: TCanvas; begin // este trecho de código mostra como desenhar uma // linha horizontal no formulário // vamos obter o canvas do formulário areaDesenho := Form2.Canvas; // vamos mover a caneta para as coordenadas x = 30; y = 100 areaDesenho.MoveTo(30, 100); // vamos desenhar uma linha no formulário partindo // das coordenadas anteriores até as coordenadas // x = 300; y = 100 areaDesenho.LineTo(300, 100); end; Note que, na maioria dos casos, este código é escrito de forma mais compacta:
procedure TForm2.Button1Click(Sender: TObject);
begin
// este trecho de código mostra como desenhar uma
// linha horizontal no formulário
// vamos obter o canvas do formulário
with Form2.Canvas do
begin
// vamos mover a caneta para as coordenadas x = 30; y = 100
MoveTo(30, 100);
// vamos desenhar uma linha no formulário partindo
// das coordenadas anteriores até as coordenadas
// x = 300; y = 100
LineTo(300, 100);
end;
end;
É importante observar que a nova posição da caneta (propriedade PenPos) é definida ao final da chamada ao método LineTo(). Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
PHP ::: Dicas & Truques ::: Strings e Caracteres |
Como usar as funções strpos() e stripos() do PHP para obter uma matriz contendo todas as posições das ocorrências de uma substring dentro de uma stringQuantidade de visualizações: 3474 vezes |
Em algumas situações percebemos que uma substring aparece mais de uma vez em uma string e gostaríamos de obter mais informações sobre tais ocorrências. No trecho de código abaixo eu mostro como usar as funções strpos() e stripos() para obter uma matriz contendo todas as posições das ocorrências de uma substring dentro de uma string:
<?php
$frase = "PHP? Gosto muito de PHP e Java. Mas prefiro PHP e Delphi";
$palavra = "PHP";
// primeiro vamos verificar se a palavra está contida na frase
if(strpos($frase, $palavra) !== false){
// agora vamos obter as posições de todas as ocorrências
$posicoes = array();
$offset = 0;
$posicao = -1;
while($offset < strlen($frase)){
$posicao = strpos($frase, $palavra, $offset);
if($posicao !== false){
$posicoes[] = $posicao;
$offset = $posicao + strlen($palavra);
}
else{
$offset++;
}
}
// percorre a matriz de posições e informa o usuário
echo "A palavra foi encontrada nas posições: ";
for($i = 0; $i < count($posicoes); $i++){
echo $posicoes[$i] . ", ";
}
}
else{
echo "A palavra não está contida na string";
}
?>
Ao executarmos este código nós teremos o seguinte resultado: A palavra foi encontrada nas posições: 0, 20, 44, Note que a função strpos() diferencia maiúsculas de minúsculas. Se você quiser efetuar uma pesquisa de substrings desconsiderando maiúsculas e minúsculas, use a função stripos(). |
C# ::: Windows Forms ::: ListBox |
Como retornar o valor do item selecionado em uma ListBox do C# Windows Forms usando a propriedade SelectedItemQuantidade de visualizações: 13738 vezes |
|
Nesta dica mostrarei como podemos usar a propriedade SelectedItem em C# Windows Forms para obter o item selecionada em uma ListBox. Note que este método retorna um object. Veja no trecho de código a seguir como podemos clicar em um botão e exibir em uma MessageBox o valor do item selecionado na ListBox:
private void button1_Click(object sender, EventArgs e) {
// retorna o item selecionado na ListBox
MessageBox.Show("O item selecionado é: " +
listBox1.SelectedItem);
}
Ao executar o exemplo nós teremos o seguinte resultado: O item selecionado é: Curitiba |
Nossas 20 dicas & truques de programação mais populares |
Você também poderá gostar das dicas e truques de programação abaixo |
|
Java - Como usar a classe Character da linguagem Java para tratar caracteres individuais em seus programas Java - Como remover um elemento de uma determinada posição do ArrayList do Java usando o método remove() |
Nossas 20 dicas & truques de programação mais recentes |
Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site |
|
Python - Como criar o jogo Pedra, Papel, Tesoura em Python - Jogo completo em Python com código comentado |
Últimos Exercícios Resolvidos |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |






