Postado por Plinio Cruz em 24 de julho de 2010 na categoria Banco de Dados, Delphi, PHP, Programação |
Quando desenvolvemos um sistema que tem operação com base de dados é inevitável que exista relação entre as tabelas e por vezes somos obrigados a inserir dados em uma tabela e em seguida inserir novos dados em uma segunda tabela que tenha um registro de ligação entre elas.
Um caso clássico seria uma tabela de cadastro de dados onde armazenamos os dados pessoais dos envolvidos no sistema e em uma segunda tabela inserimos, por exemplo, dados referentes ao desempenho dessa pessoa, na segunda tabela, normalmente, usamos como referência um código de registro da primeira tabela para fazer a ligação.
É muito apropriado criar formulários únicos com dados que estão nas duas tabelas, para economizar processo e para agilizar o colhimento das informações, mas temos que ao gravar os dados saber se é de um envolvido já cadastrado ou um novo cadastro. Quando temos um cadastrado existente fica fácil, pois ele é reconhecido e já sabemos o número de registro dele.
No caso de um novo envolvido temos que criar um registro na tabela de cadastro e ao mesmo tempo fazer a inserção nas tabelas ligadas com o mesmo registro já criado, para isso temos comandos específicos para recuperar essa entrada sem ter que fazer várias telas de formulário e sem fazer novas consultas para resgatar o número dá última entrada, seguem os exemplos:
PHP: Basta criar uma vaiável com o comando mysql_insert_id().
$id=mysql_insert_id();
Delphi: É útil em sistemas envolvendo bilbioteca de acesso direto, sem a utilização do BDE, por exemplo o Zeos.
DM.SQLApoio.SQL.Clear;
DM.SQLApoio.SQL.Add(‘select LAST_INSERT_ID() AS “id”‘);
DM.SQLApoio.ExecSQL;
DBText1.DataField:=’id’;
DM.SQLApoio.Active:=True;
DBText1.Refresh;
Lembrando que no exemplo acima, não podemos interromper a conexão com banco, pois ele recupera o último ID da conexão que está sendo trabalhada, no exemplo acima eu coloco o valor em um DataField. Esses comandos devem ser lançados imediatamente as linhas de inserção dos dados.
Postado por Plinio Cruz em 16 de julho de 2010 na categoria Notícias, Programação |
O escritório brasileiro do World Wide Web Consortium, W3C Brasil, realizará nesta sexta-feira, 16 de julho, a quarta edição do “Café com Browser”. O evento reunirá profissionais da comunidade técnica da web para um debate sobre a nova versão do HTML e casos de uso da linguagem. O bate papo contará com as participações de Elcio Ferreira, da Visie, Robson Dantas e Danilo Augusto, da agência Click.
O evento faz parte do encerramento do curso de HTML5 promovido pela entidade durante a última semana.
O evento será transmitido pela Internet pelo endereço: http://www.w3c.br/cafecombrowser.
Outras informações podem ser obtidas através de e-mail: w3c@nic.br.
Anote na agenda
Café com Browser – “Conversando sobre HTML5: Debates e Casos de Uso”
Data: 16 de julho de 2010
Horário: 9h00 às 12h200
Local: Sede do CGI.br/NIC.br – Av. das Nações Unidas, 11.541 – 7º andar – Brooklin Novo – São Paulo – SP
Informações: http://www.w3c.br
Postado por Plinio Cruz em 15 de julho de 2010 na categoria Delphi, Programação |
O QuickReport é nativo do Delphi 7 assim como em outras versões anteriores, mas como nessa versão o foco dos relatórios foi projetado para a paleta “Rave”, o pacote está disponível, mas não está instalado. Para ativá-lo é muito fácil, siga os passos a seguir:
- Abra o Delphi;
- Menu: Component > Install Packages;
- Clique no botão Add ou teclas ALT+A;
- Localize a pasta bin dentro da pasta de instalação do Delphi, o caminho se não foi alterado, geralmente é: C:\Arquivos de
programas\Borland\Delphi7\Bin;
- Localize um pacote com o nome: “dclqrt70.bpl”, selecione e clique no botão abrir;
- Pressione o botão ok
A paleta aparecéra por último no Delphi e sua utilização é a mesma das versões anteriores, nenhuma novidade.
Abraço e até a próxima.
Postado por Plinio Cruz em 13 de julho de 2010 na categoria Editorial, Notícias, Programação |
O escritório brasileiro do World Wide Web Consortium, W3C Brasil, oferecerá cursos de HTML5 para desenvolvedores e professores. A oferta tem como objetivo atender a demanda da comunidade técnica, interessada em aprofundar os conhecimentos sobre a nova versão da linguagem, além de contribuir para divulgar a novidade entre os profissionais no mercado brasileiro.
A primeira especificação do HTML 5 foi anunciada pelo W3C no início de 2008, após dez anos sem atualizações. O HTML (Hypertext Markup Language) está atualmente em sua versão 4.0.1.
Entre as alterações estão novas Interfaces de Programação de Aplicativos (API´s) com maior interatividade; novos elementos como estruturação de seções com valor semântico; novos elementos para vídeos, áudios e gráficos bidimensionais; aprimoramento do uso com aplicações off-line; melhoria na depuração de erros; entre outros avanços.
Esta evolução da linguagem padrão para web introduzindo maior interatividade sem a necessidade de plug-ins para aplicações multimídia em navegadores, aprimora o uso para desenvolvedores e usuários. “Com a novidade, a forma como se escreve páginas na Internet passa por uma boa transformação, facilitando a reutilização de código e sua aplicação a futuros dispositivos. O HTML 5 oferece também uma experiência web totalmente diferente para os usuários, mais rápida, simples e interoperável”, diz Vagner Diniz, gerente do W3C Brasil.
O programa do curso possui duração de 36 horas, divididas em cinco dias, e cobre os principais pontos da nova versão de forma extensa e completa. “Com o curso, além de apresentar as novidades da linguagem da versão 5, poderemos organizar uma rede de interlocutores, formadores e multiplicadores com massa crítica necessária para dar continuidade aos debates em torno dos padrões”, explica Diniz.
A primeira turma, destinada somente para parceiros convidados, acontecerá entre os dias 12 a 15 de julho, nas dependências na sede do NIC.br – Núcleo de Informação e Coordenação do Ponto BR, em São Paulo, SP.
O W3C espera que os treinamentos oferecidos contribuam para que instituições de ensino organizem cursos específicos, preparando o mercado para as novidades. “Vamos iniciar o processo de disseminação, que deverá ter continuidade pela própria rede de profissionais”, afirma Diniz.
A formação de novas turmas acontecerá de acordo com a manifestação dos interessados pelo email: w3c@nic.br
Anote na agenda
Curso HTML5 – W3C Brasil
Quando: sob demanda
Horário: De segunda a quinta, das 9h às 18h
Local: Sede do CGI.br/NIC.br – Av. das Nações Unidas, 11.541 - 7º andar – Brooklin Novo – São Paulo – SP
Custo: R$ 3 mil (para as turmas já previstas, o CGI.br e o NIC.br subsidiarão 100% do valor do curso)
Pré-requisitos para participação:
- Bons conhecimentos teóricos e práticos sobre publicação na web
-Possibilidade de trazer um notebook (com qualquer sistema operacional, preferencialmente com rede wifi) para acesso aos laboratórios
- Ter instalado previamente versões atualizadas de browsers com suporte a HTML5
Obs.: Serão aceitos, no máximo, dois participantes, por organização, por curso, e será dada preferência para aquelas que não participaram de turmas anteriores.
Postado por Plinio Cruz em 7 de junho de 2010 na categoria Banco de Dados, PHP, Programação |
Nosso maior público, no desenvolvimento de sistemas personalizados, são empresas com foco em eventos e congressos, dia desses um dos nossos clientes precisou de uma solução imediata com um evento feito sem o nosso sistema. A massa de registros dos inscritos para o evento veio sem um campo, muito comum para esse tipo de segmento, que é o “nome para crachá”, onde se espera que o participante coloque como quer ser identificado, e limita-se o número de caracteres para não extrapolar o tamanho da etiqueta que se utiliza na credencial.
A massa era grande, aproximadamente 1200 participantes e estava alocado em servidor alheio, não poderíamos fazer nenhuma modificação na base do evento, formação de conteúdo em novo campo, etc. Então utilizamos uma combinação de funções para solucionar o problema, partimos da proposta que os participantes não escolheriam seus nomes para a credencial e sim que essa identificação seria formada pelo primeiro nome e o último sobrenome. Veja como ficou:
SELECT
Upper(concat(SUBSTRING_INDEX(`cadastrogeral`.`nome`,’ ‘,1),’ ‘,SUBSTRING_INDEX(`cadastrogeral`.`nome`,’ ‘,-1))) AS `cracha`
FROM
`cadastrogeral`
No exemplo acima se temos no campo “nome” o conteúdo: “José Pedro dos Santos” teremos como “crachá” o retorno “JOSÉ SANTOS”.
Considerações:
- Upper: deixa todas as palavras que retornaram a seleção com a letra maíuscula.
- SUBSTRING_INDEX(campo,caracter diferencial,índice), no primeiro caso do exemplo acima pegamos o grupo de caracteres até o primeiro espaço em branco, partindo do começo do registro. Já na segunda parte fazemos a mesma puxada só que o índice “-1″ faz a busca começar do final do registro.
- AS cria um alias para tratarmos na puxada já nas linhas de código.
- Sei que poderíamos fazer esse processo via PHP, mas temos que concordar que dessa forma economizamos linhas e processo de programação e processamento e já que vamos ter que fazer uma consulta ao banco de dados que ela já venha pronta.
- Esses processos não mudam muito o tempo da puxada, ainda mais se você pensar que o processo era individual, ou seja, na hora do credenciamento, portando a pesquisa era limitada por um WHERE, era específica, retornarva um só registro e fazia o processo de concatenção com as partes do nome.
Um abraço e até a próxima