Ir para conteúdo
Fórum Script Brasil

kuroi

Membros
  • Total de itens

    7.184
  • Registro em

  • Última visita

Tudo que kuroi postou

  1. entendi. uma coisa q você pode fazer é declarar no codigo os textbox com os nomes q você quiser e depois apontar pros q tão no formulario como array. imagino q o q você declarar no form o visual basic vai interpretar apenas como pontero para o textbox do formulario, então o uso de memoria não seria tão gde, então você não precisa se preocupar com isso. tipo assim ó: Dim x As TextBox, y As TextBox, z As TextBox Private Sub Form_Load() Set x = Text1(0) Set y = Text1(1) Set z = Text1(2) End Sub[/code] ai se você for acessar as propriedades do textbox x, por exemplo, ele já aponta direto pro text de indice 0.
  2. não entendi a parte da interacao com banco de dados.
  3. esse codigo aqui: txtFantasia.Text = rs("nome") txtEstab.Text = rs("estab") txtRazao.Text = rs("razao") txtEndereco.Text = rs("endereco") txtBairro.Text = rs("bairro") txtCidade.Text = rs("cidade") txtEstado.Text = rs("estado") txtCep.Text = rs("cep") txtCnpj.Text = rs("cnpj") txtInscricao.Text = rs("inscricao") txtCcm.Text = rs("ccm") txtFone1.Text = rs("fone") txtFone2.Text = rs("fonee") txtFone3.Text = rs("foneee") txtFax.Text = rs("fax") txtResp.Text = rs("resp") txtCargo.Text = rs("cargo") txtEmail.Text = rs("email") txtSite.Text = rs("site")[/code]
  4. é, isso ai é uma coisa q eu tb ainda não encontrei uma solucao perfeita. se fosse .net você fazia isso facil. mas o melhor modo q pensei aqui seria você fazer um array de textbox (copie e cole o textbox, e quando ele pergunta se você quer criar o array, clique em sim). cada item do formulario q precisar dessa checagem seria um indice do array, ai você poderia usar uma unica sub pra testar o formulario todo. so problema é q ai você deve ter mais dificuldade pra identificar cada campo, mas foi o modo mais facil q encontrei aqui. outra solucao q pensei seria você ver pelo keydown no formulario, você pegaria o Me.ActiveControl, e ai você saberia se ele esta alterando algum textbox, mas nd impede de o cara usar o mouse pra editar (usando as opcoes copiar e colar por exemplo), mas não encontrei um modo de checar o clique em qualquer controle.
  5. esse linha aqui: Principal.Report.SelectionFormula = "" passe a formula nela. tipo assim: Principal.Report.SelectionFormula = "{Item_OE.NumOE} = " & Txt_NumOE.Text ou assim, caso o campo NumOE seja string: Principal.Report.SelectionFormula = "{Item_OE.NumOE} = '" & Txt_NumOE.Text & "'"
  6. no evento clique do grid, pegue os dados da linha atual do recordset (o mesmo codigo q você usou acima). acho q é isso: Set DataGrid1.DataSource = Nothing
  7. não deu certo, mas o q acontece de errado?? é pra por em qualquer lugar desde o painel já esteja criado. vai la no design do form e seleciona a statusbar e, na janela de propriedades, entre em custom. la você pode adicionar os paineis q precisar. ai no lugar do 1 la em cima você poe o numero do indice do painel q você quer q apareca (comecando no 0, imagino). ou ainda você poderia adicionar os paineis por codigo mesmo. deve ter algum StatusBar1.Panels.Add() ou qualquer coisa assim, é so ir tentando, mas não vejo porque você usar esse metodo se você pode ir la no custom e setar. veja ai se funciona, qualquer coisa poste.
  8. então, eu não tenho tanto conhecimento de trabalhar com impressao, mas o q me vem na cabeca aqui é q acho q você deveria fazer esses alinhamentos baseado no numero de caracteres q cabe numa linha do papel e não no tamanho do papel. tipo, imagino q essa seja uma daquelas impressoras q os caracteres tem todos a mesma largura não?? então ai fica facil, descubra qtos caracteres cabem no papel, ai é simples de alinhar, centralizar, etc. tanto faz o tamanho da folha, o programa não precisa saber isso. exemplo, se so cabem 50 caracteres numa linha, você faz um len() no produto pra saber se o tamanho dele é maior q isso, e se for, você quebra a linha no 50º caractere.
  9. hum?? se o jonathan não tivesse postado o codigo pra pegar o usuario do windows, eu nunca imaginaria q era isso. é isso mesmo?? o q eu entendi é q você tava falando do usuario logado no seu sistema, e q você tem uma variavel com o nome dele. se for isso é exatamente o codigo q eu passei, mas ai você troca nome_do_usuario pelo nome dessa sua variavel e troca o 1 pelo indice do painel q você quer (comecando no 0). se for o usuario do windows q você quer, usa o codigo do jonathan.
  10. fabin, aquele é o componente StatusBar (adicione, em menu Project -> Components, o Microsoft Windows Common Controls 6.0). ai você entra em custom e adiciona paineis nela (cada separacao da barra), e pra escrever, você edita o texto dos paineis, exemplo: StatusBar1.Panels(1).Text = nome_do_usuario pra por a hora e so escreve-la como texto, mas pra mostrar o tempo passando, você vai ter q usar um timer.
  11. bstar, se são so quatro valores, e vao ser sempre os mesmo, você poderia fazer quatro campos formula e soma-los. exemplo, digite a seguinte formula (crystal syntax): If {EMPRESA.COD} = 2 Then 1 Else 0[/code] entendeu?? quando for o codigo 2, você conta 1, se não você não conta (zero). no final você somando todos os 1, vai ter o total de vezes q o codigo 2 aparece. ai você faria um campo pra cada e somaria no final. hum, depois de ter digitado td aquilo la em cima, lembrei de uma forma mais simples de fazer a mesma coisa. você pode criar um running total fields, q faca um count(). ai na opcao Evaluate, você seleciona a opcao Use a Formula, ai você clica no botao do lado e digita a seguinte formula, por exemplo, para o codigo 2 (crystal syntax): [code]{EMPRESA.COD} = 2 o q significa q so vai contar quando o codigo for 2. logico, se depois você tiver q considerar outros codigos, você teria q criar mais campos, o q seria um saco. ai nesse caso, seria muito mais simples criar um subreport q faca um agrupamento a partir desse codigo e ai você poe um count() no header ou no footer do grupo. veja ai o q você conseguir fazer e qualquer coisa poste.
  12. marcelo, foi mal a demora, mas evita ficar postando varios topicos com o mesmo assunto beleza?? e quando for sobre crystal reports, posta sempre aqui na sala do crystal mesmo. quanto a sua duvida, acho q você ta confundindo ordem com filtro, não é isso?? quando você fala sobre ordem, o q eu entendo é q você quer q apareca na ordem 1, 2, 3 e não 2, 3, 1 por exemplo. é isso q você quer, ou você ta querendo filtrar?? se for um filtro, o q é pra ser o Txt_NumOE?? é um textbox dentro do visual basic?? se for, você não pode escrever o nome dele dentro do crystal reports, você vai ter q editar o codigo no visual basic (como no exemplo do tópico q passei no otro post). se tiver dificuldade em fazer isso, posta o codigo do visual basic q você usa pra mostrar o relatorio e especifica qual o componente q você ta usando (se é o crystal reports control, ou crystal reports design run time library, etc)
  13. fabin, eu tenho esse codigo aqui q centraliza um form na tela: Form1.Move (Screen.Width - Form1.Width) / 2, (Screen.Height - Form1.Height) / 2 ai é so você adapta-lo pro picture box. EDITADO: opa, entendi errado, entendi q a imagem tava num picturebox. agora, na propriedade picture não sei se da pra centralizar, mas o q você pode fazer é por a imagem num form mdichild sem borda e do tamanho da imagem e mostra ele de fundo no mdi. ai você usa o codigo acima pra centralizar (so q faca baseado no tamanho do mdi pai e vez de fazer baseado na screen como no exemplo). e se você quiser q fique sempre no meio, ponha o mesmo codigo no evento resize do mdi pai.
  14. qual o codigo do botao pesquisar??
  15. kuroi

    conversão

    então, tente trocar a ultima linha por: Left ({SRA010.RA_ADMISSA}, 4) = Replace(Replace(CStr({@CALCULO}), ".", ""), ",00", "") so note q se você quiser comparar, por exemplo, "0012" com "12", não vai funcionar, ai você teria q por os zeros da frente na mao ou, o q seria mais facil, em vez de converter o calculo pra string, converter o RA_ADMISSA pra numero. exemplo: CDbl(Left ({SRA010.RA_ADMISSA}, 4)) = {@CALCULO}
  16. abra um novo campo formula. ai digite isso, na sintaxe do crystal: IF {EMPRESAS.COD} = 1 THEN "TEXTO_1" Else IF {EMPRESAS.COD} = 2 Then "TEXTO_2" Else IF {EMPRESAS.COD} = 3 THEN "TEXTO_3" ELSE "TEXTO_4"[/code] ou digite isso em basic syntax: [code]IF {EMPRESAS.COD} = 1 THEN Formula = "TEXTO_1" ElseIF {EMPRESAS.COD} = 2 Then Formula = "TEXTO_2" ElseIF {EMPRESAS.COD} = 3 THEN Formula = "TEXTO_3" ELSE Formula = "TEXTO_4" END IF e na hora de mostrar no report, mostre esse campo formula q você fez.
  17. gabriel, essa conexao (Conex) tem q estar aberta na hora de executar o recordset.
  18. tenta assim: {NomeDatabela.NomeDoCampo} like "*" & {?parametro} & "*"
  19. kuroi

    Animação em Flash

    não, você não entendeu. eu sugeri o picturebox ou o image (qualquer um dos dois) quando eu não tinha entendido o q o leandro queria. nenhum dos dois serviam pra ele q tb não servem pra você. tanto o picture quanto o image servem pra mostrar imagens e so (e não videos ou animacoes). leia os posts de baxo, o q você tem q usar é o webbrowser ou o animation, la tem exemplo de como usa os dois. bom, na verdade se você vai usar .avi, o melhor é usar o animation. o webbrowser na verdade, é um navegador web dentro do visual basic (então não deve servir pra mostrar o .avi, pelo menos não da forma q você quer), mas ele deve servir caso você queira mostrar na extensao .swf. entretanto, o cara vai ter q ter o plugin do flash instalado e td mais, o melhor acho q é mostrar o .avi com o objeto animation mesmo, veja la o post q o leandro explica como faz. ou ainda deve ter alguma .ocx relacionada ao proprio flash q você possa usar, mas não posso te falar nd sobre isso porque nunca fiz isso, você pode fazer uma busca aqui no forum mesmo, mas acho q não tem necessidade, as opcoes de cima devem servir pra você.
  20. isso?? Set DataGrid1.DataSource = rs onde rs é o nome do seu recordset.
  21. kuroi

    Problemas com Spread

    a so uma dica, tenta tirar esse codigo q ta no activate e por no load do formulario. acho q o activate é chamado (alem de quando o ele é criado) toda vez q o você vem de um form pro outro. o load so vai acontecer quando o form é criado. ou se, por um acaso, você precisa q esse codigo esteja no activate por algum outro motivo, então tente usar um flag (pode ser uma variavel publica, ou um label oculto em qualquer formulario) q avise quando você esta vindo do form de consulta. ai nesse caso você não executaria esse codigo. veja ai se essa dica ajuda em alguma coisa e poste ai, ai se não resolver, quando eu tiver mais tempo aqui eu do uma lida nos seus dois posts com mais calma e vejo se tenho otra ideia.
  22. o q você quer dizer com gerenciar a digitalizacao?? você quer dizer q quer montar a tela pro cara digitalizar, selecionar a resolucao e td isso?? ai eu nunca vi nd sobre isso, mas ai imagino q você vai teria q usar alguma ocx relacionada ao seu scanner ou coisa desse tipo. quanto a parte do processamento de texto, explica melhor o q você precisa fazer. e quanto ao tiff, faca uma busca no forum q já saiu isso por ai.
  23. não existe App.Path em vbscript (já q o script nem é uma aplicacao), mas encontrei esse codigo por ai: dim diretorio diretorio = Left(WScript.ScriptFullName, (Len(WScript.ScriptFullName) - (Len(WScript.ScriptName) + 1))) msgbox diretorio[/code]
  24. kuroi

    Capturando Teclas

    shift e control, vem no parametro Shift do evento KeyDown().
×
×
  • Criar Novo...