thegoodfellas/blogset-br huggingface dataset:
desenvolvido no Delphi 2010 para o Delphi XE.Esse sistema possui um framework de banco de dados baseado no ZeosDBO e, em teoria, buildar e executar esse sistema atraves do Delphi XE iria expor qualquer falta de suporte para com o PostgreSQL 9.0, ja que esse framework faz uso moderado dos recurso/componentes do ZeosDBO e o sistema possui uma base de dados relativamente grande.Migrando o sistema para o Delphi XEImaginei que seria mais trabalhoso, mas praticamente nao foi preciso fazer muita coisa. Ao abrir o grupo de projeto desse sistema que foi criado no Delphi 2010, o Delphi XE nem mesmo realizou qualquer tipo de conversao de formato.O unico trabalho que tive foi substituir, na clausula require dos projetos a referencia de alguns pacotes de componentes de terceiros (por exemplo: substituir tms2010 por tms2011). O que nao custou mais do que 30 minutos.So encontrei problemas com alguns pacotes de terceiros que estavam sendo utilizados. Entretanto, para todos ja havia uma versao mais recente que suportavam o Delphi XE. Assim, o trabalho real foi instalar as versoes novas desses pacotes, com excecao de um deles que necessitou alguma intervencao manual.Bom, aqui o que nos interessa e a suporte do ZeosDBO ao PostgreSQL 9.0 e em relacao a isso surpreendentemente nao foi necessario modificar uma linha se quer do framework de banco de dados (esse framework foi criado em 2008 com a ainda recente versao 6.6.4 do ZeosDBO!). O sistema foi buildado 100% sem qualquer problema (apenas alguns poucos hints).O foco desse post nao e a migracao de sistemas para o Delphi XE, mas a experiencia foi muito positiva. E encorajo qualquer um que use o Delphi 2010 para fazer esse upgrade.Inicialmente fiquei pensando que era bom demais para ser verdade e que bastaria rodar o sistema para as cores de cabeca aparecerem. Para minha felicidade, o software executou normalmente passando com sucesso em todos os testes automatizados.ConclusaoTenho a total consciencia que por mais amplo que seja a utilizacao dos componentes e das funcionalidades do ZeosDBO nesse framework de banco de dados, e precipitado concluir que a versao alfa da versao 7.0 seja totalmente compativel com o PostgreSQL 9.X, mas sinto-me tranquilo para incentivar a qualquer um que ja esteja pensando em fazer algum tipo de migracao/upgrade parecido para que o faca.
Nas ultimas semanas tenho lido em foruns alguns post bastante timidos sobre um tal de Delphi++. Na maioria das vezes contendo o comentario de um ou mais membros classificando-o como fake.Bom, resolvi ir atras do tema para entender realmente do que se tratava e, para minha surpresa, encontrei uma nova ferramenta de desenvolvimento com uma proposta no minimo interessante e que, ao meu entender, tem a intencao de brigar por um lugar ao sol.Nesse artigo nao irei descrever o que e o Delphi++, sua proposta nem todos os recurso que possui, mas sim comentar as primeiras impressoes sobre seu IDE comparando-o com o do Delphi.InstalacaoNo site oficial ++Technologies e possivel fazer o download da versao beta, apos registrar-se.Essa e a primeira versao do IDE e esta ainda em estagio beta (v1.0.43.b) mas e simplesmente fantastica, considerando o que ela ja oferece.Ao fazer o download notei que a instalacao possua pouco menos de 12 MB. Isso fez baixar a expectativa de encontrar um boa ferramenta de desenvolvimento. E se comparar com a instalacao do Delphi 2010, 12MB representa pouco mais do que nada.A instalacao e muito tranquila sem nada de diferente. Basta um Next, Next, Nex e pronto.InicializacaoLogo na tela de abertura ja se pode notar um incrivel semelhanca com o Delphi da Embarcadero.Na tela de spash nenhuma informacao e apresentada que de ideia do que esta sendo realizado durante o start up. E apesar da instalacao ser leve, a abertura do IDE passou a impressao de nao ser tao leve assim.IDEA semelhanca com o Delphi nao ficou somente somente na tela de spash, todo o IDE e muito familiar. Ate mesmo a disposicao dos paineis e tools.Tool PaletteAqui esta um ponto muito interessante.O Delphi++ conta com muitos dos componentes basicos que sao oferecidos pelo Delphi, inclusive componentes para acesso a banco de dados.O fato de ser utilizado o mesmo icone para os componentes de mesma proposta facilita bastante sua localizacao.Abaixo esta a lista de todos os componentes que estao contidos em cada uma das paletas.Nao ha muito o que customizar na exibicao esse Tool Panel. Na verdade essa e uma caracteristica comum a todas as Tool Panel do IDE. A interface e um tanto rigida e nao ha quase opcoes de customizacao.Comparando com a Tool Palette do Delphi, o que mais senti falta e da usabilidade do Tool Palette. Enquanto que no Delphi pode-se acrescentar um componente na tela com um duplo-click sobre o componente ou com um arrasta-e-solta, no Delphi++ e requerido que vc necessariamente selecione o componente na Tool Palette e clique no formulario para dropa-lo.Object InspectorNa primeiras olhadas para o Object Inspector o que mais chama a atencao e colorido nos nomes das propriedades.Diferentemente do que e feito nas versoes 2009 e 2010 do Delphi, a apresentacao das propriedades no Object Inspector nao e agrupadas por categoria, elas sao apresentadas uma abaixo a outra em ordem alfabetica. Infelizmente tambem nao ha opcoes de rearranjamento ou reagrupamento.Depois de um tempo, olhando com atencao percebe-se que a cor da na qual as propriedades sao exibidas dependente do seu tipo. Por exemplo,
importante e que a referencia para componentes do formulario nao e feito digitando o nome do componente diretamente, e necessario incluir "self:".OBS: Para aqueles que ja implementaram ou tiveram algum tipo de contato com o codigo fonte de macros em aplicativos office, por exemplo, percebera uma semelhanca.procedure menuNew_OnClick(Sender: any);begin self:memFile.Lines.Text := ''; gFileName := '';end;procedure menuSave_OnClick(Sender: any);var lFStream: TFileStream; lSize, i: Integer; lText: string;begin if gFileName = '' then if self:dlgSave.Execute then gFileName := self:dlgSave.FileName; if gFileName <> '' then begin lFStream := TFileStream.Create(gFileName, fmCreate or fmOpenWrite); lText := self:memFile.Lines.Text; lSize := Str.Len(lText); for i := 1 to lSize do lFStream.Write(lText[i], 1); lFStream.Free; end;end;A implementacao do evento OnClick da opcao "Save" do menu, tambem foi um pequeno desafio a parte.Custou um tempo descobrir que a funcao "Length" (que retorna o numero de caracteres de uma string) nao existe e que em vez dela deve-se utilizar "Str.Len".Na verdade "Str." concentra a maioria das funcoes de manipulacao de strings. Assim como "Date." e o ponto de partida para encontrar funcoes de manipulacao de data.procedure menuExit_OnClick(Sender: any);begin Self.Close;end;constructorbeginend.Uma divergencia com relacao a maioria das ferramentas de desenvolvimento e que todo o projeto e armazenado em um unico arquivo e na forma binaria. Se voce abrir o arquivo de projeto com um editor de texto, nao ira identificar o codigo fonte. A visualizacao e edicao fica restrita exclusivamente ao IDE do Delphi++.Caso deseje visualizar o projeto inteiro, pode fazer o download nesse link.ConclusoesAo meu ver o Delphi++ e (me desculpe o termo) uma intencao de copia do Embarcadero RAD Studio que esta em um estagio prematuro, mas que ja mostra ser uma alternativa.O IDE segue a tendencia atual das ferramentas de desenvolvimento de nao ser exclusivo ao suporte de uma unica linguagem de programacao, e isso e muito bom. Entretanto, na atual versao (1.0 beta 2) ainda ha muito o que ser feito, melhorado, e a ser corrigido, para poder oferecer aos usuarios um experiencia adequada e um ambiente que proporcione agilidade no desenvolvimento.A falta de documentacao e outro ponto negativo que dificulta bastante os primeiros passos, mas aos que ja conhecem a linguagem rapidamente resolve os impasses.Por outro lado essa e uma conclusao comparada com o RAD Studio 2010, que e uma ferramenta madura e que tem sido constantemente evoluida desde, se nao estou enganado, 1995.Se formos considerar que o Delphi++ ainda esta em fase beta, nao ha como desmerecer esse fabuloso trabalho, ainda mais pelo fato de que ja nessa versao beta e oferecido suporte multi-plataforma (recurso previsto somente para a versao 2011 do RAD Studio, e olha la). No minimo eu concluo que vale a pena acompanhar o decorrer dos fatos.
frases serao concatenadas em um unico paragrafo. Isso faz com que nao seja possivel escrever um pequeno trecho de codigo, por exemplo.Em outras palavras, fiquei com a impressao que e mais legivel ler as descricoes do popup do que diretamente do codigo fonte.Caso deseje analisar o codigo fonte completo da unit criada durante a escrita desse artigo, faca o download nesse link.A ultima dica e para aqueles de desejam alterar a saida do popup para um layout mais adequado ou apenas queiram fazer pequenos incrementos. Nesse caso basta editar o arquivo HelpInsight.xsl (sub-diretorio ObjRepos do diretorio de instalacao do RAD Studio, para mim e C:\Program Files\Embarcadero\RAD Studio\7.0\ObjRepos). La voce encontrara tambem outras opcoes nao descrita nesse artigo.Boa sorte.
que sera usado pelo ForEach para acessar os elementos da lista.Para ser mais especifico, um pre-requisito para usar o ForEach com objetos (instancias de classes) e justamente a existencia e implementacao do metodo GetEnumerator pela classe do objeto.Se voce tentar usar um objeto qualquer o proprio compilador ira notificar sobre esse requisito, apresentando uma mensagem semelhante:[DCC Error] Unit1.pas(145): E2431 for-in statement cannot operate on collection type 'TMyList' because 'TMyList' does not contain a member for 'GetEnumerator', or it is inaccessibleAlem disso, o metodo GetEnumerator nao pode retornar qualquer valor, ele devera retornar uma instancia cuja classe possua dois metodos especificos (GetCurrent e MoveNext) que serao utilizados para instruir o ForEach a percorrer os itens do objeto.O metodo GetCurrent sera utilizado para retornar o valor do atual elemento da lista e o metodo MoveNext ira posicionar o cursor no proximo item ou retornando False quando nao ha mais elementos na lista.Vamos criar um exemplo simples para ilustrar como isso e feito.TMyList = class;TMyListEnumerator = classprivate FIndex: Integer; FMyItems: TMyList;public constructor Create(ARef: TMyList); function GetCurrent: Integer; inline; function MoveNext: Boolean; property Current: Integer read GetCurrent;end;A classe TMyListEnumerator sera a responsavel por acessar a lista de valores de TMyList.O layout acima e exatamente o que voce precisa implementar para todas as classes a qual deseja dar suporte ao ForEach, modificando apenas o tipo de retorno de acordo com o tipo de item das classes. Por exemplo, se colecao mantem uma lista de valores de ponto flutuante, substitua a o tipo "Integer" (no layout acima) por "float".TMyList = class protected FName: string; FItems: array of Integer; public destructor Destroy; override; function Add(const Value: Integer): Integer; function GetEnumerator: TMyListEnumerator;end;A classe TMyList e nossa colecao a qual mantem um array de valores inteiros (propriedade FItems).Agora observe a implementacao dos metodos da colecao. Nada de diferente a nao ser pelo metodo GetEnumerator.destructor TMyList.Destroy;begin SetLength(FItems, 0); inherited;end;function TMyList.Add(const Value: Integer): Integer;begin Result := Length(FItems); SetLength(FItems, Result + 1); FItems[Result] := Value;end;function TMyList.GetEnumerator: TMyListEnumerator;begin Result := TMyListEnumerator.Create(Self);end;A implementacao da nosso classe de enumeracao nao tem nada de complexo ou diferente, e o proprio codigo e auto explicativo.constructor TMyListEnumerator.Create(ARef: TMyList);begin inherited Create; FIndex := -1; FMyItems := ARef;end;function TMyListEnumerator.GetCurrent: Integer;begin Result := FMyItems.FItems[FIndex];end;function TMyListEnumerator.MoveNext: Boolean;begin Result := FIndex < (Length(FMyItems.FItems) - 1); if Result then Inc(FIndex);end;Caso tenha tido algum tipo de dificuldade, faca o download do projeto de exemplo (link http://rapidshare.com/files/406448596/ForEach.7z) que contem todo o codigo fonte utilizado nesse artigo.
lista de prefixo.Ela permite definir a localizacao do arquivo na qual essas opcoes e a lista dos prefixos serao armazenadas, permitindo que outras estacoes de trabalho utilizem as mesmas configuracoes.No caso de um estacao acrescentar ou modificar alguma opcao, imediatamente a mudanca fica visivel para os demais.IDE Config Backup/Restore ToolPense em todas as vezes que voce instalou ou reinstalou o Delphi/C++ Builder e passou um bom tempo reconfigurando o IDE para assumir a mesma condicao anterior. Ou pior, depois de muito tempo descobre que esquecei de copiar um template, ou outro recursos qualquer.E justamente para sanar esse problema que o CnWizard tras uma ferramenta capaz de fazer backup e restauracao do IDE.ConclusaoO que foi apresentado nesse artigo e uma parcela muito pequena da quantidade de ferramentas que esse pacote oferece.O potencial de desenvolvimento que o CnPack proporciona e imenso tanto e que mesmo apos 2 anos, e durante a escrita desse post, descobrir recursos que nao haviam sido notados antes.Para aqueles que desejam ler um pouquinho mais sobre os demais melhoramentos, eu indico esse documento: http://www.intitec.com/varios/Delphi_al_limite_2009.pdfSao nada menos do que 294 paginas!
'Textstring' e a mensagem que deve ser emitida pelo compilador.O level da mensagem e opcional e, se nao especificado, sera assumido o valor padrao, ou seja, HINT. Ja a sequencia do testo e obrigatoria e deve utilizar a sintaxe da string, ou seja, delimitada por aspas simples.Destaco a importancia de conhecer o significado que cada tipo de mensagem possui porque o compilador ira tratar essas mensagens da mesma forma como trata os alertas nativos.HINT: Notificacoes quase sempre informativas e nao incorrem risco{$Message 'Essa mensagem e do tipo HINT'}{$Message Hint 'Essa mensagem tambem e do tipo HINT'}WARN: Notificacao de alerta para um real ou potencial risco{$Message Warn 'Essa mensagem e do tipo WARNING'}Error: Falha de sintaxe ou semantica{$Message Error 'Essa mensagem e do tipo ERROR'}Fatal: Interrompe a compilacao imediatamente{$Message Fatal 'Essa mensagem e do tipo FATAL'} $HINTSEsse artigo tem explorado mais o lado tecnico dos Warnings e Hints no Delphi do que propriamente sua utilizacao.Esse e uma outra abordagem com ampla gama para exploracao. Penso que poderia ser redigido um artigo enorme falando so das diversas formas de empregar, e de forma adequada, esse recurso que nao e uma exclusividade do Delphi, muito pelo contrario.Mas por enquanto iremos concluir esse texto com mais algumas notas sobre a diretiva {$HINT}.O Delphi permite que a emissao de mensagens que sao do tipo HINT possa ser habilita ou desabilitada atraves de:{$HINTS ON}// Trecho de codigo{$HINTS OFF} Vamos utilizar um exemplo simples.procedure Teste;var a, b: Integer;begin {$HINTS ON} a := 1;end;Ao compilar, sera apresentado duas mensagens do tipo hint.[DCC Hint] uTest.pas(13): H2077 Value assigned to 'a' never used[DCC Hint] uTest.pas(11): H2164 Variable 'b' is declared but never used in 'Teste'Agora experimente substituir a linha onde aparece {$HINTS ON} por {$HINTS OFF} e recompile o codigo. Ira observar que ambas as mensagens nao serao mais apresentadas.Aqui a regra e a mesma. A diretiva e relevante apenas no contexto da unit e para as linhas abaixo.Ate a proxima.
clothes clothesforthewinter colors computer eletronics food1 food2 fruit indoors insects jobs jogoanimais jogoanimais2 kitchen reptiles and amphibians schoolmaterials the living room the utility room tools vegetables weather women'sclothing Bom trabalho a todos e a todas!
Luiza, estara no laboratorio de informatica para pesquisar alguns temas referentes ao trabalho de Lingua Inglesa da setima serie.Pesquisarao sobre:partes da casamoveiseletrodomesticos etcDepois acessarao o BrOffice para registro dos trabalhos e pesquisas feitas.
Dia Meus Amigos!!!!Quanto tempo ja estava com saudades....Bom por aqui esta tudo um pouco corrido, meu pequeno esta na escolinha que por sinal ele adora, logo que sai vai para fisio, fono e etc... nao paramos um dia em casa so chegamos na hora de jantar e depois dormi rsrsrsr... Ele esta super bem embora na semana retrasada ficou 8 dias internado mas agora ja esta 100% sapeka rsrsrs... Esta bem esperto ja tenta se levantar, esta aprendendo a mastigar e morder rsrsrs, e esta tao conversador fala e grita e briga tudo na lingua jaovanes que so ele entende, esta dormindo bem melhor durante a noite agora passa mais tempo acordado, ja ia me esquecendo ele tentou falar bobo o que deixou minha mae se sentindo ne rsrsrs, ele esta uma fofura com a graca de Deus a cada dia vencendo os obstaculos que aparecem no caminho, a visao ainda esta meio incerto parece que agora esta vendo vultos embora os medicos ainda falam para nao termos esperancas mas eu creio no Deus dos impossiveis e sei que se for da sua vontade meu pequeno vai sim ver o mundo... Se nao for da vontade de Deus vou sempre ser os olhos do meu pequeno e vou mostrar o mundo a ele atraves dos meus olhos.... Joao a mamae te ama muito meu pequeno.... Olhem como ele esta lindo!!! Bjos fiquem com Deus!!!Quer encarar...Eu e o papaiahahahaEu queroLindoMeu Deus quanto cabelo...Hum delicia
Que risada gostosa https://goo.gl/photos/FgsBhmSk1XLo5coSA Bom dia....Bom faz tempo que não passo por aqui, pois a cada dia que passa está mais corrido....Vou resumir um pouco de tudo o que temos passado.....Joãozinho hoje está com 5 aninhos de muitas lutas e vitórias está a cada dia mais sapeka...Bom vamos começar Dia 25/09/2013 João ficou bem doentinho levamos ele as pressas para o hospital Ipiranga onde foi avaliada e internado com pneumonia, quando foi na madrugada ele começou a piorar e necessitava com urgência ser levado para UTI, foi aí que começou nosso desespero no hospital não havia UTI pediátrica começaram as buscar por uma vaga pois ele precisava ser removido com urgência....A cada hora que se passava o estado dele se agravava muito e meu desespero tomou conta de mim um medo que chegava a doer de perder meu bebê meu bem mais precioso...Quando foi por volta das 8:00 da manhã apareceu uma vaga no hospital Leforte que foi um alívio.... Ele foi transferido e graças a Deus muito bem recebido porém foi quando meu coração ficou aflito pois o médico me chamou e me explicou que o estado dele era muito delicado mas fariam de tudo para que tudo corresse bem...Mas a cada hora que passava ele ficava pior seu padrão respiratório estava muito ruim e na madrugada não aguentou mais respirar sozinho foi entubado aquilo pra mim foi torturante ver meu pequeno tão frágil tão pequeno sofrendo tanto, e pra piorar apareceu a bendita da catapora que agravou ainda mais seu estado de saúde.... Mas como sempre ele nunca desistiu lutou e mais uma vez venceu foram 26 dias entubado, estávamos todos radiantes pois ele estava sem aquele tubo e confiantes que logo ele melhoraria e estaríamos de volta pra casa mas infelismente ele não aguentou ficar sem o tubo e teve que ser entubado novamente e foram mais longos 11 dias e mais uma vez ele conseguiu sair do tubo e para nossa surpresa sem abstinência a inúmeras drogas que estava recebendo....Estávamos agora esperando apenas terminar os antibióticos para a tão sonhada alta já estávamos a 49 dias no hospital faltavam apenas 3 dias para terminar os antibióticos, João começou a ter febre alta e vomitar meu coração já ficou em alerta, foram feitos vários exames quando foi a noite a Dra me chamou e me disse que João havia pego uma bactéria hospitalar e que iria começar um novo ciclo de antibiótico de 21 dias na hora não aguentei e entrei em desespero chorei muito pedi a Deus que me desse forças pra enfrentar junto com meu pequeno mais essa luta, os dias foram se passando e João só piorando foi quandro entrou em choque séptico e novamente foi entubado estava muito grave e os médicos achando que ele não iria resistir mas eu sempre mantive minha fé as vezes achava que eu não iria suportar tanta luta mas sempre que olhava para ele via em seu rostinho a vontade de viver e sentia que ele estava lutando foram mais 16 dias entubado quando os médicos me falaram que
estavam pensando em colocar a traquéo chorei muito não sabia o que pensar doía demais, mas para nossa surpresa na madrugada João acordou e se extubou isso mesmo ele tirou o tubo rsrsrs meu guerreiro, foi uma correria só mas ele estava tão bem que resolveram dar uma chance pra ele pois meu pequeno ficou firme e forte e conseguiu ficar sem o tubo, achamos que estava tudo indo bem João sem tubo sem infecção, mas tinha alguma coisa errada a febre havia voltado e quando feito um RX quase morri ele estava com pneumonia novamente e lá vamos nos começar tudo de novo mas 21 dias de antibiótico meu Deus essa luta parecia não ter fim....Estávamos já a 3 meses na UTI e Joãozinho começou a apresentar dificuldades para se alimentar comia e logo colocava pra fora fazia exames e nada aparentemente tudo normal.... Outro RX outra pneumonia mais antibiótico e ele cada dia mais caidinho foi passado novamente a sonda para ele se alimentar e para minha tristeza devido a tantas pneumonia João começou a broncoaspirar foram mais 2 tentativas para se alimentar e sem sucesso foi quando foi feita a gastrostomia fiquei arrasada muito triste mas era o melhor a se fazer... Tudo resolvido foi o que achamos... A sonda foley que passaram nele deu uma infecção horrorosa nele e lá vamos nos começar tudo novamente antibiótico e tudo mais já estava quase sem forças pra lutar mas meu bebê sempre me passava uma força que me renovava a cada dia e sempre confiei muito em Deus que me manteve sempre de pé.... 4 meses na UTI meu Deus eram dias que pareciam não ter fim....Melhorado a infecção começaram a alimentação pela gtm cinco dias e nada dele evacua foram feitos todos os procedimentos e sem sucesso quando mais um susto João teria que fazer uma cirurgia pois estava com o intestino obstruído meu Deus quanto sofrimento... Correu todo bem na cirurgia graças a Deus, após 3 dias de cirurgia começou a alimentação mais uma vez e novamente João sem evacua 6 dias e nada quando resolveram por uma nova cirurgia meu pequeno novamente foi para o centro cirúrgico cortaram 15 cm de seu intestino e desceu em choque séptico mais uma vez e mais uma vez desenganado pelos médicos... Mas Deus entrou com providências cada dia que passava ele milagrosamente se recuperando e já voltando a sorrir aquele seu sorriso lindo que acaba com qualquer tristeza.... E assim foram 6 meses na UTI e enfim meu pequeno guerreiro teve alta e eu só tenho a agradecer a Deus por estar sempre ao nosso lado e nunca nos desamparar a toda equipe do hospital Leforte que hoje fazem parte de nossa família e a toda minha família que esteve sempre ao nosso lado..... João Pedro meu pequeno VC e um grande guerreiro tenho muito orgulho de VC meu amor te amo incondicionalmente....