Ir para conteúdo
Fórum Script Brasil

kuroi

Membros
  • Total de itens

    7.184
  • Registro em

  • Última visita

Posts postados por kuroi

  1. Conclusão : Cada porta aberta é gerenciada por um programa em execulção

    intão cada uma porta aberta se usa um comando diferente para enviar mensagen?

    em resumo é isso. pra se comunicar com uma dessas portas, você teria primeiro q descobrir qual servico a esta utilizando.

    de cabeca, não sei dizer sobre esses numeros q você passou, se são portas padrão de algum tipo de servico, ou algum programa, mas se pesquisar, deve dar pra saber.

    por exemplo se a porta 80 estiver aberta que seria HTTP né?

    como eu enviaria mensagem para ela?

    agora, quanto a porta 80... o http é um protocolo de transferencia de texto, usado normalmente nessa pra fazer a comunicao de acesso a uma pagina web.

    no caso, mesmo q essa porta esteja aberta nesse computador, isso não significa q tenha algum webserver liberando essa porta pra acesso externo. se é um ip residencial, não sei o q você receberia caso tentasse acessar, possivelmente alguma mensagem de erro.

    agora, se ele realmente tem, no pc dele na casa dele, alguma pagina hospedada pra acesso externo na porta 80, você pode usar o protocolo http pra tentar recuperar o codigo html dessa pagina por exemplo.

    realmente não sou nenhum genio nessa parte de redes e tcp/ip, mas imagino q mandando mensagens seguindo o protocolo http, você deva receber as respostas tb seguindo o protocolo. ai você faria o seu programa interpretar de acordo (é assim q os browsers fazem. mandam uma mensagem de requisicao, recebem o codigo html de retorno, interpretam e mostram a pagina pronta pra vc).

    com o componente Winsock, você pode mandar uma mensagem usando o metodo SendData(). e você detecta o recebimento de uma mensagem usando o evento DataArrival().

    se estiver interessado em tentar comunicao pelo protocolo http, procure algum manual sobre ele por ai.

    na wikipedia tem uma introducao: http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol

    veja esse tb: http://são-paulo.pm.org/equinocio/2010/set/7

    quanto a usar o Winsock, se você tiver alguma dificuldade, procure na sala de tutoriais q eu postei um tópico com um link pra um tutorial escrito pelo Graymalkin.

    e tb procure aqui na sala do visual basic, por um tópico criado por um membro chamado Darknnez q discutimos bastante sobre o assunto.

  2. quando você conecta em uma porta, você pode enviar e receber mensagens.

    o modo como você pode utilizar esse recurso depende do programa ou do processo que esta escutando a porta em q você conectou.

    você envia uma mensagem e o programa vai interpretar e tomar uma acao. então pra poder fazer qualquer coisa, você tem q saber com qual programa você esta se comunicando e entender o funcionamento interno dele, e saber qual protocolo ele entende, ou qual o formato da mensagem q ele interpreta.

    exemplo, se você se conectar na porta 21, geralmente usada pra ftp, possivelmente você conseguiu conectar num servidor de ftp.

    enviando, assim, o comando de login, seguindo o formato do protocolo ftp, com usuarios e senhas validos nesse servidor, você deve conseguir autenticacao, podendo assim enviar e baixar arquivos e etc.

  3. arquivo dentro de executavel no vb6 acho q fica meio dificil, nunca cheguei a mexer com nd nesse nivel assim, mas acho q se o conteudo dos arquivos for só texto mesmo, o melhor seria deixa-lo então dentro de alguma variavel string ou algo assim dentro do codigo fonte mesmo.

    se precisar guardar outros tipos de arquivos dentro do executavel, uma ideia seria, depois q ele já esteja compilado, você usar um outro programa q abra esse .exe como binario e insira o conteudo dos arquivos q você quer apos o fim do .exe. se não me engano, o .exe podera ser aberto normalmente q não sera corrompido mesmo com o conteudo a mais no final.

    ai o .exe abriria a ele mesmo como binario e leria o conteudo dos arquivos q você quer.

    o q seria uma coisa meio complicada de fazer, já q, antes do compilamento, o seu .exe precisa saber o tamanho q ele vai ter depois de compilado. a não ser q, lendo o assembly do .exe compilado, você consiga facilmente saber onde acaba o programa, podendo assim localizar facilmente o conteudo adicional, mas não sei nd sobre essa parte.

    e pra executar comandos do DOS é so usar a funcao Shell().

    EDITADO:

    lembrei agora q o visual basic tem uma opcao de adicionar arquivos, Resource Files, se não me engano.

    não costumo usar, então não sei direito, mas acho q talvez funcione pro q você quer. entre em menu Add-Ins -> Add-In Manager... e habilite a opcao VB 6 Resource Editor.

    EDITADO DE NOVO:

    fiz uns testes e parece q os Resource Files ficam mesmo salvos dentro do .exe, depois de compilado.

    veja se faz td o q você precisa, aqui tem um tutorial: http://visualbasic.about.com/od/usevb6/a/ResVB6.htm

  4. mas você ta adicionando um item novo no listview...

    não lembro de cabeca os codigos do listview, mas olhando o exemplo de baixo, acho q pode ser assim:

    frmEditarItensPedidoCompras.txtCodProd.text = lstItensdoPedido.SelectedItem.ListSubItems(1).Text

    não precisa chamar um ListItems.Add().

  5. e como eu coloco a cor gradiente ?? como no ex.

    o gradiente deve ser uma imagem de fundo.

    possivelmente ele fez uma imagem bem curta horizontalmente, talvez ate de 1 pixel só e mandou repetir, como ocorre nesse exemplo: http://www.w3schools.com/css/tryit.asp?fil...image_gradient2

    veja tb: http://www.w3schools.com/css/css_background.asp

    tenho que colocar outros styles e outros divs no codigo???

    sim, se quiser formatar cada parte do texto diferentemente, vai precisar de styles diferentes pra cada parte dele.

    se for só pra mostrar textos, o melhor pode ser usar as tags span e/ou p.

  6. converter ip em host??

    seria pra pegar um endereco no formato 255.255.255.255 e transformar em dominio.com.br??

    se for isso, pode usar o comando tracert do dos. use com o comando shell e grave num txt, depois leia o txt. na primeira linha ele mostra o endereco nos dois formatos.

    Shell "tracert 127.0.0.1 > C:\caminho\arquivo.txt"

  7. determinado usuario do q?? tem q ver qual o sistema q você qer quebrar, onde esta armazenado, etc. você já sabe o login de usuario??

    mas basicamente no brute force, vai-se tentando todas as combinacoes possiveis de senhas, uma por uma. esse metodo pode funcionar se a senha for bem simples, com poucos caracteres, caso contrario deve-se levar anos.

    mas ai pode-se ir implementando outras ideias sobre isso, pra tentar prever alguma senha e diminuir o numero de tentativas. por exemplo, usar uma lista de senhas usualmente usadas.

    mas é por isso q sempre recomendam aos usuarios criar senhas longas, com varios tipos de caracteres (combinar letras, numeros, caracteres especiais, etc), não usar datas, etc.

    assim, poderia literamente levar anos pra você conseguir descobrir.

  8. acho q não tem nd a ver com rede nem com pasta nem com conexao, na verdade acho q é alguma query de update q não permite atualizacao, muito provavelmente por conta do modo como a query esta formada (exemplo, update com group by não é permitido - pelo menos não no access).

    se tiver dificuldade em encontrar, tente rodar o sistema a partir do codigo fonte. assim quando acontecer o erro, a execucao é pausada e vai te mostrar exatamente qual o codigo q ele tentou executar q deu erro.

    ai você corrige o codigo.

    ou o problema esta acontecendo em apenas um dos computadores e outro não?? se for o caso ai tb não entendi...

    ai pode ser problema de permissao na pasta onde esta o banco mesmo. faca um teste, esse usuario consegue salvar um arquivo qualquer dentro dessa pasta??

  9. você quer q essa parte seja lida de um txt??

    >>>> preposicaoX(0) = "DO"
    >>>> preposicaoX(1) = "DE"
    >>>> preposicaoX(2) = "DA"
    >>>> preposicaoX(3) = "E"
    >>>> preposicaoX(4) = "DOS"
    >>>> preposicaoX(5) = "DAS"
    >>>> preposicaoX(6) = "NO"
    >>>> preposicaoX(7) = "NOS"
    >>>> preposicaoX(8) = "NA"
    >>>> preposicaoX(9) = "NAS"[/code]

    é só ler o txt e incluir no array. o melhor é q esteja num formato tipo assim "DE|DA|E", numa unica linha, assim você só lia essa linha e usava um Split() q ele já te dava um array com todas as preposicoes.

    um tutorial de leitura de arquivos em vb6: http://www.dreamincode.net/forums/topic/29...quential-files/

  10. O evento crPageHeader_format dispara uma vez (creio eu por página), por ser o cabeçalho de página.

    Enquando que o evento crDetails_format dispara uma vez para cada linha na seção detalhes, (creio eu por página).

    Só fiz testes até agora com relatório de apenas uma página.

    hum... o evento não se chama necessariamente crPageHeader_format nem crDetails_format.

    seria sim o evento format() do obejto CRAXDRT.Section. você poe o nome q quiser no objeto (crDetails, crPageHeader ou qualquer outra coisa q quiser), correto??

    a diferenca é com a secao a qual você associa.

    hum... com todos os testes q fiz aqui, sempre usei crDetails pra associar com os details, já q esse é o nome popular dado ao objeto q associamos aos details, q encontramos nos codigos de exemplo, por ai. mas acredito q não tenha porque ele não aceitar com outro nome.

  11. hum... tente assim:

    Public Class Form1

      Private Sub BForm2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BForm2.Click
        Form2.Show()
        Me.Close()
      End Sub

      Private Sub BTest_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BTest.Click
        Clique(TBTest)
      End Sub

      Public Sub Clique(ByRef text_a_alterar As TextBox)
         text_a_alterar.Text = "BTest Worked!"
      End Sub
    End Class[/code]
    [code]Public Class Form2

      Private Sub BTest_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BTest.Click
        Call Form1.Clique(TBTest)
      End Sub
    End Class

  12. realmente, não encontrei essa informacao no CRAXDDRT.Report. talvez ela esteja em algum outro objeto q tenha q ser associado ao CRAXDDRT.Report, vou dar uma pesquisada.

    entretanto, você conseguiria ler abrindo o report como arquivo binario. essa informacao esta no header do arquivo. logico q não seria exatamente muito facil entender a estrutura do arquivo, mas pelo q parece, essa informacao é de facil localizacao.

    por sorte a gente tem como referencia um texto "Crystal Reports" q aparece sempre no header, se abrir o .rpt num editor hexadecimal, você vai ver.

    pelo q vi, o Number Revision aparece sempre 84 bytes antes do texto Crystal Reports já no formato texto (não esta armazenado como Integer ou Long e sim como String mesmo). no caso do crystal 11, o texto deve estar em unicode, ocupando dois bytes por caracter.

    não sei se você entendeu a explicacao, mas se você tiver afinidade com leitura binaria de arquivos e eu tiver identificado a estrutura corretamente mesmo, você deve conseguir encontrar facil essa informacao dentro do .rpt.

    mas passei essa alternativa apenas como ultima opcao, se realmente não der pra acessar pelo objeto.

    ler o arquivo binario, alem de dar trabalho, não seria uma coisa muito "bonita" de se fazer.

    mas vou dar uma olhada nas estruturas dos objetos e vejo se descubro alguma coisa.

  13. Uma observação: O código que você postou não funciona. O evento que você indicou está correto, porém aquela estrutura de código de tabelas não é aceita durante a execução do evento.

    hum... pra mim funcionou com o crystal 8.5 e access. talvez seja diferente nas versoes mais novas.

    Oo.. vou abrir outro tópico sobre Crystal Reports 11. Tenho um pepino que procurei mas parece que não tem solução. rs

    beleza, lembre-se de q tb temos uma sala sobre crystal reports: http://scriptbrasil.com.br/forum/index.php?showforum=68

  14. Se tivesse como recuperar este conteúdo sem este evento seria melhor, porque de acordo com o que estou fazendo, meu código está em um módulo e estou controlando um ocx em um form.

    hum... não sei... pra trazer algum dado de volta do crystal reports, só consegui imaginar esse jeito.

    mas não é porque um pedaco do codigo esta no module e o outro no form q não da pra funcionar. você pode passar os objetos como parametro pras funcoes q vai usar, ou mesmo declara-lo como publico.

    se quiser poste ai os codigos q esta usando.

×
×
  • Criar Novo...