Re: [delphi-br] Tratamento de XML
Diego , voce esta gerando o XML ou esta lendo ?? At 16:59 10/12/2009 -0200, you wrote: Sim, mas imagine o seguinte... eu tenho vários nós filhos (50 por exemplo) e não sei se alguns deles tem ou não tem valor. para todos os nos filhos eu verifico se o valor que pretendo gravar esta em branco, caso esteja eu não adiciono o no filho mas para chegar nessa etapa eu obrigatoriamente tenho que adicionar o nó o pai, nessa o nó pai pode ficar vazio no final. *Diego Garcia* Twitter: http://www.twitter.com/drgarcia1986 2009/12/10 Marcio Luis mar...@sulfabril.com.br se voce estiver gerando o no filho , simplismente nao gere ele . att. Marcio. At 16:09 10/12/2009 -0200, you wrote: Amigos boa tarde... Gostaria de saber se existe alguma maneira de *limpar* os nós sem valor de um xml. Pro exemplo, estou montando um *XML* com o *TXMLDocument *, adiciono um nó que será um *nó pai* de outros nós que viram na sequencia... Por ventura, nenhum *nó filho possui valor *ou seja, terei o que chamamos de *nó perneta *. Gostaria de saber se existe alguma forma de remover esses nós do xml final de preferência utilizando o próprio *TXMLDocument *ou mesmo tratamento de texto mesmo.. *xml de exemplo*: *pessoa* *nome*João*/nome* * idade*50*/idade* *ende / * esse nó seria um nó pai de outros 5 nós filhos por exemplo */pessoa* Preciso disso pois, alguns *WebServices *(como por exemplo *NFe*) obrigam a remoção desses nós. desde já, muito obrigado. -- *Diego Garcia* Twitter: http://www.twitter.com/drgarcia1986http://www.twitter.com/drgarcia1986 [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas] -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM
Re: [delphi-br] Enc: Componente para versão d emo.
Proteção 100% e Free, Nem pagando é 100% Proteção contra pirataria é um paradoxo, não existem proteções, se um hacker/cracker quiser piratear teu programa ele o faz em poucos minutos, quando um programa não é pirateado é porque teu programa não tem interesse pra ninguém, quando alguem se interessa por um programa pode procurar um em P2P que encontra, não se preocupa com isso, procura vender teu programa Para o que você deseja, o melhor até hoje que conheço (OpenSource), tem para Delphi/Lazarus, é o OnGuard, leia esta informação: http://saladadebits.blogspot.com/2007/03/onguard-proteo-contra-cpias.html Jose Ferreira escreveu: Colegas do Grupo, Gostaria de distribuir um sistema meu, na condição de DEMO para 30 dias. Qual componente ou código eu uso para controlar e proteger contra pirataria. O componente de preferência free, e com exemplo. TFA josé ferreira
[delphi-br] Abrir arquivo
Olá pessoal, criei um programa, para abrir determinada extensão de arquivo. Configurei no windows para que ao clicar com o botão direito em cima do arquivo, o windows reconhecesse qual é o programa que ira ser usado. Até ai tudo bem, mas como que eu posso pegar o endereço do arquivo que eu cliquei com o botão direito ??? Uberdam Cavaletti Programador Delphi Formado em Tecnologia da Informação Pós-graduado em desenvolvimento Java. Professor Tópicos Especias em BD - Unoesc Xanxerê Professor Estruturas de Dados- Unoesc Xanxerê http://buscatextual.cnpq.br/buscatextual/visualizacv.jsp?id=K4251629Y0 Veja quais são os assuntos do momento no Yahoo! +Buscados http://br.maisbuscados.yahoo.com [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] Abrir arquivo
bom nao sei como funciona no evento de botao direito do windows.. mas o correto eh vc adicionar a classe da sua extensao no registro de arquivos do windows.. e configurar com acao open, assim o windows ja chama seu programa com o endereço do arquivo na frente dele como parametro 2009/12/11 Berdam berdamzi...@yahoo.com.br Olá pessoal, criei um programa, para abrir determinada extensão de arquivo. Configurei no windows para que ao clicar com o botão direito em cima do arquivo, o windows reconhecesse qual é o programa que ira ser usado. Até ai tudo bem, mas como que eu posso pegar o endereço do arquivo que eu cliquei com o botão direito ??? -- Uberdam Cavaletti Programador Delphi Formado em Tecnologia da Informação Pós-graduado em desenvolvimento Java. Professor Tópicos Especias em BD - Unoesc Xanxerê Professor Estruturas de Dados - Unoesc Xanxerê http://buscatextual.cnpq.br/buscatextual/visualizacv.jsp?id=K4251629Y0 -- __ Veja quais são os assuntos do momento no Yahoo! +Buscados http://br.maisbuscados.yahoo.com [As partes desta mensagem que não continham texto foram removidas] -- Leandro, MuTukA [As partes desta mensagem que não continham texto foram removidas] -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM * Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages * Para falar com o moderador, envie um e-mail para: delphi-br-ow...@yahoogrupos.com.br Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ * Para sair deste grupo, envie um e-mail para: delphi-br-unsubscr...@yahoogrupos.com.br * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
[delphi-br] Re: Abrir arquivo
Dentro do seu EXE pega nos Params. O windows executará sua aplicação passando com parâmetro o arquivo a ser aberto. Luciano C. Simoes --- Em delphi-br@yahoogrupos.com.br, Leandro mutu...@... escreveu bom nao sei como funciona no evento de botao direito do windows.. mas o correto eh vc adicionar a classe da sua extensao no registro de arquivos do windows.. e configurar com acao open, assim o windows ja chama seu programa com o endereço do arquivo na frente dele como parametro 2009/12/11 Berdam berdamzi...@... Olá pessoal, criei um programa, para abrir determinada extensão de arquivo. Configurei no windows para que ao clicar com o botão direito em cima do arquivo, o windows reconhecesse qual é o programa que ira ser usado. Até ai tudo bem, mas como que eu posso pegar o endereço do arquivo que eu cliquei com o botão direito ???
[delphi-br] Re: webbrowser
Não sei nem como cheguei a pedir ajuda. eu fazia assim. usava stringlist List.Delete(50); List.Insert(50, Dados); e assim eu fazia as modificações necessárias, deletando a linha e inserindo a nova linha modificada e depois acessava. então vi o problema e o stringlist veio a cabeça e assim fazer com ele todo o arquivo e pensei assim não serve e me fui para o Google. compliquei as coisas. depois de aliviar a cabeça é que me dei por conta que estava só complicando. arqhtm := TStringList.Create; aqui são as linhas fixas arqhtm.Add(' '); arqhtm.Add(' '); aqui a linha que tenho que modificar arqhtm.Add(Dados); --- Em delphi-br@yahoogrupos.com.br, EmbarcaDelphi embarcadel...@... escreveu Poderia nos dizer como resolveu? Você deixando a solução na lista, um dia alguém pode precisar e fica registrado. joaoschroeder escreveu: Resolvido
[delphi-br] Persistir Set of Type
Gostaria de saber se é possível gravar no banco de dados o estado de uma variavel do tipo set of Type Enum. Se não estou enganado, uma vez vi um código delphi que gerava um número inteiro de um set e gravava num arquivo.ini. ex: Type TMeuTipo = (a,b,c,d); type TMeuTipoSet = set of TMeuTipo; var tiposet: TMeuTipoSet; begin //usuário faz algo em tela que resulta em: tiposet := [b,d]; cds.FieldByName('campo').value := tiposet; //isso é possível? //para depois em algum momento ao carregar o form eu possa: tiposet := cds.FieldByName('campo').value; end; obrigado desde já, Higor Granzoto
RES: [delphi-br] Persistir Set of Type
Tipos enumerados internamente são representados como números inteiros. Portanto, o tipo de dados para um campo armazenar um dado enumerado deve ser inteiro. Assim sendo, seu código deveria ser mais ou menos assim: type TMeuTipo = (a, b, c, d); TMeuTipoSet = set of TMeuTipo; var TipoSet: TMeuTipoSet; begin TipoSet := [b, d]; { } cds.FieldByName(campo).AsInteger := Integer(TipoSet); { } TipoSet := TMeuTipoSet(cds.FieldByName(campo).AsInteger); end; Tente isto. Sds. De: delphi-br@yahoogrupos.com.br [mailto:delphi...@yahoogrupos.com.br] Em nome de Higor Enviada em: sexta-feira, 11 de dezembro de 2009 13:59 Para: delphi-br@yahoogrupos.com.br Assunto: [delphi-br] Persistir Set of Type Gostaria de saber se é possível gravar no banco de dados o estado de uma variavel do tipo set of Type Enum. Se não estou enganado, uma vez vi um código delphi que gerava um número inteiro de um set e gravava num arquivo.ini. ex: Type TMeuTipo = (a,b,c,d); type TMeuTipoSet = set of TMeuTipo; var tiposet: TMeuTipoSet; begin //usuário faz algo em tela que resulta em: tiposet := [b,d]; cds.FieldByName('campo').value := tiposet; //isso é possível? //para depois em algum momento ao carregar o form eu possa: tiposet := cds.FieldByName('campo').value; end; obrigado desde já, Higor Granzoto [As partes desta mensagem que não continham texto foram removidas]
[delphi-br] Re: Persistir Set of Type
Não atenderia você gravar os indexs do tiposet? Luciano C. Simões --- Em delphi-br@yahoogrupos.com.br, Higor higo...@... escreveu Gostaria de saber se é possível gravar no banco de dados o estado de uma variavel do tipo set of Type Enum. Se não estou enganado, uma vez vi um código delphi que gerava um número inteiro de um set e gravava num arquivo.ini. ex: Type TMeuTipo = (a,b,c,d); type TMeuTipoSet = set of TMeuTipo; var tiposet: TMeuTipoSet; begin //usuário faz algo em tela que resulta em: tiposet := [b,d]; cds.FieldByName('campo').value := tiposet; //isso é possível? //para depois em algum momento ao carregar o form eu possa: tiposet := cds.FieldByName('campo').value; end;
[delphi-br] Re: Persistir Set of Type
Serei obrigado a fazer em último caso. Mas ainda gostaria de ver se é possível daquele jeito. Valeu. --- Em delphi-br@yahoogrupos.com.br, simoesluciano simoesluci...@... escreveu Não atenderia você gravar os indexs do tiposet? Luciano C. Simões --- Em delphi-br@yahoogrupos.com.br, Higor higorrg@ escreveu Gostaria de saber se é possível gravar no banco de dados o estado de uma variavel do tipo set of Type Enum. Se não estou enganado, uma vez vi um código delphi que gerava um número inteiro de um set e gravava num arquivo.ini. ex: Type TMeuTipo = (a,b,c,d); type TMeuTipoSet = set of TMeuTipo; var tiposet: TMeuTipoSet; begin //usuário faz algo em tela que resulta em: tiposet := [b,d]; cds.FieldByName('campo').value := tiposet; //isso é possível? //para depois em algum momento ao carregar o form eu possa: tiposet := cds.FieldByName('campo').value; end;
[delphi-br] Montar Menu
Olá Pessoal. Vou tentar explicar o que estou precisando, vamos ver se consigo: Tenho alguns sistemas desenvolvidos (Delphi 7) para varios tipos de empresas. Consultorio Odontologico, Corretora de Seguro, Advogados, etc... Desenvolvo o sistema em pacotes (bpl), ou seja, cada form do meu sistema é transformado em uma bpl que quando solicitada é carregada pelo sistema. Com isso o executavel do meu sistema fica com 50 kb, e ainda quando preciso prestar assistência, eu corrigo somente a bpl que esta com erros. Bom, como o sistema é um só, alguns modulos são comuns para as profissões (financeiro, clientes, etc...), para isso, o menu principal, ou a tela principal do meu sistema é feita apenas com um Treeview, que é carregado de acordo com o usuário logado e os modulos necessários, onde o cliente com duplo clique no treeview carrega a bpl. Então, explicado o caso, gostaria de saber como faço para não usar mais o treeview para o menu?! Eu gostaria de montar um menu com SpeedButtons. Mas ele deve ser criado em tempo de execução e cada speedbutton tem que carregar o respectivo formulário ou modulo. Parece facil, mas estou quebrando a cabeça. Se alguem entendeu, e souber me ajudar, eu agradeço. Richardson Marcelo Freddo. msn: freddodp...@hotmail.com Skype: r.freddo Rondonópolis/MT Veja quais são os assuntos do momento no Yahoo! +Buscados http://br.maisbuscados.yahoo.com [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] Tratamento de XML
Na verdade os dois eu já tenho uma função que gera o xml, eu imaginei fazer uma função depois para ler esse xml e ir validando ele... pra vc entender melhor, eu tenho um Record com outros records dentro dele... cada record equivale a um nó pai... alguns desses records outros records e até mesmo vetores de records... o problema é que quando chego em um record desse não sei se são todas as suas variáveis que estão em branco, por isso pensei em gerar o xml e depois ter uma função genérica para retirar os nós sem valores. *Diego Garcia* Twitter: http://www.twitter.com/drgarcia1986 2009/12/11 Marcio Luis mar...@sulfabril.com.br Diego , voce esta gerando o XML ou esta lendo ?? At 16:59 10/12/2009 -0200, you wrote: Sim, mas imagine o seguinte... eu tenho vários nós filhos (50 por exemplo) e não sei se alguns deles tem ou não tem valor. para todos os nos filhos eu verifico se o valor que pretendo gravar esta em branco, caso esteja eu não adiciono o no filho mas para chegar nessa etapa eu obrigatoriamente tenho que adicionar o nó o pai, nessa o nó pai pode ficar vazio no final. *Diego Garcia* Twitter: http://www.twitter.com/drgarcia1986 2009/12/10 Marcio Luis mar...@sulfabril.com.brmarcio%40sulfabril.com.br se voce estiver gerando o no filho , simplismente nao gere ele . att. Marcio. At 16:09 10/12/2009 -0200, you wrote: Amigos boa tarde... Gostaria de saber se existe alguma maneira de *limpar* os nós sem valor de um xml. Pro exemplo, estou montando um *XML* com o *TXMLDocument *, adiciono um nó que será um *nó pai* de outros nós que viram na sequencia... Por ventura, nenhum *nó filho possui valor *ou seja, terei o que chamamos de *nó perneta *. Gostaria de saber se existe alguma forma de remover esses nós do xml final de preferência utilizando o próprio *TXMLDocument *ou mesmo tratamento de texto mesmo.. *xml de exemplo*: *pessoa* *nome*João*/nome* * idade*50*/idade* *ende / * esse nó seria um nó pai de outros 5 nós filhos por exemplo */pessoa* Preciso disso pois, alguns *WebServices *(como por exemplo *NFe*) obrigam a remoção desses nós. desde já, muito obrigado. -- *Diego Garcia* Twitter: http://www.twitter.com/drgarcia1986 http://www.twitter.com/drgarcia1986 [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas] -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM [As partes desta mensagem que não continham texto foram removidas] -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM * Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages * Para falar com o moderador, envie um e-mail para: delphi-br-ow...@yahoogrupos.com.br Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ * Para sair deste grupo, envie um e-mail para: delphi-br-unsubscr...@yahoogrupos.com.br * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
[delphi-br] Odontograma
E ai galera, estou de volta. Alguem ai ja trabalhou com Odontograma? Meu sistema usa um odontograma que é identico ao Paint do Windows, mas os clientes querem tambem que o sistema tenha os desenhos pré definidos, como implantes, aparelhos ortodonticos, etc... Tem alguns que querem ele em 3D. Obrigado. Richardson Marcelo Freddo. msn: freddodp...@hotmail.com Skype: r.freddo Rondonópolis/MT Veja quais são os assuntos do momento no Yahoo! +Buscados http://br.maisbuscados.yahoo.com [As partes desta mensagem que não continham texto foram removidas]
[delphi-br] Tabela 1 left join (Tabela 2 inner join Tabela 3)
Bom dia galera ... estou precisando fazer o seguinte ... Trazer os dados de uma tabela, e fazer um left join com a juncao de duas tabelas ... ex: SELECT T1.* FROM TABELA_1 T1 left join (TABELA_2 T2 on T2.ID_T1 = T1.IDT1 inner join TABELA_3 T3 on T3.ID_T2 = T2.ID_T2) qual a forma correta de fazer isso ? [As partes desta mensagem que não continham texto foram removidas]
[delphi-br] Criação de Componentes
Boa tarde. Trabalho com o fast report 4, e gostaria de saber se alguem conhece alguma rotina, ou algum forum que fala sobre criacao de componentes para serem usados no relatorio, eu acho os recursos dos componentes do proprio fast muito escassos, entao se alguem puder me ajudar agradeço.
Re: [delphi-br] Enc: Componente para versão demo.
Como nosso amigo EmbarDelphi disse, isso é um paradoxo. Porém, isso é mais problemático em softwares grandes e amplamente conhecidos Existem várias técnicas de se controlar o uso de softwares, licenças e tudo mais. Fiz um post no meu blog explicando um pouco de algumas alternativas: http://venturalp.kinghost.net/?p=29 Acho que servirá como idéias para você mesmo bolar um esquema que se encaixe com a sua necessidade ;) Att, Guilherme Ventura de Souza MSN: ventur...@hotmail.com http://venturalp.kinghost.net - Original Message - From: EmbarcaDelphi To: delphi-br@yahoogrupos.com.br Sent: Thursday, December 10, 2009 11:56 PM Subject: Re: [delphi-br] Enc: Componente para versão demo. Proteção 100% e Free, Nem pagando é 100% Proteção contra pirataria é um paradoxo, não existem proteções, se um hacker/cracker quiser piratear teu programa ele o faz em poucos minutos, quando um programa não é pirateado é porque teu programa não tem interesse pra ninguém, quando alguem se interessa por um programa pode procurar um em P2P que encontra, não se preocupa com isso, procura vender teu programa Para o que você deseja, o melhor até hoje que conheço (OpenSource), tem para Delphi/Lazarus, é o OnGuard, leia esta informação: http://saladadebits.blogspot.com/2007/03/onguard-proteo-contra-cpias.html Jose Ferreira escreveu: Colegas do Grupo, Gostaria de distribuir um sistema meu, na condição de DEMO para 30 dias. Qual componente ou código eu uso para controlar e proteger contra pirataria. O componente de preferência free, e com exemplo. TFA josé ferreira [As partes desta mensagem que não continham texto foram removidas]
[delphi-br] Tabela1 left join (Tabela2 join Tabela3)
Bom dia galera ... estou precisando fazer o seguinte ... Trazer os dados de uma tabela, e fazer um left join com a juncao de duas tabelas ... ex: SELECT T1.* FROM TABELA_1 T1 left join (TABELA_2 T2 on T2.ID_T1 = T1.IDT1 inner join TABELA_3 T3 on T3.ID_T2 = T2.ID_T2) qual a forma correta de fazer isso ?
Re: [delphi-br] Montar Menu
nao parece facil! eh facil rsrs.. para vc ter ideia de como fazer faz o seguinte, coloque um menu de speedbuttons e alguns nele, apos fazer isso clique com o botao direito no form e vá em: View as Text assim voce tera acesso as propriedades que teram que serem fornecidas na criacao de cada objeto que vc quer contruir.. agora eh soh vc usar uma variavel para receber o objeto cria-la e aplicar as propriedades.. alem de dar um nome diferente para cada objeto, soh procurar no google criacao dinamica que vc vera um exemplo com algum objeto.. agora para chamar a bpl o ideal e vc setar todos os speed para o mesmo procedimento e nele tratar qual speed esta sendo clicado e abrir a bpl correspondente ok.. 2009/12/11 Richardson Freddo mjrkon...@yahoo.com.br Olá Pessoal. Vou tentar explicar o que estou precisando, vamos ver se consigo: Tenho alguns sistemas desenvolvidos (Delphi 7) para varios tipos de empresas. Consultorio Odontologico, Corretora de Seguro, Advogados, etc... Desenvolvo o sistema em pacotes (bpl), ou seja, cada form do meu sistema é transformado em uma bpl que quando solicitada é carregada pelo sistema. Com isso o executavel do meu sistema fica com 50 kb, e ainda quando preciso prestar assistência, eu corrigo somente a bpl que esta com erros. Bom, como o sistema é um só, alguns modulos são comuns para as profissões (financeiro, clientes, etc...), para isso, o menu principal, ou a tela principal do meu sistema é feita apenas com um Treeview, que é carregado de acordo com o usuário logado e os modulos necessários, onde o cliente com duplo clique no treeview carrega a bpl. Então, explicado o caso, gostaria de saber como faço para não usar mais o treeview para o menu?! Eu gostaria de montar um menu com SpeedButtons. Mas ele deve ser criado em tempo de execução e cada speedbutton tem que carregar o respectivo formulário ou modulo. Parece facil, mas estou quebrando a cabeça. Se alguem entendeu, e souber me ajudar, eu agradeço. Richardson Marcelo Freddo. msn: freddodp...@hotmail.com freddodpvat%40hotmail.com Skype: r.freddo Rondonópolis/MT __ Veja quais são os assuntos do momento no Yahoo! +Buscados http://br.maisbuscados.yahoo.com [As partes desta mensagem que não continham texto foram removidas] -- Leandro, MuTukA [As partes desta mensagem que não continham texto foram removidas] -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM * Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages * Para falar com o moderador, envie um e-mail para: delphi-br-ow...@yahoogrupos.com.br Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ * Para sair deste grupo, envie um e-mail para: delphi-br-unsubscr...@yahoogrupos.com.br * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
Re: RES: [delphi-br] Persistir Set of Type
Resolvido, muito obrigado. Agora só ficou a curiosidade de saber como o Delphi converte. Sabendo disso posso confiar que diversas combinações não gerarão o mesmo número eventualmente. incidencia := [IncideFGTS, IncideINSS, IncideIRRF]; //11 incidencia := [IncideFGTS, IncideIRRF]; //3 incidencia := [IncideFGTS, IncideINSS, IncideIRRF, IncideAcidente]; //65547 --- Em delphi-br@yahoogrupos.com.br, Rubem Rocha rubem.ro...@... escreveu Tipos enumerados internamente são representados como números inteiros. Portanto, o tipo de dados para um campo armazenar um dado enumerado deve ser inteiro. Assim sendo, seu código deveria ser mais ou menos assim: type TMeuTipo = (a, b, c, d); TMeuTipoSet = set of TMeuTipo; var TipoSet: TMeuTipoSet; begin TipoSet := [b, d]; { } cds.FieldByName(`campo').AsInteger := Integer(TipoSet); { } TipoSet := TMeuTipoSet(cds.FieldByName(`campo').AsInteger); end; Tente isto. Sds. De: delphi-br@yahoogrupos.com.br [mailto:delphi...@yahoogrupos.com.br] Em nome de Higor Enviada em: sexta-feira, 11 de dezembro de 2009 13:59 Para: delphi-br@yahoogrupos.com.br Assunto: [delphi-br] Persistir Set of Type Gostaria de saber se é possível gravar no banco de dados o estado de uma variavel do tipo set of Type Enum. Se não estou enganado, uma vez vi um código delphi que gerava um número inteiro de um set e gravava num arquivo.ini. ex: Type TMeuTipo = (a,b,c,d); type TMeuTipoSet = set of TMeuTipo; var tiposet: TMeuTipoSet; begin //usuário faz algo em tela que resulta em: tiposet := [b,d]; cds.FieldByName('campo').value := tiposet; //isso é possível? //para depois em algum momento ao carregar o form eu possa: tiposet := cds.FieldByName('campo').value; end; obrigado desde já, Higor Granzoto [As partes desta mensagem que não continham texto foram removidas]
RES: RES: [delphi-br] Persistir Set of Type
Pra entender isso, basta ter em mente que cada opção em um tipo enumerado funciona como se fosse a definição de um bit em um valor inteiro. O exemplo abaixo é de uma aplicação console que tenta ilustrar como funcionam os tipos de dados enumerados em Object Pascal. Exemplo: program TiposEnumerados; {$APPTYPE CONSOLE} type TOpcao = (opcaoA, opcaoB, opcaoC, opcaoD, opcaoE, opcaoF, opcaoG, opcaoH); TOpcoes = set of TOpcao; var Opcao: TOpcao; Opcoes: TOpcoes; ValorOpcoes: integer absolute Opcoes; begin { 1o. bloco - início } for Opcao := Low(TOpcao) to High(TOpcao) do WriteLn(Ord(Opcao)); WriteLn; { 1o. bloco - final } { 2o. bloco início } Opcoes := [opcaoA, opcaoB, opcaoC, opcaoD, opcaoE, opcaoF, opcaoG, opcaoH]; WriteLn(ValorOpcoes);// vai sair na tela 255! Opcoes := [opcaoG]; WriteLn(ValorOpcoes);// vai sair na tela 64! Opcoes := [opcaoB, opcaoD, opcaoG]; WriteLn(ValorOpcoes);// vai sair na tela 74 (2 + 8 + 64)! { 2º bloco final } WriteLn(Eoln); end. Ao executar o primeiro, você verá a ordem de cada uma das opções definidas no tipo TOpcao. Essa ordem corresponde a um bit que pode estar definido ou não na representação numérica inteira do valor enumerado. O item opcaoA tem ordem 0, o item opcaoB tem ordem 1, e assim por diante. Portanto, no segundo bloco temos valores que, nada mais nada menos, representam combinações de bits que podem estar ligados ou desligados dentro do valor inteiro correspondente às opções definidas em um set de enumerações. Espero que tenha me feito claro! P.S.: Ah, e esse lance de absolute? Essa eu deixo pra você pesquisar e aprender sozinho. O help do Delphi já pode ser um bom ponto de partida para esse esclarecimento. De: delphi-br@yahoogrupos.com.br [mailto:delphi...@yahoogrupos.com.br] Em nome de Higor Enviada em: sexta-feira, 11 de dezembro de 2009 15:38 Para: delphi-br@yahoogrupos.com.br Assunto: Re: RES: [delphi-br] Persistir Set of Type Resolvido, muito obrigado. Agora só ficou a curiosidade de saber como o Delphi converte. Sabendo disso posso confiar que diversas combinações não gerarão o mesmo número eventualmente. incidencia := [IncideFGTS, IncideINSS, IncideIRRF]; //11 incidencia := [IncideFGTS, IncideIRRF]; //3 incidencia := [IncideFGTS, IncideINSS, IncideIRRF, IncideAcidente]; //65547 --- Em delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br , Rubem Rocha rubem.ro...@... escreveu Tipos enumerados internamente são representados como números inteiros. Portanto, o tipo de dados para um campo armazenar um dado enumerado deve ser inteiro. Assim sendo, seu código deveria ser mais ou menos assim: type TMeuTipo = (a, b, c, d); TMeuTipoSet = set of TMeuTipo; var TipoSet: TMeuTipoSet; begin TipoSet := [b, d]; { } cds.FieldByName(`campo').AsInteger := Integer(TipoSet); { } TipoSet := TMeuTipoSet(cds.FieldByName(`campo').AsInteger); end; Tente isto. Sds. De: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br [mailto:delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br ] Em nome de Higor Enviada em: sexta-feira, 11 de dezembro de 2009 13:59 Para: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br Assunto: [delphi-br] Persistir Set of Type Gostaria de saber se é possível gravar no banco de dados o estado de uma variavel do tipo set of Type Enum. Se não estou enganado, uma vez vi um código delphi que gerava um número inteiro de um set e gravava num arquivo.ini. ex: Type TMeuTipo = (a,b,c,d); type TMeuTipoSet = set of TMeuTipo; var tiposet: TMeuTipoSet; begin //usuário faz algo em tela que resulta em: tiposet := [b,d]; cds.FieldByName('campo').value := tiposet; //isso é possível? //para depois em algum momento ao carregar o form eu possa: tiposet := cds.FieldByName('campo').value; end; obrigado desde já, Higor Granzoto [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] Tabela 1 left join (Tabela 2 inner join Tabela 3)
Os campos que pretende retornar são iguais? Mesmo que não existe uma forma de trazer tudo de uma vez com o comando UNION ALL, ex: SELECT T1.CAMPO1, T1.CAMPO2 FROM TABELA1 T1 UNION ALL SELECT T2.CAMPO1, T2.CAMPO2 FROM TABELA2 T2 Espero ter ajudado, Fábio 2009/12/11 Magnun Oliveira magnunolive...@gmail.com Bom dia galera ... estou precisando fazer o seguinte ... Trazer os dados de uma tabela, e fazer um left join com a juncao de duas tabelas ... ex: SELECT T1.* FROM TABELA_1 T1 left join (TABELA_2 T2 on T2.ID_T1 = T1.IDT1 inner join TABELA_3 T3 on T3.ID_T2 = T2.ID_T2) qual a forma correta de fazer isso ? [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas] -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM * Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages * Para falar com o moderador, envie um e-mail para: delphi-br-ow...@yahoogrupos.com.br Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ * Para sair deste grupo, envie um e-mail para: delphi-br-unsubscr...@yahoogrupos.com.br * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html