Ir para conteúdo
Fórum Script Brasil

kuroi

Membros
  • Total de itens

    7.184
  • Registro em

  • Última visita

Tudo que kuroi postou

  1. hum... como você chegou nesse numero 255?? você deu um Len() pra ver se era esse valor mesmo?? então você confirmou q é do recordset mesmo?? você deu um len direto no recordset e retornou 255?? o controle onde você ta tentando mostrar é um textbox mesmo?? tipo é um TextBox do Visual Basic 6?? não é nenhum otro controle de otras ocx?? é o MaxLength é 0, certo?? é estranho... o q tem na sub AbrirBanco?? e como ta o Load dos dois forms?? e em q hora você seta o campo no textbox?? você chega a fechar a sua conexao e depois reabrir??
  2. nunca vi isso... mas então, o recordset é public ne?? então tenta fazer o seguinte so pra testar: carrega os dados e poe os dados do campo nesse textbox nesse primero formulario q você diz q funciona. e veja se funciona mesmo. em seguida, SEM FECHAR o recordset, ponha os dados do campo no segundo textbox do formulario onde não funciona. e veja se não funciona mesmo. se não funcionar sabemos q o problema é alguma coisa no formulario. se funcionar, ai é porque é no modo de abrir o recordset. e so pra confirmar, esse banco ai é access??
  3. então não faca for each, faca um for normal, pegando pelo indice, já q ta em array mesmo.
  4. a da sim, so q ai você tem criar um algoritmo, baseado no indice, no tamanho (width e height) e nas posicoes left e right, usando for e/ou while. é um poco complicado e ate pode dar um poco de trabalho, mas não acho q seria tão dificil. mas é so você pensar um poco ai. tem uma logica pra mudar. pensa assim, se o indice 0 tem q tar na left x e os indices 1 tem q tar no left y, é so por todos os 0 no x e todos os 1 no y, ue. não entendi ai é so habilitar a propriedade KeyPreview do form como True e, no evento KeyDown do form, mover de acordo com o controle q ele estiver (Me.ActiveControl) e com a tecla q ele apertou. tenta por no evento KeyDown do form, o seguinte codigo: If KeyCode = 13 Then SendKeys "{TAB}"
  5. a nunca usei o mschart mas aqui tem um tutorial do macoratti. é do visual basic 5, mas no 6 não deve mudar mta coisa: http://www.macoratti.net/graph.htm
  6. kuroi

    Copiar Arquivo

    não entendi ai o problema. em q parte do codigo você cria esse hash?? e qual o problema com ele?? como assim não muda?? não muda de onde?? pra q deveria mudar??
  7. pelo q parece você ta passando o codigo do animal pro codigo do cliente, isso ta certo?? agora otra coisa, você ta pondo a string na variavel sql e ta passando no filtro onde?? eu passei o exemplo no sql porque normalmente quando trabalhamos com recordset e executamos varias queryes, a gente primero poe a query na string e depois manda executar pra ficar mais facil caso se precise alterar mais tarde. depois de por a query na string você teria q fazer alguma coisa com ela. exemplo: sql = "Select * From Servico Where Codigo = " & codigo & " And Data = (Select Max(Data) From Servico Where Codigo = " & codigo & ")" Data1.Recordset.Filter = sql[/code] mas não precisa usar a variavel sql, pode por a string direto no filter. agora acho q não seria exatamente isso. acho q o filter não vai aceitar o select desdo inicio. você teria q passar so o filtro da query (a partir do where) exemplo: [code]Data1.Recordset.Filter = "Codigo = " & codigo & " And Data = (Select Max(Data) From Servico Where Codigo = " & codigo & ")" mas ai tem um problema, não sei se o filter vai aceitar a subquery (o select q pega o max()), e na verdade acho q não aceita não. mas não custa tentar ai. e ai se não aceitar, na verdade é basicamente a mesma coisa q você tera q fazer, mas ai você tem q filtrar o recordset primeiro so pelo cliente e depois sim encontrar a maior data (tipo, ordene por ordem decrescente de data e a maior data vai estar no primero registro). e ai depois filtre pelo cliente e pela maior data q vai estar no recordset. veja ai se entende, qualquer coisa poste.
  8. faca o seguinte teste: Dim a As Variant a = 1 MsgBox TypeName(a) a = 1# MsgBox TypeName(a)[/code] o msgbox vai mostrar o nome do tipo da variavel. como você pode verificar no teste, o # converte o numero pra double. na verdade isso não vai fazer mta diferenca já q o visual basic faz a conversao direta. e eu tb não sei os detalhes de como o visual basic faz a tipagem internamente, mas se você não poe o # o visual basic entende como integer (logico, a não ser q seja um numero quebrado ou q seja maior q a capacidade do integer), ou seja, se você for comparar com o double, imagino q se você não use o # ele gaste um poco mais de tempo fazendo a conversao de integer pra double. ou não sei, talvez internamente ele ate consiga comparar sem fazer a conversao e ai o # acaba não tendo tanta importancia em valores pequenos assim... mas isso seria bom de se usar em projetos q fazem gde processamento de dados e q a velocidade seja importante.
  9. é você tentou passar o rs_teste desse tipo Mysql_Rs?? e não funcionou?? você conseguiu fazer ele se conectar a partir do ini?? isso pelo visual basic ou direto no crystal??
  10. kuroi

    Copiar Arquivo

    Microsoft .NET Framework?? aaa isso ai é visual basic .net, essa sala aqui é so pra visual basic 6. por acaso essa sua duvida se faz da mesma forma nas duas linguagens, já q a sintaxe e a maioria das funcoes são iguais, mas são linguagens diferentes, todos os objetos usados são diferentes. é bom postar suas proximas duvidas na sala de .net. eu acho mais certo q o compilador retorne o erro. se você tenta copiar e não consegue, você tem q ter um retorno. pra q você vai copiar pra onde não existe?? o programador q tem q se vira pra isso não acontecer. pra não dar o erro, você podia escrever On Error Resume Next antes do FileCopy, mas acho q o mais certo seria testar antes se o diretorio existe não?? pra isso você pode usar a funcao Dir(). pelo menos no visual basic 6 eu faria assim: If Dir("C:\Caminho", vbDirectory) = "" Then 'Não existe o caminho Else 'Existe, então copia End If[/code] no .net o parametro vbDirectory seria FileAttribute.Directory e note q se você puser "C:\Caminho\" com o \ no final não vai funcionar.
  11. tem uma explicacao sobre isso aqui: http://support.microsoft.com/?scid=kb%3Ben...p;x=13&y=10 mas como ele disse, posta o codigo. preciso não é, mas se você precisar de ajuda, pode usa-lo. no visual basic original ele devia estar no segundo cd. não sei onde baxar. não sei, o visual basic 6 se não me engano nem vende mais a licenca. se você for procurar, a microsoft vai mandar você usar o 2008.
  12. é por isso q eu disse q tem tomar as precaucoes necessarias em relacao a quantidade de unidades. bom, mas hj mesmo eu falei sobre isso num post ai: uma dessas funcoes ai (não lembro qual) encontra unidades no seu computador. se você tiver varios hds, varias particoes, varios drives, deve conseguir encontrar usando essas funcoes ai. ai o esquema é encontra todas as unidades e procurar em todas (ou so naquelas q o usuario escolher); é, entra em http://www.macoratti.net q tem muito mais.
  13. a então, era essa linha aqui: cr.Database.Tables(1).SetDataSource rs, 3 agora não sei como funciona essa sua dll ai. no exemplo ai, o rs é um recordset ADO aberto com uma consulta na mesma estrutura q você criou no Crystal. deve funcionar com um recordset DAO tb, agora tem q ver o seu componente como funciona. tem algum objeto (ou propriedade de objeto) q funcione como um recordset (q armazene os registros selecionados)?? tente passar ele como parametro.
  14. kuroi

    Somar valores e agrupar

    isso?? Select Tipo_Conta, Dt_Lacamento, Sum(Valor) As Soma From TContaPagar Group By Tipo_Conta, Dt_Lacamento
  15. com o dir você consegue varre todos os arquivos de um diretorio. ou seja você consegue encontrar todas as pastas q existem la. exemplo, teste esse codigo com um TextBox com MultiLine = True a = Dir("C:", vbDirectory) Text1.Text = Text1.Text & a Do a = Dir Text1.Text = Text1.Text & vbCrLf & a Loop While a <> ""[/code] você vai ver todos os arquivos e pastas q tem em C: a partir dai você acessa pasta por pasta e procura o arquivo. logico q tem q tomar as preucaucoes necessarias em relacao aos drives existentes no pc. telles, de uma olhada tb nos componentes DirListBox e FileListBox q devem ajudar pra você. e tb veja esses tutoriais do macoratti q ajudam bstante: http://www.macoratti.net/file_vb.htm http://www.macoratti.net/filesyst.htm
  16. ser for isso, você pode usar a funcao Dir() pra pesquisar os diretorios. ou ainda pode usa o FileSystemObject da biblioteca Microsoft Scripting Runtime, q faz varias operacoes com arquivos e é bem facil de usar. tem varios exemplos por ai, qualquer duvida poste.
  17. a mais ai pra fazer essa conexao ativa você usou algum componente no visual basic 6 não?? esse objeto gMyConn é de q dll?? ai no crystal não conheco nd assim não. talvez se você encontrasse por ai alguma dll q fizesse isso em conjunto com o crystal... o q eu sei tb é q tem uma opcao no crystal de você fazer a conexao a partir de um Crystal Dictionary ou de um Cystal SQL Query File q seriam formas de gravar uma query num txt q retornaria uma view dos dados q você quer pegar do banco de dados. e ai o vinculo do crystal fica com o arquivo e não com o banco. mas não sei os detalhes de como usar esses arquivos e tb tem poca informacao na internet. alem de q não sei se internamente você teria q especificar uma conexao odbc ou oledb no arquivo, mas talvez ele faca a conexao nativa, talvez se você fosse atras disso funcionasse pra você, mas deve dar trabalho achar informacoes sobre isso. uma opcao q talvez funcionasse pra você seria no crystal você dexar apenas a definicao do tabela. e ai você preenche a tabela a partir dos dados do recordset do visual basic. como na explicacao aqui: http://scriptbrasil.com.br/forum/index.php...st&p=477615 mas não sei se vai funcionar com esse objeto q você ta usando. ou talvez vale a pena tentar o oledb, não sei q problemas você teve com o odbc... agora caso você descubra alguma coisa sobre a conexao nativa, posta ai q tb quero saber, falou.
  18. hum entendi a pergunta. é seria uma variavel só. mas tipo... não necessariamente você faria um for pra cada byte. acho q você pode pegar num array direto. exemplo, você cria um array de 29 posicoes e pegava um pedaco de 29 bytes e punha no array. ai você lia mais dois byte (em um otro array qualquer) q corresponde a posicao 30 e não fazia nd com ele tudo dentro dum for. ou ainda, podia ler o arquivo todo de uma vez pra dentro de um array e na hora de gravar, ignorar as posicoes a cada 30 indices. porque tipo assim, você não pode deletar direto um pedaco do arquivo. você não vai conseguir escrever no hd, você não consegue alterar la um espaco q já ta definido, muito menos excluir uma parte. hum, seila, é coisa de nivel bem baxo, não entendo os detalhes, mas pelo menos imagino q o arquivo esteja la ocupando um espaco no hd continuamente (ou não, pode estar fragmentado tb, mas isso não vem ao caso agora). imagina q você exclua um pedaco qualquer do arquivo. vai ficar um buraco no meio, isso não existe, você teria q "puxar" o resto do arquivo pra tapar o buraco. a não ser q você fizesse isso direto em programacao de baxo nivel, acho q você não consegue, alem de q gastaria bem mais tempo caso o arquivo for bem gde. quem imagino q escreva direto em hd assim é programa de banco de dados. mas só o q ele faz é adicionar mais informacoes no arquivo, ou ainda alterar informacoes de dentro sem alterar o tamanho, não consegue arrancar pedaco de dentro. no caso aqui, o q você teria q fazer é reescrever todo o arquivo em um novo e substituir o velho. imagino q assim funcionem os softwares todos q criam arquivos como o word. você abre o arquivo e ele é carregado na memoria. quando você altera, você altera na memoria. quando você clica gravar ai sim, ele apaga o arquivo existente e cria um novo. ai o esquema no caso aqui então é simplesmente não escrever a parte q você não quer no novo arquivo.
  19. essa pergunta é pra mim ou pro jobas??
  20. hum na hora de selecionar o banco (Database -> Set Location), acho q se você entra na opcao More Data Sources -> Active Data -> Active Data (ADO), seleciona a opcao ADO and OLE DB e adicionar a connection string do seu banco (ou clicar em Build... pra fazer por wizard) deve funcionar.
  21. hum qual é o banco de dados?? e ele é local ou ta em algum servidor??
  22. cara parece q foi você q invento essas piada
  23. ta faltando a parte de gravar no arquivo não?? fora isso parece q ta certo, tenta compilar pra ver se não da erro e se funciona certo.
  24. hum, pelo q to vendo você fez uma funcao pra verifica se a data é valida... parece q você teve trabalho a toa porque a funcao IsDate() já faz isso hehehe mas beleza, a funcao ficou legal, só não testei aqui pra ve se funciona mesmo heheh. isso ai é pra funcionar sim. como assim so reconhece os dias?? essa funcao q você fez ai não tem relacao com essa comparacao, certo?? então ela não influenciaria em nd. onde você usa esse codigo??
  25. você vai rescrever o arquivo certo?? vai somando uma variavel a cada byte, quando chegar em 30 você não salva no otro arquivo e zera o contador.
×
×
  • Criar Novo...