-
Total de itens
8.257 -
Registro em
-
Última visita
Tudo que Graymalkin postou
-
E Shell com o segundo parâmetro como vbHide não funciona neste caso? Graymalkin
-
Eu falei nesse post: http://scriptbrasil.com.br/forum/index.php...st&p=354622 meu, era a notacao polonesa, agora isso. onde você ouve falar dessas coisas?? Huahuahuhauahuhau!!! :lol: :lol: :lol: Eventulamente, em minhas pesquisas sobre programação, eu acabo topando com essas coisas... são elas que me perseguem! Hehehehe... :P Abraços, Graymalkin
-
Legal! :D Um jeito de fazer isso é deixando aquele código de conexão em um loop e usando um objeto ManualResetEvent para sinalizar quando alguém se conecta. Na linha... c = l.EndAcceptTcpClient(ar) ... o objeto "c" se torna um novo cliente conectado, portanto você pode fazer uma lista de clientes conectados (a fim de poder passar mensagens para todos ou para um específico). Você só tem que ler o conteúdo do arquivo para uma string, o que pode ser feito assim: Dim dados As String Dim origem As New IO.StreamReader("d:\imagem.gif", System.Text.Encoding.Default) dados = origem.ReadToEnd() origem.Close() Depois você vai enviar o que estiver no objeto "dados" pelo socket. E, do outro lado, ao receber tudo você só vai ter que fazer: Dim destino As New IO.StreamWriter("d:\teste.gif", False, System.Text.Encoding.Default) destino.Write(dados) destino.Close() :D Abraços, Graymalkin
-
Do que você está falando??? :blink: Graymalkin
-
Creio que o Dreamweaver não tenha a opção de code-behind, portanto acho o Visual Studio melhor. Com code-behind você tem a parte do código totalmente separada da interface (do HTML). Do contrário (se não tiver code-behind) você vai ter que programar no estilo antigo do ASP, misturando HTML e código (em VB, C# ou qualquer outra linguagem .NET). Eu uso o Dreamweaver para fazer páginas XHTMLs comuns, mas nunca usei para criar páginas dinâmicas em conjunto com o ASP.NET, portanto não sei quais são as possibilidades que ele oferece. Abraços, Graymalkin
-
Você usa o Visual Studio? Se usar, basta declarar as funções normalmente (na classe principal ou em qualquer outra classe). Se você já conhece uma das linguagens (como VB.NET ou C#), creio que não vá ter problemas. Ah, e se você postar aqui suas dúvidas, fica mais fácil pra gente poder ajudar. Abraços, Graymalkin
-
Esse também. Mas, no caso que você citou, do servidor parar para esperar a conexão, seria o BeginAcceptTcpClient do TcpListener. Claro. Declare estas duas classes: Class Servidor Private l As TcpListener Private c As TcpClient Public Sub New(ByVal ip As IPAddress, ByVal porta As Long) l = New TcpListener(ip, porta) End Sub Public Sub Aguardar() l.Start() l.BeginAcceptTcpClient(New AsyncCallback(AddressOf ConexãoAssíncrona), l) End Sub Private Sub ConexãoAssíncrona(ByVal ar As IAsyncResult) c = l.EndAcceptTcpClient(ar) MessageBox.Show("Conectou!") End Sub End Class Class Cliente Private c As TcpClient Public Sub New() c = New TcpClient() End Sub Public Sub Conectar(ByVal ip As IPAddress, ByVal porta As Integer) c.Connect(ip, porta) End Sub End Class E lembre-se de importar os namespaces: Imports System.Net Imports System.Net.Sockets Depois, coloque dois botões em um form (um para aguardar a conexão, que é o papel do servidor) e outro para se conectar (que é o papel do cliente). Coloque o seguinte código no evento Click do botão Servidor: Dim server As New Servidor(New IPAddress(New Byte() {127, 0, 0, 1}), 1984) server.Aguardar() E o seguinte no evento Click do botão Cliente: Dim client As New Cliente() client.Conectar(New IPAddress(New Byte() {127, 0, 0, 1}), 1984) Execute o projeto e clique no botão Servidor. Você vai reparar que o programa *não* irá mais travar esperando a conexão. No entanto, ele vai estar esperando e você pode comprovar isso clicando no botão Cliente. Ao clicar neste, ele vai se conectar ao servidor e o mesmo emitirá uma MessageBox informando que a conexão foi estabelecida. A linha importante no código acima (que está na classe Servidor) é: l.BeginAcceptTcpClient(New AsyncCallback(AddressOf ConexãoAssíncrona), l) No caso, passamos para o método BeginAcceptTcpClient uma função de retorno (chamada de callback), que será invocada quando a conexão for estabelecida. Como você vai ver, tudo que está no método ConexãoAssíncrona só é executado quando a conexão é estabelecida. Essa mesma idéia pode ser utilizada para o recebimento (BeginRead) e envio (BeginWrite) de dados (e não só para a conexão, como é o exemplo acima). Certo? ;) Graymalkin
-
http://www.google.com.br/search?hl=pt-BR&a...1=%22ASP.NET%22 Abraços, Graymalkin
-
Dê uma procurada, aqui no fórum mesmo, sobre os controles Inet e/ou WebBrowser. Ambos podem ser úteis no caso. Abraços, Graymalkin
-
Vou mover para o XML e Demais Linguagens, que é o local mais apropriado para a sua dúvida. Abraços, Graymalkin
-
Qual O Limite Do Comando Insert>>>:::?
pergunta respondeu ao Alexandre Janot de Graymalkin em Visual Basic
Você viu as respostas a este tópico? Eu estou mesclando os seus tópicos porque tratam do mesmo assunto (que já foi respondido, aliás). Abraços, Graymalkin -
Sim, claro. Vou separar em blocos para ficar melhor de explicar: Static separador As String = "," Static válidos As String = "0123456789" & Chr(Keys.Back) Aqui definimos qual é o separador (no caso, a vírgula) e quais a teclas válidas (de 0 a 9 e mais o Backspace). Uma declaração estática (Static) só é executada na primeira vez que é chamada, portanto poupamos esse trabalho nas chamadas subsequentes. e.Handled = True Aqui definimos a propriedade Handled (do Inglês, "capturada", "segurada", ou qualquer coisa que indique que algo foi pego ou segurado) do objeto e, que faz parte da declaração do evento, como True para indicar que trataremos a execução do evento manualmente. Isso previne que a tecla digitada apareça na textbox, como seria o normal. No caso, nós a colocaremos lá, se for o caso, é claro. If válidos.Contains(e.KeyChar) Then Aqui verifica-se se a tecla digitada (que está em e.KeyChar) está contida em "válidos" (que só tem de 0 a 9 e mais o Backspace). Qualquer outra tecla será ignorada, no caso. Dim txt As TextBox = sender Dim texto As String = txt.Text.Replace(separador, "") Aqui obtemos a textbox que chamou o evento (que está em sender). E também o texto contido nela, sem o separador (por isso usamos Replace() para substituir o separador por nada [""]). If e.KeyChar = Chr(Keys.Back) Then If txt.Text.Length > 0 Then texto = texto.Substring(0, texto.Length - 1) End If Else texto = texto & e.KeyChar End If Verificamos se a tecla digitada é o Backspace. Se for, verificamos se o texto tem mais do que 0 caracteres (ou seja, se realmente existe algum texto, e não uma string vazia). Se for o caso, usamos o método Substring() para obter o texto todo menos o último caracter. Para isso basta mandar pegar a quantidade de caracteres (texto.Length) subtraindo 1 (-1). Se a tecla digitada não for o Backspace, vai cair no Else, então ela só poderá ser um valor de 0 a 9 (pois já eliminamos as outras possibilidades no primeiro If). Nesse caso, juntamos a tecla digitada com o texto. If texto.Length > 2 Then texto = texto.Insert(texto.Length - 2, separador) End If txt.Text = texto Como trabalhamos com o texto sem o separador, basta aqui olhar se ele tem mais do que 2 caracteres (123, por exemplo). Quando for este o caso, inserimos o separador na segunda posição a partir do final do texto (basta subtrair 2 do tamanho do texto). Em seguida, colocamos o texto (agora com o separador) novamente na caixa de texto (txt.Text). Como o processo acima é executado para *cada* tecla que você digita, o grande lance aqui, que facilita muito o trabalho, é *sempre* retirar o separador no começo da verificação e depois colocá-lo ou não (de acordo com a quantidade de caracteres). Certo? ;) Qualquer dúvida, 'stamos aí. Abraços, Graymalkin
-
Eu recomendo que sim. O Vivendo&Aprendendo mostrou uma maneira bem prática ali em cima. Só não sei se ela vale para todos os bancos de dados. A outra maneira seria utilizar a função Count() em SQL. Abraços, Graymalkin
-
:) Sim, se me lembro bem é só você utilizar os métodos começados por "Begin" e "End". Esses métodos são assíncronos, ou seja, não param o processamento. Abraços, Graymalkin
-
Qual O Limite Do Comando Insert>>>:::?
pergunta respondeu ao Alexandre Janot de Graymalkin em Visual Basic
Não sei o que você quer dizer com embaralhadas, mas dá pra você dividir uma linha de código com o _ (sublinhado). Exemplo: sql = "SELECT * " & _ "FROM tabela;" Abraços, Graymalkin -
Experimente definir a propriedade CursorLocation do seu ADODB.Recordset para adUseClient. Se não der certo, você ainda pode utilizar uma SQL para contar os registros. Abraços, Graymalkin
-
Deve estar faltando registrar alguma biblioteca (DLL ou OCX) necessária ao seu programa. Você criou o setup com o Package & Deployment Wizard? Abraços, Graymalkin
-
O número de registros na tabela *não precisa* corresponder ao último código cadastrado. Essas são coisas distintas. Você pode contar os registros da tabela facilmente. E, a questão de pular os cancelados é essencial para utilização do seu programa em rede, ou seja, por mais de um computador. Imagine dois computadores cadastrando itens ao mesmo tempo e os códigos que seriam gerados para cada um e você vai entender o porquê disso. É claro que existe um jeito de preencher os "buracos" deixados, mas isso exige procurar o primeiro buraco anterior ao código atual e cadastrar nele (e também exige que o seu campo não seja auto-numeração). Existe também a hipótese do programa não ser utilizado por mais de um computador, mas o controle de numeração também teria que ser manual para fazer o que você quer. Abraços, Graymalkin
-
Está tudo colado, não? Só vi espaço no final da primeira linha. Acredito que foi por isso que a Andreia sugeriu "ver" a SQL formada. Abraços, Graymalkin
-
Por padrão é compartilhado sim. O caso é que o Access abre como exclusivo, daí o problema da sua aplicação reclamar ao tentar acessar o arquivo. No caso de duas instâncias do programa (no mesmo ou em diferentes computadores) você não terá problemas. Abraços, Graymalkin
-
Qual O Melhor Componente Para Enivar E-mail...
pergunta respondeu ao diegogalindo de Graymalkin em ASP
Bom, se eu entendi, a questão é que se o e-mail do caboclo é fulano@bol.com.br e ele entra no seu site e quer entrar em contato com as Indústrias Tabajara (contato@tabajara.com.br), você queria que o seu site passasse um e-mail para "contato@tabajara.com.br" com o remetente como "fulano@bol.com.br"? Se for, acho que isso não é possível. Imagine quantas pessoas utilizariam os endereços de e-mail alheios para envio de spam (o que incriminaria os remetentes, é claro). O correto seria mesmo que o remetente fosse o seu site e que o endereço de resposta fosse o do e-mail do visitante. Desta maneira, quando a empresa fosse responder ao e-mail enviado, o endereço seria o do caboclo e não o do seu site. Só não sei se isso é possível de se fazer com o CDonts. Com o Py.Sendmail posso garantir que isso é possível (através do método AddXHeader, que lhe permite acrescentar o cabeçalho "Reply-To:"). Abraços, Graymalkin -
Comunidade No Orkut
tópico respondeu ao Lucinari de Graymalkin em Novidades e Anúncios Script Brasil
Não já existia uma? Essa: http://www.orkut.com/Community.aspx?cmm=133093 Abraços, Graymalkin -
O segundo exemplo, uma vez que você não quer outra instância da classe pai, mas sim a própria instância da classe filha. Em outras palavras, sendo ou não Artefato uma subclasse de Modelo, o que interessa são os dados do objeto em si (estejam eles definidos em Artefato ou em Modelo). Abraços, Graymalkin
-
E não é só utilizar PChar() para converter? Abraços, Graymalkin
-
Hehehehe... é, isso também foi que mais me chateou... rsrsrsrs Abraços, Graymalkin