Ir para conteúdo
Fórum Script Brasil

Graymalkin

Veteranos
  • Total de itens

    8.257
  • Registro em

  • Última visita

Tudo que Graymalkin postou

  1. Graymalkin

    Api's

    API são funções e/ou rotinas contidas em bibliotecas e que são "exportadas", ou seja, podem ser usadas por programas externos (que não foram especificamente criados para elas). Em geral, as APIs usadas no VB são do próprio Windows, contidas nos arquivos user32, kernel32, gdi32, etc. Diversas funcionalidades que não existem no VB por si só podem ser obtidas com o uso de APIs. Um exemplo comum é a API Sleep() que faz uma pausa de acordo com o tempo informado. Declare-a em um módulo: Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) A partir daí, basta fazer (em qualquer parte do código do seu programa): Sleep 5000 Para fazer uma pausa de 5 segundos. Existem ainda diversas outras APIs muito úteis. Para um guia bem completo, vale a pena baixar o API-Guide (http://www.mentalis.org/). Abraços, Graymalkin
  2. Você pode obter isso com a API GetUserName. Abraços, Graymalkin
  3. Graymalkin

    Xscript

    Já tinha e eu escrevi mais coisas no topo do arquivo MainX.cls. Lá existe uma compilação do que foi feito e do que falta fazer. Se quiserem vocês podem escolher um tópico específico (dentre aqueles) e eu ajudo a fazer. Abraços, Graymalkin
  4. Graymalkin

    Inputbox

    Infelizmente não. A função InputBox() não tem recursos mais avançados. O ideal no caso é você criar um form com uma caixa de texto e dois botões. Abraços, Graymalkin
  5. Que eu saiba não tem. A solução é colocar uma frame e colocar vários Optionbuttons dentro. Abraços, Graymalkin
  6. Graymalkin

    Menus

    Aqui está a página oficial: http://www.mvps.org/the_nerd/VBSmartMirror...martMenuXP_Help O que eu pensei que fosse o help, mas na verdade era essa página que eu tinha gravado aqui (porém com o endereço antigo). Abraços, Graymalkin
  7. Graymalkin

    Matrizes

    Essa matriz que existe em programação é a mesma que vemos em Matemática. Por exemplo, uma matriz que tenha dimensões: Dim matriz(3, 2, 1) Terá as seguintes posições: matriz(0, 0, 0) matriz(0, 0, 1) matriz(0, 1, 0) matriz(0, 1, 1) matriz(0, 2, 0) matriz(0, 2, 1) matriz(1, 0, 0) matriz(1, 0, 1) matriz(1, 1, 0) matriz(1, 1, 1) matriz(1, 2, 0) matriz(1, 2, 1) matriz(2, 0, 0) matriz(2, 0, 1) matriz(2, 1, 0) matriz(2, 1, 1) matriz(2, 2, 0) matriz(2, 2, 1) matriz(3, 0, 0) matriz(3, 0, 1) matriz(3, 1, 0) matriz(3, 1, 1) matriz(3, 2, 0) matriz(3, 2, 1) Não usei o exemplo que você deu, visto que seria gigantesco. Talvez seja melhor você entender primeiro uma matriz de apenas uma dimensão (também chamada de vetor): Dim nomes(3) as string nomes(0) = "João" nomes(1) = "José" nomes(2) = "Maria" nomes(3) = "Joana" Repare que existe apenas uma denominação para o local onde os nomes estão armazenados (ou seja, "nomes"), porém os indíces variam. Imagine que quisessemos armazenar não só apenas o nome, mas também os telefones respectivos. Para isso poderíamos usar uma matriz de duas dimensões, exemplo (não escrevi números de telefone, substituindo-os por "telefone do(a)..." para que seja possível perceber melhor o que é de quem): Dim nomtel(3, 1) as string nomtel(0, 0) = "João" nomtel(0, 1) = "telefone do João" nomes(1, 0) = "José" nomes(1, 1) = "telefone do José" nomes(2, 0) = "Maria" nomes(2, 1) = "telefone da Maria" nomes(3, 0) = "Joana" nomes(3, 1) = "telefone da Joana" Repare que o primeiro índice (que vai de 0 até 3) simboliza uma pessoa, e o segundo índice (que vai de 0 até 1), representa o nome da pessoa (índice 0) e o telefone da mesma (índice 1). A partir daí já dá pra imaginar o que se pode guardar em matrizes de n dimensões. Abraços, Graymalkin
  8. Graymalkin

    Xscript

    Pode ser a XComm que está faltando. Ela é necessária, mas não está inclusa. Você pode resolver isso instalando algum dos outros programas (XPlayer, Máximas ou WallChanger) ou baixando somente ela (no site também). Abraços, Graymalkin
  9. Você salvou o que está na janela do interpretador ativo com o nome de "teste.py"? Pois parece que foi, visto que a primeira linha (a que acusa Syntax Error, o que por si só já mostra que ele está interpretando o código) é exatamente a mesma linha que aparece no interpretador: File "E:/Internet\teste.py", line 1 Python 2.3.3 (#51, Dec 18 2003, 20:22:39) [MSC v.1200 32 bit (Intel)] on win32 ^ SyntaxError: invalid syntax Experimente substituir o conteúdo desse arquivo "teste.py" com algo do tipo (só isso mesmo, sem mais nada em seu conteúdo): print "Olá, Mundo" E veja o resultado. Abraços, Graymalkin
  10. Graymalkin

    Xscript

    Corrigi uma coisa que estava errada e que impedia de executar (por falar nisso, vocês tinham conseguido executar aquela versão?). Segue o link para a nova versão: http://www.graymalkin.globalhosts.com.br/f...ipt20040619.zip Abraços, Graymalkin
  11. Dê uma pesquisada sobre a API SetTimer. Abraços, Graymalkin
  12. Dê uma pesquisada sobre o Inet. Ele permite que você baixe uma página e depois é só uma questão de tratar as strings para encontrar o que você quer. Para colocar o Inet no projeto marque-o através da opção Components do menu Project. Abraços, Graymalkin
  13. Graymalkin

    Menus

    Baixe a partir do seguinte endereço: http://www.graymalkin.globalhosts.com.br/stuff/SmartMenu.zip Basta descompactar para o Windows\System (ou Windows\System32, no caso do NT) e registrar a OCX (ou simplesmente vá em Components do menu Project, clique em Browse e escolha o arquivo na pasta). Se eu encontrar o help dele (tenho aqui em algum lugar...) coloco o link aqui. Abraços, Graymalkin
  14. Claro. DoEvents libera os recursos do sistema que estão atualmente "presos" no loop. O motivo da tela ficar "branca" é que o sistema não redesenha a janela enquanto está preso no loop. Com a presença do DoEvents ele tem essa pequena pausa para fazer outras coisas (o que inclui redesenhar a tela). É claro que como DoEvents é uma rotina existe aí uma perda de velocidade (afinal de contas, você está executando uma instrução a mais a cada iteração), mas isso não é tão significativo assim. Abraços, Graymalkin
  15. Graymalkin

    Xscript

    Pois bem, então darei uma revisada no projeto nesse final de semana para fazer uma compilação do que foi feito e do que falta fazer. Abraços, Graymalkin
  16. Coloque DoEvents em algum local do loop. Abraços, Graymalkin
  17. A leitura também é simples: Dim x As String Dim n as byte n = freefile() open "path.txt" for input As #n input #n, x close #n cn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & x & "\produtos.mdb" No caso, estou supondo que o caminho gravado não tem a última contra-barra (como em "c:\temp"). Abraços, Graymalkin
  18. Graymalkin

    Xscript

    Salve camaradas, Acredito que o XScript possa ser visto como um "projeto-pobre-mas-interessante-de-uma-linguagem-de-programação". Não quero menosprezar o interesse de vocês (afinal de contas a idéia do projeto foi minha e eu seria o mais lesado nesse caso... hehehe). Explico melhor o fato com a principal falha dele (ao meu ver) que é interpretar diretamente o código ao invés de gerar um código "compacto" (por compacto me refiro às instruções mais básicas possíveis) para ser interpretado (os chamados bytecodes). Sem falar que perdi totalmente o interesse em continuar o projeto depois de ter encontrado uma linguagem simples e fantástica (leia-se Python). No entanto, é claro que ele pode ser encarado do ponto de vista didático (como o Rodrigo deu o exemplo de ter entendido melhor o funcionamento das classes, apesar de não ter entendido a construção das mesmas). Dezenas de outras coisas úteis também podem ser extraídas daquele código, como a função que fiz que evolui expressões matemáticas em strings (cheguei a utilizá-la em outros projetos). Todavia, estou pronto a auxiliar se vocês quiserem continuar ou melhorar o projeto, assim como esclarecer (se é que eu ainda me lembro...) dúvidas encontradas em relação ao código atualmente pronto. De qualquer forma, fiquei extremamente lisonjeado com o interesse de vocês e fica registrada aqui minha gratidão. Abraços, Graymalkin
  19. No mdac_typ.exe do ADO 2.1 o JET já está incluso (por isso ele tem 8mb), enquanto que no mdac_typ.exe do ADO 2.7 não (por isso ele tem 5mb). Dessa forma, para o ADO 2.7 é necessário baixar o JET 4.0 separadamente (se ele já não estiver instalado). Abraços, Graymalkin
  20. Sim, acredito que desmarcando ele no P&D possa dar certo. E sim, você pode distribuir esse mdac_typ.exe para download normalmente. Tenho uma página que disponibiliza o ADO 2.7 e o JET 4.0 (driver do Access para o ADO), se quiser pode direcionar para ela: http://www.graymalkin.globalhosts.com.br/data.asp Abraços, Graymalkin
  21. Sim, vai ter problema. Isso porque o setup está preparado para executar esse arquivo durante a instalação e não vai encontrá-lo. Abraços, Graymalkin
  22. Realmente, o erro está no programa. O correto é: PROGRAM LeEscreve2; VAR Nome : STRING; Cont : INTEGER; BEGIN FOR Cont := 1 TO 20 DO BEGIN READln(Nome); WRITELN(Nome); END; END. A única mudança foi colocar "readln" ao invés de apenas "read". Ao que parece, "read" lê até encontrar o caracter de final de linha. Ao teclar ENTER no primeiro nome digitado esse caracter surge e sucessivas chamadas a "read" encontram o mesmo. Abraços, Graymalkin
  23. Então, tente assim: Set rs = CreateObject("ADODB.Recordset") With rs .Open "SELECT * FROM clientes", conexao, 2, 3 If .Eof and .Bof Then lblCod.Caption = 1 Else .MoveLast lblCod.Caption = !codigo + 1 End If .Close End With O jeito de fazer uma consulta em DAO, como eu já disse, é o mesmo que em ADO. Ao invés de informar o nome da tabela na abertura, informa-se a consulta SQL. Portanto: set rs = db.openrecordset("SELECT * FROM clientes") Onde "rs" é um objeto do tipo Recordset e "db" é um objeto do tipo Database que já foi aberto anteriormente. Abraços, Graymalkin
  24. Seria melhor se você contasse-nos qual o erro apresentado. De qualquer forma, experimente assim: Set rs = CreateObject("ADODB.Recordset") With rs .Open "SELECT * FROM clientes", conexao If .Eof and .Bof Then lblCod.Caption = 1 Else .MoveLast lblCod.Caption = !codigo + 1 End If .Close End With E sim, com DAO é possível fazer consultas desse tipo. Aliás, é do mesmo jeito que em ADO, ou seja, na abertura do Recordset. Abraços, Graymalkin
×
×
  • Criar Novo...