thegoodfellas/blogset-br huggingface dataset:
Foi tudo tao de repente. Nem pude perceber voce mudar. Achava que estava tudo nos devidos lugares: minha fe extremamente presente, com um relacionamento otimo com a minha familia, estudando muito e apaixonada por quem me amava. Uma ligacao bastou pra tudo sair dos eixos; perdi meu chao, como uma crianca perde as esperancas sem nem mesmo saber o que e ela ainda. Me pergunto o porque de toda essa mudanca. O que eu fiz, ou deixei de fazer? Como? Porque? Me pergunto se ainda importa-se com o que sinto, pois a tres meses atras tinha certeza absoluta do seus sentimentos, morreria por mim assim como eu por voce. Tudo o que a gente viveu, todos os momentos bons, ate as brigas. Os planos que a gente fazia, e horrivel olhar pra frente e ver os meus sonhos turvos, incertos. A distancia nao pode ser culpada por tudo isso, quem ama se entrega aquele amor, como eu fiz. Vou te amar por toda minha vida, continuara sendo a melhor coisa que me aconteceu. Sera o que me mostrou o que e amor, me fez muito feliz. As suas ligacoes, seu apelidos carinhosos comigo, sempre me fizeram voar. Dar assas a imaginacao quando se esta com alguem e a melhor coisa que existe. Jamais sentirei a mesma emocao ao beijar alguem, nao sei mais o que fazer no meu presente baguncado. A sua presenca era o que eu tinha de melhor, depois, ela virou a distancia, sinto-a extinta hoje. Ver as pessoas me perguntando o que aconteceu e nem eu saber a resposta e ainda manter muitas perguntas dentro de mim que nao quer calar, tomam os meus pensamentos, minha estrutura, meu sono. Doi lembrar de tudo o que a gente passou, praticar lembrancas. E voce, nao sei .. Sera que nao se lembra das juras? Dos nossos beijos? Da gente voltando de cavalinho da escola, rindo e contando historias? Dos filmes? Se lembra da gente colocando os cadarcos dos seus mil tenis? Me indago se ja divide com ela, os mesmos segredos que dividia comigo. Se ela ja e dona do seu coracao. Sera que conta pra ela, as mesmas historias que me contava? Ela vira o lacre da latinha de coca-cola? Ela esta sempre disposta pras suas loucuras? Ela te chama de catchup? Sempre que me pego te olhando, percebo que nao respiro; nao sei, e como se uma multidao habitasse a minha volta e eu so conseguisse enxergar voce. A sua ausencia me mata por dentro, nao tenho vontade de nada, o que me faz sorrir sao as nossas lembrancas. A noite, agarrada a sua imagem em minha mente, choro sem perceber. Relembro nossas brincadeiras e quando me dou conta, estou beijando as pontas dos meus dedos *-*Nas minhas oracoes eu so sei pedir por voce, por nos. Como um urso mal, que rouba o mel das abelhas, resgato a minha felicidade aos poucos, quando vejo que o dia amanhece, percebo assim que falta menos tempo pra poder te abracar e dizer o quanto eu o amo, repetidamente.Estar ao seu
O que me faz falta e esse seu carinho, seu cuidado obsessivo, sua protecao semeia admiracao a sua personalidade. E voce quem toma conta de mim, voce aderiu essa funcao no dia em que resolveu me amar, boa ou nao, assumiu - a. Nao vou negar que gostei, e simplesmente incrivel a sensacao de liberdade quando se sabe que tem alguem guardando suas costas. Isso nos uniu mais ainda, porque quando eu ia cair, voce me segurava, sorria e pedia para ter mais cuidado e se eu ousasse brincar com voce, logo estavamos em outro lugar. Todos esse jeito que me trata, sinto que ao seu lado, por mais imprudente que eu seja, teria alguem ali, pra me ajudar. Me sinto fraca e vulneravel a tudo que me cerca, e como se as coisas olhassem pra mim desejando cair, como se ate o ceu, as vezes, me implorasse isso; e acredite se quiser, aconteceu. Vamos ser amigas para sempre! Aconteca o que acontecer! Voce vai poder contar sempre comigo!Cliches, cliches e cliches. Sao tao lindos, nao e a toa que sao tao famosos. Mais, deixemos de cliches e oucamos o que o coracao tem a dizer: Amigas.Amigas sao aquelas coisas chatas que grudam na gente e nao nos deixam por nada; exatamente, NADA. Isso! N-A-D-A.Sao elas que enxugam nossas lagrimas, seja de tristeza ou felicidade. Amigas dividem segredos e deixa a gente invadir a vida delas a todo momento com ligacoes e mensagens. Alias, elas nao deixam, elas amam. Sei porque respondem!Aqueles momentos bons, sentadas na calcada, comendo algo ou ate mesmo brincando, seja de UNO, Twister ou ate mesmo mimica, - e isso ai, temos mais de 12 anos e admitimos que, quando estamos em bando, fazemos coisas idiotas!O tempo passa e a gente cresce. Aderimos mais tarefas ao nosso cotidiano, responsabilidades e perdemos a nocao do tempo; isso e fato! Nao temos hora pra nada. Estudar, trabalhar, familia, casa e se sobra um tempinho, la estamos nos, estiradas na cama. Dormindo. As lembrancas dos momentos de infancia e o que ha, para matar a saudade e as vezes ate chorar com as recordacoes. Aquele tempo bom que a gente sente que nao vai voltar, fazer coisas sem pensar nas consequencias. Mas, amigas que sao amigas sempre nos surpreendem. Ligam nas horas mais inconvenientes, mandao mensagens de corrente, so porque voce ama, dentre outras coisas. Brincadeiraaaaaa.Ligam sim. E ligam para falar que nos ama e que esta com saudades, perguntam se estamos bem e querem saber das novidades. Pode ser que seja so pra mim, mas isso me traz um conforto tao especial. Voce se sente amada e protegida, mesmo de longe.Amigas sao aquelas anjinhas que entram na vida da gente e faz tudo ficar mais engracado, mais unido. Faz tudo ficar com cara. De amiga. Um dia, alguem vai aparecer na sua vida e tirar tudo do lugar. Mudar os seus habitos, algumas opinioes, a sua cor preferida, os seus passeios de sexta, o seu programa de tv. Vai mudar tambem o primeiro pensamento ao acordar, e os sonhos de
todas as noites, vai fazer voce se superar a cada dia, e aprender a essencia verdadeira do amor. Essa mesma pessoa vai fazer o seu pesadelo de infancia mudar, e o que era o bicho papao do armario agora e o medo de ve-lo partir algum dia. Essa pessoa vai tambem ser a razao para voce estar aqui. Vai fazer voce ter vontade de apresenta-la a todos, ter vontade de mostrar suas manias, leva-lo aos seus lugares prediletos, vai fazer crescer em ti algo muito belo e especial, algo que voce jamais sentiu ..Vai fazer voce sonhar acordada da escola ate a sua casa, durante o banho. Vai fazer voce ficar suspirando de minuto em minuto, vai fazer voce sentir paz apenas ao olhar para ela. Essa pessoa vai pegar seu mundo e virar do avesso, mas voce nao vai ligar, apenas vai achar tudo muito lindo, como tudo o que ela faz. Vai fazer voce pensar em futuro, em construir uma familia. Vai fazer voce desejar sempre ser o seu melhor so para agrada-lo, vai querer fazer voce em pleno sabado assistir um filme reprisado na tv, apenas porque a companhia ao seu lado sera ele. Essa pessoa vai te fazer crescer, te fazer vibrar a cada sorriso, e sempre vai estar ali para abracar voce caso haja quedas. Essa pessoa sera seu porto seguro, aquela que voce sempre esperou. Essa pessoa e o amor da vida toda.
Eu nao vou te pedir nada. Nao vou te cobrar aquilo que voce nao pode me dar. Mas uma coisa, eu exijo. Quando estiver comigo, seja todo voce. Corpo e alma. As vezes, mais alma. As vezes, mais corpo. Mas, por favor, nao me apareca pela metade. Nao me venha com falsas promessas. Eu nao me iludo com presentes caros. Nao, eu nao estou a venda. Eu nao quero saber onde voce mora. Desde que voce saiba o caminho da minha casa. Eu nao quero saber quanto voce ganha. Quero saber se ganha o dia quando esta comigo. O meu medo de monstros foi trocados pelo medo de te perder, o medo do escuro virou medo de ficar sem voce a cada madrugada, o medo de cair de bicicleta foi trocado pelo medo de ver voce se machucar. A pureza do nosso amor nos encantou e deu corda pra nos jogarmos num relacionamento em que jamais pensamos que amariamos tanto um o outro. Voce se tornou a pessoa mais especial da minha vida em tao pouco tempo, que eu nem pude perceber, a ultima vez que eu pude ve-lo e abraca-lo, pode ter certeza, foi o pior momento da minha vida. Quero que nossos sonhos se realizem o mais rapido possivel, aqueles planos que ficavamos fazendo, rindo, nos amando, sem limites. Serei pra sempre sua, aonde estiver ou independente de quanto tempo passar. Escuto todos os dias minha esperanca sussurrar em meu ouvido: que seus sonhos se tornem realidade. E Deus confirma a cada dia me permitindo continuar te amando, acredito nele, sei que me dara forcas, nos dara forcas. Eu espero a cada segundo pela sua chegada. Quando me ver, nao me beije logo de cara, olhe nos meus olhos, descubra o que eles estao querendo te dizer, sinta o que estou sentindo, perceba o quanto me fez falta e confirme que eu sou toda sua meu amor. Eu quero ter voce pra mim de verdade, quero aquela mesma emocao, sentir o mesmo frio na barriga e a pulsacao acelerar. Eu almejo te abracar e poder sentir toda aquela paz que eu amo, aquele carinho, sua sinceridade. Os nossos momentos estao me fazendo tanta falta que eu nem sei como consigo seguir, acho que e a esperanca dando o ar da sua graca, pacientemente, todo dia pra me dar forca, me fazendo crer que ficaremos juntos. No comeco eu tinha medo das noites frias que eu viesse passar. Desde que voce foi embora, elas veem me torturando suavemente, com um sorriso maligno. Veem, me fazem reviver tudo o que passamos de bom, me faz sentir dor de nao poder te tocar mais, lagrimas escorrem dos meus olhos fazendo com que as lembrancas fiquem mais vivas, mais puras na minha realidade. Eram oito horas, oito horas de loucura, oito horas de saudade. Eu via o sol nascer todas as manhas. Hoje, os meus tormentos inverteram de lugar, as suas palavras doces por telefone me mostraram o quanto me ama e que ainda se importa comigo. As minhas noites? Rezo para que Deus
possa nos iluminar e caio em sono profundo. Sonho com voce e as cenas sao mais reais do que eu podia imaginar, posso sentir tocar-me, imagino novos momentos ao seu lado. Quando acordo, me vejo roubada. O sono me leva tudo o que eu construi a noite toda e so me resta a realidade fria de que voce nao esta mais aqui.
ao desenvolvedor.Na linha 90 um novo objeto e inserido na posicao 2 do TList. Note que a primeira posicao e 0.Usamos o metodo Delete() para deletar um objeto em uma determinada posicao. Na linha 93 excluimos o objeto da posicao 4.Quando a TList nao e mais necessaria, liberamos a memoria usada chamando Free. Para criar uma lista de strings prefira usar TStrings ou sua descendente TStringList.
"Desenvolvendo Aplicativos com Lazarus" (agbook, 2011, 344 paginas), produzido pelo paraense Jean Patrick, reune um conjunto de informacoes valiosas sobre o IDE Lazarus, que chegam em boa hora para suprir uma necessidade urgente daqueles que, ou pretendem adotar uma nova ferramenta de desenvolvimento ou gostariam de melhorar seu conhecimento sobre o IDE.O livro esta organizado em 14 capitulos e 5 apendices. Sendo que os nove primeiros capitulos passam por varios topicos, alguns bem superficialmente tal como as paletas de componentes, e da mais destaque a configuracao no IDE no Capitulo 6.Para os que preferem acao, ela comeca mesmo no Capitulo 10. Nesse capitulo sao desenvolvidos tres projetos, o que da uma boa nocao do poder de fogo do Lazarus. Os projetos usam componentes basicos e ha farta utilizacao de eventos e codigo. Desta forma o leitor tera um bom suporte para o que vem pela frente, que e o desenvolvimento usando banco de dados.Uma introducao a banco de dados e feita no Capitulo 11. No Capitulo 12 sao usados os componentes nativos do Lazarus para conexao a bancos de dados - a paleta SQLdb. Aqui e criada uma aplicacao para controle de cheques usando o banco de dados sqlite.Um cadastro de produtos usando banco de dados Firebird e criado no Capitulo 13. Neste caso o livro apresenta o conjunto de componentes ZeosLib, ZeosLib e uma biblioteca de terceiros e considerada melhor que SQLdb para aplicacoes de maior porte.A criacao de relatorios e abordada no Capitulo 14, onde se destaca o conjunto LazReport, nativo do Lazarus. Documentacao sobre LazReport e muito raro. Esse e capitulo que vai ajudar muito aos desenvolvedores.Nos apendices destacamos os recursos do IDE para tratamento de arquivos texto e algumas dicas para programar aplicacoes multiplataforma. Inclusive e criada uma pequena aplicacao para demonstrar o uso dos componentes oferecidos pelo Lazarus para acessar arquivos texto.E uma obra que precisa do incentivo da comunidade para crescer ainda mais. Costumo dizer que so com a divulgacao de conteudo de valor e que sera possivel a disseminacao do uso deste poderoso IDE.Os interessados em adquirir um exemplar acessem o site da agbook. Dicionarios de dados sao repositorios com metadados sobre bancos de dados, que descrevem a estrutura basica de um esquema de banco de dados. Num dicionario de dados as seguintes informacoes sao armazenadas: as tabelas e os campos correspondentes, e os indices existentes nas tabelas. Alem disso, os dicionarios de dados contem atributos que definem como o conteudo dos campos devem ser visualizados: numero de casas decimais, o rotulo, a dica (hint) mostrada, tamanho do campo, entre outros.Um dicionario de dados pode ser usado por uma aplicacao Lazarus para definir as propriedades dos objetos TField; pode ser usado para criar comandos SQL, por exemplo, para criar o banco de dados descrito; e, a partir da comparacao entre dois dicionarios, as diferencas entre eles podem ser usadas para criar um script de atualizacao.Os dicionarios de dados podem ser mantidos usando o Lazarus Data Desktop, que comecamos a descrever no post Lazarus - o Lazarus Data Desktop. Usando esta ferramenta podemos criar um dicionario
novinho em folha ou importa-lo a partir de um banco de dados existente.Criando um Dicionario de DadosPara criar um novo dicionario clique no botao correspondente na barra de ferramentas conforme mostra a figura, ou tecle CTRL + N.Isso ira criar uma nova aba. Clique com o botao direito no interior da aba e em seguida na opcao New Table, ou tecle CTRL + T, para criar uma nova tabela. Digite o nome da tabela na caixa de dialogo e confirme.Agora clique com o botao direito sobre o nome da tabela recem-criada e escolha a opcao New Field. Digite o nome do campo e confirme. Um novo campo sera criado e um formulario para definir as propriedades do campo sera aberto no lado direito da interface, como podemos ver na figura abaixo.Algumas propriedades que podem ser definidas, entre outras:DisplayName - rotulo do campo que podera ser visualizado em uma TDBGrid, por exemplo;DisplayWidth - tamanho com que o campo sera exibido;FieldType - tipo de dado do campo;Apos criar todas as tabelas e campos, tecle CTRL + S para salvar.Gerando comandos SQL a partir do DicionarioPara gerar os comandos SQL pressione o botao correspondente conforme mostra a figura abaixo ou tecle CTRL + G.Essa acao ira abrir um novo formulario. Escolha a tabela para a qual deseja gerar os comandos SQL. Na lista Key fields selecione o(s) campo(s) que sera chave primaria. Na lista Select/Update/Insert fields selecione o(s) campo(s) que serao usados nos comandos SELECT, UPDATE e INSERT. Pressione o botao Generate SQL. Clique em cada uma das abas para ver os comandos gerados. Na figura seguinte mostramos o comando CREATE TABLE que foi gerado.Importando o Dicionario de DadosSe ja tivermos um banco de dados criado, podemos criar o dicionario a partir dele - processo que e chamado engenharia reversa.Inicialmente crie uma conexao para o banco de dados existente conforme mostramos em Lazarus - o Lazarus Data Desktop. Em seguida selecione no menu Dictionary > Import > From connection. As conexoes criadas na ferramenta estarao disponiveis nessa opcao. Escolha aquela para a qual voce precisa criar o dicionario.Uma caixa de dialogo sera aberta mostrando as tabelas do esquema. Selecione as tabelas desejadas, deixe marcada a caixa Update existing tables para atualizar tabelas que ja existem e confirme.Se houver um dicionario ativo na ferramenta, voce sera questionado se deseja atualizar ou criar um novo. Clique CTRL + S para salvar o dicionario. Os dicionarios de dados sao salvos com a extensao .fpd. Voce pode visualizar o arquivo de dicionario de dados usando qualquer programa que abre arquivos texto.Fica para o proximo post a utilizacao de dicionarios de dados em aplicacoes Lazarus.Post escrito tendo como referencia o livro Lazarus - the Complete Guide, publicado pela Blaise Pascal Magazine.
de ferramentas bastante intuitiva. O botao adicionar ira abrir uma nova janela onde voce podera selecionar os campos da tabela que se deseja adicionar. Apos selecionar os campos pressione o botao Create. O botao novo campo permite criar um campo de dado, calculado ou lookup. O uso desse botao ira abrir a seguinte janela:Aqui voce escolhe o tipo do campo em Field Type. Em Field properties podemos definir os valores das propriedades do campo. Depois confirme tudo pressionando Ok. Esteja sempre atento que as tabelas envolvidas na criacao dos campos devem estar abertas.Note tambem que esse procedimento ira criar variaveis do tipo TField, que podem ser usadas no codigo do nosso programa. Essas variaveis sao criadas abaixo do Data Module conforme podemos ver na figura:A partir disso, podemos acessar os campos da tabela usando essas variaveis, lembrando que elas sao objetos. Veja alguns exemplos de utilizacao desses objetos:queCidadeidcidade.Value; // le o valor do campo, inteiro nesse casoqueCidadeidcidade.AsString; // le o valor do campo convertido para stringCriacao de TFields nao e uma novidade. Isso ja existia nas versoes anteriores. Apenas ficou um pouco mais intuitivo e facil manipular a criacao desses objetos.Referencia aos parametros de um comando SQLComo sabemos, e possivel escrever comandos SQL utilizando parametros. Um exemplo e mostrado no codigo abaixo:procedure TfrmConsCidade.btnPesquisarClick(Sender: TObject);begin with dmDados.queConsCidade do begin Close; SQL.Clear; if (rgCampo.ItemIndex = 0) then begin // pidcidade e um parametro SQL.Add('select * from cidade where idcidade = :pidcidade'); // atribuicao do valor do parametro ParamByName('pidcidade').Value := StrToInt(edValor.Text); //Params[0].Value := StrToInt(edValor.Text); end else begin SQL.Add('select * from cidade where nome like :pnome'); ParamByName('pnome').Value := edValor.Text + '%'; end; Open; end;end;Em versoes anteriores nao havia o metodo ParamByName(). O acesso a um parametro era feito usando Params[]. Isso e mostrado na linha de codigo 13, que aparece comentada. O uso de ParamByName() torna o codigo mais legivel.O SQLdb melhorou muito, mas ainda aconselhamos o uso de ZeosLib.
dados de uma funcao ou procedimento, digite a mesma e dentro dos parenteses tecle CTRL + SHIFT + ESPACO. Ira aparecer uma janela de dica com os argumentos:A medida que um argumentos e digitado, o proximo fica em destaque na janela. Um botao a direita permite colar os parametros no codigo fonte.TemplatesTemplates sao modelos que podem ser inseridos no codigo. Por exemplo, suponha que voce deseja inserir um comando case no seu codigo. Digite casee no ponto onde deseja inserir e tecle CRTL + J. Sera inserido o seguinte codigo, e o cursor sera posicionado no local onde deve ser inserida a variavel do comando.Existem varios modelos prontos, mas voce pode criar os seus proprios templates usando a opcao Tools | Code Templates. Na janela que sera aberta voce usara o botao Add para adicionar novo modelo.Clique aqui para ver um rapido tutorial de como criar novos modelos. Por enquanto e isso que temos. Aproveite os recursos e explore mais possibilidades com o Lazarus
Se em suas aplicacoes voce utiliza diversos bancos de dados, e provavel que tambem precise de uma ferramenta especifica para cada SGBD, com a finalidade de criar tabelas, criar comandos DML e DDL, entre outros. A fim de centralizar todas as tarefas do desenvolvedor no Ambiente de Desenvolvimento, o Lazarus oferece o Lazarus Data Desktop. Tambem chamado Database Desktop, esta ferramenta dispoe de varios recursos, dentre os quais destacamos:Acesso a todos os bancos de dados suportados pelo Lazarus;Criacao de um dicionario de dados onde as propriedades de TFields podem ser armazenadas;Criacao de comandos DDL e DML a partir do dicionario de dados;Consulta a tabelas;Exportacao de dados de tabelas para diversos formatos: XML, JSON, CSV, entre outros.Para usar esta ferramenta. primeiramente e necessario compila-la. Ela esta localizada em tools/lazdatadesktop, no diretorio home do Lazarus. Abra entao o projeto lazdatadesktop e compile-o.Para integrar a ferramenta ao IDE, abra e instale o pacote lazDataDict, localizado no diretorio components/datadict. Apos isso o IDE sera estendido em tres novas opcoes:Um novo item de menu sera registrado no menu Project - com o nome Data Dictionary. Esta opcao ira permitir que escolhamos um dicionario de dados para o projeto;No menu Tools sera acrescentado o item de menu Database Desktop, que executa o Lazarus Data Desktop;Finalmente no Form Designer, um novo item e registrado no menu local que pode ser usado para aplicar o dicionario de dados a um TDataset - o item de menu Data Dictionary.Vejamos entao como utilizar o Lazarus Data Desktop.Conectando-se a bancos de dadosPara fazer uma conexao use a opcao de menu Connections > New connection, como mostra a figura abaixo:Esta acao abrira uma caixa de dialogo onde voce ira escolher o banco de dados:Selecione o banco de dados e voce sera levado a um novo dialogo para informar os dados da conexao:Apos informar os dados e confirmar sera solicitado um nome para a conexao. Confirme tambem, apos informar o nome e sera adicionada uma nova aba ao ambiente com as informacoes da conexao. No lado direito da tela existe a aba Run Query, que possibilita executar uma consulta e exportar o resultado da consulta, entre outros recursos.Exportando dados de uma tabelaPara exportar os dados resultantes de uma consulta, use o botao Export this data que sera habilitado apos a execucao bem sucedida de uma Query. Em seguida escolha o tipo de arquivo, por exemplo CSV, e confirme. Entao sera mostrado um dialogo onde se pode escolher os campos da tabela a serem exportados, o caminho e o nome do arquivo destino e opcoes de formatacao, conforme pode ser visto na figura a seguir.Depois de confirmar o arquivo exportado sera criado.Gerando codigo Free PascalOutro recurso importante do Lazarus Data Desktop e a criacao de codigo em Free Pascal. Pode-se gerar codigo quando estamos visualizando o resultado de uma Query ou quando estamos examinando a definicao de uma tabla no dicionario de dados.Os codigos que podem ser gerados sao:Uma constante string a partir do comando SQL quando se esta visualizando o resultado de uma consulta;O codigo para criar uma tabela DBF a partir dos dados que
estao sendo mostrados;Uma classe Object Pascal e suas propriedades baseados em um Dataset e seus campos;Uma declaracao de classe tiOPF para usar com Object Persistence Framework.Por exemplo, na aba Run Query, apos executar uma consulta, clique no botao Create pascal code for this data. Escolha em seguida a opcao Simple object/collection for the data. Sera aberto o seguinte dialogo:Nessa tela voce define o caminho e nome do arquivo onde deseja salvar o codigo e os campos da tabela que serao propriedades da classe. Para cada campo da tabela e possivel definir propriedades, bem como definir algumas propriedades da propria classe na aba Options. Confirme e uma tela com o codigo gerado sera aberta, conforme mostra a figura seguinte:Apesar de ter um botao Save, isso nao sera mais necessario, pois o codigo ja esta salvo no arquivo informado na tela anterior.No proximo post veremos os procedimentos para criar dicionarios de dados no Lazarus Data Desktop e como utiliza-los em nossas aplicacoes de banco de dados.Post escrito tendo como referencia o livro Lazarus - the Complete Guide, publicado pela Blaise Pascal Magazine.