Você está aqui: Cards de Engenharia Civil - Construção Civil |
||
|
||
|
|
||
Delphi ::: Data Controls (Controles de Dados) ::: TDBGrid |
Como retornar o índice da coluna da célula atual em um TDBGrid do DelphiQuantidade de visualizações: 10495 vezes |
|
Em algumas situações precisamos obter o índice da coluna 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 Col 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 coluna da célula atual:
procedure TForm3.Button3Click(Sender: TObject);
var
indice: Integer;
begin
// vamos obter o índice da coluna da célula atual
indice := TStringGrid(DBGrid1).Col;
ShowMessage('O índice da coluna 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 coluna da célula atual é: 3". Lembre-se de que o índice da coluna fixa do DBGrid é 0. Esta dica foi escrita e testada no Delphi 2009. |
Java ::: Dicas & Truques ::: Strings e Caracteres |
Como testar se uma string Java é um valor numérico válido usando o método isDigit() da classe CharacterQuantidade de visualizações: 3 vezes |
|
O método isDigit() da classe Character nos permite verificar se um determinado caractere é um número, ou seja, está na faixa de 0 a 9. Podemos tirar proveito disso para varrer todos os caracteres de uma string, usando o método charAt() da classe String, e testar se essa string é um valor numérico válido. Veja o código completo para o exemplo:
package arquivodecodigos;
// Este exemplo mostra como verificar se uma
// string é um valor númerico
public class Estudos {
public static void main(String[] args) {
String valor = "2334554";
boolean valido = true;
for (int i = 0; i < valor.length(); i++) {
Character caractere = valor.charAt(i);
if (!Character.isDigit(caractere)) {
valido = false;
break;
}
}
if (valido) {
System.out.println("Valor numérico valido");
}
else {
System.out.println("NãO é um valor numerico valido");
}
System.exit(0);
}
}
Ao executar este código Java nós teremos o seguinte resultado: Valor numérico válido. |
Excel ::: Fórmulas do Excel ::: Trigonometria - Funções Trigonométricas |
Como converter graus em radianos no Excel usando a função RADIANOS() - Trigonometria no ExcelQuantidade de visualizações: 677 vezes |
|
Quando estamos trabalhando com trigonometria no Excel, é importante ficarmos atentos ao fato de que todas as funções trigonométricas do Excel, tais como COS(), SEN(), TAN(), etc, recebem seus argumentos em radianos, em vez de graus. Por isso, antes de chamar estas funções, é importante converter o valor em graus para radianos. No Excel isso pode ser feito por meio da função RADIANOS(). Esta função recebe o valor em graus e retorno o valor em radianos. Vamos ver um exemplo. Abra uma nova planilha do Excel e cole o código a seguir na célula B1: =RADIANOS(A1) Note que o argumento para a função RADIANOS() é o valor da célula A1. Assim, digite 45 na célula A1 e pressione Enter ou Tab. O valor 0,785398163 será exibido automaticamente na célula B1. |
Firebird ::: Dicas & Truques ::: Tipos de Dados |
Como usar os tipos de dados DATE, TIME e TIMESTAMP do FirebirdQuantidade de visualizações: 30714 vezes |
|
No dialeto 3 (SQL DIALECT 3), o tipo de dados DATE do Firebird armazena apenas a data sozinha, ou seja, sem as horas. Esta forma de guardar apenas a data resulta em uma ocupação de 4 bytes (32 bits) na memória. A data armazenada pode variar de 01/01/0001 até 31/12/9999. No dialeto 1, (SQL DIALECT 1), o tipo DATE é o equivalente ao tipo TIMESTAMP do dialeto 3 (o tipo TIMESTAMP passou a existir somente a partir do dialeto 3). Veja um comando DDL CREATE TABLE que cria uma tabela do Firebird contendo um campo do tipo DATE: CREATE TABLE ALUNOS ( ID INTEGER NOT NULL, NOME VARCHAR(40) NOT NULL, NASCIMENTO DATE NOT NULL ); Aqui o campo ID é do tipo INTEGER, NOME é do tipo VARCHAR(40) e NASCIMENTO é do tipo DATE. Veja agora um comando DML INSERT INTO que insere um novo registro nesta tabela. Fique atento à forma como o valor da data é informado: INSERT INTO ALUNOS VALUES(1, 'OSMAR J. SILVA', '1981-11-28'); Veja que a data, assim como o valor para o campo NOME, foi informada entre aspas simples e seguindo o formato YYYY-MM-DD, ou seja, o ano, mês e dia separados por hifens. Para obter os dados inseridos pela query anterior, podemos usar o seguinte comando DML SELECT FROM: SELECT * FROM ALUNOS; Esta query resulta na exibição dos seguintes dados: ID NOME NASCIMENTO 1 OSMAR J. SILVA 28/11/1981 O tipo de dados TIME, disponível apenas a partir do dialeto 3 (SQL DIALECT 3) nos permite armazenar as horas, sem a data. Este tipo ocupa 4 bytes (32 bits) de memória e pode conter valores na faixa de 00:00 até 23:59:59.9999. Veja um comando DDL CREATE TABLE que cria uma tabela do Firebird contendo um campo do tipo TIME: CREATE TABLE COMPROMISSOS ( ID INTEGER NOT NULL, DESCRICAO VARCHAR(80) NOT NULL, DATA DATE NOT NULL, HORA TIME NOT NULL ); Veja que esta tabela possui 4 campos: ID do tipo INTEGER, DESCRICAO do tipo VARCHAR(80), DATA do tipo DATE e HORA do tipo TIME. Eis um comando DML INSERT INTO que mostra como inserir um registro nesta tabela: INSERT INTO COMPROMISSOS VALUES(10, 'ALMOÇO COM A ESPOSA', '2010-12-10', '19:00:00'); Note que, assim como fazemos com campos do tipo DATE, os valores para campos do tipo TIME também devem ser informados entre aspas simples. Veja um comando DML SELECT FROM que lista o registro inserido na query anterior: SELECT * FROM COMPROMISSOS; Esta query produz o seguinte resultado: ID DESCRICAO DATA HORA 10 ALMOÇO COM A ESPOSA 10/12/2010 19:00:00 O tipo TIMESTAMP, disponível apenas a partir do dialeto 3 (SQL DIALECT 3) nos permite armazenar a data e hora juntas. Este tipo ocupa 8 bytes (64 bits) de memória e é equivalente ao tipo DATE do dialeto 1. Veja um comando DDL CREATE TABLE que cria uma tabela do Firebird contendo um campo do tipo TIMESTAMP: CREATE TABLE COMPROMISSOS ( ID INTEGER NOT NULL, DESCRICAO VARCHAR(80) NOT NULL, DATA_HORA TIMESTAMP NOT NULL ); Veja que esta tabela possui três campos: ID é do tipo INTEGER, DESCRICAO é do tipo VARCHAR(80) e DATA_HORA é do tipo TIMESTAMP. Eis um comando DML INSERT INTO que mostra como inserir um registro nesta tabela: INSERT INTO COMPROMISSOS VALUES(20, 'ALMOÇO COM A ESPOSA', '2010-10-23 19:00:00'); Note que os valores para campos do tipo TIMESTAMP também devem ser informados entre aspas simples. Para finalizar, Veja um comando DML SELECT FROM que lista o registro inserido na query anterior: SELECT * FROM COMPROMISSOS; Esta query produz o seguinte resultado: ID DESCRICAO DATA_HORA 20 ALMOÇO COM A ESPOSA 23/10/2010 19:00:00 |
Portugol ::: Dicas & Truques ::: Cadeias e Caracteres |
Como testar se uma sub-cadeia está contida em uma cadeia de caracteres em Portugol usando a função posicao_texto()Quantidade de visualizações: 667 vezes |
|
Nesta dica mostrarei como podemos verificar se uma substring está contida em uma string em Portugol. Para isso nós vamos usar a função posicao_texto() da biblioteca Texto. A função posicao_texto() pede a sub-cadeia a ser pesquisada, a cadeia na qual a pesquisa será feita e o índice do primeiro caractere a partir do qual a sub-string será pesquisada. Se a substring for encontrada, a função retorna a posição do primeiro caractere. Caso contrário o valor -1 será retornado. Veja o código completo para um programa Portugol no qual testamos se uma palavra está contida em uma frase:
programa {
// vamos importar a biblioteca Texto
inclua biblioteca Texto --> tx
funcao inicio() {
// vamos criar uma frase
cadeia frase = "Gosto de programar em Portugol"
// vamos criar uma sub-cadeia
cadeia palavra = "Portugol"
// vamos verificar se a sub-cadeia está contida na cadeia
se (tx.posicao_texto(palavra, frase, 0) != -1) {
escreva("A substring está contida na string")
}
senao {
escreva("A substring não está contida na string")
}
}
}
Ao executar este código Portugol nós teremos o seguinte resultado: A substring está contida na string. |
Desafios, Exercícios e Algoritmos Resolvidos de Portugol |
Veja mais Dicas e truques de Portugol |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |




