-
Total de itens
8.257 -
Registro em
-
Última visita
Tudo que Graymalkin postou
-
Desse jeito não. Mas, um motivo possível para que um registro não seja incluído é que haja algo de errado com a SQL. Nesse caso, um erro será levantado. Para detectar um erro você pode fazer o seguinte: on error resume next err.clear cn.execute "insert into tabela(campo) values('valor')" if err.number<>0 then 'Ocorreu um erro (o registro não foi incluído) 'instruções else 'Não ocorreu um erro (o registro foi incluído) 'instruções end if on error goto 0 Abraços, Graymalkin
-
Praticamente qualquer linguagem lhe permite fazer isso. Abraços, Graymalkin
-
Ops... só corrigindo. Na verdade o valor entre parênteses força a passagem por valor e não por referência. Se pensarmos que passar um valor por referência e a alteração de seu conteúdo seja um "retorno" de valor, sim, realmente. No entanto, não concordo que passar um valor por referência e alterá-lo in-loco seja retornar um valor, no sentido estrito da palavra. Abraços, Graymalkin
-
Apesar de não concordar que uma função pode ser vista como uma sub quando o valor retornado não vai pra lugar algum (veja que ele é retornado, só não vai para algum lugar, diferentemente de uma sub que não retorna um valor), só tem uma observação a fazer: MsgBox ("Ola mundo") Não é errado. Apenas força a passagem do valor por referência, que no caso do primeiro argumento da função Msgbox() já é por referência mesmo. Abraços, Graymalkin
-
E você não conseguiu isso? Não tem nenhuma mágica nisso: você já viu as funções InStr() e Mid() no exemplo que dei nesse tópico mesmo. Não digo que seja necessário você usar uma dessas duas ou ambas (existem diversas maneiras de fazer o que você quer, até mesmo sem usar alguma dessas), mas ambas podem ser usadas para esse caso. Abraços, Graymalkin
-
Hehe... acho que isso é normal. Pelo menos, também acontece comigo (não especificamente com essas duas linguagens). Já andei quase colocando ":" em Pascal, e usando somente indentação em VB. Abraços, Graymalkin
-
Se você pressionar F2 surgirá a janela chamada Object Browser. Nela você encontra todas as funções e rotinas do VB. Quando você escolhe alguma, na parte inferior aparece a descrição dela. Abraços, Graymalkin
-
Agora sim. Vamos lá: para abrir um arquivo você usa a instrução Open, e para ler uma linha usa a instrução Input. Segue um exemplo que lê a terceira linha de um arquivo: n=freefile() 'essa função retorna um número de arquivo livre open "c:\pasta\arquivo.txt" for input as #n 'abre o arquivo para leitura input #n, linha 'lê a primeira linha e colocar o conteúdo da variável "linha" input #n, linha 'lê a segunda linha e colocar o conteúdo da variável "linha" input #n, linha 'lê a terceira linha e colocar o conteúdo da variável "linha" close #n 'fecha o arquivo msgbox "A terceira linha é: " & linha No caso, é exatamente isso que você falou sobre usar um For...Next para percorrer a lista de arquivos e usar o código acima dentro desse loop para verificar o número, daí usaria-se um if para decidir se o nome do arquivo deve ir para uma ou outra listbox. Você não detalhou sobre o que é a sua lista de arquivos ou se você já conseguiu fazê-la. Se for o caso de não ter conseguido também, dê uma pesquisada sobre vetores e sobre a função Dir(). Abraços, Graymalkin
-
Se tenho 4 elementos diferentes, as maneiras possíveis de arranjá-los (em grupos de 4) dá-se pela fórmula 4! / (4-4)! o que resulta em 24 combinações possíveis. Por que colocar em uma listbox invisível e depois colocá-los na outra? De qualquer forma, se você tivesse testado isso veria que dá certo. Exemplo: List1.Visible = False List1.AddItem "teste" List2.AddItem List1.List(0) A primeira listbox fica invisível (claro que você pode mudar a propriedade dela em tempo de desenvolvimento), um item é adicionado e na segunda listbox adiciona-se o item da primeira (que está invisível). Abraços, Graymalkin
-
Sim, a ordem está lá. Mas, você não explicou como ela será feita durante a inserção. E eu já disse: não existe uma segunda coluna. Isso é uma abstração que nós temos, para a listbox aquilo é só uma linha com informações e ela não se importa com o que quer que esteja lá. Você quer a ordem de Goleiro, Zagueiro, Meio e Atacante, certo? Pois bem, se você colocar primeiro um Atacante, e for inserir um Goleiro depois, este deve entrar antes do Atacante. Ainda nesse caso, se você for inserir um Meio ele terá de entrar entre os dois já existentes. Por fim, colocando o Zagueiro, ele terá de entrar entre o Goleiro e o Meio. Agora, vamos pensar em outra possibilidade: primeiro você colocou o Meio, depois vai colocar um Zagueiro, que deverá entrar antes do Meio. Colocando um Goleiro, este deverá entrar antes do Zagueiro. E, por fim, colocando um Atacante, este deverá entrar depois do Meio. E existem ainda outras possibilidades. É isso que você ainda não entendeu. A idéia do número, sendo fixo: 1 - Goleiro 2 - Zagueiro 3 - Meio 4 - Atacante Vai dar certo, mas isso aí já está praticamente pronto. Você não consegue alterar para que ele inclua o número na frente? Abraços, Graymalkin
-
(Leonardo da Vinci) Claro que vale a pena. Uma linguagem de programação pode não ter tudo que você necessita (ou pode ter, porém é relativamente complicado de se usar). Daí, você pode se aproveitar de outra linguagem para completar a primeira. Se puder, aprenda o máximo possível de linguagens diferentes. (Ah, e mais uma coisa: recomendo Python!!! Hehehehe). Abraços, Graymalkin
-
Obrigado pelo elogio, aragorn. E só pra esclarecer: bem, eu comecei a "programar" em BASIC num MSX, mas na época nem sabia direito o que fazia (hehehe... copiava uns programinhas de uma revista chamada Input). Anos mais tarde, decidi aprender Visual Basic, depois aprendi Clipper, conheci Python (ótima linguagem!!!) e mais algumas outras linguagens que sempre dou uma olhadela só pra me interar. Abraços, Graymalkin
-
Bem, você deve saber que isso não sera feito de uma vez só. Portanto, qual é a sua dúvida? O que você não conseguiu fazer? Abraços, Graymalkin
-
Até aí está praticamente tudo feito (só falta ordenar por nome, o que é, relativamente, fácil). No entanto, você não incluiu nesse caso acima a idéia de que as funções também estarão em uma determinada ordem. É em relação a isso que eu falava. Graymalkin
-
Uma apostila sobre Lógica de Programação já é um ótimo começo. Abraços, Graymalkin
-
Ramon, Tente pensar, da forma mais lógica possível, como deveria ser a inserção de um (apenas um) item na listbox e quais as situações que deverão envolver sua inserção. Mas, antes, leia isso de novo: Se você conseguir imaginar uma maneira lógica de se fazer isso, transformo em código pra ti. Abraços, Graymalkin
-
Office 2003??? Você não deve estar usando o "Visual Basic" e sim o "Visual Basic for Application" (VBA). Realmente não haverá opção de compilar nesse caso. Graymalkin
-
Não necessariamente. Por exemplo: resposta = MsgBox("Deseja sair?", vbyesno) if resposta=vbyes then msgbox "Você escolheu sim!" else msgbox "Você escolheu não!" endif Dá no mesmo se você fizer: if MsgBox("Deseja sair?", vbyesno)=vbyes then msgbox "Você escolheu sim!" else msgbox "Você escolheu não!" endif Repare ainda que na linha msgbox "Você escolheu sim!" o valor de retorno não vai para lugar algum. Portanto, não é obrigatoriamente necessário jogar o valor de uma função para uma variável. Abraços, Graymalkin
-
Posso te fornecer o que você precisa para uma das possíveis soluções: usar a função Dir() para obter os arquivos, usar a instrução Open para abrir e a função Input() ler um determinado arquivo, usar a função InStr() para procurar uma string de outra, usar a função Mid() para obter os valores, e usar automação para escrever no Excel (ou usar o DataControl para escrever em uma planilha) ou gravar em uma tabela do Access (usando o ADO ou o DataControl). Abraços, Graymalkin
-
Exemplo: Label1.Caption = App.Major & "." & App.Minor & "." & App.Revision Abraços, Graymalkin
-
Mas, você não precisará usar API alguma. Essas propriedades retornam o tamanho da tela (em twips, a medida padrão do VB). Se a resolução for 800x600 os valores delas serão correspondentes a essa resolução. O mesmo ocorre se for 1024x768. Faça um teste aí: verifique os valores delas com cada uma das resoluções e veja que serão diferentes. Para ter ainda mais certeza você pode dividir os valores retornados por 15 e ver os valores em pixels. Abraços, Graymalkin
-
Sim, você pode fazer com uma listview também. Todavia o "problema" (reitero que não o considero como tal) da ordem permanecerá. Essa semana dei um exemplo de inserção de dados em uma listview; dê uma olhada nos últimos tópicos. Abraços, Graymalkin
-
Verifique as propriedades Screen.Height e Screen.Width para saber a altura e a largura, respectivamente, da tela. Daí, basta fazer os cálculos. Abraços, Graymalkin
-
O que você pode fazer é colocar duas textboxes; uma com a propriedade ligada e outra não. Daí, referenciá-las em código pelo mesmo nome, desse modo todos os eventos valerão para qualquer uma das duas, dependendo de qual está na referência. É uma possibilidade. Abraços, Graymalkin
-
Hehehe... incompatibilidade de gênios... brincadeira... Mas, Ramon, você viu a resposta de como fazer isso? Abraços, Graymalkin