Ir para conteúdo
Fórum Script Brasil

Garcia

Membros
  • Total de itens

    43
  • Registro em

  • Última visita

Sobre Garcia

Garcia's Achievements

0

Reputação

  1. Ops... Corrigindo: janela = FindWindow(vbNullString, "CAPTION DA APLICACAO") If janela = 0 Then MsgBox "Não está rodando" Else MsgBox "Está rodando" End If
  2. Cara, Cada aplicação tem um caption. Esse caption você pode ver através da "window task manager" ou "gerenciador de tarefas". Apertando Ctrl+Alt+Esc você vê essa janela. Execute o executável que você quer e veja qual o caption dele no gerenciador de tarefas. Para verificar se está rodando: 'Declare essa função no início do Form que faz a verificação ou 'em um módulo, só que aí deve ser publica Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Option Explicit Private Sub CmdVerifica_Click() Dim janela As Long janela = FindWindow(vbNullString, "CAPTION DA APLICACAO") If x = 0 Then MsgBox "Não está rodando" Else MsgBox "Está rodando" End If End Sub beleza ?
  3. Se você estiver usando VB, tem que desregistrar a anterior, copiar e registrar novamente a DLL; Se for VB.NET não, apenas copiar a DLL. Sugiro que você disponibilize um "Patch" de correção, ou seja, faça com que seu usuário baixe os arquivos para a máquina dele. Mande um junto um arquivo .BAT que copia os arquivos e faz o registro das DLLs. A propósito, sempre referencie uma DLL com "CreateObject" e não com "as New", senão toda vez que atualizar a DLL, terá que recompilar o executável (Compatibilidade binária). beleza ?
  4. Não entendi a parada das stored procedures. O que você quer realmente ?
  5. Para os micros client conseguirem acessar o SQL você precisa instalar o MDAC em cada estação. Eu gosto de baixar arquivos pelo downloads.com, o link para o MDAC é: http://www.download.com/Microsoft-Data-Acc...tml?tag=lst-0-1 Ou vá até o site da Microsoft. Beleza ?
  6. Tenta assim: Private Sub Command1_Click() Dim hora As Variant hora = Format(Now(), "hh:MM:ss") Esperar 5 MsgBox hora & " - " & Format(Now(), "hh:MM:ss") End Sub Private Sub Esperar(EsperaEmSegundos As Integer) Dim hora As Variant Dim horafinal As Variant hora = Now() horafinal = DateAdd("s", EsperaEmSegundos, hora) Do If Now() >= horafinal Then Exit Do End If DoEvents Loop End Sub Beleza ?
  7. Garcia

    Rotina Em Extenso

    Ficou um lixo essa rotina sem identação. Te mandei via email. Não tem onde a gente enviar um arquivo ou postar um código (com identação) no site ?
  8. Garcia

    Rotina Em Extenso

    Então cara... um dia eu peguei essa rotina na internet, nunca testei... dá uma olhada e diz se funciona. Abraço ------------------------------------------------ Public Function Extenso(ByVal Valor As _ Double, ByVal MoedaPlural As _ String, ByVal MoedaSingular As _ String) As String Dim StrValor As String, Negativo As Boolean Dim Buf As String, Parcial As Integer Dim Posicao As Integer, Unidades Dim Dezenas, Centenas, PotenciasSingular Dim PotenciasPlural Negativo = (Valor < 0) Valor = Abs(CDec(Valor)) If Valor Then Unidades = Array(vbNullString, "Um", "Dois", _ "Três", "Quatro", "Cinco", _ "Seis", "Sete", "Oito", "Nove", _ "Dez", "Onze", "Doze", "Treze", _ "Quatorze", "Quinze", "Dezesseis", _ "Dezessete", "Dezoito", "Dezenove") Dezenas = Array(vbNullString, vbNullString, _ "Vinte", "Trinta", "Quarenta", _ "Cinqüenta", "Sessenta", "Setenta", _ "Oitenta", "Noventa") Centenas = Array(vbNullString, "Cento", _ "Duzentos", "Trezentos", _ "Quatrocentos", "Quinhentos", _ "Seiscentos", "Setecentos", _ "Oitocentos", "Novecentos") PotenciasSingular = Array(vbNullString, " Mil", _ " Milhão", " Bilhão", _ " Trilhão", " Quatrilhão") PotenciasPlural = Array(vbNullString, " Mil", _ " Milhões", " Bilhões", _ " Trilhões", " Quatrilhões") StrValor = Left(Format(Valor, String(18, "0") & _ ".000"), 18) For Posicao = 1 To 18 Step 3 Parcial = Val(Mid(StrValor, Posicao, 3)) If Parcial Then If Parcial = 1 Then Buf = "Um" & PotenciasSingular((18 - _ Posicao) \ 3) ElseIf Parcial = 100 Then Buf = "Cem" & PotenciasSingular((18 - _ Posicao) \ 3) Else Buf = Centenas(Parcial \ 100) Parcial = Parcial Mod 100 If Parcial <> 0 And Buf <> vbNullString Then Buf = Buf & " e " End If If Parcial < 20 Then Buf = Buf & Unidades(Parcial) Else Buf = Buf & Dezenas(Parcial \ 10) Parcial = Parcial Mod 10 If Parcial <> 0 And Buf <> vbNullString Then Buf = Buf & " e " End If Buf = Buf & Unidades(Parcial) End If Buf = Buf & PotenciasPlural((18 - Posicao) \ 3) End If If Buf <> vbNullString Then If Extenso <> vbNullString Then Parcial = Val(Mid(StrValor, Posicao, 3)) If Posicao = 16 And (Parcial < 100 Or _ (Parcial Mod 100) = 0) Then Extenso = Extenso & " e " Else Extenso = Extenso & ", " End If End If Extenso = Extenso & Buf End If End If Next If Extenso <> vbNullString Then If Negativo Then Extenso = "Menos " & Extenso End If If Int(Valor) = 1 Then Extenso = Extenso & " " & MoedaSingular Else Extenso = Extenso & " " & MoedaPlural End If End If Parcial = Int((Valor - Int(Valor)) * _ 100 + 0.1) If Parcial Then Buf = Extenso(Parcial, "Centavos", _ "Centavo") If Extenso <> vbNullString Then Extenso = Extenso & " e " End If Extenso = Extenso & Buf End If End If End Function 'P/ chamar a função: Dim sRet As String Dim dValor As Double dValor = 1500.50 sRet = Extenso(dValor, "Reais", "Real") MsgBox sRet
  9. Ihhh foi mal... só li direito a sua pergunta agora. O que eu disse serve somente para os MDIChild e Forms comuns. Não serve para o MDIForm. Tenho que admitir... dessa vez você tem que usar API...
  10. Promotor... nada pessoal... mas EU DETESTO APIs !!! Daileon, se você não precisar do botão minimizar, basta setar a propriedade: Form1.ControlBox = False (em tempo de design e não de execução) Beleza ?
  11. Garcia

    Vetores

    Você inverteu as variáveis. Tenta assim: 'vetor de conversão de dia Dim vet_dia As Variant Dim dia As String dia = "F1|E1|D1|C1|B1|A1|Z0|Y0|X0|V0" vet_dia = Split(dia, "|") MsgBox UBound(vet_dia) Beleza ?
  12. Infelizmente isso não rola... O que dá pra fazer é uma gambiarra utilizando CallByName Crie uma classe chamada Class1 por exemplo. Crie a função publica Calcular Public Function Calcular(Val1 As Integer, Val2 As Integer, Operador As String) As Double Select Case Operador Case "+" Calcular = Val1 + Val2 Case "-" Calcular = Val1 - Val2 Case "*" Calcular = Val1 * Val2 Case "/" Calcular = Val1 / Val2 End Select End Function Crie um Form com 3 textbox (txtVal1, txtVal2 e txtOperacao) e um Botão No código do botão coloque: Dim cls As New Class1 Dim Res as double Res = CallByName(cls, "Calcular", VbMethod, txtVal1.text, txtVal2.text, txtOperador.text) msgbox "Resultado: " & res Que trampo hein ? Abraço
  13. Salve !!! Então... pelos meus posts já deu pra perceber que eu detesto programar por API né ? A solução do amigo William Rodrigues funciona, mas se você estiver usando VB6.0, o form tem uma propriedade chamada Moveable. Ajuste ela para false e BE HAPPY !!! Beleza ?
  14. Ao invés de abrir forms modais, você deve abrir os forms como "modeless". Modeless, abre o form sobre os outros forms, permite que você clique em outros forms mas não torna o form exclusivo. Veja esse exemplo: - Crie dois forms, Form1 e Form2 - Crie um botão em Form1 - No evento clique do botão, escreva: ----- Form2.show vbModeless, Me Exeute e veja o resultado. qualquer coisa... manda outro post Beleza ?
  15. O método Clear do Flexgrid, apenas limpa as informações mas mantém as linhas adicionadas. Se você adiciona linhas no flexgrid quando lê o recorset, não vai funcionar. Você pode usar: MSFlexgrid1.Additem "" MSFlexgrid1.Rows = 2 (Se você não tiver uma linha de cabeçalho, fixedrow, use 1 ao invés de 2) Beleza ?
×
×
  • Criar Novo...