Ir para conteúdo
Fórum Script Brasil

brunohjoia

Membros
  • Total de itens

    121
  • Registro em

  • Última visita

Posts postados por brunohjoia

  1. Olá pessoal... estou aqui novamente com mais um probleminha hehehe...

    é o seguinte: eu preciso saber como fazer para que quando o usuário digitar um numero ( não hexadecimal ou octagonal, apenas decimal) no meu programa, o programa diga-lhe qual é o caractere correspondente na tabela ASCII. E vice-versa: quando o usuario apertar um caractere, o programa lhe diz qual é o numero decimal correspondente na tabela ASCII.

    Eu sei que existe um modo de fazer isso... mas não sei qual é... Se alguém souber por favor ajude-me!

    Obrigado

  2. Sim!!! Mas é assim.... o problema acontece com qualquer programa que eu tente compilar (do mais simples ao mais complexo), mas não é toda hora que acontece... É um problema imprevisível...

    Você pode mandar o Visual C++ compilar o seu programa e ele rodar numa boa, mas depois, se você mandar ele compilar novamente, sem nem ter alterado seu programa, o erro pode acontecer!!!!

    Resumindo: O problema acontece com qualquer programa que eu tente compilar, mesmo que este não tenha nenhuma linha de código sequer a não ser a função main().

    Você já viu esse tipo de problema?

  3. Olá!!!

    Estou enfrentando um problema, que não se refere a código, mas sim ao meu software VIsual C++ 6.0 (com service pack 6). Acho que é um bug do proprio programa, mas não tenho certeza, e por isso vim aqui pedir a ajuda de vocês.

    Na verdade, quando eu crio um programinha, por mais simples que seja, e executo o build pra compilar o programa, o builder trava na execução da tarefa 'Linking'. Eu já tentei clicar em Stop Build mas não adianta... no fim das contas eu tenho q dar CTRL+ALT+DEL para fechar o programa. Ou seja... quando eu vou compilar o programa q eu fiz, eu tenho que ficar torcendo pro erro não acontecer...

    Esse problema também acontece lá nos computadores da minha escola tecnica, que aliás, não tem o Service Pack 6 instalado, ao contrario do meu aqui em casa.

    Alguém aí também já enfrentou esse problema??? como posso solucionar isso?

    Obrigado

  4. Olá!

    Que estranho... o meu OpenCurrentDatabase não tem esse terceiro parâmetro... eu fiz exatamente como no exemplo que você me deu no ultimo post, e ele dá uma mensagem de erro: "Wrong number of arguments...".

    Pode ser que você esteja falando de um .OPenCurrentDatabase de outro objeto... no meu caso é Access.Application.OpenCurrentDatabase.

    Será que teremos que voltar a usar as APIs FindWindow ou a FindWindowEx????

    Obrigado

  5. Olá!

    Eu usei a API sleep no meu programa e mesmo assim o erro continua aprecendo às vezes... Eu cheguei até a colocar "sleep 7000" logo após o doEvents, mas mesmo assim, parece que a janela da senha do banco de dados está abrindo depois que é executada a SendKeys...

    Pensando aqui eu imaginei se não seria melhor usar uma API que detecte se a janela da senha do banco de dados já foi carregada e aberta. Caso possitivo, aí sim o programa enviaria a senha com o SendKeys. Caso negativo, ele procuraria novamente pela janela até que ela seja carregada, para depois usar o SendKeys... É aí que eu vou precisar da sua ajuda, hehehehehe... Será que tem como?

    Obrigado

    Bruno

  6. Nossa... mas agora você me complicou... Tudo bem dar uma pausa, mas usar uma API que vai ser dificil... Eu nunca usei uma API, e não faço aminima ideia de como usar... Não conhecço as APIs.... Eu tenho paciencia para aprender, mas tem q ver se você tem paciencia pra me ajudar não é?. hehehehe....

    Se for possível, me explique e mande exemplos de como utilizar as APIs....

    Obrigado

    Bruno

  7. Provavelmente é aquele SendKeys ali no meio. Qual o propósito dele?

    Explico: Através desse código estou tentando abrir um banco de dados que possui senha. Por causa disso, antes de executar o .OpenCurrentDatabase, o access abre uma janelinha pedindo a senha do banco de dados... Esse SendKeys serve para que a senha seja inserida automaticamente no campo que está com o foco(no caso, o campo da janelinha da senha). Repare que após a senha eu inserí um '~'. Ele funciona como uma confirmação, quer dizer, é como se após ter digitado a senha, o usuário tivesse apertado enter para confirmar e abrir o banco de dados. Assim o usuario não precisa saber a senha do banco de dados para acessá-lo, pois o programa "digita" a senha automaticamente. Por isso ele é indispensável no meu codigo.

    Se você quiser saber mais sobre o SendKeys acesse esse artigo: Artigo Microsoft

    Eu gostaria de frizar uma coisa: com o WinXP, é muito raro ocorrer o problema. Já no Win98 acontece com frequencia... É aí que eu me perco... onde está o problema?

    Obrigado

  8. Olá!!!!

    No meu projeto, estou usando uma rotina com um código para abrir um banco de dados com senha. Esse código eu desenvolvi com a ajuda de algumas pessoas dos foruns da vida, que aliás me ajudaram muito, mas ele está apresentando um probleminha de vez em quando. Eis o código:

    Dim ObjectAccess As New Access.Application
    Dim MySQL As String
    Dim MyDB As Database
    Dim strSendKeys As String
    
    Private Sub cmdRelatorioView_Click()
    'Parte que edita a consulta
    Set MyDB = Workspaces(0).OpenDatabase(CurDir & "\BancaJornal1.mdb", 0, False, ";pwd=senha")
    MySQL = "SELECT * FROM Produtos WHERE Produtos.cod_fornecedor=" & frmFornecedores.txtCodigo
    MyDB.QueryDefs("ProdutosConsulta").SQL = MySQL
    MyDB.Close
    '*******************************************
    
    'Parte que abre o relatorio
    strSendKeys = "senha~"
    DoEvents
    SendKeys (strSendKeys)
    With ObjectAccess
    .OpenCurrentDatabase CurDir & "\BancaJornal1.mdb", False
          For Each c In .CommandBars
            c.Enabled = False
          Next c
    .DoCmd.OpenReport "ContaFornecedores", acViewPreview
    
    .DoCmd.SelectObject acTable, "Descontos", True
    .DoCmd.RunCommand acCmdWindowHide
    .Reports("ContaFornecedores").Application.DoCmd.Maximize
    .Visible = True
    End With
    '*********************************************************
    
    End Sub

    esse probleminha acontece com muita frequencia quando eu rodo o programa em Win98, e com pouca frequencia quando eu rodo o programa em WinXP. O probleminha que dá é que quando eu clico no botão que executa a rotina, uma janela estranha aparece. Nela diz assim:

    "Component request Pending" - "This action cannnot be completed because the other application is busy. Choose 'Switch To' to activate the busy application and correct the problem."

    Essa janela de erro me dá duas opções: "Switch to" e "Retry", mas não importa em qual eu clique, o erro persiste e impede que eu continue com a execução do programa... Aí eu tenho que apelar pro Ctrl+Alt+Del pra fechar o programa...

    Alguém aí sabe qual é o real motivo desse erro?

    Obrigado!

  9. Olá!

    Ainda estou com problemas com o ISTOOL... Eu fiz exatamente tudo como você disse: primeiro eu abri, através do ISTOOL, o Setup.lst, que é o arquivo de scripts criado pelo meu Pack & Deployment wizard. Então, com esse arquivo aberto, eu fui lá na parte "executar na instalação" e adicionei os arquivos que eu quero que sejam instalados juntos com meu sistema... Então eu salvei esse script (que nada mais é q o Setup.lst modificado) com o nome Setup1.iss, na mesma pasta em q está o Setup.lst. até aí tudo bem... Mas quando eu tento usar o Inno Setup para compilar o script e transformá-lo num pacote de instalação aparece o seguinte erro:

    """Line 12:

    Source File "C:\Documents and Settings\Bruno\Desktop\Bruno\Visual Basic\Projetos\Banca de Jornal\Instalador\COMCAT.DLL" Does not exist"""

    e no fundo ele deixa selecionado a seguinte frase do script (como se dizendo que o erro está alí):

    """Source: COMCAT.DLL; DestDir: {sys}; Flags: restartreplace uninsneveruninstall sharedfile regserver"""

    Eu aposto que esse erro também aconteceria em todas as linhas abaixo, pois elas são parecidas...

    Como corrigir isso?

  10. Não... Talvez essa seja a solução. Só que eu gostaria que o proprio Setup, após realizar a instalação do MDAC 2.0 já instalasse em seguida o MDAC 2.8 e o JET 4.0, a fim de que eu não precise fazer essa instalação manualmente.

    Tem como fazer isso com o Package & Deployment Wizard do VB6? Ou talvez com o INNO Setup? Se tiver, por favor me explique como

    Obrigado!!!!

  11. Olá! Surgiu uma pequena duvida enquanto eu aperfeiçoava o meu projeto. É que eu preciso acessar um banco de dados com senha, mas sem utilizar o Adodc. Estou usando apenas codigo nesse caso, mas o codigo só consegue acessar bancos de dados sem senha especificada... o codigo que estou usando é esse:

    Dim ObjectAccess As New Access.Application
    Dim MySQL As String
    Dim MyDB As Database
    
    Private Sub cmdRelatorioView_Click()
    'Parte que edita a consulta
    Set MyDB = Workspaces(0).OpenDatabase(CurDir & "\BancaJornal1.mdb", 0, False)
    MySQL = "SELECT * FROM Produtos WHERE Produtos.cod_fornecedor=" & frmFornecedores.txtCodigo
    MyDB.QueryDefs("ProdutosConsulta").SQL = MySQL
    MyDB.Close
    '*******************************************
    
    'Parte que abre o relatorio
    With ObjectAccess
    .OpenCurrentDatabase CurDir & "\BancaJornal1.mdb", False
          For Each c In .CommandBars
            c.Enabled = False
          Next c
    .DoCmd.OpenReport "ContaFornecedores", acViewPreview
    
    .DoCmd.SelectObject acTable, "Descontos", True
    .DoCmd.RunCommand acCmdWindowHide
    .Reports("ContaFornecedores").Application.DoCmd.Maximize
    .Visible = True
    End With
    '*********************************************************
    End Sub
    

    Repare que eu abro o mesmo banco de dados de dois modos diferentes (declarando uma variavel como Database e a outra como access.application), de acordo com a minha necessidade. Mas então... Como é que eu faço, nos dois casos, para definir a senha que o codigo deverá usar para a brir o banco de dados??????? Alguém aí sabe?

  12. Ah, para facilitar um pouquinho a vida de quem estiver disposto a me ajudar, eu fiz um teste e verifiquei que esse erro só acontece mesmo em Win98. Isso porque eu instalei o meu sistema numa outra maquina com o WinXP, a qual não tem nem o VB instalado, e o erro não aconteceu. Isso reforça a minha suspeita de que esteja faltando algum arquivo para q o Win98 reconheça o Ado... que arquivo seria esse? Será que o Package & Deployment Wizard não colocou essa dependência no meu pacote de instalação?

  13. Bom... finalmente cosegui instalar o meu sistema no Win 98. Bastava modificar o DllSelfRegisterEx para DllSelfRegister. Isso na verdade é um erro do PDW, que está bem explicado no proprio site da microsoft: PDW FAQ

    Bom, agora que eu consegui instalar o meu sistema num Win98 (desenvolvi o sistema com WinXP), estou enfrentando problemas para executar o programa no Win98... Logo que eu inicio o programa, este carrega 3 Adodc... Então aparecem tres mensagens de erro identicas, e cada uma correspondente a um desses tres adodc. A mensagem de erro diz mais ou menos isso: "[Adodc] Unknown Error: [Ado]".

    Como esse erro ocorre somente em Win98 e 95, pois já testei o programa em uma outra máquina com WinXP e esse erro não aconteceu, Muito provavelmente esse erro se deve à falta de um arquivo no Win98 que faça o Adodc funcionar. Eu já instalei o Dcom98 e o configurador do Dcom, mas mesmo assim o erro persiste. Será que o meu Pack e Deployment Wizard esqueceu de adicionar alguma dependência no pacote de instalação???? Que arquivo é esse?

    Obrigado

  14. Olá!!!! Bom, agora que eu consegui instalar o meu sistema num Win98 (desenvolvi o sistema com WinXP), estou enfrentando problemas para executar o programa no Win98... Logo que eu inicio o programa, este carrega 3 Adodc... Então aparecem tres mensagens de erro identicas, e cada uma correspondente a um desses tres adodc. A mensagem de erro diz mais ou menos isso: "[Adodc] Unknown Error: [Ado]".

    Muito provavelmente esse erro se deve à falta de um arquivo no Win98 que faça o Adodc funcionar. Eu já instalei o Dcom98 e o configurador do Dcom no Win98, mas mesmo assim o erro persiste... Então o q será que está faltando?

    Obrigado

  15. Basta que você inclua um if para que o programa identifique qual é o erro ocorrido e que faça o correto tratamento do erro. Você pode usar assim:

    on error goto trataerro
    
    trataerro:
       if err="numero do erro" then
          msgbox "Erro numero " & Err & " " & err.description
       elseif err="numero do outro erro" then
          msgbox "blablabla"
       elseif ....
    

    E assim por diante!

    falou!

  16. Oi!

    Não...  Explico: O Package & Deployment Wizard pega a versão 2.0 do MDAC, que fica em uma pasta chamada Redist dentro da pasta dele. Para o 2.8 você tem que incluir o arquivo de instalação do mesmo (substituindo o anterior). De qualquer forma, é interessante instalar o 2.0 e depois o 2.8 (já tive problemas em tentar instalar só o 2.8 sozinho).

    Hmmm...mas teria como eu inserir o MDAC 2.8 no pacote de instalação juntamente com o MDAC 2.0 e depois fazer com que o proprio setup instale primeiro o 2.0 e depois o 2.8?

    Tanto no XP quanto no 98 dá esse mesmo erro? Nunca vi esse erro, não. Poste aqui o conteúdo do seu arquivo setup.inf para que eu possa ver se encontro alguma pista do que seja esse problema.

    Sim... no WinXP também ocorreu esse erro... já que você pediu, aqui vai o conteúdo do arquivo Setup.lst (você pediu o .inf, mas esse não existe)

    [Bootstrap]
    SetupTitle=Install
    SetupText=Copying Files, please stand by.
    CabFile=Banca1.CAB
    Spawn=Setup1.exe
    Uninstal=st6unst.exe
    TmpDir=msftqws.pdw
    Cabs=8
    
    [Bootstrap Files]
    File1=@VB6STKIT.DLL,$(WinSysPathSysFile),,,7/15/00 1:00:00 AM,101888,6.0.84.50
    File2=@COMCAT.DLL,$(WinSysPathSysFile),$(DLLSelfRegister),,5/31/98 1:00:00 AM,22288,4.71.1460.1
    File3=@STDOLE2.TLB,$(WinSysPathSysFile),$(TLBRegister),,6/3/99 1:00:00 AM,17920,2.40.4275.1
    File4=@ASYCFILT.DLL,$(WinSysPathSysFile),,,3/8/99 1:00:00 AM,147728,2.40.4275.1
    File5=@OLEPRO32.DLL,$(WinSysPathSysFile),$(DLLSelfRegister),,3/8/99 1:00:00 AM,164112,5.0.4275.1
    File6=@OLEAUT32.DLL,$(WinSysPathSysFile),$(DLLSelfRegister),,4/12/00 1:00:00 AM,598288,2.40.4275.1
    File7=@msvbvm60.dll,$(WinSysPathSysFile),$(DLLSelfRegister),,2/23/04 1:00:00 AM,1386496,6.0.97.82
    
    [IconGroups]
    Group0=Setup Banca de Jornal
    PrivateGroup0=-1
    Parent0=$(Programs)
    
    [Setup Banca de Jornal]
    Icon1="ControleBanca.exe"
    Title1=Banca de Jornal
    StartIn1=$(AppPath)
    
    [Setup]
    Title=Banca de Jornal v1.0
    DefaultDir=$(ProgramFiles)\Banca v1.0
    AppExe=Banca.exe
    AppToUninstall=Banca.exe
    
    [Setup1 Files]
    File1=@BancaJornal1.mdb,$(AppPath),,,2/10/05 10:50:01 PM,307200,0.0.0.0
    File2=@MDAC_TYP.EXE,$(AppPath),,,6/26/98 1:00:00 AM,8124720,4.71.1015.0
    File3=@MSDATLST.OCX,$(WinSysPath),$(DLLSelfRegister),$(Shared),3/9/04 1:00:00 AM,234016,6.0.84.18
    File4=@MSSTDFMT.DLL,$(WinSysPath),$(DLLSelfRegister),$(Shared),2/23/04 1:00:00 AM,119808,6.1.97.82
    File5=@MSDATGRD.OCX,$(WinSysPath),$(DLLSelfRegister),$(Shared),3/9/04 1:00:00 AM,275216,6.1.97.82
    File6=@MSADODC.OCX,$(WinSysPath),$(DLLSelfRegister),$(Shared),3/9/04 1:00:00 AM,131856,6.1.97.82
    File7=@MSFLXGRD.OCX,$(WinSysPath),$(DLLSelfRegister),$(Shared),3/9/04 1:00:00 AM,260880,6.1.97.82
    File8=@COMCT232.OCX,$(WinSysPath),$(DLLSelfRegister),$(Shared),6/24/98 1:00:00 AM,164144,6.0.80.22
    File9=@MSCAL.OCX,$(WinSysPath),$(DLLSelfRegisterEx),$(Shared),6/26/98 12:00:00 AM,89600,8.0.0.5007
    File10=@MSACC9.OLB,$(WinSysPath),,$(Shared),3/19/99 5:27:10 PM,368640,9.0.0.2719
    File11=@MSDBRPTR.DLL,$(WinSysPath),$(DLLSelfRegister),$(Shared),2/23/04 1:00:00 AM,322560,6.1.97.82
    File12=@MSDERUN.DLL,$(CommonFiles)\designer,$(DLLSelfRegister),$(Shared),7/15/00 1:00:00 AM,136192,6.0.88.4
    File13=@MSBIND.DLL,$(WinSysPath),$(DLLSelfRegister),$(Shared),2/23/04 1:00:00 AM,78848,6.1.97.82
    File14=@msado25.tlb,$(WinSysPath),,$(Shared),8/4/04 3:21:43 AM,81920,2.81.1117.0
    File15=@dao360.dll,$(WinSysPath),$(DLLSelfRegister),$(Shared),8/4/04 5:45:21 AM,561179,3.60.8618.0
    File16=@Banca.exe,$(AppPath),,,2/10/05 10:53:22 PM,507904,1.0.0.0
    
    ; The following lines may be deleted in order to obtain extra 
    ; space for customizing this file on a full installation diskette.
    ; 
    ; XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    ; XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    ; XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    ; XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    ; XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    ; XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    ; XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    ; XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    ; XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    ; XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    ; XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    ; XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    ; XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    ; XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    ; XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    ; XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    ; XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    ; XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    ; XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    ; XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    ; XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    ; XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    ; XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    ; XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    ; XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    ; XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    ; XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    ; XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    ; XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    ; XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    ; XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    ; XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    ; XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    ; XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    ; XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    

×
×
  • Criar Novo...