thegoodfellas/blogset-br huggingface dataset:
na table window o usuario pode modifica-los caso queira. No exemplo, da forma como ele esta neste ponto, ja e possivel que o usuario modifique as informacoes das celulas. Nosso proximo passo e salvar no banco de dados estas edicoes. Obs: Nao faz parte do objetivo deste tutorial mostrar tecnicas de como evitar que o usuario modifique a chave primaria da tabela, isso sera visto em outro momento. Portanto assumiremos que a coluna COMPANY_ID nao sera modificada e nao faremos nenhum controle para garantir isso. Para salvar edicoes feitas nesta tabela basicamente e necessario preparar um comando UPDATE, identificar as linhas que foram editadas pelo usuario e executar o comando Update para os dados da linha editada. Para efeitos didaticos o comando Update sera armazenado numa variavel chamada sCmdUpdate, conforme definicoes abaixo: Baseando-se neste comando e possivel partir para a atualizacao em si. Novamente serao mostrado os metodos automatico e manual. Devido a simplicidade desta operacao o codigo sera mostrado com os dois metodos juntos. Como segue abaixo: Primeiramente deve-se preparar o comando UPDATE que sera executado para salvar as linhas editadas. Esta e uma etapa necessaria para ambos os metodos e esta sendo feita atraves da chamada da funcao SqlPrepare, e a primeira instrucao deste trecho de codigo. Para o metodo automatico basta executar a funcao SalTblDoUpdates passando como parametro o handle da table window onde estao os dados alterados, o handle da conexao com o banco de dados que teve o comando Update preparado e um flag indicando se e para a funcao remover visualmente da table window o flag de que a linha foi editada. O metodo manual e um pouco mais trabalhoso requerendo mais linhas de codigo, porem e inegavel o poder e controle que o metodo manual oferece numa operacao dessas. O trecho de codigo executa as seguintes acoes: A variavel nLinha e usada como ponteiro das linhas a serem trabalhadas. Tem seu valor setado para 1 para que o laco que se segue inicie e percorra todas as linhas da table window. A condicao do laco While e o retorno da funcao SalTblFindNextRow que sempre retornara TRUE caso encontre alguma linha que satisfaca a condicao relativa aos flags que a linha possuir, neste caso esta filtrando apenas as linhas com flag ROW_Edited = TRUE. Isso garante que o laco While seja executado apenas para as linhas que efetivamente foram editadas. Apos identificar a linha que foi editada e necessario setar o contexto de trabalho para ela, e isso que a funcao SalTblSetContext faz. Foco setado e preciso executar o comando Update para a linha, isso e feito com a funcao SqlExecute. O flag de linha editada e removido pela funcao SalTblSetRowFlags. Quando todas as linhas marcadas com o flag de edicao forem atualizadas o laco e encerrado e a funcao SalTblSetRow move o foco para a primeira linha da table window para que o usuario, apos a carga da tabela ter sido concluida possa visualizar as primeiras linhas da table window. Excluindo linhas da table window Para a exclusao de linhas os comandos necessarios para procurar
e como as janelas se comportarao para cada tipo de resposta: Caso seja escolhido inserir dados usando a Split Window, a interface se comporta como tal e a split window e criada. Caso seja respondido nao a aplicacao perguntara se a nova linha devera ser inserida acima ou abaixo, na table window. Abaixo seguem uma ilustracao mostrando a nova linha inserida no cabecalho da table window. No programa exemplo, o codigo ficou assim: Apos tratar esta questao de onde a linha nova sera inserida para que o usuario possa digitar os dados da linha nova, a gravacao das linhas novas segue o mesmo padrao adotado para update e delete. Portanto o codigo da funcao que salva as linhas inseridas e esse: Conclusao Esta pronta uma aplicacao CRUD tipica em Team Developer feita atrabes de table window mostrando dois metodos de codificacao, um mais simples e rapido de codificar (tratado no artigo comom metodo automatico), e outro metodo mais detalhado que alguns podem achar mais trabalhoso e menos produtivo (chamado no artigo de metodo manual). O artigo nao trata de questoes de produtividade no desenvolvimento, mas sim de forma basica como fazer uma aplicacao CRUD. Pretendo mostrar em outros artigos propostas de solucoes para obtermos ganho de produtividade bem como explorar muitos outros recursos da table window. Para fazer o download do codigo fonte clique aqui.
Estou compartilhando uma ferramenta que fiz para ajudar na escrita de comandos SQL (Select, Insert, Update e Delete) principalmente quando a tabela possuir muitas colunas. Basta escolher a tabela e as colunas que deseja usar que o programa gera os comandos. A ideia e evitar que o desenvolvedor perca tempo escrevendo e procurando bug de digitacao em comandos SQL imensos. Numa visao resumida, use-o assim: Login Por enquanto o aplicativo so esta funcionando com Oracle. Para usar com outro SGBD e preciso fazer algumas alteracoes na aplicacao. Se voce deseja salvar as informacoes de login, marque o checkbox apropriado nesta janela. E se nao quiser que a senha seja salva marque o outro checkbox. Aviso .... a senha nao e criptografada. Portando.... pense bem se pode expor assim sua senha de banco. Janela principal E nesta janela onde as coisas acontecem, onde voce pode configurar como seus comandos serao montados. Primeiramente escolha a tabela que deseja trabalhar. Algumas colunas serao meramente informativas. Mas duas delas sao importantes e interferem na geracao dos comandos. As colunas Select e Where sao checks e quando selecionadas indicam que a coluna da linha correspondente sera incluida na geracao dos comandos. Quando a celula da coluna Select estiver marcada a coluna correspondente a linha sera utilizada para manipulacao dos dados, ou seja, sera usada nos comandos Select, Insert e Update. Quando a celula da coluna Where estiver selecionada, a coluna correspondente a linha sera utilizada nos filtros de dados dos comandos Select, Update e Delete. As colunas Utilizar no INTO e Utilizar no Where sao preenchidas automaticamente pelo SQLCmdWriter com sugestoes de nomes das variaveis, datafields e colunas. Sao sugestoes que serao usadas nos comandos montados. Eu me refiro a estas colunas como sendo o local onde se especifica os nomes dos objetos da aplicacao. Os nomes dos objetos da aplicacao variam de acordo com a selecao que estiver feita na faixa de opcoes. Se voce quiser usar variaveis como objetos da aplicacao usados nos Where dos comandos, deixe selecionado o botao usar como variaveis no grupo Filtragem da faixa de opcoes. Se quiser que os objetos da aplicacao sejam nomeados como data fields, deixe selecionado o botao usar como Data Fields. Da mesma forma caso queira usar as colunas da table window. Siga o mesmo padrao para os objetos da aplicacao usados na manipulacao dos dados selecionando os botoes da faixa de opcoes Manipulacao dos dados. Ha um menu de contexto escondido nas colunas Select e Where para ajudar na selecao de multiplas linhas. Para aciona-lo efetue um clique duplo nessas colunas e experimente. Voce pode eventualmente escrever o nome dos objetos da aplicacao da forma como desejar. Quando quiser gerar os comandos, clique no botao Gerar comandos. Os comandos serao mostrados em uma janela que permite que sejam editados e copiados para o seu aplicativo. A ideia deste aplicativo e ajudar na montagem de comandos SQL para manipulacao de uma unica tabela. Quanto mais colunas a tabela tiver, maior seja a ajuda. Estou estudando a possibilidade de numa proxima versao fazer com que o SQLCmdWriter
escreva no codigo fonte as colunas, variaveis e data fields caso nao existam. Mas vai depender de tempo e se a comunidade vai achar essa ferramenta util. Divirtam-se. Link para o download do SQLCmdWriter no OneDrive.
Team Developer ha alguns anos, o banco ISLAND.A aplicacao e bem simples e funcionou rapida e sem problemas num acesso atraves de wi-fi.Abaixo segue algumas imagens da navegacao atraves do site: Pagina de login na aplicacao A sequencia abaixo mostra as paginas de uso da aplicacao apos a navegacao ter sido iniciada escolhendo uma empresa cliente. Relacao de clientes Detalhes do cliente Cada cliente possui invoices associadas a ele e cada invoice possui algumas informacoes de cadastro. Estas duas paginas sao mostradas abaixo: Relacao de invoices Detalhes de uma invoice A pagina abaixo mostra os itens que compoem uma invoice A pagina abaixo mostra o nivel maior de detalhe, onde e possivel ver a imagem da estampa da camiseta. A aplicacao foi testada com sucesso num smartphone rodando Windows Phone 8. links pagina do TD Mobile: http://guptatechnologies.com/Products/App_Dev/TDMobile/default.aspx pagina da aplicacao: https://tdmobile.guptatechnologies.com/Island/Login
Este estudo de caso procura mostrar algumas sugestoes de formatacao para campos de edicao do tipo data field e table window column para receber e mostrar datas e horas. A formatacao destes campos e feita em tempo de design, no ambiente de desenvolvimento do SQLWindows, utilizando-se o Attribute Inspector. Neste estudo de caso vamos nos concentrar em formatacao de campos de data e hora. Entendendo a formatacao Objetos tipo data field e table window column permitem a edicao do seu conteudo. Apos o usuario encerrar a edicao e tirar o foco do objeto o SQLWindows aplica a configuracao de formato que voce definiu para o objeto mostrando a informacao no formato especificado. A formatacao de campos no SQLWindows esta concentrada em dois locais que voce precisa conhecer bem, a secao Formats e o Attribute Inspector. A secao formats esta localizada no interior da secao Global Declarations, como voce pode ver abaixo: figura 1. Na secao Formats estao definidos todos os formatos utilizados pela sua aplicacao. Voce deve manter nesta secao apenas os formatos utilizados, evite deixar aqui formatos que nao estao sendo utilizados. Esta observacao torna-se uma regra quando estiver utilizando Dynalibs. Voce pode determinar como um campo sera formatado de forma bem simples, basta selecionar o campo e procurar no Attribute Inspector pela propriedade Format, selecionando a formatacao que desejar. figura 2. Voce pode formatar um campo de duas formas: escolhendo um dos formatos ja existentes e mostrados no combo Box de tipos de formatos. personalizar a formatacao informando uma nova mascara que se adapte melhor as necessidades da sua aplicacao. Para formatar um campo de forma personalizada voce precisara conhecer os caracteres que compoem a mascara de formato e suas funcoes: Caracter Funcao d Mostra o numero do dia , sem o zero a esquerda ( 1-31 ) dd Mostra o numero do dia , com o zero a esquerda ( 01-31 ) ddd Mostra o nome do dia abreviado ( Seg-Dom ) dddd Mostra o nome completo do dia ( Segunda-feira Domingo ) M Mostra o numero do mes, sem o zero a esquerda ( 1-12 ) MM Mostra o numero do mes, com o zero a esquerda ( 01-12 ) MMM Mostra o nome do mes abreviado ( Jan-Dez ) MMMM Mostra o nome completo do mes ( Janeiro-Dezembro ) yy Mostra o ano com dois digitos yyyy Mostra o ano com quatro digitos hh Mostra a hora ( 0-12 ) hhhh Mostra a hora ( 0-24 ) mm Mostra os minutos ( 0-59 ) ss Mostra os segundos ( 0-59 ) mmmmmm Mostra os milesimos de segundos ( 000000-999999 ) AMPM Mostra hora no formato internacional Basicamente um formato precisa ser definido nos mesmos padroes dos formatos do MS Excel. Fique atento ! Uma outra maneira de formatar campos e utilizando a formatacao pre-configurada pelo SQLWindows, conhecida como profile-driven, escolhendo um pais na lista chamada Country. Porem este recurso foi descontinuado e esta presente apenas para efeito de manter a compatibilidade, recomendamos que voce nao utilize este recurso. Se estiver utilizando recomendamos que troque para os formatos
pre-definidos na lista de formatos do Attribute Inspector. Maos a obra ! Agora que voce ja conhece os caracteres utilizados na definicao dos formatos, suas funcoes e sabe onde e feita a definicao dos formatos podemos exercitar um pouco. Este exemplo chama-se Estudo de caso - 1.apt e esta disponivel para download aqui:
Muitas atencoes estao voltadas para o Team Developer 6 e isso e normal, ainda mais agora que o TD 6 esta inserido no contexto .NET. Muita informacao sobre isso esta disponivel no site da Unify, blog, twitter e tudo o mais... Inicio aqui a escrita de alguns artigos sobre gerenciamento de projetos utilizando como ferramenta o Team Developer, que acompanha o pacote do Team Developer. Pretendo mostrar um pouco de como esta ferramenta funciona. O TOM ( Team Object Manager ) e uma ferramenta para gerenciamento de projetos envolvendo codigo fonte, equipe e normas de projeto. Todas as atividades do TOM sao baseadas num repositorio, nele sao inseridos nao apenas os arquivos que compoem o projeto mas tambem e montada a estrutura das equipes e as regras de trabalho em equipe. Nao ha limites para a quantidade de projetos bem como tamanho das equipes que o TOM pode gerenciar. Basicamente o que precisa ser feito para usar o TOM para gerenciar seus projetos e: - instalar e configurar um repositorio - inserir no TOM dados sobre sua equipe, projetos e os arquivos do projeto - iniciar o uso Primeiro passo para usar o TOM e gerenciar um projeto e a criacao de um repositorio caso este ainda nao exista. O repositorio e uma estrutura criada num banco de dados usada pelo TOM para o gerenciamento dos projetos. Use o Repository Setup Wizard para criar seu repositorio. Janela inicial do Repository Setup Wizard Apos criar o repositorio execute o Team Object Manager para finalizar o restante das configuracoes iniciais do repositorio. Sera criado um projeto padrao, chamado #STARTER. As personalizacoes feitas neste projeto serao levadas aos demais projetos criados neste repositorio. Portanto, vale a pena passar um tempo configurando o projeto #STARTER. (isso sera mostrado aqui em breve) Dentro do TOM Existem muitos componentes dentro de um projeto do TOM e que sao todos explicados no manual em pdf que acompanha o produto (books\team.pdf na pasta de instalacao do Team Developer). Janela de login do Team Object Manager 6.0 O TOM oferece uma interface similar a interface do Windows facilitando muito o uso, ao lado esquerdo temos a janela de folders onde seus detalhes, apos escolhido um item, e mostrado na janela na lateral direita. Para usar um projeto vamos iniciar com a criacao de alguns usuarios que farao parte da equipe que usara o TOM. Etapas para criacao de usuarios no TOM Devem ser criados no TOM um login para cada usuario que de fato participa do projeto. Nao apenas desenvolvedores mas toda a equipe que normalmente e composta por desenvolvedores, lideres de projeto, toda a equipe de testes, documentacao atendimento aos clientes etc. Abaixo uma pequena equipe montada para dar suporte aos exemplos que se seguirao. Uma vez a equipe criada o proximo passo e criar o projeto. Voce pode fazer isso rapidamente e escolher se deseja herdar as caracteristicas de algum projeto anterior ou se o projeto recem-criado sera baseado no projeto #STARTER. Siga as instrucoes solicitadas pelo wizard para criacao do novo projeto. Ha uma decisao muito importante a
ser tomada e que deve ser informada no momento de execcao do wizard que diz respeito ao local onde os arquivos do projeto serao armazenados. Por questoes de seguranca podem ser armazenados no banco de dados ou numa pasta de rede por exemplo, em algum servidor. Isso fica a criterio de cada um mas eu tenho usado armazenamento em banco de dados e nunca tive problemas. Uma vez criado o projeto e hora de preparar a estrutura do seu projeto no TOM, adicionar alguns arquivos e configurar as regras. Neste ponto a equipe de gestao da configuracao entra em acao e descarrega aqui suas normas e padroes a serem seguidos. Como ideia simples para um projeto, segue abaixo uma sugestao: Exemplo de estrutura de um projeto Projeto criado, algumas configuracoes basicas que recomendo para o projeto sao: Armazenamento dos arquivos do projeto em repositorio Esta opcao diz para o TOM armazenar todos os arquivos que compoem o projeto no banco de dados. As tabelas do TOM serao usadas e mantidas por ele mesmo, nenhum trabalho de gestao do banco e necessario, os DBAs nao necessitarao gerenciar aquivos por conta dessa opcao. No maximo, em alguns casos, deverao apenas preocupar-se com questoes de espaco alocado para armazenamento. Local para extracao dos arquivo de trabalho Esta opcao indica a pasta onde os arquivos permanecerao durante o periodo em que o usuario trabalha com os arquivos do repositorio. Normalmente uma pasta para uma area reservada para o usuario e a opcao mais coerente. Proximos passos: - adicionar arquivos ao projeto - associar arquivos a grupos de seguranca - check-in e check-out
O Team Developer 6.0 esta a caminho! Foi iniciado o programa de beta e ainda para este ano esta previsto o lancamento da versao 6. Ja citei algumas vezes sobre os recursos do TD6 ... entre os principais, ao meu ver, estao o fato de o TD6 ser .NET e o suporte a WPF controls. Sao tantas novidades no produto que nem sei por onde comecar :) Como exemplo vou mostrar uma sugestao de solucao para usarmos as abas do Team Developer de forma que possam ter abas aninhadas, ou seja, abas cujo conteudo e outro conjunto de abas.A partir do Team Developer 6.1 este tipo de solucao poderia ser feita, muito mais facilmente usando o objeto child tab. Porem, para todas as versoes anteriores (que nao possuem este controle de Tab) esta solucao apresentada abaixo e recomendada.Primeiramente inclua a biblioteca qcktabs.apl na sua aplicacao.A ilustracao abaixo mostra a aba filha. E o formulario filho que contem tres abas que em run-time serao mostradas como sendo filhas de uma aba principal.Como pode ser visto, trata-se de um formulario simples com tres abas filhas. No codigo abaixo e possivel ver os objetos adicionados a cada uma das tres abas.Em seguida e criado o formulario principal, que sera o container das abas. E como se fosse a janela principal de configuracoes. E nesse formulario que sera adicionado o formulario criado anteriormente com as tres abas.Como pode ser visto acima, trata-se de um formulario sem nenhum conteudo, apenas as tres abas sendo que na aba central sera adicionado o link para que seu conteudo seja personalizado.Para personalizar o conteudo da aba, basta clicar com o botao direito na aba desejada e acionar o menu Tab Frame Properties.Isso dara acesso a janela acima, onde e possivel fazer o link entre a aba e o formulario que sera exibido como conteudo da aba.A imagem acima mostra em tempo de design a visualizacao da aba cujo conteudo associado e um formulario.Em tempo de execucao o efeito e muito interessante. Como pode ser visto acima, as abas ficam aninhadas.E possivel aplicar este conceito em qualquer versao do Team Developer acima da versao 5.0 do SQLWindows 16bits ate a mais atual TD 6.2.Unica restricao que precisa estar clara e que, uma aplicacao usando este tipo de aba nao pode ser compilada para .Net e nao pode executar em browser.divirtam-se !:)Arquivo APT compativel com o TD5.2 disponivel para download Ache 5 palavras que envolva lugares do mundo:e poste um comentario falando as palavras que encontrou!R L J D C H D J U F J S H J H D B C N A M A D R I D N S O O J L M M M N D F Y T E C D A W Q P C M N B G D T H S B J J L N L L M B H N B B V C D X S Z S Z Z RN R H N K B F D B H F G J G J H K D S
S Q S B M F Q WE H D J G N G H T Y U I O P C L K J H G G F D A A Z X CD H H H H H G H H A Z X C V B N M Q W E R T T Y U I O DE K K K K K E Q W E R R T Y U I O P J G D S V R N M SR L L L L L L L M N B V C X Z A S D F G H J K L C P O I T G G G G G G G E K P A O D E A C U C A R J L L C V D RS C C C C C C C S N J K H L I P H G M A R A C A N AUUI J S B S A N B M X A N N H MH S D D D D D D D D D D D R K M N V F S R T Q W M M X S A W P C Z O J U G H Y M C Y T R E W Q N H C X M L O N T Y L O P C N H Y Q W R
Hoje vou fazer uma critica ao futebol brasileiro!Todos os dias,so falar em Ronaldinho Gaucho e Ronaldo!No campeonato carioca,elegeram o Ronaldinho como o melhor atacante da competicao,e ele fez apenas 4 gols,ja o seu companheiro de time(que e melhor que ele)Tiago Neves fez 8 gols,Loco Abreu 9 e Fred fez um tanto que eu nem sei a quantidade!Ja sobre o Ronaldo e gostei muito do futebol dele,mas nao da mais pra ficar escutando falar que ele e o melhor jogador depois de Pele!Maradona e melhor.Messi,cristiano Ronaldo,xavi e Iniesta sao muito melhores!! ESPORTE:Resultados dos jogos da serie A:Figueirense 1x0 Cruzeiro Fluminense 0x2 Sao PauloAtletico-MG 3x0 Atletico-PR America-MG 2x1 BahiaCoritiba 0x1 Atletico-GO Palmeiras 1x0 BotafogoCeara 1x3 Vasco Flamengo 4x0 AvaiSantos 1x1 Internacional Gremio 1x2 Corinthas O bloco misteriosoEra uma vez um grupo de amigos chamados Rita, Paulo, Bruna, Rafael e Ana Filipa.A escola onde eles andavam era dividida em quatro blocos. Eram demasiados portanto. Como tal, nao havia professores suficientes para se dar aulas nesse bloco. Como nao era usado para nada, os professores comecaram a ir para la preparar as suas aulas.Quando o grupo de cinco amigos deu conta de que isso acontecia, ficaram com curiosidade em saber o que tao misterioso tinha aquele bloco, ja que nunca tinham visto os professores sairem de la. Eles no inicio apenas achavam que, por coincidencia, nunca tinha acontecido. Mas, passado algum tempo, comecaram a estranhar imenso. Ja nao podia ser coincidencia. Algo se passava. A verdade e que nunca ninguem tinha visto sair de la algum professor. E tambem era verdade que eles nao voltavam a escola para dar aulas. Mas era impossivel saber o que se passava, porque qualquer pessoa que la entrasse, nao voltava a sair. Simplesmente desapareciam se deixar qualquer rastro... 1-Qual e o nome da pessoa que leva a outra para almocar?CANIBAL!2-O que uma arvore falou para a outra,que chegou atrasada ao encontro?Voce me deixou plantada!!!!3-Qual sao os peixes que os arbitors,mais gostam de comer?Robalo e Traira! x = 10; int y = 10; print (x + y); Qual o nome do filme? O Codigo da 20A filha convida a mae para morar com ela e o marido. Qual e o nome do filme? Como Perder um Homem em 10 Dias Sabedoria Precoce: Ari Toledo explicando o ditado popular. Conhece aquele ditado popular que diz: "Enquanto voce vem com o fuba, eu ja fiz a polenta?" Pois e, o Ari Toledo explica esse ditado assim:A garotinha de seis aninhos chega para o pai e pergunta:- Papai, como foi que o Pedrinho nasceu?Pego de surpresa, ele tenta resolver a situacao da melhor maneira possivel:- Ele foi entregue por um lindo coelhinho branco...- E o Luisinho?- Ele foi encontrado dentro de uma linda flor no jardim...- E eu?- Voce foi entregue por um passaro enorme, com lindas penas azuis...- Mas que droga! Ja vi que ninguem trepa nesta casa! Codigo: 002Casa Padrao (Venda)Jardim Vista Alegre - Embu - Sao PauloDormitorios: 3Banheiros: 1Vagas: 1 Mobilia: Nao MobiliadoIdade do Imovel: 2 ano(s)Area Total: 140,00 m2(VEJA FOTOS NO SITE WWW.OMNIUMIMOVEIS.COM.BR) Rua Joao da Cruz e Souza, 260