Ir para conteúdo
Fórum Script Brasil

Graymalkin

Veteranos
  • Total de itens

    8.257
  • Registro em

  • Última visita

Tudo que Graymalkin postou

  1. Graymalkin

    Sum Sql

    Claro que rp é um ADODB.Recordset sim, conforme você mostra na linha... Set rp = cn.execute("select sum(paginas) as totalpagina from tb_impressao") Sendo que o correto para pegar o campo totalpagina seria: Text1.Text = rp.fields("totalpagina").value Abraços, Graymalkin
  2. Graymalkin

    Enumjob

    Cara, você ainda não entendeu que "Printer" é a impressora padrão e que o objeto "impressora" ali naquele For Each é que varia com as impressoras instaladas no sistema? Por que você continua usando "Printer" no lugar que deveria usar "impressora"? É esse o problema. Graymalkin
  3. Exemplo de operador unário: a = -b; "b" é o operando sobre o qual o operador "-" age. a = +b; "b" é o operando sobre o qual o operador "+" age. a = b++; "b" é o operando sobre o qual o operador "++" age. a = 5+3; "5" e "3" são os operandos sobre os quais o operador "+" age. a = b-c; "b" e "c" são os operandos sobre os quais o operador "-" age. Já o operador ternário, pelo menos em C, não age sobre três operandos, mas sim recebe três elementos, e retorna o 2º ou o 3º de acordo com a condição resultante do primeiro. Exemplo: var = a>b ? c : d; Se a condição "a>b" for verdadeira, ou seja, se "a" for maior que "b" então o segundo parâmetro será retornado (ou seja, "c"). Do contrário, o terceiro será retornado ("d"). Certo? ;) Graymalkin
  4. Não são operandos e sim operadores. Operador unário é aquele que interage sobre apenas um elemento (+, -, ++ e --, por exemplo) e binário aquele que interage sobre dois elementos (+, -, *, /, &, |, && e ||, por exemplo). Não existe operador terciário, mas existe o operador ternário "?:", que recebe três elementos. Abraços, Graymalkin
  5. Graymalkin

    Msflexgrid

    Experimente assim: MSFlexGrid1.Clear MSFlexGrid1.Rows = 2 Certo? ;) Graymalkin
  6. Graymalkin Gostaria de obter mais esclarecimentos sobre ADO e DAO. Não sei como utilizar. DAO é a biblioteca utilizada pelo controle Data, então é o que você já utilizava para o Access 97. Abaixo vou passar o mesmo texto que passei para um colega do fórum que pediu a diferença entre ADO e DAO: No site do Tio Macoratti você também deve encontrar bastante material sobre ADO. Abraços, Graymalkin
  7. INSTRUÇÕES BÁSICAS As instruções básicas em Lógica de Programação variam de acordo com a linguagem utilizada como base para o ensino. As linguagens-base normalmente utilizadas são BASIC, Pascal e C, e suas respectivas instruções são "traduzidas" para o Portugol (linguagem em que normalmente escrevemos os algoritmos). Usarei uma sintaxe que pode não corresponder a uma ou mais das linguagens-base citadas, mas o foco aqui é explicar o que cada instrução faz e quando ela é necessária ou não. Basicamente as instruções se dividem em três grupos: de decisão, de iteração e diversas. As instruções de decisão permitem o desvio de fluxo na execução do algoritmo de acordo com condições pré-estabelecidas. Já as instruções de iteração permitem repetir um determino trecho do algoritmo de acordo com uma condição (iteração condicional) ou de acordo com um número de vezes fixo (iteração definida). As instruções diversas referem-se a instruções como as usadas para declaração de variáveis, funções e/ou bibliotecas; para o retorno de valores; etc. Vale ressaltar que estas últimas (instruções diversas) não são o foco deste tutorial. Nas definições, as partes descritas entre colchetes ([]) são opcionais e as descritas entre menor e maior (<>) são valores ou variáveis a serem passados. Instruções de Decisão São as instruções que permitem desviar o fluxo de execução de acordo com condições pré-estabelecidas. São elas: SE <condição> ENTÃO ... [SENÃO ...] FIM-SE SELECIONE <valor> CASO <valor1>: ... CASO <valor2>: ... [CASO CONTRÁRIO: ...] FIM-SELECIONE Instruções de iteração São as instruções que permitem repetir um determino trecho do algoritmo de acordo com uma condição (iteração condicional) ou de acordo com um número de vezes fixo (iteração definida). São elas: {Iteração Condicional} ENQUANTO <condição> FAÇA ... FIM-ENQUANTO REPITA ... ATÉ <condição> {Iteração Definida} PARA <variável> DE <i> ATÉ <j> [PASSO <n>] FAÇA ... FIM-PARA PARA CADA <variável> EM <vetor> FAÇA ... FIM-PARA Exemplos a) Verificando se dois números lidos são iguais ou não: ESCREVA("Digite o primeiro número:") LEIA(x) ESCREVA("Digite o segundo número:") LEIA(y) SE x=y ENTÃO ESCREVA("Eles são iguais!") SENÃO ESCREVA("Eles não são iguais!") FIM-SE B) Checando qual das opções foi escolhida: ESCREVA("1 - Cadastrar aluno") ESCREVA("2 - Procurar aluno") ESCREVA("3 - Excluir aluno") ESCREVA("4 - Sair") LEIA(opção) SELECIONE opção CASO 1: ESCREVA("Você escolheu a primeira opção!") CASO 2: ESCREVA("Você escolheu a segunda opção!") CASO 3: ESCREVA("Você escolheu a terceira opção!") CASO 4: ESCREVA("Você escolheu a quarta opção!") CASO CONTRÁRIO: ESCREVA("Você escolheu uma opção inválida!") FIM-SELECIONE c) Obter um valor que seja maior do que zero. O número deve ser requisitado novamente caso seja menor ou igual a zero: valor = 0 ENQUANTO valor<=0 FAÇA ESCREVA("Digite um valor maior que zero:") LEIA(valor) FIM-ENQUANTO ESCREVA("Você digitou o número ", valor) d) Ler uma lista de nomes até que o nome preenchido seja vazio (""): REPITA ESCREVA("Digite o nome:") LEIA(nome) ATÉ nome="" e) Mostrar os números de 1 até 99: PARA i DE 1 ATÉ 99 FAÇA ESCREVA(i) FIM-PARA f) Mostrar os valores de um vetor: frutas = ["maçã", "banana", "mamão"] PARA CADA fruta EM frutas FAÇA ESCREVA(fruta) FIM-PARA Considerações finais É importante compreender que estas instruções são como as ferramentas que um pedreiro utiliza para construir uma casa. Você pode combiná-las a vontade para obter os resultados desejados. E elas também são intercambiáveis, ou seja, você também pode substituir umas pelas outras (por exemplo, um ENQUANTO pode ser usado no lugar de um REPITA, e vice-versa; ou um PARA no lugar de um PARA CADA, e vice-versa). Algumas dicas para escolher qual instrução usar dependendo do caso: 1 - num caso de decisão, se o objeto de decisão é o mesmo e este pode possuir mais do que dois valores, sendo importante distinguí-los, então prefira a estrutura SELECIONE ao invés da estrutura SE. Este é o caso do exemplo "b"; 2 - Se você já tem definido valores iniciais e finais ou a quantidade de vezes, então prefira uma estrutura PARA ao invés de uma estrutura ENQUANTO. Este é o caso do exemplo "e"; 3 - Ao percorrer os elementos de um vetor, lista ou coleção é bem mais prático usar um PARA CADA do que um PARA. Este é o caso do exemplo "f"; 4 - Quando não se sabe a quantidade exata de vezes que um determinado código deve ser executado, utilize uma estrutura ENQUANTO ou REPITA ao invés de uma estrutura PARA. Este é o caso dos exemplos "c" e "d"; 5 - Quando a condição da iteração dependente de uma leitura de dados, o REPITA é mais adequado já que permite que a mesma seja feita *antes* da verificação da condição. Este é o caso do exemplo "d". Resumo: Instrução de decisão SE... ENTÃO: Verifica se uma determinada condição é verdadeira, e caso positivo executa o seu bloco de código; caso negativo, havendo uma instrução SENÃO, o bloco de código desta é executado; caso negativo, e não havendo uma instrução SENÃO; o código continuará a partir do final da estrutura (após o FIM-SE). Instrução de decisão SELECIONE... CASO: Executa o bloco de código do caso correpondente ao valor da variável passada; havendo uma instrução CASO CONTRÁRIO, e o valor não corresponda a nenhum dos casos descritos, o bloco desta será executado. Instrução de iteração ENQUANTO... FAÇA: Executa o bloco de código enquanto a condição passada for verdadeira. A cada iteração (volta ou loop) a condição é testada novamente e quando a mesma se torna falsa, a execução do bloco é interrompida. Instrução de iteração REPITA... ATÉ: Executa o bloco de código até que a condição passada seja verdadeira. A cada iteração (volta ou loop) a condição é testada novamente e quando a mesma se torna verdadeira, a execução do bloco é interrompida. Instrução de iteração PARA: Executa o bloco de código variando a variável passada de acordo com os valores iniciais e finais determinados. Opcionalmente, a cláusula PASSO pode definir o nível de incremento (de 2 em 2, por exemplo) ou o nível de decremento (-1 para uma iteração reversa). Instrução de iteração PARA CADA: Executa o bloco de código variando a variável passada de acordo com o valor da posição correspondente no vetor/coleção/lista passado. ------------------------------------ Escrito por: Washington C. Corrêa Jr. (14/10/2006 - Brasil) Qualquer correção, crítica, ou acréscimo são bem-vindos! Abraços, Graymalkin
  8. Não conheço esse componente, mas na linha... File.SaveAs("arquivos/" & File.FileName) ... não bastaria apenas você trocar o File.FileName pelo nome que quisesse? Abraços, Graymalkin
  9. Mas, o número de colunas é sempre fixo e o número de linhas é que varia, pelo menos quando se trabalha com uma tabela de banco de dados. Abraços, Graymalkin
  10. Graymalkin

    Enumjob

    Tanto no If quanto no Else você está pegando a mesma impressora, ou seja, a impressora padrão do sistema (Printer): impressora = Printer.DeviceName O usuário não deveria escolher a impressora? E, quanto ao programa sair, você está mandando ele fazer isso na linha "Unload Me". Esta linha deveria estar dentro da(s) condição(ões) em que o programa deve realmente sair. Abraços, Graymalkin
  11. Graymalkin

    Dbf Para Mdb

    Você preencheria a tabela com os dados atuais do DBF (ou seja, os dados atualizados). Mas, você deu uma olhada na instrução SELECT INTO? Acho que ela pode servir ao seu caso. Abraços, Graymalkin
  12. Graymalkin

    Enumjob

    Você corrigiu aquele "Printer" para "Printers"? De qualquer maneira, poste aqui o código todo para eu dar uma olhada. Abraços, Graymalkin
  13. Graymalkin

    Enumjob

    Exatamente. Você entendeu o por quê? Abraços, Graymalkin
  14. Graymalkin

    Enumjob

    Só falta alterar uma coisa aí e eu disse o que é na última frase do meu post anterior. Leia novamente. Ah, e é Printers (no plural) na linha do For Each. Abraços, Graymalkin
  15. Graymalkin

    Enumjob

    Sim, pode. A cada iteração o objeto "impressora" estaria apontando para uma impressora do sistema. Bastaria então passá-lo para OpenPrinter e usar todo aquele código para enumerar os trabalhos de impressão. Abraços, Graymalkin
  16. Graymalkin

    Msflexgrid

    É ColWidth. Abraços, Graymalkin
  17. Graymalkin

    Enumjob

    Dentro do timer, faça um loop percorrendo todas as impressoras e usando o código acima para cada uma delas. Abraços, Graymalkin
  18. Veja qual é o charset (se é que há algum) que vem no código da página. É possível que ele esteja incorreto ou ausente. Abraços, Graymalkin
  19. Graymalkin

    Dbf Para Mdb

    Como não ficaria atualizada??? :blink: Você iria apagar a tabela no MDB e repreenchê-la com o conteúdo do DBF. De qualquer maneira, dê uma procurada na instrução SELECT INTO, do mecanismo Jet, e veja se ela serve para o seu caso. Abraços, Graymalkin
  20. Graymalkin

    Dbf Para Mdb

    Não é só abrir o DBF e passar registro por registro para uma tabela igual no arquivo MDB? Graymalkin
  21. Até seria possível, mas a meu ver não há necessidade disto já que: 1º - o executável ficaria grande desnecessariamente; 2º - para todo programa em VB você precisa de outras DLLs, as quais você não poderia fazer este mesmo processo; 3º - é muito mais elegante (e prático) criar um programa de instalação para o seu aplicativo, que conteria os arquivos do Py.Sendmail, além das DLLs do VB6 necessárias à execução do seu aplicativo. Abraços, Graymalkin
  22. Sim, você pode declarar um array de forms (como qualquer outro array). Exemplo: Dim f(2) As Form1 Set f(0) = New Form1 Set f(1) = New Form1 Set f(2) = New Form1 f(0).Show f(1).Show f(2).Show f(0).Caption = "casa" f(1).Caption = "carro" f(2).Caption = "mulher" Certo? ;) Graymalkin
  23. Teoricamente é a mesma coisa. Você colocou o componente em um form e tentou utilizar conforme os exemplos? Abraços, Graymalkin
  24. Graymalkin

    Erro Ao Enviar Email

    então mano, realmente eu não configurei, mais você poderia me ensinar a configurar o SMTP do emulador do Visual Studio 2005, ou o SMTP do IIS? ;) Você não entendeu o que eu disse. Dê uma lida na parte em negrito acima. E você fez o teste que eu disse? Abraços, Graymalkin
  25. Faça assim no evento KeyPress da sua textbox: válidos = "123" & Chr(8) 'Backspace If InStr(1, válidos, Chr(KeyAscii)) <= 0 Then KeyAscii = 0 End If Certo? ;) Graymalkin
×
×
  • Criar Novo...