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

    Pq Isso Naum Funciona?

    É o mesmo problema anterior... ou seja... if(escolha[1]=='n'){ ... deveria ser: if(escolha[0]=='n'){ Graymalkin
  2. Graymalkin

    Instalar

    Não sei se você entendeu o que eu disse, mas você *não precisa* saber. Se você *quiser* saber é aquela opção que lhe fornece esse tipo de informação. Sim, o Access 97, já que o Visual Data Manager cria bancos de dados desse formato. Abraços, Graymalkin
  3. Graymalkin

    Instalar

    O ideal é que você escolha o Jet. Afinal de contas, você não sabe se o computador em que seu programa será instalado já possui ou não o mecanismo de acesso. Abraços, Graymalkin
  4. Sim, claro que respeita. Você não tem uma impressora aí para testar? Como já disse anteriormente, ela só não imprimirá corretamente se estiver instalada como Genérico/Somente Texto. Vai ser extremamente difícil você achar uma impressora que não seja gráfica (até mesmo as antigas Mônica e Emília, por exemplo, são gráficas). Porém, vai depender de como ela está instalada. Você pode ter uma LX-300 e instalar como Genérico/Somente Texto, por exemplo (e você não conseguirá imprimir graficamente), ou instalada corretamente (ou seja, como "LX-300") e aí conseguirá normalmente. Entenda que não se trata, exatamente, de uma questão se a impressora é gráfica ou não. É muito mais uma questão de escolha do que limitação técnica. Você, por acaso, testou os códigos e viu a diferença? Abraços, Graymalkin
  5. Graymalkin

    Instalar

    A descrição na parte inferior da tela já diz tudo: "Use to create a file listing information about the run-time components required by your application", ou seja, "Use para criar uma listagem com informações sobre os arquivos de componentes de tempo de execução necessários à sua aplicação". Ou seja, você cria uma listagem com os arquivos .DLL, .OCX, etc. a fim de que você possa saber quais são exatamente os arquivos necessário (e se quiser, criar o setup com outro programa qualquer, tipo o Inno, por exemplo). Abraços, Graymalkin
  6. Graymalkin

    Instalar

    Você deve escolher ali o driver de banco de dados que você usa. Se o banco for Access, escolha o Jet, se for dBASE escolha XBase, se for ODBC escolha o ODBC, etc. Abraços, Graymalkin
  7. Graymalkin

    Python Em Windows Xp

    Uso o Python no WinXP normalmente. Aconselho que você execute o script a partir de uma IDE como o IDLE ou o PythonWin e verique se não existe algo errado no mesmo. Ou então, executar diretamente pelo Prompt do MS-DOS, digitando: c:\python23\python.exe c:\pasta\arquivo.py E veja se não existe nada errado no código. Abraços, Graymalkin
  8. Graymalkin

    Setas

    Acho que você ainda não entendeu o conceito de "eventos". O evento KeyDown é chamado (ou seja, o código que está dentro dele é executado) a cada vez que uma tecla é pressionada no controle. Se o evento tem o seguinte código: msgbox "Alô" Será exibida essa mensagem a cada vez que uma tecla for pressionada no controle. Todavia, o evento KeyDown tem um parâmetro, chamado KeyCode, que nos informa qual a tecla digitada. Esse parâmetro pode ser alterado, por exemplo: KeyCode=vbKeyB Se você colocar isso no evento KeyDown de uma textbox, por exemplo, fará com que a cada vez que uma tecla seja pressionada no controle apareça na caixa de texto a letra "B". Portanto, se colocamos o seguinte código no evento KeyDown: If KeyCode = vbKeyDown Then KeyCode = 0 End If Estamos simplesmente fazendo com que a cada vez que uma tecla seja pressionada no controle ele teste se a tecla digitada foi a seta para baixo, e caso seja realmente esta tecla ele muda o valor para 0 (que é uma tecla nula). Ou seja, ela não *bloqueia* permanentemente uma tecla e sim faz o teste a cada que qualquer tecla é pressionada e age de acordo. Portanto, a sua pergunta sobre "como habilitá-la novamente" não faz muito sentido. O que você poderia fazer é ter uma variável booleana que diria se a tecla deve ser aceita ou não, exemplo: if not pode if KeyCode = vbKeyDown Then KeyCode = 0 endif endif Nesse caso, "pode" é uma variável booleana (ou seja, só pode ser True ou False). Se ela for True, nenhuma tecla será bloqueada. Caso ela seja False, então verificar-se-á se a tecla digitada corresponde a tecla da seta para baixo e caso positivo, então ela será bloqueada. Abraços, Graymalkin
  9. Isso vai funcionar com qualquer impressora (salvo no caso que coloquei no primeiro post). Se quiser ver a diferença entre a impressão gráfica e a normal de uma impressora matricial, faça os seguintes testes: for i=0 to 30 printer.print "Linha " & i next i printer.enddoc n=freefile() open "lpt1" for output as #n for i=0 to 30 print #n, "Linha " & i next i close #n Repare que o segundo vai fazer a impressão muito mais rápida e sem esforço para a impressora (no primeiro código ele vai, literalmente, "desenhar" as letras; isso é a impressão "gráfica"). Abraços, Graymalkin
  10. Graymalkin

    Setas

    Basta atribuir 0 ao parâmetro KeyCode. Note que ele é passado por referência e não por valor. Por exemplo, para desabilitar a seta para baixo, basta fazer (no evento KeyDown): If KeyCode = vbKeyDown Then KeyCode = 0 End If Abraços, Graymalkin
  11. Creio que a terceira é mais elegante. Tudo entendido. Obrigado pela aula Graymalkin. Abraços Paulo Nobre Também acho. Se bem que em geral uso a segunda opção (formando o caminho absoluto). Qualquer coisa, 'stamos aí. Abraços, Graymalkin
  12. Exatamente porque no Contatos.exe você deve estar usando o caminho relativo do arquivo (por exemplo, "dados.dat") ao invés do caminho absoluto (por exemplo, "c:\pasta2\dados.dat"). Se o seu programa está sendo executado na pasta "c:\pasta" e você chama um programa qualquer que use um caminho relativo, você teria... pasta atual (c:\pasta) + nome do arquivo ... o que resultaria, no caso, em "c:\pasta\dados.dat", por exemplo. Ou seja, quando especificamos um caminho relativo (ou seja, só o nome do arquivo, ou com os dirétorios "." e/ou "..") ele automaticamente "junta" com o diretório de trabalho atual. Você tem três opções nesse caso (além da usada): ou o próprio programa (Contato.exe) muda o diretório de trabalho para o mesmo que está sendo executado (pela função chdir()); ou você usa o caminho absoluto do arquivo .DAT (ou seja pegando o diretório da aplicação (ExtractFilePath(Application.ExeName)) e juntando com 'dados.dat'; ou passa o diretório de trabalho do programa pelo parâmetro lpDirectory da função ShellExecute(). Abraços, Graymalkin
  13. Experimente trocar os "*" por "%". Abraços, Graymalkin
  14. Mas, você tentou com a calculadora? Repare que a calculadora não tem um modo maximizado (o botão Maximizar dela é desabilitado). Experimente com o "Bloco de Notas": Shell "notepad.exe", vbMaximizedFocus Abraços, Graymalkin
  15. Complementando a resposta acima, veja o protótipo da função ShellExecute: HINSTANCE ShellExecute( HWND hwnd, // handle to parent window LPCTSTR lpOperation, // pointer to string that specifies operation to perform LPCTSTR lpFile, // pointer to filename or folder name string LPCTSTR lpParameters, // pointer to string that specifies executable-file parameters LPCTSTR lpDirectory, // pointer to string that specifies default directory INT nShowCmd // whether file is shown when opened ); O parâmetro em negrito serve justamente para indicar o diretório de trabalho. Abraços, Graymalkin
  16. A questão é a "pasta de trabalho" (working directory). Quando você chama uma aplicação em outra pasta, por meio de uma função ou rotina, a pasta de trabalho dessa aplicação será a atual (e não a que a mesma está contida). Experimente fazer o seguinte antes de abrir: pasta := ExtractFilePath(Application.ExeName)+'\Executáveis\Contatos\' chdir(pasta); E veja se dá certo. Abraços, Graymalkin
  17. Quando você escreve... shell "calc.exe", ... após a "," (vírgula) o VB já vai te mostrar uma enumeração com as constantes aceitas pela funçõa Shell(). Você não viu isso? Abraços, Graymalkin
  18. Bom, não sei como é a utilização desse componente, mas se ele simula uma tabela de um banco de dados creio que seja possível "avançar" os registros até que seja o final da tabela, certo? Algo como um MoveNext() ou um Skip(). Acredito também que seja possível obter o valor de um determinado campo (o campo "nome", por exemplo) do registro atualmente selecionado. Com isso, seria possível preencher uma matriz ou um vetor (com um registro) e ordená-la(o). Não sei o Delphi tem alguma função que ordene uma matriz ou vetor, mas isso não é problema (pode-se usar o método bolha de ordenação que é o mais intuitivo e simples). Aliás, pensando aqui... nem precisaria disso tudo. Se você pode manipular os registros (editá-los), basta fazer uma ordenação (bolha ou qualquer outra) em relação aos mesmos e no final você teria a tabela ordenada. Sacou? Abraços, Graymalkin
  19. Compreendo. Então, já que ele obedece a ordem de entrada, você poderia criar uma rotina que ordenasse os dados gravando-os em outro .dat. Depois seria só substituir o .dat atual pelo .dat em ordem. Abraços, Graymalkin
  20. Claro que não estou zoando. Considero esta a melhor solução para qualquer tipo de problemas no qual a instalação e a reinstalação de um determinado software/componente não dá certo. Na maioria das vezes é melhor perder tempo fazendo isso do que tentando descobrir o problema. Além disso, você não precisa necessariamente "formatar" o HD todo. Pode simplesmente instalar o Windows em outra partição e ainda deixar a instalação anterior. Abraços, Graymalkin
  21. Já tentou reinstalar o Windows todo (uma cópia limpa, não por cima)? Abraços, Graymalkin
  22. Dê uma olhada aqui: http://www.planet-source-code.com/vb/scrip...=56711&lngWId=1 Abraços, Graymalkin
  23. O que tem nessa pasta "OFFICE"? Ela é acessível? Abraços, Graymalkin
  24. Sim, desde que a impressora instalada tenha suporte a impressão gráfica. Somente se você instalou como "Genérico/Somente texto" é que você não terá esse recurso. Todavia, não recomendo isso (impressão gráfica) para impressoras matriciais. Abraços, Graymalkin
  25. Graymalkin

    Database

    Isso é DAO. Com o ADO, você tem um objeto ADODB.Connection enquanto que com DAO você tem um objeto Database (por aí você já nota a diferença). Abraços, Graymalkin
×
×
  • Criar Novo...