-
Total de itens
8.257 -
Registro em
-
Última visita
Tudo que Graymalkin postou
-
Duvida Sobre Como Enviar E-mails Com O Winsock
pergunta respondeu ao Zer0 de Graymalkin em Visual Basic
Pode ser que não. Já ouvi falar de uma determinada informação que o Outlook coloca na mensagem e que permite que ela seja enviada por certos servidores (algo que diga que aquela mensagem não é um spam). Não sei exatamente o que é, mas seria melhor se você pudesse testar em outros servidores e não só do Hotmail. Abraços, Graymalkin -
Humm... posso colaborar também? Bom, segue o link para o componente Py.Sendmail: http://www.graymalkin.globalhosts.com.br/pysendmail.asp. É um componente COM, portanto vai (deve) funcionar com qualquer linguagem COM-Compliant, o que inclui VBScript. O pacote já inclui exemplos em diversas linguagens (o de VB pode muito bem ser "aproveitado" para o caso do VBScript). Abraços, Graymalkin
-
Um número é primo quando só tem dois divisores diferentes: 1 e ele mesmo. Sabendo que 2 é o primeiro primo, basta que você teste se os números subsequentes *não* são divisíveis por *nenhum* dos primos anteriores (essa frase também poderia ser: "se os números subsequentes *não* são divisíveis por *algum* dos primos anteriores", talvez fique mais fácil de entender assim... ou não). Ou seja: 3 - não é divisível por 2 5 - não é divisível por 2 E nem por 3 7 - não é divisível por 2 E nem por 3 E nem por 5 11 - não é divisível por 2 E nem por 3 E nem por 7 13 - não é divisível por 2 E nem por 3 E nem por 7 E nem por 11 E assim por diante. Se você parar por olhar, até o 25 você poderia utilizar a apenas o 2 e o 3, e a partir desse você teria que utilizar o 5 também. Até o 49 você só precisa do 2, 3 e do 5; chegando neste você precisa do 7. O que 25 e 49 lembram? Sim, as raízes quadradas de 5 e 7, ou seja, os números que precisamos. Portanto, pode-se melhorar a performance testando a divisão do valor apenas com os primos existentes até a raíz quadrada do número (inclusive). Sacou? Abraços, Graymalkin
-
Duvida Sobre Como Enviar E-mails Com O Winsock
pergunta respondeu ao Zer0 de Graymalkin em Visual Basic
Humm... pior que isso eu não sei. Não instalei o SP2 aqui justamente porque ouvi falar muito desses lances de que ele tranca várias portas. Mas, você consegue enviar e-mails pelo Outlook Express? Configurando ele com o mesmo servidor SMTP que você tentou a partir do VB? Abraços, Graymalkin -
Na seção Arquivos do site do meu grupo (http://www.yahoogrupos.com.br/group/vbj/) tem uma DLL para isso, no arquivo win95io.zip. Se não me engano, ela acompanha um arquivo texto explicando como utilizar. Se não tiver, é só dar um grito aí que a gente dá um jeito, falou? Abraços, Graymalkin
-
Duvida Sobre Como Enviar E-mails Com O Winsock
pergunta respondeu ao Zer0 de Graymalkin em Visual Basic
Experimente o componente Py.Sendmail: http://www.graymalkin.globalhosts.com.br/pysendmail.asp. Talvez você goste dele e funcione aí (é possível que o SP2 esteja impedindo o envio de e-mails, então é mais um para você poder testar). Abraços, Graymalkin -
Faça esse teste: For i = 1 To 3 If i = 1 Then Form2.Show End If Debug.Print i Do While Form2.Visible DoEvents Loop Next i O "1" vai ser impresso na janela Imediata e o form2 será aberto. Somente quando você fechar o form2 é que aparecerão o "2" e o "3". Seria isso? Abraços, Graymalkin
-
Opa, tem certeza de que você precisa fazer uma "*fila* duplamente encadeada circular e *ordenada*"? Uma "fila" tem esse nome justamente porque *é* uma fila, ou seja, os elementos são inseridos no final. É como uma fila de banco ou de supermercado, por exemplo. Para algo ordenado, você vai precisar inserir elementos em locais que podem ser diferentes do final. Que eu me lembre, a ordenação *não* se aplica a uma fila e sim a uma lista. Isso sim, "lista ordenada duplamente encadeada (circular)" é algo que existe. Verifique novamente o seu exercício para saber qual das duas você realmente tem que fazer (fila ou lista). Abraços, Graymalkin
-
Acredito que seria melhor se você primeiro formasse a nova lista (aux2) e só depois percorresse ela para imprimi-la (e não tudo de uma vez só). Além disso, a ordenação não está correta. Você simplesmente está olhando se o nome da primeira lista é maior ou igual ao que está sendo apontado pela segunda lista, mas não está deslocando os demais (quando o nome deve ser inserido no meio). Abraços, Graymalkin
-
Já experimentou utilizar strcmp() ao invés de strcmpi()? E, ambas as strings (vetores de char) possuem o caracter terminador ('\0')? Abraços, Graymalkin
-
Acho que o melhor seria você explicar, exatamente e detalhadamente, o que você quer fazer. Acredito que vai ficar mais fácil de se formular uma solução. Abraços, Graymalkin
-
Para maiúsculo e minúsculo você pode utilizar, respectivamente, UCase() e LCase(). Para a simulação do Backspace você pode utilizar a função Left() e obter um caracter a menos. Exemplo: text1.text = left(text1.text, len(text1.text)-1) Certo? Graymalkin
-
Char Global E Char Local. Local é Igual Global.
pergunta respondeu ao Luiz_Junior de Graymalkin em C, C++
Ué? Não seria aquilo ali que você quer? Abraços, Graymalkin -
Você só precisa dos arquivos que estão *fora* da pasta Support. Essa pasta Support só existe para você ter como refazer o programa de instalação no caso de que você tenha compilado novamente o projeto (ou seja, caso você tenha feito alguma mudança no seu executável e queira criar o pacote de instalação com o novo) sem ter que utilizar o PDW. Abraços, Graymalkin
-
Não acho que ele seja "não recomendável", pois, como já disse anteriormente, acho que ele faz o trabalho direitinho. Apenas ele não é nada amigável e muito menos customizável. Para a criação de instaladores, recomendo a dupla InnoSetup + IsTool. Abraços, Graymalkin
-
Layouts Dos Programas E Outras Dúvidas
pergunta respondeu ao Denis Bittencourt Muniz de Graymalkin em Visual Basic
Aí não rola... primeiro porque a criação dinâmica não tem a noção de arrays de controles (command1(0), command1(1), command1(2), etc.), segundo porque não tem como declarar um array de objetos quando se usa WithEvents, e terceiro porque não se tem como atribuir um método dinamicamente a um evento. O esquema seria criar um controle como um array, coloque um botão no form (Command1) e defina sua propriedade Index para 0. Depois, basta você fazer: Load Command1(1): Load Command1(2): Load Command1(3); dessa maneira você terá estes botões carregados dinamicamente, porém seu evento Click, por exemplo, será o mesmo do Command1(0) e você poderá diferenciá-los pelo argumento Index que haverá na declaração do evento. Sacou? É uma outra maneira completamente diferente de se carregar objetos dinamicamente e que vai permitir que você defina o que cada objeto deve fazer. A outra forma (que apresentei nos posts anteriores) só é ideal se você não precisar interagir com eventos do objeto ou for fazer isso de forma explícita. Abraços, Graymalkin -
Um form modal tem o mesmo efeito, se não me engano. Não serviria para o caso? Afinal de contas, o loop estaria esperando o Form2 ser fechado. Abraços, Graymalkin
-
Por que não fazer um Do While comum? A condição dele seria uma expressão que indicaria se o tal evento foi ou não executado. Quando o mesmo fosse executado, consequentemente o loop acabaria e o código continuaria sua execução normalmente. Vale lembrar que você terá que colocar um DoEvents ali dentro para não prender totalmente o processamento. Abraços, Graymalkin
-
Então, leia novamente a última frase do parágrafo do meu post anterior (em especial a parte do "DoEvents"). Abraços, Graymalkin
-
Char Global E Char Local. Local é Igual Global.
pergunta respondeu ao Luiz_Junior de Graymalkin em C, C++
Estou me acostumando a trabalhar com strings como ponteiros para arrays de chars, por isso já estou aprendendo alguns "macetes"... hehehe. -
O timer *não* é executado *depois* do laço. Apenas, a execução do laço é muuuuuiiiittttooooo mais rápida do que os 4 segundos de intervalo. Por isso você tem a impressão de que é depois. Você só vai notar isso colocando um valor muito maior para o For e colocando um DoEvents ali dentro (se não o processamento fica preso). Abraços, Graymalkin
-
Char Global E Char Local. Local é Igual Global.
pergunta respondeu ao Luiz_Junior de Graymalkin em C, C++
Não sei se entendi o que você quer, mas se você declarar... char *texto = ::texto; ... você terá a variável local "apontando" para o mesmo local da variável global. Seria isso? Abraços, Graymalkin -
Eu coloquei, e funcionou normalmente. Mas, acho que agora entendi o que você quer. Você tem que entender que não é o evento (que nada mais é do que uma simples Sub) que verifica se o tempo atual está no intervalo para decidir se vai executar ou não. Dentro do timer é que verifica-se isso e então chama-se o evento. Ou seja, se você mandar executar uma sub no evento Load do form, não será ela executada? O que é Timer1_Timer()? Uma Sub. Logo, de acordo com o que eu disse na pergunta anterior, ela será executada independente do intervalo definido em Timer. Ou seja, não adianta você definir o Timer para 2000 (2 segundos) e logo em seguida chamar a sub Timer1_Timer(), porque ele *não* vai esperar 2 segundos para executá-la. Mas, se a primeira execução do evento é de acordo com o tempo definido em Interval, por que você precisa chamá-lo manualmente? Tire aquele "Call Timer1_Timer" e você terá a sub executada no intervalo defindo por Interval. Não? Abraços, Graymalkin
-
Realmente não entendi... por que você pergunta pelo Interval se nem mesmo está utilizando ele no código? O código acima funcionou, mas ele simplesmente chama a rotina (o evento Timer do controle). Abraços, Graymalkin
-
Layouts Dos Programas E Outras Dúvidas
pergunta respondeu ao Denis Bittencourt Muniz de Graymalkin em Visual Basic
mas dai como eu faço pra colokar um evento nesse botao eu tentei o Private Sub botão_click() End End Sub e não deu Declare "botão" lá no General Declarations dessa maneira: Dim WithEvents botão As CommandButton Daí o seu código vai funcionar. Abraços, Graymalkin