Ir para conteúdo
Fórum Script Brasil

Micheus

Veteranos
  • Total de itens

    3.189
  • Registro em

  • Última visita

Tudo que Micheus postou

  1. Micheus

    Quickreport

    juniorboll, você está querendo agrupar os campos, tipo colocar um após o outro como quando se escreve o endereço (rua, nº, cep, bairro ...), não utilizando colunas (posição fixas)?
  2. Cara, agora você deu um "nó nas minhas ideias". Acho que "vai ter que desenhar". :D Não consegui captar não. Se você tem: www.bol.com.br/index.php?p=aaaabbbbccccc www.bol.com.br/index.php?p=aaaabbbbccccc www.bol.com.br/index.php?p=aaaabbbbccccc www.bol.com.br/index.php?p=aaaabbbbccccc Como exatamente deveria ficar o resultado. Acho meu tico & teco vão entrar em parafuso. :blink:
  3. Micheus

    Delphi Com Sql

    Thiago Cortes, acho que vai ser meio complicado fazer isso aqui no forum - ensinar do início como fazer uma plicação Delphi que acesse um banco de dados SQL. Acho que você vai ter que dar um "start" com apostilas e tutoriais e quando começar a implementar que aparecerem as dúvidas, aí sim, colocá-las aqui para ser auxiliado (opnião minha). Dê uma olhada neste link, tem várias apostilas para iniciantes que já lhe darão uma luz (procure pelo texto iniciante). Embora hajam algumas diferenças entre as várias versões de Delphi, o conceito básico é o mesmo: criação de form's, adição de componentes nele, escrever código em seus eventos, e por aí vai...; O mesmo vale para uso de banco de dados, os conceitos são parecidos, tendo algumas particularidades de banco para banco; Dê uma olhada, você vai ver que já deverá conseguir fazer o que você propôs ou quase. []s
  4. se você definiu que Cbrep.Checked = PERMITIR duplicados então estaria certo, como não está funcionando, provavelmente você definiu Cbrep.Checked = NÃO PERMITIR duplicados, neste caso altere para ... ((Msites.Lines.IndexOf(www) = -1) or // *** se não for encontrado na lista, então adiciona OU not Cbrep.Checked) then // *** se permitir duplicar, então adiciona também ...
  5. ZueRa, primeiro uma dica. Na sentença abaixo, tente pensar da seguinte forma: uma instrução IF tem com condição de teste uma avaliação BOOLEANA - certo?! Então se o conteúdo da variável/propriedade é do tipo boolean não há necessidade de comparar "TRUE = TRUE" ou "FALSE = TRUE", já que se Checked é TRUE ou FALSE isto já basta para o IF. Segundo, se o código está como você postou, não deve estar compilando certo?! observe o ";" antes do ELSE, a falta do IF depois do ELSE; Para que seu checkbox tenha funcionalidade, utilize-o no momento da inclusão na lista: if (www <> '') and ((Msites.Lines.IndexOf(www) = -1) or // *** se não for encontrado na lista, então adiciona OU Cbrep.Checked) then // *** se permitir duplicar, então adiciona também Msites.Lines.Add(www); Acredito que você deve descartar a parte do IF que você colocou no BtaplicarClick []s
  6. Kindelis, só um comentário/sugestão sobre a linha: proc := abertura.DBGrid3.Fields[0].AsString; //captura o codigo do dbgrid quando você utiliza esta atribuição, o ideal seria que você utilizasse a referência ao dataset associado ao DBGrid3. Isto tornaria seu código mais claro, inclusive para futuras manutenções. Quando você obtém Fields[0].AsString, será retornado o valor do campo que está na coluna 0 (zero) da linha selecionada. Ocorre que sempre que você se move pelo DBGrid (seleciona uma linha), o "apontador" no dataset associado ao DBGrid tam é movido. Ou seja, se você utilizar NomeDataSetNOMEdoCAMPOnaCOLUNAzero.AsString o resultado será o mesmo e o código ficará mais claro. Também não irá gerar problemas se por algum motivo você mudar o campo de posição (coluna) na tabela. Consegui explicar direito? :huh: Notei também que você utiliza sempre o nome do NomeForm.NomeComponente..., se você está utilizando todo este processo a partir de outro form, então poderia utilizar o comando: With NomeForm do begin NomeCompoente... ... end;Isto pode tornar confuso o código - é verdade - as vezes, mas também simplifica muito; []s
  7. Como você insere cada site em uma linha (Memo.Lines.Add), então é fácil. utilizando o meu último exemplo, Vamos fazer uma pequena alteração para facilitar (adapte a seu código): if POS('http://', www) > 0 then begin www := Copy(www, 7, length(www)); // copia a partir do último '/' fim := POS(Eddelimiter.Text, www); if fim > 0 then fim := fim +Length(Eddelimiter.Text); www := Copy(www, 1, fim -1); // **** inclua isto para facilitar o processo *** if (www <> '') and // **** não inclui nulos *** (Msites.Lines.IndexOf(www) = -1) then // **** se não for encontrado o site na lista, então adiciona *** Msites.Lines.Add(www); // **** observe que este comando mudou em relação ao outro post end; Tenha atenção ás linhas com "// ****" para que suas alterações fiquem corretas. []s
  8. Vejamos se entendi:FrmVenda | +-> Clica BtnFinalizaVenda | +-> FrmFechamento.ShowModal | +-> Clica BtnFinalizar |-> FrmPromissoria.ShowModal +-> FrmFechamento.Close Se for isso, então acho que você poderia utilizar esta abordagem:FrmVenda | +-> Clica BtnFinalizaVenda | +-> FrmFechamento.ShowModal | | | +-> Clica BtnFinalizar | | | +-> ModalResult := mrRetry; +-> if ModalResult = mrRetry then | +-> FrmPromissoria.ShowModal Em termos de programação, você não chamaria mais FrmPromissoria a partir do botão BtnFinalizar. Vejamos: - se já não tiver modificado a proprieda ModalResult do botão BtnFinalizar, uma alternativa seria atribuir mrRetry para o caso de você possuir outro botão que utilize o mrOk; - então, em FrmFechamento, ao clicar em BtnFinalizar será executada a ação que você programou no evento OnClick do botão e, sem utilizar o comando Close, a atribuição de mrRetry irá automaticamente fechar o form; - sendo testado o retorno de ShowModal na chamada FrmFechamento.ShowModal: //no OnClick de BtnFinalizaVenda ... if FrmFechamento.ShowModal = mrRetry then FrmPromissoria.ShowModal; ...isto resultará no fechamento do FrmFechamento e abertura do FrmPromissoria. Acho que era isto que você queria certo? qualquer coisa posta ai. []s
  9. Micheus

    Zeos Para Delphi 7

    Então, no início deste tutorial tem um link para baixar a versão do Zeos que o cara usou. Ela não compila no D7?
  10. Agora entendí. Quando inicialmente você deu o exemplo com a '/', você queria que ela fosse excluída do resultado. Isto não é compatível com o que você disse agora. Se você quer que inclua o delimitador no resultado, então quando ele for a '/', esta também estará inclusa no resultado. Mas se por algum motivo, quando o delimitador for a '/', então você terá que fazer um teste extra. Para suprir o que você colocou no último post, faça isto: if POS('http://', www) > 0 then begin www := Copy(www, 7, length(www)); // copia a partir do último '/' fim := POS(Eddelimiter.Text, www); // if fim > 0 then // **** inclua este teste *** fim := fim +Length(Eddelimiter.Text); Msites.Lines.Add(Copy(www, 1, fim -1)); // copia do início até o caracter antes da ocorrência do delimitador end; []s
  11. ZueRa, fiz desta forma para testar e está funcionando de acordo - em qualque dos casos. Não entendi por que não funcionou com você. procedure TForm1.Button1Click(Sender: TObject); var fim :integer; www :string; begin www := Edit1.Text; www := Copy(www, 8, length(www)); // copia a partir do último '/' fim := POS(Edit2.Text, www); // Memo1.Lines.Add(Copy(www, 1, fim -1)); // copia do início até o caracter antes da ocorrência do delimitador end; site original: http://plasticbugs.com/index.php?p=241 http://www.realclimate.org/index.php?p=181 após a modificação: plasticbugs.com/ www.realclimate.org/
  12. Mancada minha, tem que começar a copiar a partir da posição 8 de www := Copy(www, 7, length(www)); para www := Copy(www, 8, length(www));
  13. apenas para entender o porquê deste resultado: comeco := POS('http://', www); Resulta em 1, que é a posição inicial da sequência 'http://';'>http://'; fim := POS(Eddelimiter.Text, www); Resulta em 6, que é a posição inicial do delimintador digitado ('/'); Msites.Lines.Add(Copy(www,comeco,fim)); Resulta na cópia do texto em www, iniciando em 1 e com tamanho 6 ('http:/'); Como sempre deverá existir o texto 'http://' na variável www para você processá-la, então bastaria escrever seu código assim: if POS('http://', www) > 0 then begin www := Copy(www, 7, length(www)); // copia a partir do último '/' fim := POS(Eddelimiter.Text, www); // Msites.Lines.Add(Copy(www, 1, fim -1)); // copia do início até o caracter antes da ocorrência do delimitador end;Observe que, da forma como você colocou, se não existir o delimitador, não será copiado nada, já que o resultado em fim será 0 (tamanho zero a copiar). É isto que você deseja? []s
  14. Micheus

    Zeos Para Delphi 7

    Erso, dá uma olhada neste link, tem um tutorial de como fazer a instalação do Zeus no D6, possivelmente a versão que ele coloca no link é compatível com o D7. []s
  15. Micheus

    Show Ou Showmodal

    provavelmente por que você deve estar criando o form (Create), em seguida mostrando (Show) e na seqüência liberando (Free).Quando você utiliza o método ShowModal, a execução do programa é "interrompida" neste ponto e fica "presa" num loop até que a janela seja fechada ou você atribua um valor a ModalResult; Já para o método Show, isso não ocorre - motivo pelo qual chamar Free após o Show resulta na eliminação do form. Para o que você deseja fazer, os form's devem ser criados uma única vez, bem como liberados também. Ou seja, você pode criar o form2 e 3 no OnCreate do form1 e liberá-los no OnDestroy - esta é apenas uma opção. Depois, para mostrar o form você utiliza o Show e quando for "fechar" (form2 e form3) na verdade você usa o Hide - isso se você quizer que as janelas realmente existam o tempo todo. Do contrário você pode também, fechar os form's e liberá-los e antes de chamar o método show, verificar se o form já foi criado ou não e se for o caso recriá-los antes de mostrá-los. É certo que novas dúvidas surgirão, então continue postando-as. []s
  16. Micheus

    Relatórios

    Ruyfreis, ficou complicado de entender o lay-out - nestes casos utilize a tag CODE que utiliza fontes de tamanho fixo, contando as posições/espaços na mão, daí ao visualizar você verá que ficará correto. Como seria: nº Nota | parc 1, parc 2, parc 3 ou nº Nota 1 | parc 1 | parc 2 | parc 3 nº Nota 2 | parc 1 | parc 2
  17. Micheus

    Show Ou Showmodal

    Tópico: Show Ou Showmodal pixe00, então, qual seria exatamente a dúvida? você parece já ter respondido ao tópico proposto - usar Show. :unsure: []s
  18. Erso, demorei a dar um retorno porque estava retirando parte de um código(forms) de um projeto que fiz há uns 4 anos que tem um recurso parecido com o que você pretende utilizar. Dê uma olhada nele (link - Parametrizacao Texto - quem ficar curioso também pode baixar ;)). Abra o arquivo Leia-me.txt antes de utilizar o executável que está junto. Ele basicamente tem: - uma tabela onde um texto formado/parametrizado (mais ou menos como o seu) é utilizada para armazenar "Modelos"; - uma tabela que serve como possível fonte de dados; - uma tabela onde o texto pronto é gravado; Se você achar que pode lhe servir utilize os e-mails constantes no arquivo texto. []s
  19. Vivendo&Aprendendo, os questionamentos foram a título de obter mais informações sobre seu problema para que os colegas possam ajudar. Sobre o Rave, eu não o utilizo então não poderei ajudar. Espero que outros possam. Essa questão talvez dê para tentar ajudar. Essa é a sequência?:em finaliza venda - Form??? - chama FormFechamento: utilizando Show ou ShowModal? - em Finalizar - FormFechamento - chama FormPromissoria: utilizando Show ou ShowModal? - fecha FormFechamento: então foi aberto com Show?
  20. o que seria este tudo errado? Imprime outras informações? Imprime caracteres incorretos? Em que momento é criado e como é fechado o 2º form. Vivendo&Aprendendo, mais detalhes, mais possibilidades de alguém ajudar. []s
  21. Acho até que seria possível, mas me diga uma coisa: você pretende por os DBEdit's sobre o RichEdit?Este seria um esquema para "personalizar um formulário" de entrada de dados? O nome dos campos (existentes no banco de dados), estarão dentro das chaves? []s
  22. O uso de parâmetro da forma como propus deve funcionar perfeitamente. Quando você enviar o camando ao banco (executar/abrir consulta) ele será devidamente convertido em um comando que o banco entenda. []s
  23. Micheus

    Qrmemo

    Fazendo o melhor, não seria utilizando a propriedade WordWrap = True ?
  24. Ø£¡vë¡®'§®, já que não foi postado nada específico, talvez isso possa ajudar. Componente para acesso a serial: http://sourceforge.net/projects/comport/ Um programa utilizando o componente: - Português: http://www.rogercom.com/PortaSerial/Contro...ontrolePag4.htm - Inglês: http://www.wimb.net/index.php?s=delphi&page=11 []s
  25. hencker, já tinha visto alguma coisa por ai, então dei uma pesquisada. Não tenho idéia de como resolver o problema e não encontrei nada a respeito. Então, a título de alternativa, veja que dá para aproveitar alguma coisa destes outros link's: (Possível problema - versões drivers), Alternativa
×
×
  • Criar Novo...