Você está aqui: Delphi ::: Dicas & Truques ::: Strings e Caracteres |
Apostila Delphi para iniciantes - Como acessar os caracteres de uma string individualmenteQuantidade de visualizações: 17814 vezes |
Em algumas situações pode ser necessário acessar os caracteres de uma palavra, frase ou texto individualmente. Em Delphi isso pode ser feito usando-se a indexação de matrizes. Tenha em mente, porém, que o índice em Delphi começa em 1 e não 0, como na maioria das linguagens. Veja um trecho de código no qual acessamos o primeiro caractere de uma string: ---------------------------------------------------------------------- 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 ---------------------------------------------------------------------- procedure TForm1.Button1Click(Sender: TObject); var nome: string; letra: Char; begin nome := 'Osmar J. Silva'; // vamos obter a primeira letra letra := nome[1]; // vamos exibir o resultado ShowMessage('A primeira letra é: ' + letra); end; Veja outro exemplo, no qual usamos um laço for para visitar cada um dos caracteres e exibí-lo: ---------------------------------------------------------------------- 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 ---------------------------------------------------------------------- procedure TForm1.Button1Click(Sender: TObject); var nome: string; letra: Char; i: integer; begin nome := 'Osmar'; for i := 1 to Length(nome) do begin letra := nome[i]; ShowMessage('O ' + IntToStr(i) + 'º caractere é: ' + letra); end; end; Assim como acessamos os caracteres individuais de uma string para leitura, podemos fazê-lo também para alterações. Veja um trecho de código no qual trocamos o terceiro caractere de uma string: ---------------------------------------------------------------------- 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 ---------------------------------------------------------------------- procedure TForm1.Button1Click(Sender: TObject); var nome: string; begin nome := 'Osmar'; // vamos alterar o terceiro caractere nome[3] := 'K'; ShowMessage(nome); end; Para questões de compatibilidade, esta dica foi escrita usando Delphi 2009. |
![]() |
Delphi ::: Data Controls (Controles de Dados) ::: TDBGrid |
Como obter o índice da linha da célula atual em um TDBGrid do DelphiQuantidade de visualizações: 9853 vezes |
Como obter o índice da linha da célula atual (com foco) em um TDBGrid do Delphi Em algumas situações precisamos obter o índice da linha da célula atual, ou seja, a célula que detém o foco no momento em um TDBGrid. Isso pode ser feito por meio da propriedade Row da classe TCustomGrid (e publicada na classe TStringGrid). Como esta propriedade não está publicada na classe TDBGrid (Delphi 2009), o que fazemos é um casting para a classe TStringGrid. Veja um trecho de código no qual usamos o evento Click de um botão para informar o índice da linha da célula 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 ---------------------------------------------------------------------- procedure TForm3.Button3Click(Sender: TObject); var indice: Integer; begin // vamos obter o índice da linha da célula atual indice := TStringGrid(DBGrid1).Row; ShowMessage('O índice da linha da célula atual é: ' + IntToStr(indice)); end; Execute o código e clique no botão. Você verá uma mensagem parecida com: "O índice da linha da célula atual é: 4". Lembre-se de que o índice da linha fixa do DBGrid é 0. Esta dica foi escrita e testada no Delphi 2009. |
Delphi ::: VCL - Visual Component Library ::: TListBox |
Como usar o controle TListBox em suas aplicações DelphiQuantidade de visualizações: 13868 vezes |
Objetos da classe TListBox, da unit StdCtrls, são controles do tipo lista de seleção. Este componente exibe uma lista com barras de rolagem contendo items que podem ser selecionados, adicionados ou excluídos. A classe TListBox é um wrapper (invólucro) para o controle LISTBOX da plataforma Windows. Em controles do tipo ListBox o usuário pode selecionar apenas um ítem ou vários itens de uma vez. Em Delphi, a classe TListBox implementa o comportamento genérico definido em TCustomListBox. É esta classe que devemos usar para derivar nossa própria ListBox caso o controle TListBox não satisfaça as nossas necessidades. É claro que podemos partir de qualquer classe que herde de TCustomListBox. A forma mais comum de adicionarmos um controle TListBox em nossos formulários é selecionando este componente na aba Standard e arrastando-o para a posição desejada na janela. Em seguida podemos adicionar itens na lista acessando sua propriedade Items, que são do tipo TStrings, ou seja, uma lista de strings. Ao clicarmos na propriedade Items no Object Inspector, um String List Editor será exibido. Basta inserir algumas strings nesta caixa de texto, pressionar o botão OK e verificar como o controle já exibe os itens que acabamos de inserir. Em tempo de execução, itens podem ser adicionados à uma TListBox usando códigos parecidos com: ---------------------------------------------------------------------- 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 ---------------------------------------------------------------------- procedure TForm1.Button1Click(Sender: TObject); begin // vamos inserir um novo item na TListBox ListBox1.Items.Add('Osmar J. Silva'); end; Se precisarmos obter o texto do ítem selecionado em uma TListBox, podemos 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 ---------------------------------------------------------------------- procedure TForm1.Button1Click(Sender: TObject); begin // vamos obter o texto do item selecionado na TListBox ShowMessage(ListBox1.Items[ListBox1.ItemIndex]); end; Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
Delphi ::: Dicas & Truques ::: Rotinas de Conversão |
Como converter strings em valores TDateTime usando as funções StrToDate() e StrToDateDef() do DelphiQuantidade de visualizações: 18351 vezes |
A função StrToDate() da unit SysUtils é usada quando queremos converter strings em valores TDateTime. No Delphi 2009 esta função possui duas assinaturas:function StrToDate(const S: string): TDateTime; overload; function StrToDate(const S: string; const FormatSettings: TFormatSettings): TDateTime; overload; A primeira versão de StrToDate() recebe uma string contendo uma data e retorna um objeto TDateTime. Veja o seguinte trecho de código: ---------------------------------------------------------------------- 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 ---------------------------------------------------------------------- procedure TForm1.Button1Click(Sender: TObject); var data: string; data2: TDateTime; begin // vamos converter a data 22/02/2005 data := '22/02/2005'; // a conversão acontece aqui. Note que, caso a conversão // não seja possível, uma exceção do tipo EConvertError será // disparada (lançada) try data2 := StrToDate(data); ShowMessage(DateTimeToStr(data2)); except on e: EConvertError do ShowMessage('Não foi possível efetuar a conversão: ' + e.Message); end; end; Note que a função StrToDate() lançará uma exceção do tipo EConvertError se a string não possuir uma data válida. Os valores de strings representando datas válidas incluem mês/dia/ano, dia/mês/ano e ano/mês/dia. A ordem de dia, mês e ano é determinada pela variáve global ShortDateFormat. Se fornecermos valores apenas para o dia e o mês a função incluirá o ano atual. Não podemos esquecer a barra de separação de datas. Se seu aplicativo foi desenvolvido para rodar em outras localidades, obtenha o separador de datas por meio da variável global DateSeparator. A primeira versão da função StrToDate() não é segura em relação a threads (thread-safe) devido ao uso de informações de localização contidas em variáveis globais, ou seja, se uma thread modificar os valores de tais variáveis, código sendo executado em outras threads sofrerão as consequencias. Para evitar isso podemos usar a segunda versão de StrToDate(), que usa um objeto FormatSettings para guardar as informações de localização. 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 ---------------------------------------------------------------------- procedure TForm1.Button1Click(Sender: TObject); var data: string; data2: TDateTime; formato: TFormatSettings; begin // vamos converter a data 22/02/2005 data := '22/02/2005'; // a conversão acontece aqui. Note que, caso a conversão // não seja possível, uma exceção do tipo EConvertError será // disparada (lançada) try GetLocaleFormatSettings(LOCALE_SYSTEM_DEFAULT, formato); data2 := StrToDate(data, formato); ShowMessage(DateTimeToStr(data2)); except on e: EConvertError do ShowMessage('Não foi possível efetuar a conversão: ' + e.Message); end; end; A função StrToDateDef() é similar à função StrToDate(). A diferença é que, se a string possuir uma data inválida, a função StrToDateDef() retorna uma data padrão, ou seja, não haverá nenhuma exceção atirada. Veja: ---------------------------------------------------------------------- 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 ---------------------------------------------------------------------- procedure TForm1.Button1Click(Sender: TObject); var data: string; data2: TDateTime; begin // vamos converter a data 2s2/02/2005 (inválida) data := '2s2/02/2005'; // a conversão acontece aqui. Note que, caso a conversão // não seja possível, a data atual será retornada data2 := StrToDateDef(data, Now); ShowMessage(DateTimeToStr(data2)); end; Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
Delphi ::: VCL - Visual Component Library ::: TEdit |
Como obter a quantidade de caracteres em um TEdit do Delphi usando a função GetTextLen()Quantidade de visualizações: 12573 vezes |
Em algumas ocasiões nós precisamos descobrir a quantidade de caracteres contidos em uma caixa de texto do tipo TEdit. Para isso podemos usar o método GetTextLen(), definido originalmente na classe TControl. Esta função retorna um valor inteiro contendo o tamanho do texto da caixa de texto. Veja um exemplo do uso do método GetTextLen() no trecho de código a seguir: ---------------------------------------------------------------------- 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 ---------------------------------------------------------------------- procedure TForm1.Button1Click(Sender: TObject); var tamanho: Integer; begin // vamos obter a quantidade de caracteres no TEdit tamanho := Edit1.GetTextLen(); // vamos mostrar o resultado ShowMessage('O Edit contém ' + IntToStr(tamanho) + ' caracteres.'); end; Ao executar este exemplo você terá um resultado parecido com: O Edit contém 5 caracteres. |
Delphi ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como usar arrays (vetores e matrizes) em DelphiQuantidade de visualizações: 73501 vezes |
Em programação de computadores, um array, também conhecido como vector (para arrays uni-dimensionais) ou matriz (para arrays bi-dimensionais), é uma das mais simples estruturas de dados. Os arrays mantêm uma série de elementos de dados, geralmente do mesmo tamanho e tipo de dados. Elementos individuais são acessados por sua posição no array. A posição é dada por um índice, também chamado de subscrição. O índice geralmente utiliza uma seqüência de números inteiros, (ao contrário de um array associativo) mas o índex pode ter qualquer valor ordinal. Alguns arrays são multi-dimensionais, significando que eles são indexados por um número fixo de números inteiros, por exemplo, por um seqüência (ou sucessão) finita de quatro números inteiros. Geralmente, arrays uni- e bi-dimensionais são os mais comuns. Os arrays podem ser considerados como as estruturas de dado mais simples que é possível imaginar. Têm a vantagem de que os seus elementos são acessíveis de forma rápida, mas têm uma notável limitação: são de tamanho fixo, mas podem ser incrementados ou diminuídos com determinados algoritmos, geralmente envolvendo a cópia de elementos de um array para outro e reinicializando o original com a nova dimensão. Os vetores podem ser implementados desta forma. Em Delphi um array é declarado 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 ---------------------------------------------------------------------- var valores: array[1..10] of Integer; Aqui nós temos um array chamado valores que contém 10 elementos do tipo Integer. Estes elementos podem ser acessados por índices que variarão de 1 a 10, ou seja, podemos acessar o 5º elemento 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 ---------------------------------------------------------------------- procedure TForm1.Button1Click(Sender: TObject); var valores: array[1..10] of Integer; begin valores[5] := 20; end; Este tipo de array que ora criamos é chamado de array estático, em contraposição aos arrays dinâmicos, os quais podem ter seus tamanhos redimensionados durante a execução do programa. A forma mais prática de se trabalhar com arrays em Delphi é usando laços. Veja: ---------------------------------------------------------------------- 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 ---------------------------------------------------------------------- procedure TForm1.Button1Click(Sender: TObject); var valores: array[1..5] of Integer; i, soma: Integer; begin // vamos preencher o array com os valores de 1 a 5 for i := 1 to 5 do begin valores[i] := i; end; // vamos percorrer o array novamente e obter a soma dos // valores de seus elementos soma := 0; for i := 1 to 5 do begin soma := soma + valores[i]; end; // vamos exibir o resultado ShowMessage('A soma dos valores é: ' + IntToStr(soma)); end; Aqui nós declaramos um array de 5 elementos do tipo Integer e inicializamos seus elementos com os valores de 1 a 5. Em seguida percorremos todo o array novamente para obter a soma dos valores dos elementos. É possível também declarar e já inicializar um array. Veja: ---------------------------------------------------------------------- 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 ---------------------------------------------------------------------- procedure TForm1.Button1Click(Sender: TObject); const valores: array[1..5] of Integer = (3, 2, 6, 12, 9); var i, soma: Integer; begin // vamos percorrer o array novamente e obter a soma dos // valores de seus elementos soma := 0; for i := 1 to 5 do begin soma := soma + valores[i]; end; // vamos exibir o resultado ShowMessage('A soma dos valores é: ' + IntToStr(soma)); end; Note que aqui eu declarei o array como uma constante. Isso aconteceu porque o Delphi não permite que inicializemos variáveis locais ([DCC Error] Unit1.pas(32): E2195 Cannot initialize local variables). Caso você realmente precise do array como variável e não constante, e deseje inicializá-lo juntamente com a declaração, mova-o para a seção interface do formulário ou classe. Para finalizar, veja que é possível criar arrays de todos os tipos em Delphi. Veja no trecho de código abaixo como usamos um array de Char para guardar uma palavra e exibí-la normal e depois invertida: ---------------------------------------------------------------------- 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 ---------------------------------------------------------------------- procedure TForm1.Button1Click(Sender: TObject); const letras: array[1..5] of Char = ('O', 's', 'm', 'a', 'r'); var i: Integer; resultado: String; begin resultado := ''; // vamos exibir a palavra na forma normal for i := 1 to 5 do resultado := resultado + letras[i]; // exibe o resultado ShowMessage(resultado); // vamos exibir a palavra invertida resultado := ''; for i := 5 downto 1 do resultado := resultado + letras[i]; // exibe o resultado ShowMessage(resultado); end; Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
Delphi ::: Dicas & Truques ::: Strings e Caracteres |
Como verificar se uma substring está contida no início de uma string em Delphi usando a função AnsiStartsStr()Quantidade de visualizações: 12532 vezes |
Em algumas situações precisamos verificar se uma substring está contida no início de uma string, ou seja, se a string começa com um determinado prefixo. Em Delphi isso pode ser feito com o auxílio da função AnsiStartsStr(). Esta função requer a substring a ser pesquisada e a string alvo da pesquisa. O retorno será true se a substring estiver contida no início da string. Do contrário o retorno será false. Veja 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 ---------------------------------------------------------------------- procedure TForm1.Button1Click(Sender: TObject); var frase: string; begin frase := 'Gosto muito de Delphi e Java'; // vamos verificar se a string começa com "Gosto" if AnsiStartsStr('Gosto', frase) then ShowMessage('A frase começa com a substring indicada') else ShowMessage('A frase NÃO começa com a substring indicada') end; Lembre-se de que esta função diferencia maiúsculas e minúsculas. Não se esqueça de adicionar a unit StrUtils no uses do seu formulário. Para questões de compatibilidade, esta dica foi escrita usando Delphi 2009. |
Delphi ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas |
Como calcular o cosseno de um ângulo em Delphi usando a função Cos() - Calculadora de cosseno em DelphiQuantidade de visualizações: 1234 vezes |
Em geral, quando falamos de cosseno, estamos falando do triângulo retângulo de Pitágoras (Teorema de Pitágoras). A verdade é que podemos usar a função cosseno disponível nas linguagens de programação para calcular o cosseno de qualquer número, mesmo nossas aplicações não tendo nenhuma relação com trigonometria. No entanto, é sempre importante entender o que é a função cosseno. Veja a seguinte imagem: ![]() Veja que temos um triângulo retângulo com as medidas já calculadas para a hipotenusa e os dois catetos, assim como os ângulos entre eles. Assim, o cosseno é a razão entre o cateto adjascente e a hipotenusa, ou seja, o cateto adjascente dividido pela hipotenusa. Veja a fórmula: \[\text{Cosseno} = \frac{\text{Cateto adjascente}}{\text{Hipotenusa}} \] Então, se dividirmos 30 por 36.056 (na figura eu arredondei) nós teremos 0.8320, que é a razão entre o cateto adjascente e a hipotenusa (em radianos). Agora, experimente calcular o arco-cosseno de 0.8320. O resultado será 0.5881 (em radianos). Convertendo 0.5881 radianos para graus, nós obtemos 33.69º, que é exatamente o ângulo em graus entre o cateto adjascente e a hipotenusa na figura acima. Pronto! Agora que já sabemos o que é cosseno na trigonometria, vamos entender mais sobre a função cos() da linguagem Delphi. Esta função, incorporada por padrão à linguagem, recebe um valor numérico (Extended) e retorna um valor Extended, ou seja, também numérico) entre -1 até 1 (ambos inclusos). Veja: ---------------------------------------------------------------------- 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 ---------------------------------------------------------------------- procedure TForm1.Button1Click(Sender: TObject); begin Memo1.Lines.Add('Cosseno de 0 = ' + FloatToStr(Cos(0))); Memo1.Lines.Add('Cosseno de 1 = ' + FloatToStr(Cos(1))); Memo1.Lines.Add('Cosseno de 2 = ' + FloatToStr(Cos(2))); end; Ao executar este código Delphi nós teremos o seguinte resultado: Cosseno de 0 = 1 Cosseno de 1 = 0,54030230586814 Cosseno de 2 = -0,416146836547142 Note que calculamos os cossenos dos valores 0, 1 e 2. Observe como os resultados conferem com a curva da função cosseno mostrada abaixo: ![]() |
Delphi ::: Data Controls (Controles de Dados) ::: TDBGrid |
Como retornar a quantidade de colunas do TDBGrid do Delphi em tempo de execuçãoQuantidade de visualizações: 9390 vezes |
Em algumas situações precisamos obter a quantidade de colunas em um controle TDBGrid em tempo de execução. Isso pode ser feito por meio da propriedade Count da classe TDBGridColumns. Um controle TDBGrid possui uma referência a um objeto desta classe por meio de sua propriedade Columns. Veja um trecho de código no qual clicamos em um botão e exibimos a quantidade de colunas em um DBGrid chamado "DBGrid1": ---------------------------------------------------------------------- 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 ---------------------------------------------------------------------- procedure TForm3.Button3Click(Sender: TObject); var colunas: Integer; begin // vamos obter a quantidade de colunas no DBGrid colunas := DBGrid1.Columns.Count; ShowMessage('O DBGrid possui ' + IntToStr(colunas) + ' colunas'); end; Ao executar o código e clicar no botão você verá uma mensagem parecida com: "O DBGrid possui 10 colunas". Esta dica foi escrita e testada no Delphi 2009. |
Desafios, Exercícios e Algoritmos Resolvidos de Delphi |
Veja mais Dicas e truques de Delphi |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |