Ir para conteúdo
Fórum Script Brasil

kuroi

Membros
  • Total de itens

    7.184
  • Registro em

  • Última visita

Tudo que kuroi postou

  1. kuroi

    ajuda a fazer pode ser?

    você tem q criar tres vetores. um pro codigo, otro pra qtde e otro por valor. e você cria uma variavel pro maior, uma pro menor e uma pro total. e ai enquanto ele vai digitando, você já vai calculando (tipo, pra cada valor q ele digitar, você alem de gravar no vetor, já soma na variavel de total).
  2. kuroi

    Projeto

    da uma pensada baseada na formula do y q eu passei. mas pensa na forma completa, assim: y = (var * 2) - 2 + 7; você sabe q o x comeca na posicao 10 e q vai mudando de 4 em 4 não?? da uma olhada na formula do y, a diferenca entre os y são de 2 caracteres, eu multiplico o quadrante por 2. so q acontece q a contagem comeca no 0, por isso subtraio o 2. então se o cara digita 1, vai apontar por 0. se digita 1, aponta pro 2, etc. só q o primeiro y ta na posicao 7. por isso somo mais 7. então se ele digita 1, e fica 0, então 0 + 7 = 7, ele chega na posicao 7.
  3. nossa não é isso não... tipo é mo simples cara... mas se eu te dar o codigo de cara não tem graca... vamo ver se consigo fazer você chegar la... tipo... tenho duas coisas pra comentar... primero... dessa vez você acertou... é na variavel pos. afinal, você faz o for com o pos. e o pos vai apontar pra cada posicao do vetor. se você acha o 30, é só pegar qual o pos q ele achou... agora, porque esse pos++?? você sabe o q faz o ++?? ele serve pra somar mais 1 na variavel... porque você vai quere fazer isso?? segunda coisa... no vetor, o 30 pode aparecer mais de uma vez não pode?? mas veja q você ta mostrando com o printf depois do for. a linha do prinft não esta dentro de nenhum laco de repeticao. ou seja, o valor só vai ser mostrado uma vez. mas e se tiverem dois 30 dentro do vetor?? talvez você teja com dificuldade pra entender o q você pode fazer com o for. pensa assim, o for ta lendo o vetor todo. e cada posicao ele checa se é 30, certo?? se ele achar o 30, você tem q avisar q achou... e tem continuar procurando certo?? porque pode haver mais trintas. então, como fazer pra você mostrar assim q achar?? você testa... é 30?? é, então mostra... e continua a procurar ate chegar no final... consegue entender a logica??... ai se tiver dificuldade em transforma em codigo, ai poste de novo.
  4. se você fechar o form logo depois do shell, não vai fazer diferenca, ele vai continuar executando o aplicativo. mas se ainda assim você quer saber quando termina a execucao do aplicativo, a unica forma q consigo imaginar seria usar a api findwindow, veja esse tópico: http://scriptbrasil.com.br/forum/index.php...ost&p=44268 você poe o findwindow dentro de um timer e ve se a janela do aplicativo esta aberta. quando o findwindow retornar 0 significa q fechou. então ai você fecha o formulario. o unico problema é q você tem q saber exatamente qual é o texto q vai aparecer no titulo da janela (ou seja, só funcionaria se você estiver prevendo qual o aplicativo q sera aberto, como imagino q pretende fazer).
  5. se você declarar como public na classe pai e herdar-la tb como public, você pode sair usando sim. exemplo: #include <stdio.h> #include <conio.h> class base { public : base() { /* Código */ } public : void metodo() { printf("base\n"); } }; class derivada : public base { public : derivada() : base() { } } int main(void) { derivada x = derivada(); x.metodo(); //Vai aparecer escrito "base". getch(); }[/code] presta atencao nesse public aqui: class derivada : public base ai se você declarar um objeto da classe derivada, você consegue usar o metodo metodo() normalmente. agora se você declarar o mesmo metodo metodo() tb na classe derivada, isso é um override, ou seja, se você tentar executar esse metodo, ele vai executar somente o codigo da classe filha. exemplo: [code]#include <stdio.h> #include <conio.h> class base { public : base() { /* Código */ } public : virtual void metodo() { printf("base\n"); } }; class derivada : public base { public : derivada() : base() { } public : void metodo() { printf("filha\n"); } }; int main(void) { derivada x = derivada(); x.metodo(); //Vai aparecer escrito "filha". getch(); }
  6. kuroi

    problema com return

    mas onde você ta chamando o consultapormodelo()??
  7. ta bom, já te te passei o codigo do visual basic.
  8. é só editar o selection formula. ela funciona como a clausula where de uma query. você ta chamando o relatorio por onde, pelo visual basic?? qual componente você usa?? se for o CRControl, faca tipo assim: CrystalReport1.ReplaceSelectionFormula "{Tabela.Campo} = valor" se for CRAXDRT, assim: crRep.RecordSelectionFormula = "{Tabela.Campo} = valor"
  9. kuroi

    Menu

    entendi, ponha como True a propriedae WindowList da opcao q você quer q mostre as janelas. se você abrir o Menu Editor, você vai ver uma opcao chamada WindowList. é só marcar. mas só vai funcionar mesmo em menu de um form mdi.
  10. é, porque você ta tentando compara com nd, se não tem com q compara ele não consegue. você não fez a validacao?? o IsNumeric() daria false se você tentasse pegar uma string vazia.
  11. isso porque você ta pegando o valor aqui: valor_igual_30=valor[pos]; você não quer a posicao?? pega a variavel q guarda a posicao e não o valor q esta no array pra essa posicao.
  12. kuroi

    Projeto

    legal, mas você ta fazendo exatamente o q eu falei pra não fazer aqui: você já compilao e rodou pra ver?? você vai ver q ele vai mostrar o x la em cima.
  13. kuroi

    (Resolvido) Erro com classes

    é como eu falei, o problema ta aqui ó: void CNave::mostrar(){ Blit_Imagem(x, y, img_nave, tela); }[/code] o Blit_Imagem tem 5 parametros e você ta passando só 4.
  14. olha, você ta fazendo os fors e os ifs errados. olha: for (i = x;i < 100;i++); não pode ter esse ponto e virgula no final, senao ele acha q o for não faz nd, só vai somar o i ate o final e mais nd. mesma coisa nesse if: if ( strcmp ( a,info[i].ano)); printf("%s",info[i].nome); printf("%s",info[i].marca); printf("%s",info[i].op); printf("%s",info[i].ob); printf("%s",info[i].placa); printf("%i",info[i].km);[/code] acho q o q você queria era tipo isso não?? [code]if ( strcmp ( a,info[i].ano)) { printf("%s",info[i].nome); printf("%s",info[i].marca); printf("%s",info[i].op); printf("%s",info[i].ob); printf("%s",info[i].placa); printf("%i",info[i].km); } otra coisa, você ta declarando o a como int e passando no strcmp. o strcmp só compara string, q deve se declaradas do tipo char* ou char[] fora isso de uma olhada tb q parece q os { não tão batendo com os }. de uma verificada onde tem q abrir e onde tem q fechar cada um.
  15. kuroi

    Erro 3144 Update

    ou nathalia, para de mandar mp, poste sempre aqui. porque perguntar só pra mim ou só pro jonathan se você pode perguntar pra td mundo de uma vez aqui?? alem de q pra mim não faria diferenca, porque sempre leio todos os topicos aqui. jonathan, pelo q sei o # # é só pra fazer where. pelo menos, mesmo no access eu sempre gravo data com ' '. não testei aqui, mas talvez funcione sim com o # # mas é certeza q tb funciona com o ' ', sempre fiz assim. mas de qualquer forma, o melhor jeito de se gravar data em todos os bancos é no formato YYYY-MM-DD (com - mesmo no lugar de /). exemplo: strsql = "Update dados set entrega='" & Format(data_entrega, "YYYY-MM-DD") & "'" nathalia, "não funciona direito" pode signficia mil coisas, a gente não tem como saber se você não explicar direito. de preferencia poste o codigo dessa rotina e explica qual o problema. o q acontece, da mensagem de erro?? não volta o valor esperado?? então volta o q??
  16. kuroi

    Erro 3144 Update

    nathalia, muito provavelmente o erro é alguma coisa a ver com tipo de campo. exemplo, olha essa linha: strsql = strsql & ", OS_Pedcodigo = " & Pedido os pedido esta sem aspa. isso so pode acontecer se ele for numerico. imagino q ele seja numerico sim, mas olhe q se a variavel Pedido estiver vazia, vai dar erro, porque o sql ficara assim: ...OS_pagamento = 'XXXX', OS_Pedcodigo = , --esse igual sem nd aqui daria erro. OS_entrada = 'XXX',...[/code] otra possibilidade é você estar gravando campo numerico com aspa. pra descobrir o problema, faca um teste. tipo va tirando uma linha por vez e execute. exemplo, tira a linha onde atualiza o OS_Status e tenta executar pra ver se dar certo. se der, você vai saber q o problema ta no OS_Status. se não der certo, ai tire a linha do OS_Obs e assim por diante, ate você descobri. mas tem q toma cuidado porque pode ter mais de uma linha com erro. então caso você descubra a linha do erro e consiga corrigir, é bom ir colocando de volta uma de cada vez pra ver se não tem otra dando erro.
  17. kuroi

    (Resolvido) Erro com classes

    cara mostra pra gente qual são essas linhas 56 (CNave.cpp) e 23 (CInitFuncs.h) se não a gente não vai saber, mas o q parece é q você ta chamando o metodo mas não ta passando o ultimo parametro do tipo SDL_Rect.
  18. a você pode usar o cancel só se quiser. tipo, custumo fazer a validacao sempre no validate em vez de no lostfocus, mesmo q não for usar o cancel, porque o validate server pra isso mesmo, por isso tem esse nome. e se um dia eu mudar de ideia e resolver por o cancel, já to dentro do validate e é so simplesmente adicionar uma linha. mas não entendi essa parte do erro q você falou.
  19. kuroi

    Projeto

    isso mesmo. mas tipo, se ele passar 1 e 1, não vai jogar em 1 e 1, porque 1 e 1 vai parar la na linha de cima onde você pos um \n. como eu te falei, a linha 1 ta na y = 7. e a linha aumenta de dois em dois. exemplo, a linha dois ta no y = 9 e a tres ta no y = 11. então, pra passar o y você teria q multiplicar por 2, subtrair 2 e somar 7 (ou somar 5). tipo assim: y = (var * 2) - 2 + 7; o q é o mesmo q: y = (var * 2) + 5; assim, se ele digita 1, você cai no y = 7 (1 * 2 = 2 -> 2 + 5 = 7) e se ele digita 2, você você cai no y = 9 (2 * 2 = 4 -> 4 + 5 = 9) ai você tem q encontra uma formula pra coluna tb (q comeca em 18 e avanca de 4 em 4). ou mas ia ser legal se você pusesse os numeros em volta do tabulero pra identifica as colunas.
  20. kuroi

    Duvida com SSTAB VB.NET

    aline, por acaso você ta usando o mesmo sstab do vb6, aquela do tabctl32.ocx?? se for acho q não deve funcionar mesmo, use o tab control do proprio .net. no visual studio, na toolbox a esquerda, na parte de Containers, procure o Tab Control q vai funcionar. isso no 2005, acho q nas versoes mais novas tb é assim, mas nas mais antgias, pode ser q o controle seja otro com otro nome, mas deve ter algum pra tab, de uma olhada la.
  21. legal. ou primero olha como você ta juntando a string. o and tem q fazer parte da string, não é pra ser o operador and do visual basic. assim ó: Data1.Recordset.Filter = "Grupo = 'Clubinho' And CodigoDoCliente = '" agora, olha como você ta fazendo com o codigo. o q é pra ser aquele '?? se você for abri a aspa tem q fechar. mas se o codigo é numero você não pode passar aspa em branco. normalmente os bancos nem aceitam com aspa mesmo q for numero, não tenho certeza quanto ao access. você tem q passa algum valor aqui, exemplo: Data1.Recordset.Filter = "Grupo = 'Clubinho' And CodigoDoCliente = 1" ou seja, acho q seria tipo isso: Data1.Recordset.Filter = "Grupo = 'Clubinho' And CodigoDoCliente = " & txtCodCli.Text mas tem q toma cuidado, caso o cara não digite numero. se vier algum texto vai dar erro, então você tem q validar. pode usar a funcao IsNumeric(). uma dica, não é bom fazer isso no change. tudo bem q o seu banco é pequeno, mas imagina q eu tenho 15000 registro, onde a consulta deve demorar mais, e quero achar o codigo 1234, ai eu digito 1 e tenho q espera ele filtra tudo pra depois poder digitar o 2 e esperar ele fazer toda a selecao de novo e assim por diante. o legal é você por um botao de busca e podia chamar o clique do botao tb quando apertasse enter, ou pode por tb no validate do txtCodCli.
  22. como assim, atualizar com os dados inseridos?? cada vez q você abrir o relatorio ele vai pegar os dados atuais ue. se ele inserir mais dados enquanto o relatorio tiver aberto, é só aperta o botao de refresh. por acaso o problema não é q você ta gravando os dados junto com o report?? tipo, entra em menu File e veja se a opcao Save Data with Report não esta marcada. se estiver, desmarque e veja se não resolve seu problema. qual erro q da??
  23. então, descobri aqui, pra poder dar filter no data1, você tem q abrir o recordset com tipo 1 e não 0. aqui: Data1.RecordsetType = 1 e então, você teria q atualizar o recordset a cada vez. a ultima linha aqui: Data1.Recordset.Filter = "Grupo = 'Simples'" Set Data1.Recordset = Data1.Recordset.OpenRecordset[/code] só o problema é q o filtro é cumulativo (exemplo, você filtra no simples e depois quando for filtrar por clubinho, ele vai fazer o filtro por cima do filtro do ), não sei se, abrindo o data assim, você tem como driblar isso. veja se você descobre alguma coisa ai, senao o otro jeito q eu sei q você faria seria abrir o recordset passando a query sql. ai isso é meio diferente do q você tem feito, mas funciona. assim: você declara separado os objetos database e recordset tipo assim: [code]Dim db As Database Dim rs As Recordset e ai depois você carrega o recordset no data: Private Sub Form_Load() Set db = OpenDatabase(App.Path & "\BD\db2.mdb") Set rs = db.OpenRecordset("Select * From Animais") Set Data1.Recordset = rs centraliza Me End Sub[/code] e ai em cada filtro, você reabre o botao passando o filtro. exemplo: [code]Private Sub OptClub_Click() Set rs = db.OpenRecordset("Select * From Animais Where Grupo = 'Clubinho'") Set Data1.Recordset = rs End Sub a chave no codigo de cima é o Where. ele vai fazer o filtro. então, acho q o melhor é em vez de fazer o filtro em cada evento clique, você faz uma sub separada só para o filtro. e no clique dos options, ou na alteracao do codigo do cliente você chama essa mesma sub. ai a sub testaria cada opcao e monta a string do select. não tem q fazer necessariamente a variavel, mas fica muito mais facil, veja se você entendeu o codigo, qualquer coisa pergunta.
  24. aaaa é esse datacontrol, joga fora esse negocio q é muito ruim!!! zuera hahah mas tipo posta o codigo como você ta fazendo pra carregar os dados no grid, pra ver se eu descubro o problema. mas tipo os nomes dos campos tem q ser igual ta no banco. exemplo, o seu campo codigo chama "Código do Cliente". mas a query não aceita campo com espacos, você tem q por entre [ ] pra ele identificar. exemplo: Data1.RecordSet.Filter = "[Código do Cliente] = 9999" tenta fazer assim e veja se o erro para. se não posta o codigo do grid. string é uma sequencia de caracter, td q tiver entre aspa na linguagme é uma string. no caso eu quis dizer pra você montar a string de filtro de acordo com as opcoes. exemplo: Dim sql As String sql = "Codigo = " & txtCodigo.Text 'Faz o filtro por código If optClubinho.Value = True Then sql = sql & " And Tipo = 'Clubinho'" 'Se tiver selecionado clubinho, adiciona no filtro ElseIf optSimples.Value = True Then sql = sql & " And Tipo = 'Simples'" 'Se tiver selecionado simples, adiciona no filtro End If Data1.Recordset.Filter = sql 'Aqui seta o filtro[/code]
×
×
  • Criar Novo...