
Churc
Veteranos-
Total de itens
1.198 -
Registro em
-
Última visita
Tudo que Churc postou
-
eheh verdade da detalhes do que você quer fazer M@theus não da pra entender nada... rs
-
de qualquer forma, para os que precisarem e não viram no outro tópico http://scriptbrasil.com.br/forum/index.php...st&p=394662
-
opa Grande Idelson Pessoa, valeu pelas informaçoes cara... vou dar uma olhada :D abraço
-
opa faz o seguinte, no programa deve ter algum contato, de quem fez o programa, entre em contato e compre, ai eles te passarão uma chave huauhauha sei que não houve graça nisso mas a questão é, assim como qualquer programador não gostaria de ver alguém fazer isso com seus programas, acho que também não ajudaria a fazer... você está no lugar errado eheh
-
opa baseado naquela primeira rotina que te passei, e baseado no que você disse depois veja se é isso que precisa Procedure CopiaTreeviews(TreeViewA, TreeViewB: TTreeView); var sl: TStringList; Node: TTreeNode; i: Integer; begin //checa se foi passado os treeview if ((TreeViewA = nil) or (TreeViewB = nil)) then Exit; //pega o item selecionado Node := TreeViewA.Selected; //cria uma lista para poder armazenar os items sl := TStringList.Create; //como vai sendo pego debaixo pra cima, então vamos //adicionar o item selecionado... sl.Insert(0, Node.Text); //enquanto houver filiações quanto ao item selecionado... while (Node <> nil) do begin //pega a filiação Node := Node.Parent; //se houver filiação ou a posição for maior ou igual a zero, //no caso 0 é o root ou seja, o primeiro item de tudo, o Pai :P if ((Assigned(Node)) and (Node.Level >= 0)) then //insere no começo da lista, pois como mencionado é pego de baixo //para cima sl.Insert(0, Node.Text); end; //agora vamos adicionar na outra treeview os itens pegos... for i := 0 to sl.Count - 1 do begin //se o i = 0 quer dizer que é o Pai if (i = 0) then begin //não adicionamos parentesco Node := nil; //Se houver items na arvore2 então procuramos por parentesco if (TreeViewB.Items.Count > 0) then begin //começamos pelo primeiro item Node := TreeViewB.Items.Item[0]; //procuramos pela árvore inteira while Node <> nil do //opa achamos ele :P if (AnsiCompareText(sl[i], Node.Text) = 0) then Break else Node := Node.GetNext; end; //não achamos parentesco, então adicionamos como uma nova familia... if (Node = nil) then Node := TreeViewB.Items.AddChildFirst(nil, sl[i]) else //se achou a familia, então apenas adiciona o item selecionado a ela begin TreeViewB.Items.AddChild(Node, sl[sl.Count - 1]); Break; end; end else //se for maior que 0 quer dizer que é filiação, e é passado a //filiação anterior que é pega em Node := Treeview2.Items.AddChild(... Node := TreeViewB.Items.AddChild(Node, sl[i]) end; sl.Free; end; Fiz a busca baseada no nome do item, então se houver itens com o mesmo nome vai dar conflito, então altere a busca de Nome pra ponteiros como você fez na sua rotina acima abraços
-
o que você quer fazer? não deu pra entender sua explicação... você quer que se na árvore que vai receber os itens selecionados, já tiver uma filiação igual então adicionar a ela ao invés de criar uma uma nova?
-
muito bom o código thales ;)
-
opa usa Copy vamos supor var szCliente: String; begin szCliente := Copy(Table1.NomeCLiente.Value, 1, 10); onde Copy(String, Index, número de caracteres a serem copiados); então no exemplo ele copia do caracter 1 ao 10, sendo 10 caracteres
-
Fala Bruno beleza, assim, eu não tenho o Delphi 2006, por isso não posso te ajudar... pois não tem como eu testar... Quanto ao ZComponent.dpk dar erro, qual erro? faça uma SS igual você fez no primeiro erro, ai talvez outras pessoas possa te ajudar... abs
-
demoro :) não tem nada a ver... o procedimento é primeiro você adiciona na Library (Tools/Environment/Library) todas as pastas da pasta Source sendo a pasta src\ e as subpastas \scr\... component\ core\ dbc\ parsesql\ plain\ *isso se deve ter feito, já que não deu erro de compilação... de qualquer forma... Feito isso, abra a pasta \packages\delphi10 e compila todos os DPK, abre um por um e apenas clique em compile... ai depois... abre o ZComponent.dpk e clica em install ou no ZComponentDesign.dpk... deve aparecer ou algo como "package has been installed." ou aparece algo como "the following components has been installed...e aparecer os componentes"... Se tudo der certo deve aparecer uma paleta "Zeos Access" registre-se ;) rsr abraço
-
opa usa-se Chr(); exemplo showmessage(chr(65)); // = A showmessage(inttostr(ord('A'))); // = 65
-
opa fórum oficial: http://zeos.firmos.at/viewtopic.php?t=837 download: http://sourceforge.net/project/downloading...ip&57704035 abraço
-
opa desculpa intrometer, mas VDLR, você não entendeu o esquema de arquivos INI, por isso você está apanhando... sobre o comentário do Micheus, se você vai manter o usuário e senha padrão do IB, "SYSDBA"/"MasterKey" então pra que armazenar no arquivo .ini estes valores? sendo assim, por exemplo, no seu código, na rotina em que você faz a conexão com o banco, vamos supor que você esteja fazendo var szUser, szPass: String; begin {...} szUser := ini.ReadString('Database', 'user_name', 'SYSDBA'); szPass := ini.ReadString('Database', 'password', 'masterkey'); {...} o que o Micheus quis dizer é que como você vai manter padrão então esquece de gravar e ler no .ini isso, seria mais fácil szUser := 'sysdba'; szPass := 'masterkey'; ou melhor ainda, já joga direto sem nem usar variáveis porque variáveis como o próprio nome diz é quando varia seu conteúdo e neste caso não vai... jogando direto baseado no que vi no tópico seria IBContrSMS.Params.Add('user_name=SYSDBA'); IBContrSMS.params.Add('password=masterkey'); Fica desta forma porque você está gravando desta forma, então é só tirar o código exemplo //BDSMS.WriteString('Database', 'user_name', USR); //BDSMS.WriteString('Database', 'password', PWS); procure entender a estrutura de arquivos .ini que voce vai pegar fácil fácil... abraços
-
opa então, o erro agora já é outro, como falei capaz que de vários erros por incompatibilidade... Como não tenho o Delphi 2006 então não vou poder te ajudar em todos os erros, quanto ao DBCommonTypes eu sabia porque no site do Marco Cantu falava sobre algumas mudanças no 2006 e dizia sobre esse DBCommonTypes, agora os demais erros infelizmente não vou poder te ajudar porque não tem como eu testar aqui... talvez outra pessoa possa te ajudar... abraço
-
opa sim sim, está no lugar errado pois FOnLogin: TLoginEvent; está acima de implementation, sendo assim você deve adicionar o "DBCommonTypes" no uses global, abaixo de Interface exemplo unit ZConnection; interface uses {...}, DBCommonTypes;
-
opa então, eu fiz de um jeito aqui, não é o melhor jeito mas pelo menos está funcionando auhauh está meio gambiarra usar StringList, tentei fazer sem usar mas tava dando muito trabalho, talvez alguém poste uma rotina melhor ou voce a melhore... expliquei mais ou menos o que acontece Procedure CopiaTreeviews(TreeViewA, TreeViewB: TTreeView); var sl: TStringList; Node: TTreeNode; i: Integer; begin //checa se foi passado os treeview if ((TreeViewA = nil) or (TreeViewB = nil)) then Exit; //pega o item selecionado Node := TreeViewA.Selected; //cria uma lista para poder armazenar os items sl := TStringList.Create; //como vai sendo pego debaixo pra cima, então vamos //adicionar o item selecionado... sl.Insert(0, Node.Text); //enquanto houver filiações quanto ao item selecionado... while (Node <> nil) do begin //pega a filiação Node := Node.Parent; //se houver filiação ou a posição for maior ou igual a zero, //no caso 0 é o root ou seja, o primeiro item de tudo, o Pai :P if ((Assigned(Node)) and (Node.Level >= 0)) then //insere no começo da lista, pois como mencionado é pego de baixo //para cima sl.Insert(0, Node.Text); end; //agora vamos adicionar na outra treeview os itens pegos... for i := 0 to sl.Count - 1 do begin //se o i = 0 quer dizer que é o Pai, então colocamos ele //como primeiro de tudo, e não adicionamos filiação, no caso Nil if (i = 0) then Node := TreeViewB.Items.AddChild(nil, sl[i]) else //se for maior que 0 quer dizer que é filiação, e é passado a //filiação anterior que é pega em Node := Treeview2.Items.AddChild(... Node := TreeViewB.Items.AddChild(Node, sl[i]) end; sl.Free; end; para usar exemplo, CopiaTreeviews(TreeView1, TreeView2); desse jeito não pega multselect... vai precisar? abraço
-
tipo, o delphi não reconhece o tipo Float... exemplo var valor: Float; um ponto flutuante é do tipo Double, que voce pode usar também a definicao de Real ou Currency então seria var valor: Real; //ou Double, ou Currency begin ... valor := valor + CAMPO.DO.BANCO.RELACIONADO.COM.O.VALOR;
-
gabriela pardim, de uma olhada nos Demos, que vem na pasta "Demos" que possui todo tipo de exemplo...
-
opa RLBoleto se não for é um dos melhores http://www.produsys.com.br/index.php?menu=8 você vai precisar também do FortesReport, então cadastre-se no fórum da Produsys para fazer o dowload e obter informações... abs
-
certo mas o erro já mudou né? posta o novo erro... é como eu comentei, quando não tem suporte então vai aparecer vários erros de compilação, no Delphi 2006 mudaram algumas coisas, isso só complica (pra não fala outra coisa auhau) pra gente =\
-
opa então, dei uma olhada aqui, TLoginEvent está declarado na unit "DB", como seu Delphi é 2006 adicione em uses da unit que esta dando erro "DBCommonTypes". se o Zeos não tem suporte ao Delphi2006 capaz que você tenha mais problemas... abraço
-
Então, baseado no que você disse achei que seria uma cópia pois como seria colocados nas "mesmas posições", caso o usuário selecionar, baseado no exemplo do Micheus "Bisneto 1" e "Bisneto 2"? responde a pergunta do Micheus que ai fica mais fácil de te ajudar... abs
-
opa tipo, salva o conteúdo numa stream e depois você puxa na outra treeview exemplo var ss: tmemorystream; begin ss := tmemorystream.create; try treeview1.savetostream(ss); ss.position := 0; treeview2.loadfromstream(ss); finally ss.free; end; abraço
-
opa Progr'amador valeu brother :D no que eu puder ajudar estarei sempre ai abraço
-
opa antes de tudo, você tem que adicionar "todas" as pastas dos sources do componente na Library (Tools/Environment Options/Library)... você chegou a fazer isso?