Você está aqui: Delphi ::: Dicas & Truques ::: Strings e Caracteres |
Como extrair uma substring de uma string usando a função AnsiMidStr() do DelphiQuantidade de visualizações: 30870 vezes |
Em algumas situações precisamos obter uma substring de uma string. Em Delphi isso pode ser feito por meio da função AnsiMidStr(). Esta função requer a string a partir da qual a substring será obtida, a posição inicial da substring (começando em 1) e a quantidade de caracteres que comporâo a substring. O retorno será uma nova string contendo a substring obtida. 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, substring: string; begin frase := 'Programar em Delphi é muito bom'; // vamos obter a substring "Delphi" substring := AnsiMidStr(frase, 14, 6); // vamos exibir o resultado ShowMessage('Resultado: ' + substring); end; 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 ::: Imagens e Processamento de Imagens |
Como carregar uma imagem JPG, convertê-la em Bitmap e desenhá-la no formulário usando DelphiQuantidade de visualizações: 18504 vezes |
Em algumas situações nós precisamos carregar uma imagem JPG, convertê-la em Bitmap e desenhá-la em nosso formulário. Nesta dica eu mostro como isso pode ser feito. Vamos começar lendo a imagem JPG a partir do diretório da aplicaçã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 ---------------------------------------------------------------------- procedure TForm3.Button1Click(Sender: TObject); var bmp: TBitmap; jpg: TJPEGImage; begin // uses Jpeg; // não esqueça // vamos criar o bitmap bmp := TBitmap.Create; // vamos criar o JPG jpg := TJPEGImage.Create; try // vamos carregar a imagem JPG jpg.LoadFromFile('foto.jpg'); // vamos convertê-la para Bitmap bmp.Assign(jpg); // vamos desenhar o bitmap no formulário // começando nas coordenadas x = 0; y = 0 a partir // do canto superior esquerdo da área cliente do formulário Form3.Canvas.Draw(0, 0, bmp); finally Jpg.Free; Bmp.Free; end; end; Veja que a técnica consiste em carregar a imagem JPG e convertê-la em Bitmap usando o método Assign() da classe TBitmap. Em seguida só precisamos usar o método Draw() do Canvas do formulário para desenhar a imagem já convertida. Caso você precise carregar a imagem JPG em tempo de execução, basta colocar um TOpenPictureDialog no formulário e alterar o código do evento Click do botão para: ---------------------------------------------------------------------- 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.Button1Click(Sender: TObject); var bmp: TBitmap; jpg: TJPEGImage; begin // uses Jpeg; // não esqueça if OpenPictureDialog1.Execute then begin // vamos criar o bitmap bmp := TBitmap.Create; // vamos criar o JPG jpg := TJPEGImage.Create; try // vamos carregar a imagem JPG jpg.LoadFromFile(OpenPictureDialog1.FileName); // vamos convertê-la para Bitmap bmp.Assign(jpg); // vamos desenhar o bitmap no formulário // começando nas coordenadas x = 0; y = 0 a partir // do canto superior esquerdo da área cliente do formulário Form3.Canvas.Draw(0, 0, bmp); finally Jpg.Free; Bmp.Free; end; end; end; Vamos complicar um pouco mais? Que tal uma função que carrega a imagem JPG, faz a conversão para Bitmap e retorna o Bitmap para o chamador? 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 ---------------------------------------------------------------------- function jpg2bitmap(const imagem: String): TBitmap; var bmp: TBitmap; jpg: TJPEGImage; begin // uses Jpeg; // não esqueça // vamos criar o bitmap bmp := TBitmap.Create; // vamos criar o JPG jpg := TJPEGImage.Create; try // vamos carregar a imagem JPG jpg.LoadFromFile(imagem); // vamos convertê-la para Bitmap bmp.Assign(jpg); except bmp := nil; end; // vamos retornar o bitmap resultante Jpg.Free; Result := bmp; end; procedure TForm3.Button1Click(Sender: TObject); var bmp: TBitmap; begin // vamos obter o Bitmap a partir da função personalizada bmp := jpg2bitmap('foto2.jpg'); // a imagem Bitmap foi obtida com sucesso? if bmp <> nil then begin // vamos desenhar o bitmap no formulário // começando nas coordenadas x = 0; y = 0 a partir // do canto superior esquerdo da área cliente do formulário Form3.Canvas.Draw(0, 0, bmp); bmp.Free; end else ShowMessage('Não foi possível obter o Bitmap'); end; Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
Delphi ::: Data Access Controls (Controles de Acesso a Dados) ::: TClientDataSet |
Como usar a propriedade Active da classe TClientDataSet do DelphiQuantidade de visualizações: 11879 vezes |
A propriedade Active de um controle TClientDataSet pode ser definida em tempo de design (pelo Object Inspector) ou em tempo de execução. Se o valor for True os dados armazenados no TClientDataSet podem ser lidos e manipulados. Se o valor for False, o client dataset está fechado (closed) e não podemos acessar nem manipular os dados contidos nele. Veja no trecho de código abaixo como definir o valor da propriedade Active em tempo de execuçã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 ---------------------------------------------------------------------- procedure TForm3.Button3Click(Sender: TObject); begin // vamos ativar o client dataset ClientDataSet1.Active := True; // vamos testar se o client dataset foi mesmo ativado if ClientDataSet1.Active then ShowMessage('O ClientDataSet está ativo') else ShowMessage('O ClientDataSet NÃO está ativo') end; Ao clicar no botão nós "ativamos" o client dataset e em seguida testamos o valor da propriedade Active para informar se o controle foi realmente ativado. É preciso ter muito cuidado. Tentar manipular os dados de um client dataset fechado pode resultar em uma exceção do tipo EDatabaseError com mensagens parecidas com: Project Projeto.exe raised exception class EDatabaseError with message 'ClientDataSet1: Cannot perform this operation on a closed dataset'. Ao definirmos o valor True para a propriedade Active as seguintes ações ocorrem: 1) O client dataset é preenchido com dados. Dependendo das propriedades do controle, estes dados podem vir de três formas diferentes: a) Do arquivo especificado na propriedade FileName; b) Do provider especificado na propriedade ProviderName ou por meio do método SetProvider. (algumas classes derivadas de TCustomClientDataSet possuem um componente interno que faz o papel do provider); c) Os dados que estavam ativos quando o client dataset foi desativado (somente se a aplicação foi executada durante um certo período depois que o dataset foi desativado). 2) O evento BeforeOpen é disparado. 3) O valor dsBrowse é atribuído à propriedade State do dataset. 4) Abre e posiciona um cursor no primeiro registro do conjunto de dados. 5) Dispara o evento AfterOpen. Se o client dataset nunca foi ativado, atribuir o valor True para a propriedade Active faz com que a estrutura (metadata) do client dataset seja definida. Esta estrutura é obtida juntamente com o pacote de dados a partir do provider ou armazenado em disco. Se não houver pacote de dados, tal estrutura é construída usando o valor atual da propriedade FieldDefs ou a partir dos componentes de campos persistentes listados na propriedade Fields. Se um erro ocorrer durante a abertura do dataset, seu estado (State) é definido como dsInactive e o cursor de navegação é fechado. Ao definirmos o valor False para a propriedade Active as seguintes ações ocorrem: 1) O evento BeforeClose é disparado. 2) O valor para a propriedade State é definido como dsInactive. 3) O cursor de navegação é fechado, salvando os dados atuais em disco se a propriedade FileName estiver definida e salvando o pacote de dados atual em cache de forma que o mesmo possa ser restaurado mais tarde quando o dataset for reaberto. 4) O evento AfterClose é disparado. Importante: Uma chamada ao método Open do TClientDataSet define a propriedade Active como True, enquanto uma chamada ao método Close a define como False. Esta dica foi escrita e testada no Delphi 2009. |
Delphi ::: Dicas & Truques ::: Aplicativos e Outros |
Como calcular a distância entre dois pontos na terra em DelphiQuantidade de visualizações: 1340 vezes |
Nesta dica mostrarei como calcular a distância em quilômetros entre dois pontos na terra dadas suas latitudes e longitudes. Neste exemplo eu coloquei o valor de 6378.137 para o raio da terra, mas você pode definir para o valor que achar mais adequado. O cálculo usado neste código se baseia na Fórmula de Haversine, que determina a distância do grande círculo entre dois pontos em uma esfera, dadas suas longitudes e latitudes. Veja o código Delphi 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 ---------------------------------------------------------------------- // função que recebe dois pontos na terra e retorna a distância // entre eles em quilômetros function CalcularDistancia(lat1: double; lat2: double; lon1: double; lon2: double): double; var raio_terra, dlon, dlat, a, c: double; begin raio_terra := 6378.137; // raio da terra em quilômetros // o primeiro passo é converter as latitudes e longitudes // para radianos // não esqueça de adicionar a unit Math lon1 := DegToRad(lon1); lon2 := DegToRad(lon2); lat1 := DegToRad(lat1); lat2 := DegToRad(lat2); // agora aplicamos a Fórmula de Haversine dlon := lon2 - lon1; dlat := lat2 - lat1; a := Power(Sin(dlat / 2), 2) + Cos(lat1) * Cos(lat2) * Power(Sin(dlon / 2),2); c := 2 * ArcSin(Sqrt(a)); // e retornamos a distância Result := (c * raio_terra); end; procedure TForm5.Button1Click(Sender: TObject); var lat1, lon1, lat2, lon2, distancia: double; begin // obtém as coordenadas vindas dos campos de texto lat1 := StrToFloat(txtPrimeiraLatitude.Text); lon1 := StrToFloat(txtPrimeiraLongitude.Text); lat2 := StrToFloat(txtSegundaLatitude.Text); lon2 := StrToFloat(txtSegundaLongitude.Text); // vamos calcular a distância entre os dois pontos em Kms distancia := CalcularDistancia(lat1, lat2, lon1, lon2); // e mostramos o resultado txtDistancia.Text := FormatFloat('#.0', distancia) + ' kms'; end; Ao executar este código Delphi nós teremos o seguinte resultado: Informe a primeira latitude: -16,674551 Informe a primeira longitude: -49,303598 Informe a segunda latitude: -15,579321 Informe a segunda longitude: -56,10009 A distância entre os dois pontos é: 736,9 kms Aqui as informações sobre as latitudes e longitudes vieram de campos de texto TEdit, e o código foi disparado a partir do clique de um botão TButton. Neste exemplo eu calculei a distância entre as cidades de Goiânia-GO e Cuiabá-MT. A latitude é a distância ao Equador medida ao longo do meridiano de Greenwich. Esta distância mede-se em graus, podendo variar entre 0o e 90o para Norte(N) ou para Sul(S). A longitude é a distância ao meridiano de Greenwich medida ao longo do Equador. |
Delphi ::: VCL - Visual Component Library ::: TListBox |
Como selecionar um item de uma ListBox do Delphi em tempo de execução usando a propriedade ItemIndexQuantidade de visualizações: 15463 vezes |
É possível selecionar, em tempo de execução, um dos itens de uma ListBox. Para isso, só precisamos definir um valor para a propriedade ItemIndex. 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.Button2Click(Sender: TObject); begin // vamos selecionar o segundo item na ListBox ListBox1.ItemIndex := 1; // o índice do primeiro item é 0 // note que este código não funciona para ListBoxes de // seleção múltipla end; Note que este código não se aplica às ListBoxes de seleção múltipla. Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
Delphi ::: Dicas & Truques ::: Bilbiotecas Estáticas (obj) e Dinâmicas (DLLs) |
Apostila Delphi para iniciantes - Como criar sua primeira DLL usando DelphiQuantidade de visualizações: 18782 vezes |
Em dicas anteriores você aprendeu o que é um DLL e sua importância para a programação no ambiente Windows. Nesta dica mostrarei como criar uma DLL bem simples e usá-la a partir de um programa Delphi. Para isso siga atentamente os passos abaixo: 1) Vá em File -> New -> Other; 2) Selecione Delphi Projects e escolha DLL Wizard; 3) Neste momento o DLL Wizard criará o esqueleto do código fonte da DLL. Note que o código desta unit é bem parecido com aquele da unit de uma aplicação. A diferença principal é o uso da palavra-chave library em vez de program: ---------------------------------------------------------------------- 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 ---------------------------------------------------------------------- library Project2; { Important note about DLL memory management: ShareMem must be the first unit in your library's USES clause AND your project's (select Project-View Source) USES clause if your DLL exports any procedures or functions that pass strings as parameters or function results. This applies to all strings passed to and from your DLL--even those that are nested in records and classes. ShareMem is the interface unit to the BORLNDMM.DLL shared memory manager, which must be deployed along with your DLL. To avoid using BORLNDMM.DLL, pass string information using PChar or ShortString parameters. } uses SysUtils, Classes; {$R *.res} begin end. Salve esta unit como MinhaDLL.dproj em um diretório de sua preferência. Em seguida vamos criar uma rotina que receberá dois valores inteiros e retornará sua soma. Veja a modificação no 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 ---------------------------------------------------------------------- library MinhaDLL; function Somar(a, b: Integer): Integer; stdcall; begin Result := a + b; // retorna a soma end; { vamos exportar (export) a função Somar } exports Somar; begin end. Nossa DLL está pronta. Agora vá no menu Project -> Build MinhaDLL (ou pressione Shift+F9). Se tudo correu bem você terá um arquivo chamado MinhaDLL.dll no diretório no qual você salvou o projeto. O próximo passo é aprender a carregar esta DLL a partir de seus programas Delphi. Veja mais dicas nesta seção para aprender como isso é feito. Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
Delphi ::: Data Access Controls (Controles de Acesso a Dados) ::: TClientDataSet |
Como obter a quantidade de registros em um TClientDataSet do Delphi usando a propriedade RecordCountQuantidade de visualizações: 11333 vezes |
Em algumas situações precisamos saber a quantidade de registros atualmente armazenados em um componente TClientDataSet. Para isso podemos usar a propriedade RecordCount, implementada originalmente na classe TDataSet e reimplementada na classe TClientDataSet. Veja um trecho de código no qual usamos o evento OnClick de um botão para exibir a quantidade de registros atualmento no TClientDataSet: ---------------------------------------------------------------------- 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 qRegistros: Integer; begin // obtém a quantidade de registros no TClientDataSet qRegistros := ClientDataSet1.RecordCount; // mostra o resultado ShowMessage('O ClientDataSet possui ' + IntToStr(qRegistros) + ' registros.'); end; Ao executar o código e clicar no botão você verá uma mensagem parecida com: "O ClientDataSet possui 20 registros.". Esta dica foi escrita e testada no Delphi 2009. |
Delphi ::: Dicas & Truques ::: Matemática e Estatística |
Como calcular MDC em DelphiQuantidade de visualizações: 12147 vezes |
Como calcular o MDC (Máximo Divisor Comum) em Delphi Atualmente a definição de Máximo Divisor Comum (MDC) pode ser assim formalizada: Sejam a, b e c números inteiros não nulos, dizemos que c é um divisor comum de a e b se c divide a (escrevemos c|a) e c divide b (c|b). Chamaremos D(a,b) o conjunto de todos os divisores comum de a e b. O trecho de código abaixo mostra como calcular o MDC de dois números informados: ---------------------------------------------------------------------- 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 ---------------------------------------------------------------------- // função personalizada que permite calcular o MDC de dois // valores inteiros function MDC(a, b: Integer): Integer; var resto: Integer; begin while b <> 0 do begin resto := a mod b; a := b; b := resto; end; Result := a; end; procedure TForm3.Button1Click(Sender: TObject); var x, y: Integer; begin x := StrToInt(Dialogs.InputBox('MDC', 'Informe o primeiro valor:', '')); y := StrToInt(Dialogs.InputBox('MDC', 'Informe o segundo valor:', '')); // vamos mostrar o resultado ShowMessage('O Máximo Divisor Comum de ' + IntToStr(x) + ' e ' + IntToStr(y) + ' é ' + IntToStr(MDC(x, y))); end; Para fins de compatibilidade, esta dica foi escrita usando 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. |
Vamos testar seus conhecimentos em AutoCAD Civil 3D |
Levantamento topográfico no Civil 3D É uma ferramenta fundamental para gerenciar e organizar dados de levantamento topográfico. Ela permite que você armazene, edite e utilize informações de levantamentos topográficos e de campo de maneira eficiente. Estamos falando da ferramenta: A) Point Groups B) Aba Survey do Prospector C) Survey Point D) Survey Database Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em |
Dimensionamento de pilares de canto A direção mais crítica de um pilar de canto é determinada na comparação entre o índice de esbeltez do pilar e a esbeltez limite. Analise o pilar a seguir: ![]() Sobre esse pilar de canto, assinale a alternativa correta. A) A direção x é a mais crítica, e nela não são considerados os momentos de 2ª ordem. B) A direção y é a mais crítica, e nela não são considerados os momentos de 2ª ordem. C) A direção x é a mais crítica, e nela são considerados os momentos de 2ª ordem. D) A direção y é a mais crítica, e nela são considerados os momentos de 2ª ordem. E) Ambas as direções x e y são críticas, e nelas são considerados os momentos de 2ª ordem. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Engenharia Civil - Instalações Hidráulicas Prediais |
Sistema domiciliar de abastecimento de água Uma instalação hidrossanitária será construída numa residência. Ela apresenta dois banheiros, uma cozinha e uma área de serviços. Cada banheiro tem uma bacia com caixa de descarga, um chuveiro elétrico e um lavatório. A cozinha apresenta duas pias, e a área de serviços tem um tanque e duas torneiras de uso geral. ![]() Com base nesses dados, qual é vazão estimada de água fria em função dos pesos atribuídos às peças de utilização, em litros por segundo? A) 0,57. B) 0,65. C) 0,68. D) 0,78. E) 0,91 Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Hidrologia |
Os ecossistemas de água doce podem ser classificados em lênticos e lóticos. É correto afirmar que A) ecossistemas lênticos são ambientes aquáticos de água corrente como rios e riachos. B) ecossistemas lóticos são ambientes aquáticos de água parada como lagos e lagoas. C) em lagos e lagoas, termoclina é a zona de transição entre a camada superficial e a camada profunda, sendo uma camada fina de rápida variação de temperatura. D) um reservatório pode apresentar compartimentos com características semelhantes a rios, e outro semelhantes ao ambiente de lagos, sendo que quanto maior o tempo de residência do reservatório, maior a tendência do reservatório de se comportar como rio. E) a solubilidade do oxigênio na água está associada à temperatura e à pressão. Com a diminuição da temperatura e o aumento da pressão, ocorre redução da solubilidade do oxigênio na água. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em |
Domínios de Deformações O dimensionamento de uma seção transversal de um elemento linear concreto armado, sujeito a solicitações normais, de acordo com a NBR 6118 - "Projeto de estruturas de concreto" - é realizado com base em hipóteses básicas. A respeito dessas hipóteses, analise as informações a seguir, indicando V para as verdadeiras e F para as falsas: ( ) A distribuição das deformações ocorre de forma não linear ao longo da altura da seção. ( ) As deformações nas barras de armadura são idênticas às deformações do concreto que as envolve. ( ) Admite-se que todas as tensões de tração existentes serão resistidas pelo concreto e pela armadura. ( ) Adota-se o diagrama parábola-retângulo idealizado para o concreto comprimido. Assinale a alternativa que contém a sequência correta: A) V - V - F - F. B) V - F - F - F. C) F - V - F - V. D) F - V - V - V. E) V - F - F - V. Verificar Resposta Estudar Cards Todas as Questões |
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 |