-
Total de itens
8.257 -
Registro em
-
Última visita
Tudo que Graymalkin postou
-
Quase isso, eu queria um script em VBS que verificasse o micro onde o usuário está logado e se o usuário estivesse fora do seu parque ele deixaria o campo onde vai o arquivo bat dentro do AD em branco. Entendeu? Fazendo isso eu acabaria com os mapeamentos em outras cidades e assim folgando o meu link. O cara em outra cidade não mapearia nenhuma unidade não. Mas, quando o script VBS seria executado? E, é mesmo possível alterar aquela configuração via VBS? Vale lembrar também que aqui é o fórum de Visual Basic e não de VBScript que, apesar de terem a sintaxe do BASIC em comum, tem utilizações e métodos de execução diferentes. Abraços, Graymalkin
-
Cara, eu continuo fazendo do *mesmo jeito* que fazia no 2003 e funciona perfeitamente no 2005: Dim f As New FormFilho() f.MdiParent = Me f.Show() Isso estando, é claro, no MDIPai (que é representado pelo Me ali em cima). Abraços, Graymalkin
-
Não sei o que pode estar acontecendo, mas eu posso lhe recomandar fazer isso via automação (CreateObject()), se for o caso da tabela não ser muito grande (o que poderia deixar o processo de preenchimento da DataTable um pouco demorado). Abraços, Graymalkin
-
Ué? Como você obtém os bytes??? Não é através de System.Text.Encoding.Unicode.GetBytes()? Foi assim que eu verifiquei que os caracteres eram representados por dois bytes. Abraços, Graymalkin
-
Não seria mais prático imprimir apenas os textos (que provavelmente estão em caixas de texto)? Também pouparia tinta ou toner (a não ser que o fundo do seu form seja branco). Abraços, Graymalkin
-
Isso depende de quais caracteres você está escrevendo. Certos caracteres, como o ŝ e o ŭ, por exemplo, só existem em Unicode. Mas, se você só trabalha mesmo com caracteres da tabela ASCII/ANSI, então pode descartar o byte de valor 0 que acompanha o código Unicode dos mesmos. Abraços, Graymalkin
-
De nada, meu caro! Temos que ter a mente aberta para outros assuntos e sempre é bom trocar idéias com pessoas que demonstram esse mesmo interesse (como você, é claro!). Claro que pode! :D Qualquer dúvida, 'stamos aí. Abraços, Graymalkin PS: achei interessante você postar sobre a quantidade de programadores envolvidos no Firefox e sobre a história do Linus e seu Linux (sendo que esta eu já conhecia).
-
Um caracter, em Unicode, pode ter até 4 bytes, e não necessariamente apenas um. Você pode verificar se este caracter que você está escrevendo tem apenas um byte olhando se na posição posterior a qual ele é inserido permanece o mesmo byte que estava antes. Abraços, Graymalkin
-
Em que sentido você diz que o "arquivo corrompe"? Você já verificou se o caracter inserido tem realmente apenas um byte? Abraços, Graymalkin
-
Grave no Registro com SaveSetting() e depois recupere o valor com GetSetting(), se for o caso de ter o caminho mesmo fechando e abrindo o programa. Caso contrário, você pode fazer também o que o Denis recomendou. Abraços, Graymalkin
-
Só com este pedaço aí não dá pra dizer nada, já que aparentemente você está apenas abrindo o arquivo. O que você faz ao percorrê-lo? Abraços, Graymalkin
-
Não sei quanto ao Opera, mas a do Firefox *não* fica no Registro. Você pode alterar a do Firefox no arquivo prefs.js que fica em "C:\Documents and Settings\NOME_DO_USUÁRIO\Dados de aplicativos\Mozilla\Firefox\Profiles\PASTA_DO_PERFIL", onde "NOME_DO_USUÁRIO" e "PASTA_DO_PERFIL" vão variar de acordo com a sua configuração/instalação. Abraços, Graymalkin
-
Futucando ele! :D Dê uma olhada nos tópicos pendurados da sala. Abraços, Graymalkin
-
A função BitBlt faz isso (capturar a tela). Veja este exemplo que desenha no form a sua desktop atual: BitBlt(GetDC(Self.Handle), 0, 0, Screen.Width, Screen.Height, GetDC(GetDesktopWindow()), 0, 0, SRCCOPY); Você só tem que arrumar é um jeito de gravar isso em arquivo. Abraços, Graymalkin
-
Ah, sim! Agora captei vossa mensagem! Resolvi o caso assim: List<bool[]> Itens = new List<bool[]>(); foreach (ListViewItem item in lvw.SelectedItems) { bool[] itens = ToBool(int.Parse(item.SubItems[1].Text)); Itens.Add(itens); } bool? r1 = Itens[0][0]; bool? r2 = Itens[0][1]; bool? r3 = Itens[0][2]; bool? r4 = Itens[0][3]; for (int i = 1; i < Itens.Count; i++) { if (r1 == Itens[i][0]) r1 = r1 & Itens[i][0]; else r1 = null; if (r2 == Itens[i][1]) r2 = r2 & Itens[i][1]; else r2 = null; if (r3 == Itens[i][2]) r3 = r3 & Itens[i][2]; else r3 = null; if (r4 == Itens[i][3]) r4 = r4 & Itens[i][3]; else r4 = null; } if (r1.HasValue) clb.SetItemChecked(0, r1.Value); else clb.SetItemCheckState(0, CheckState.Indeterminate); if (r2.HasValue) clb.SetItemChecked(1, r2.Value); else clb.SetItemCheckState(1, CheckState.Indeterminate); if (r3.HasValue) clb.SetItemChecked(2, r3.Value); else clb.SetItemCheckState(2, CheckState.Indeterminate); if (r4.HasValue) clb.SetItemChecked(3, r4.Value); else clb.SetItemCheckState(3, CheckState.Indeterminate); E você vai precisar desta função aqui também: public bool[] ToBool(int n) { int resto; List<bool> binário = new List<bool>(); do { resto = n % 2; binário.Add(Convert.ToBoolean(resto)); n = n / 2; } while (n > 1); binário.Add(Convert.ToBoolean(n)); if (binário.Count < 4) binário.AddRange(new bool[4 - binário.Count]); binário.Reverse(); return binário.ToArray(); } Acredito que você só terá que alterar a linha... bool[] itens = ToBool(int.Parse(item.SubItems[1].Text)); ... pois, no meu caso, item.SubItems[1].Text é de onde está vindo o "segmento". Se você não conseguir implementar aí o código acima eu posso criar um projeto-exemplo pra ti. Abraços, Graymalkin
-
Como Criar Classes De Interface Gráfica Que Sejam Filhas De Outra ?
pergunta respondeu ao Renato Penna de Graymalkin em Java
Se Classe2 já herdar de JFrame você só precisar fazer a Classe1 herdar dela, não? Java não permite herança múltipla, até onde me lembro, mas permite que você implemente múltiplas interfaces. Abraços, Graymalkin -
O que aqui no Brasil chamamos de "celular", em Portugal é telemovel. Você não notou o Português Lusitano? ("perceber" no lugar de "entender", "ecrã" no lugar de "tela", verbos no infinitivo ao invés do gerúndio, etc.). Abraços, Graymalkin
-
Sim, utilize System.IO.File.Copy(). Abraços, Graymalkin
-
Bom, está ficando mais fácil de entender, porém aquele é um exemplo real? Se for, e o Item 1 for a primeira coluna como eu imaginei, o que 3CRUSB20075, 3C16472, 3C16485A, 3C17304A, 3C17300A e 3C17302A tem em comum? Quando você diz Item 1, Item 2, Item 3 e Item 4 você está mesmo se referindo as quatro colunas? Abraços, Graymalkin
-
É, então realmente dá pra fazer o que eu disse. Então, você quer fazer um programa para ser executado no lugar do script de logon (ao invés do arquivo .bat)? Eu realmente nunca tinha pensado em rodar um executável ali, mas deve ser possível. Bom, para obter o nome do computador você pode utilizar a função GetComputerName() da API Win32 (que você encontra no API-Guide: http://www.allapi.net/ ou http://www.mentalis.org/). E para mapear você montar um arquivo batch na hora e executá-lo, de acordo com o local. Abraços, Graymalkin
-
Para nossa sorte, não há como aprendermos mais rápido do que devemos. Isso porque com o tempo você passa a ver que tudo é interligado, portanto só avançamos na medida certa (ou inferior, é claro). Mas, o importante mesmo no que você disse acima é o "querer". De fato, sempre queremos mais do que possuímos (somos insatisfeitos por natureza), e é isso que faz o mundo girar! Então, é bom "querer avançar muito rápido", ainda que saibamos que isso se concretizará na medida certa. Humm... então você quer fazer uma splash screen (tela de abertura). Bom, o jeito mais simples de se fazer isso é colocar o seu form de splash (vou chamá-lo de frmSplash) para ser o form inicial (Startup Object) de sua aplicação. Isso você pode alterar pelas propriedades do projeto (botão-direito no projeto e escolhendo "Properties"). Não sei se você já conhece, mais existe um controle chamado Timer (que tem um ícone de um relógio) que lhe permite executar uma determinada tarefa a cada n milissegundos. Então, você pode utilizar um Timer no frmSplash para fazer com que ele suma após 5 segundos. Basta definir a propriedade Interval com o valor desejado (no caso, 5000 milissegundos) e depois colocar o código abaixo no evento Timer dele (supondo que o nome do Timer seja Timer1): Timer1.Enabled = False frmSplash.Hide frmPrincipal.Show O que você estará fazendo acima é escondendo (Hide) o form de splash e mostrando (Show) o form principal. Fazendo desta maneira você não pode simplesmente fechar o form de splash, pois ele é o seu form inicial e quando este é fechado o programa todo é finalizado. Portanto, vai ser necessário descarregar o frmSplash quando o frmPrincipal for fechado, o que pode ser feito no evento Unload deste: Unload frmSplash É interessante notar que existem mil maneiras diferentes (sim, é como Neston) de se fazer isso. Sim, pude notar que você está realmente interessado. A razão disso foi você não ir pedindo as coisas prontas como fazem outras pessoas. Isso é ótimo porque te dá a chance de tentar fazer sozinho. Obrigado pela parte que me toca! :D Abraços, Graymalkin
-
Bom, aí depende muito do quê você quer fazer exatamente. Se você tem o VB aí você já deve ter visto que colocar um botão ou imagem no form é bastante trivial (basta escolher o botão ou o controle Image ou Picture na barra de ferramentas e em seguida "desenhar" o controle no form com o mouse). Depois disso você só precisa ajustar algumas propriedades (o que é feito através da janela Properties), como a propriedade Caption do botão para definir o texto dele e a propriedade Picture da Image ou da Picture para definir a imagem a ser mostrada. Creio que seria mais uma questão de "mexer" no Visual Basic do que alguém te dizer exatamente o que fazer. Provavelmente você já utilizou o Word, Excel ou o PowerPoint (talvez até o FrontPage), e, no caso, o ambiente do VB não é muito diferente. Quanto ao código, você deve ter alguma noção de lógica de programação para poder fazer algo efetivamente útil. Mas, também não dá pra eu te dizer o que você tem que fazer porque eu também não sei o que você quer fazer. Se você for mais objetivo dá até pra ajudar. Por exemplo, se você chega e diz: "como eu faço para mostrar a data e a hora atuais em uma caixa de mensagens?". Eu vou te dizer que você tem que utilizar a função Now() para obter a data/hora atual e a função MsgBox para exibir a caixa. Agora, como e onde você vai colocar estas funções fica totalmente a seu critério e é justamente esta noção que você precisa ter. Se você realmente não souber, eu posso ainda sugerir que você coloque isso no evento Click de um botão, e posso ainda te dizer que um duplo-clique sobre o botão no form te leva justamente a este evento. Fica bem mais fácil de ajudar se a pergunta for objetiva. Entendeu o meu ponto? Abraços, Graymalkin
-
Para Simplificar... Demostrem Como Vontar Um Vetor...
pergunta respondeu ao WarSoldier de Graymalkin em C, C++
Aqui comigo deu certo assim: #include <iostream> using namespace std; int *vetor() { int *v; v = new int[34]; v[0] = 2; v[1] = 3; v[2] = 4; cout << v[0] << " Dentro da funcao posicao 0, valor tem que ser 2" << endl; cout << v[1] << " Dentro da funcao posicao 1 valor tem que ser 3" << endl; cout << v[2] << " Dentro da funcao posicao 2 valor tem que ser 4" << endl; return v; } int main() { int *x, a; x = vetor(); cout << x[0] << " valor tem que ser 2" << endl; cout << x[1] << " valor tem que ser 3" << endl; cout << x[2] << " valor tem que ser 4" << endl; cin >> a; return 0; } Bem mais simples do que utilizar a classe Vector. Abraços, Graymalkin -
Sim, você pode colocar uma tela de abertura (splash screen), uma tela com informações sobre o software (tela de About...), ou qualquer outra tela que você quiser. É só colocar um form no projeto e fazer o que quiser com ele (inserir imagens, textos, sons, etc.). Isso é possível para qualquer programa que você faça em VB. Eu só ainda não entendi qual é realmente a sua dúvida. Creio que não seria confirmar o que eu disse acima, uma vez que você mesmo citou que isso é possível (que você leu em um livro). Abraços, Graymalkin
-
Mais não entendi o que significa "marque o Windows Script Host Object Model" aonde fica isto??? Está escrito na minha própria frase que você copiou. Veja a parte em negrito. Abraços, Graymalkin