Ir para conteúdo
Fórum Script Brasil

Churc

Veteranos
  • Total de itens

    1.198
  • Registro em

  • Última visita

Tudo que Churc postou

  1. Churc

    Addnew

    eheh verdade da detalhes do que você quer fazer M@theus não da pra entender nada... rs
  2. Churc

    Quickreport

    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
  3. Churc

    Record / Socket

    opa Grande Idelson Pessoa, valeu pelas informaçoes cara... vou dar uma olhada :D abraço
  4. 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
  5. 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
  6. 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?
  7. 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
  8. Churc

    Zeoslib No Delphi 2006

    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
  9. Churc

    Zeoslib No Delphi 2006

    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
  10. opa usa-se Chr(); exemplo showmessage(chr(65)); // = A showmessage(inttostr(ord('A'))); // = 65
  11. Churc

    Zeoslib No Delphi 2006

    opa fórum oficial: http://zeos.firmos.at/viewtopic.php?t=837 download: http://sourceforge.net/project/downloading...ip&57704035 abraço
  12. Churc

    Ajuda Com Ini

    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
  13. Churc

    Zeoslib No Delphi 2006

    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
  14. Churc

    Zeoslib No Delphi 2006

    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;
  15. 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
  16. 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;
  17. gabriela pardim, de uma olhada nos Demos, que vem na pasta "Demos" que possui todo tipo de exemplo...
  18. 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
  19. Churc

    Zeoslib No Delphi 2006

    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 =\
  20. Churc

    Zeoslib No Delphi 2006

    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
  21. 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
  22. 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
  23. opa Progr'amador valeu brother :D no que eu puder ajudar estarei sempre ai abraço
  24. Churc

    Zeoslib No Delphi 2006

    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?
×
×
  • Criar Novo...