Ir para conteúdo
Fórum Script Brasil

Graymalkin

Veteranos
  • Total de itens

    8.257
  • Registro em

  • Última visita

Tudo que Graymalkin postou

  1. Existe uma função da API do Windows chamada ShellExecute que faz isso. Dê uma pesquisada sobre ela. Abraços, Graymalkin
  2. Se você está executando dentro do Delphi, esse é o normal (aparecer primeiro a exceção do Delphi e depois executar o tratamento que você escreveu). Após compilado e executado diretamente (fora do ambiente do Delphi) você só verá o resultado do tratamento. Abraços, Graymalkin
  3. Graymalkin

    Sockets

    Dê uma olhada neste artigo/tutorial: http://www.desenvolvedores.net/modules.php...=article&sid=27 Abraços, Graymalkin
  4. Graymalkin

    Flexgrid

    Utilize o evento SelChange para isso. Segue um exemplo abaixo: Private Sub Grade_SelChange() If Grade.Row > Grade.RowSel Then inicio = Grade.RowSel fim = Grade.Row Else inicio = Grade.Row fim = Grade.RowSel End If For i = inicio To fim soma = soma + Int(Grade.TextMatrix(i, Grade.Col)) Next i Label1.Caption = soma End Sub Note que o nome do flexgrid no exemplo acima é "Grade". Abraços, Graymalkin
  5. Aí vai um exemplo simples: Dim figura As New Bitmap("c:\figura.jpg") Dim pedaço As Bitmap = figura.Clone(New Rectangle(10, 10, 20, 20), Drawing.Imaging.PixelFormat.DontCare) pedaço.Save("c:\teste.jpg") Note que os dois primeiros 10 são as posições iniciais (x e y) e os dois 20 é o tamanho da figura (altura e largura) que deve ser copiado. Abraços, Graymalkin
  6. Onde você achou estes componentes? E, por que você precisa de um array de componentes? Fazer com que todos eles executem o mesmo evento não serve? Fica praticamente do mesmo jeito que um array de controles. Abraços, Graymalkin
  7. Graymalkin

    Arquivo Txt

    Os campos têm tamanhos fixos? Ou existe algum caracter indicador que identifique onde um dado acaba e outro começa? Abraços, Graymalkin
  8. Graymalkin

    Db Remoto

    Transforme os dados (Recordsets) em arquivos XML e depois envie estes por Winsock. Do outro lado basta fazer o inverso (transformar o XML em um Recordset). O ADO já tem métodos para isso (salvar e abrir recordsets em XMLs). Já fiz um esquema muito parecido com esse seu, sendo a única diferença no banco de dados (no meu caso era Access, e a idéia era fazer com que o Access funcionasse como um SQL-Server, ou seja, através de conexões pela rede ao invés de acesso direto ao arquivo MDB). Abraços, Graymalkin
  9. Graymalkin

    Editor Html

    Sim, tentei... mas também não consegui... . Mas vou dar uma tentada de novo depois. Abraços, Graymalkin
  10. Graymalkin

    Vb.net E Mysql

    Já tem um tópico aqui mesmo no fórum de .NET sobre isso. Dê uma procurada. Abraços, Graymalkin
  11. Graymalkin

    Getpixelcolor

    Aí vai: VB.NET: Dim figura As New Bitmap(PictureBox1.Image) Dim cor As Color = figura.GetPixel(10, 10) Debug.WriteLine(cor) C#: Bitmap figura = new Bitmap(PictureBox1.Image); Color cor = figura.GetPixel(10, 10); System.Console.WriteLine(cor); Certo? Graymalkin
  12. Sim, você pode obter isso com a função SHGetSpecialFolderLocation da API Win32. No API-Guide (http://www.mentalis.org/) tem um exemplo dela. Abraços, Graymalkin
  13. Dê uma olhada nisso: VB.NET: Dim pastaWindows As String = System.IO.Directory.GetParent(Environment.GetFolderPath(Environment.SpecialFolder.System)).FullName MsgBox(pastaWindows) C#: string pastaWindows = System.IO.Directory.GetParent(System.Environment.GetFolderPath(System.Environment.SpecialFolder.System)).FullName; System.Console.WriteLine(pastaWindows); Abraços, Graymalkin
  14. Graymalkin

    Flexgrid

    Você pode esconder ela fazendo: MSFlexGrid1.ColWidth(n) = 0 Onde "n" é o índice da coluna (que começa por 0). Abraços, Graymalkin
  15. Sim, eu fiz o Ensino Médio (2º Grau) de Técnico em Informática. Porém, como a lei tinha mudado no mesmo ano que comecei, tive também todas as matérias de Formação Geral junto com as matérias técnicas. Abraços, Graymalkin
  16. mas isso não apagaria o sistema do hd Não, isso apenas reescreve o MBR com o seu conteúdo original. Abraços, Graymalkin
  17. Ah tá, é isso aí mesmo então. Eu aprendi isso aí quando se falou de portas lógicas (no 2º Grau) e depois em Matemática, quando se falou de Lógica (ou Álgebra de Boole). Abraços, Graymalkin
  18. Se o vírus estiver no MBR mesmo basta você fazer: fdisk /mbr Isso, é claro, ao iniciar o computador com um disquete de boot que contenha o fdisk. Abraços, Graymalkin
  19. Graymalkin

    Erro No Vb

    Você tem certeza de que esse efeito é realmente causado pelo VB? Tenho o Corel12 aqui e utilizo o VB a maior parte do tempo e nunca tive esse tipo de problema. Abraços, Graymalkin
  20. Para você mesmo Não, não conheço algo com esse nome ("lógica digital"). Haveria algum outro nome para isso? Abraços, Graymalkin
  21. Graymalkin

    Programação

    O ideal é você estar em na shell para fazer isso. Procure algum ícone com o nome de "Console" ou "Command Shell" ou algo similar para isso. Abraços, Graymalkin
  22. Dê uma olhada neste tópico: http://scriptbrasil.com.br/forum/index.php?showtopic=41236 Abraços, Graymalkin
  23. Boa dica, apesar de que eu seja contra tais ações (bloquear recursos do sistema operacional, ainda por cima os mais úteis). Abraços, Graymalkin
  24. Graymalkin

    Problemas Com Null

    Não testei aqui, mas experimente: sql = "Select * FROM Documentos WHERE IsNull(DATA_DOC)" Abraços, Graymalkin
  25. Pretendo ser... Obrigado e de nada. Sim, a utilização de tais expressões possuem situações específicas (não tão gerais, pelo menos no dia-a-dia, quanto as operações aritméticas, como você citou). Uma situação dessas é quando você possui um campo "flag". Um campo "flag" (do inglês, "bandeira") é utilizado para sinalizar algo (esse "algo" você pode imaginar como "opções" a serem habilitadas ou desabilitadas). Olhemos agora um número binário arbitrário: 1011100 O que você vê? Uma sequência de 0s e 1s, você poderá pensar. E sim, de fato é isso. Mas, a principal característica de um número binário é justamente o fato de que só existem dois valores possíveis (ou 0 ou 1). Como já vimos antes, esse 0 pode ser chamado de FALSO e o 1 pode ser chamado de VERDADEIRO (na lógica formal), mas não podemos atribuir novos significados a eles? Sim, claro que podemos: chamemos 0 de DESLIGADO e 1 de LIGADO. O que temos agora? Uma sequência de "interruptores" (sim, interruptores como os que você usa para ligar a lâmpada do seu quarto ou da sua sala). Na sequência acima o primeiro bit está DESLIGADO (estou começando da direita para a esquerda) e o último bit está LIGADO. Note que estou chamando os bits pela ordem, porém formalmente o primeiro bit é chamado de bit0 e assim por diante (sempre començando do 0). No caso aqui estarei começando sempre por 1 (primeiro), pois fica mais fácil de se visualizar. Então, como posso saber se o terceiro bit está ligado ou desligado? Através de uma operação de AND: 1011100 AND 0000100 = 0000100 Como a operação de AND só vai retornar 1 se ambos os valores forem 1, ao realizar a operação com o valor binário 100 eu sei que se o resultado final for o próprio valor é porque esse bit está ligado. Se eu fizesse: 1011100 AND 0000010 = 0000000 O resultado final seria 0, e eu saberia que o 2º bit está desligado. Mais um exemplo: 1011100 AND 0001000 = 0001000 O resultado final bate com o valor testado, por isso eu sei que o quarto bit está ligado. Entendido? Agora, voltemos aos números decimais. Aquela sequência arbitrária é o valor 92 em decimal. Se eu quisesse saber quais bits estão ligados ou desligados, bastaria que eu fizesse os testes: 92 AND 1 = 0 92 AND 2 = 0 92 AND 4 = 4 92 AND 8 = 8 92 AND 16 = 16 92 AND 32 = 0 92 AND 64 = 64 Note que os resultados *só* são diferentes de 0 nos bits cujo valor é 1 (terceiro, quarto, quinto e sétimo bits). Por que 1, 2, 4, 8, 16, 32 e 64? Veja a tabela abaixo: 1 = 0000001 2 = 0000010 4 = 0000100 8 = 0001000 16 = 0010000 32 = 0100000 64 = 1000000 As potências de 2 são os valores mais utilizados em operações binárias porque são compostos por apenas um bit ligado e em uma posição específica. Voltemos agora ao caso de um campo "flag". Como eu disse antes, um campo "flag" sinaliza algo e podemos encarar um valor binário como uma sequência de "interruptores". Por isso, *no mínimo* aí (para o valor 92) temos 7 "opções" (a quantidade de bits do valor 92) que podemos desligar e ligar (imagine um painel com 7 interruptores e 7 lâmpadas correspondentes). Porém, nada impede ainda que combinações de interruptores possam também ter efeitos específicos (ao ligar dois determinados interruptores uma determinada lâmpada pode piscar rapidamente; ao ligar determinados três interruptores uma determinada lâmpada pode piscar lentamente; e assim por diante). Como temos 7 bits possíveis sendo que cada um pode assumir 2 valores (0 ou 1), o total de combinações possíveis é: 2^7 (2 elevado à 7ª potência), o que resulta em 128 combinações! Veja que coisa magnífica: com apenas um valor (92) eu posso representar 128 situações diferentes! Listar todas elas aqui seria extremamente exaustivo (e totalmente desnecessário), por isso vou colocar apenas alguns exemplos: valor = 92 if valor and 1 = 1 then 'Se o primeiro bit estiver ligado nome = "Julian" else 'Se o primeiro bit estiver desligado nome = "Junior" endif if valor and 2 = 2 then 'Se o segundo bit estiver ligado nome = "Remy" else 'Se o segundo bit estiver desligado nome = "Logan" endif if valor and 4 = 4 then 'Se o terceiro bit estiver ligado nome = "Scott" else 'Se o terceiro bit estiver desligado nome = "Alex" endif if (valor and 2 = 2) and (valor and 4 = 4) then 'Se o segundo e o terceiro bits estiverem ligados SIMULTANEAMENTE nome = "Warren" else 'Se o segundo OU o terceiro bits (ou ambos) estiverem desligados nome = "Henry" endif if (valor and 2 = 2) or (valor and 8 = 8) then 'Se o segundo OU o quarto bits (ou ambos) estiverem ligados nome = "Piotr" else 'Se o segundo E o quarto bits estiverem desligados nome = "Robert" endif Note que nos dois últimos Ifs eu demonstrei como pode-se combinar, de forma simples, os resultados a fim de obter outras possibilidades (muitas outras combinações podem ser utilizadas). Note que até agora só utilizei o AND para explicar o caso, mas o operador OR também é extremamente útil no caso. Mais precisamente, o AND serve para *testar* e o OR serve para *definir*. Se quiser ligar os três primeiros bits, eu posso simplesmente fazer: valor2 = 1 or 2 or 4 Como sabemos o resultado de 1 OR 2 OR 4 vai ser 7 e que o valor binário de 7 é 111. Para as potências de 2 aquela idéia de somar vai ser sempre verdadeira, por isso o resultado acima seria o mesmo que: valor2 = 1 + 2 + 4 Sabendo isso, como eu poderia saber se dois bits estão ligados simultaneamente de uma forma mais prática do que a que utilizei nos exemplos acima? Veja abaixo: valor = 92 valor2 = 4 or 8 'que é o mesmo que 4+8, ou seja, 12 if valor and valor2 = valor2 then 'o terceiro E o quarto bits estão ligados else 'o terceiro OU o quarto bits (ou ambos) estão desligados endif Apesar de não utilizarmos extensivamente essas operações na programação do dia-a-dia, é possível citar alguns exemplos: tags de arquivos MP3, onde várias informações sobre as informações contidas dentro do arquivo são expostas em flags; a propriedade Flags do controle CommonDialog (bastante utilizado no VB) que possui várias opções "extras" que podem ser ativadas; e a criptografia (na qual se utiliza o operador XOR, o "OU eXclusivo"). Esses são exemplos que imaginei agora, mas devem haver outros. É interessante também salientar que as operações lógicas estão ocorrendo o tempo todo e de forma intensa no seu computador (e em milhares de outros equipamentos eletrônicos). Calculadoras, por exemplo, fazem a operação de "soma" através do operador OR. Seu computador sabe que você apertou uma tecla enquanto segurava o SHIFT, o ALT ou o CONTROL através de um bit que é alterado nesses casos (o que pode ser testado com um AND). Seu computador só está recebendo dados da internet no momento (e é capaz de se comunicar com outros computadores em uma rede local) devido a uma operação de AND que é realizada entre o endereço IP de destino e a sub-máscara. Para uma computador acessar um determinado site ou serviço na grande teia mundial, seus dados irão trafegar por vários roteadores que estarão realizando operações de AND a fim de decidir para onde irão enviar os dados. Discos rígidos e softwares implementam "espelhamentos" ou "sombreamentos" (que é ter uma cópia dos dados de um disco em outro, de forma quase simultânea) guardando apenas determinados bits em um disco e em outro, de forma a reconstituir os bits faltantes (através das operações lógicas AND e OR) caso um dos discos pare de funcionar. Magnífico esse nosso mundo de bits e bytes, não? Nossa, me empolguei e escrevi muito... Espero que você tenha paciência para ler até o final. Abraços, Graymalkin
×
×
  • Criar Novo...