-
Total de itens
8.257 -
Registro em
-
Última visita
Tudo que Graymalkin postou
-
Nops... você não captou a minha mensagem. Eu quis dizer que o vetor veio primeiro (por isso que uma matriz é um *vetor* com mais de uma dimensão - para definir isso é preciso que "vetor" já exista). Abraços, Graymalkin
-
Experimente executar a SQL como coloquei lá no exemplo (com cn.Execute) ao invés de abrir um recordset para isso. Abraços, Graymalkin
-
Como você fez? Abraços, Graymalkin
-
FormatCurrency *só* e *somente só* vai aceitar um valor que possa ser convertido para um double (assim com a função cdbl() que converte uma expressão qualquer para um double). E "R$" com certeza não é um valor que possa ser convertido para double... Abraços, Graymalkin
-
Você já os tem. 'Nomes' é um vetor, por isso você terá Nomes(0), Nomes(1), e assim por diante. O que é um vetor senão um monte de variáveis agrupadas pelo mesmo nome, porém com índices diferentes? Abraços, Graymalkin
-
Sim, ela armazena, porém ela é passada por referência. Isso significa que se o valor dela for alterado dentro da função, essa alteração se refletirá também fora da função. Imagine uma procedure assim: procedure Incrementa(n : integer); begin n := n+1; end; Se você fizer (considere 'a' como um inteiro)... a := 2; Incrementa(a); ShowMessage(inttostr(a)); ... verá que o valor de 'a' permanece 2. Isso porque nesse caso o parâmetro é passado por valor. Isso significa que é feita uma cópia do 2 (valor de 'a') em 'n' no momento em que a função é chamada. Já se a procedure fosse: procedure Incrementa(var n : integer); begin n := n+1; end; E você fizesse o mesmo teste acima, veria que 'a' teve seu valor mudado. Isso porque ao invés de se fazer uma cópia do valor de 'a' em 'n', 'n' seria uma referência à 'a' (ou seja, tudo que acontecer com 'n' acontecerá com 'a', pois ambos apontam para a mesma posição em memória). É para isso que serve aquele Var ali. Sacou? Abraços, Graymalkin
-
Existem tópicos aqui tratando disso. Experimente fazer uma busca. Abraços, Graymalkin
-
Deve ser o "cn" (a conexão). Ela está realmente aberta? Abraços, Graymalkin
-
Procure pela API ShellExecute aqui no fórum mesmo. Abraços, Graymalkin
-
Deve ser porque FormatCurrency deve pedir um valor (double ou single, provavelmente). Abraços, Graymalkin
-
ah beleza... mas tipo vetor não é uma matriz de uma coluna só ? tipo ? sendo que a matriz é armazenada na memória de forma sequencial ? tipo: [a] b vem logo após de a na memória ? huahau... pergunta de exatas ... hehe... Sim, isso também é viável de ser dito... todavia, quem veio primeiro? O vetor ou a matriz? Por isso que acho mais certo dizer que uma matriz é um vetor com mais de uma dimensão (e não o contrário). Mas, isso são só detalhes. Entretanto, um vetor é organizado sequencialmente assim: [1, 2, 3, 4, 5] Onde cada número ali é um elemento. Já uma matriz bidimensional, seria assim: [(1, 1), (1, 2), (1, 3), (2, 1), (2, 2), (2, 3), (3, 1), (3, 2), (3, 3)] E assim por diante. Sacou? Abraços, Graymalkin
-
O problema é com a MessageBox que tem nessa página. Abraços, Graymalkin
-
"Sender" ou "remetente" é justamente uma referência ao objeto cujo evento chamou esse procedimento. Se você colocar dois botões no form e definir o evento OnClick de *ambos* para o *mesmo* procedimento, e colocar o código abaixo no procedimento... showmessage((Sender as TButton).Name); ... você verá que o código é um só, porém ao clicar no primeiro botão ele mostrará o nome do primeiro botão (Button1, se você não mudar); e, ao clicar no segundo botão, ele mostrará o nome do segundo botão (Button2, se você não mudar). Ambos estarão chamando o mesmo procedimento, porém o argumento Sender será definido para aquele que chamou (ora o botão 1, ora o botão 2). Sacou? Abraços, Graymalkin
-
O primeiro é a declaração (protótipo) do procedimento e o segundo é a respectiva implementação do mesmo (ou seja, esse segundo é realmente o que você suspeitava). Abraços, Graymalkin
-
Sim, creio que sim, visto que o código da página é compilado para um arquivo DLL (que fica na pasta bin). Fiz um teste aqui deixando apenas o arquivo ASPX (que contém um mínimo de código HTML para a aplicação inicializar), o arquivo de estilo (CSS), e a DLL, e pareceu funcionar direitinho. Sim, já existem descompiladores (mas também já existem obfuscadores, justamente para impedir a ação dos descompiladores). Abraços, Graymalkin
-
Já experimentou cadastrar manualmente (sem ser pelo seu programa) com esse relacionamento e viu se dá realmente certo? Num esquema assim eu faria dessa maneira: o usuário preencheria os dados do membro e então haveria uma listbox (ou até um grid) para incluir os cursos do sujeito. Daí, enquanto o usuário estivesse definindo os cursos eu não deixaria que ocorressem alterações em nenhuma tabela (sim, seria tudo desconectado de datasources). Ao final de tudo, estando todas os cursos definidos para aquele membro, haveria um botão de confirmação. Nesse botão é que ocorreriam todas as gravações nas tabelas: o membro seria cadastrado e logo em seguida todos os cursos referentes a ele seriam cadastrados. Ou seja, seria uma operação atômica: tudo de uma vez só. Sacou? Abraços, Graymalkin
-
O FMod (http://www.fmod.org/) e a BASS (http://www.un4seen.com/) te permite fazer isso. Abraços, Graymalkin
-
Claro, posso te ajudar com as dúvidas que você tenha durante o desenvolvimento. Creio que você tenha entendido pelo menos a idéia e que tenha compreendido como começar isso, certo? Abraços, Graymalkin
-
Você *não* vai precisar deletar nada... eu disse isso? Você só vai precisar mudar a sua consulta... strSQL = "SELECT * FROM EntradaSaida WHERE Codigo LIKE '" strSQL = strSQL & lxCodigo & "%' Order by Data Desc" ... para pegar somente os últimos 6 meses. Para isso você pode utilizar a função Month() (dentro e fora da SQL) que retorna o mês de uma data. Abraços, Graymalkin
-
Você não encontrou o componente que eu disse no meu post anterior? Repare que é "Data Bound Grid". Abraços, Graymalkin
-
Sim, começa do 0. E isso não é exatamente uma "matriz", mas sim um "vetor" (porque só tem uma dimensão). Logo *você* compila no Windows e envia esse executável para ele. Abraços, Graymalkin
-
Não sei exatamente o que você está utilizando para detectar a tecla (pode ser API ou pelos eventos KeyPress, KeyDown ou KeyUp), mas é bastante plausível que você possa colocar um som para tocar (através da API PlaySound ou outra maneira qualquer) no mesmo local em que essa tecla é detectada (deve haver algum meio de você saber que ela foi detectada, caso contrário você não faria essa pergunta...). Abraços, Graymalkin
-
Não entendi muito bem... mas acho que ficaria melhor se você postasse a parte do código que faz essa inserção. Abraços, Graymalkin
-
É só você montar a SQL concatenando as strings: dim sql as string = "INSERT INTO tabela (cod,nome) VALUES (" & txtcod.text & ", '" & txtnome.text & "')" Ou o seu problema é como executar essa SQL? Abraços, Graymalkin
-
Ah, tá. Então está correto mesmo o jeito que você fez. É só que eu não estava conseguindo visualizar isso dessa maneira. Todavia, como está a multiplicidade do relacionamento que você fez entre Cursos e Membros? Acho que o problema pode estar aí. Abraços, Graymalkin