-
Total de itens
8.257 -
Registro em
-
Última visita
Tudo que Graymalkin postou
-
Muito interessante o seu problema. Realmente não existe uma ligação entre a classe PrintPreviewDialog e a classe PrintDialog. Todavia, a classe PrintPreviewDialog não passa de um form que tem uma ToolBar (onde ficam os botões) e um PrintPreviewControl (que é onde é mostrado realmente o preview da impressão). E se é um form, temos como acessar seus controles através do objeto Controls contido nele. Portanto, a idéia que tive foi chegar na ToolBar do objeto e simplesmente adicionar um novo botão para realizar a funcionalidade desejada. Isso porque tudo que aquele botão da impressorinha faz é chamar o método Print do documento. No caso, o novo botão vai criar um objeto PrintDialog permitindo a seleção da impressora e a escolha do número de cópias. Além disso, a gente pode "esconder" o botão original e colocar o novo no mesmo lugar dele (até com o mesmo ícone). Para isso, declare a seguinte rotina no seu form: Private Sub MeuClick(ByVal sender As Object, ByVal e As System.Windows.Forms.ToolBarButtonClickEventArgs) If e.Button.Text = "Imprimir" Then Dim pd As New PrintDialog pd.Document = página If pd.ShowDialog() = DialogResult.OK Then página.PrinterSettings = pd.PrinterSettings For i As Integer = 1 To pd.PrinterSettings.Copies página.Print() Next End If End If End Sub Esta é a rotina que é chamada quando um botão da toolbar for clicado. No caso temos que olhar pelo texto do botão para saber que é o nosso botão, e daí executar o que queremos. Note que "página" ali é um objeto PrintDocument que você vai ter aí em algum lugar com algum outro nome (lembre-se de trocar ali pelo seu). E, para substituir o botão e chamar o PrintPreview você deverá fazer: Dim PPD As New PrintPreviewDialog PPD.Document = página PPD.WindowState = FormWindowState.Maximized Dim também As ToolBar = PPD.Controls(1) Dim botão As New ToolBarButton("Imprimir") botão.ImageIndex = também.Buttons(0).ImageIndex também.Buttons.Insert(0, botão) também.Buttons(1).Visible = False AddHandler também.ButtonClick, AddressOf MeuClick PPD.ShowDialog() Note que a mesma observação sobre o objeto "página" se aplica nesse código também. E este será o código que você colocará no botão que chama a pré-visualização. Veja se dá certo aí contigo, porque aqui comigo funcionou legal. Abraços, Graymalkin PS: Ops... você editou o tópico inserindo a informação de que é no VB2005 ou fui eu que dei bobeira? Realmente eu não me lembrava de ter lido isso e fiz o exemplo acima com o VB2003. Me avise se não funcionar com o 2005 que eu dou uma olhada.
-
Você não precisa de um link; só precisa saber quando o usuário selecionou um item (e qual foi ele). Para isso você pode utilizar os eventos ItemActivate ou SelectedIndexChanged. Abraços, Graymalkin
-
É o ideal é realmente ter uma iteração (loop) para ler as notas do primeiro bimestre, outra para ler as do segundo bimestre e depois uma para calcular a média. Algo como: ESCREVA("* Notas do 1º Bimestre *") PARA i DE 1 ATÉ 35 FAÇA ESCREVA("Nota do ", i, "º aluno:") LEIA(Vetor1[i]) FIM-PARA No exemplo acima usei um Portugol estilo BASIC, mas é só adaptar se for o caso. Abraços, Graymalkin
-
Hummm... interessante! Não sabia que tinha um atributo para isso. :D Fechando o tópico. Abraços, Graymalkin
-
De nada! :D Fechando o tópico. Abraços, Graymalkin
-
Função Para Retornar Quantos Drives De Cd/dvd O Computador Tem
pergunta respondeu ao raphaelwc de Graymalkin em Visual Basic
Mas, isso daí só vai funcionar no Win2000 em diante (XP, 2003, etc.), não? Abraços, Graymalkin -
De qualquer maneira, o arquivo se encontra aqui agora: http://www.gs.kitbr.com/stuff/arquivo.exe.manifest Certo? ;) Graymalkin
-
Hello World
pergunta respondeu ao Denis Bittencourt Muniz de Graymalkin em Outras Linguagens de Programação
Ao que parece isso aí é do VB 2.0. De qualquer maneira, se você abrir um arquivo .frm do VB6 ou do VB5 em um editor de textos (como o Bloco de Notas, por exemplo), você vai ver um código semelhante a este aí. O que acontece é que o VB "esconde" essas declarações quando a gente visualiza o código do form por ele. Abraços, Graymalkin -
Ok, mas você ainda não disse qual é exatamente a sua dúvida. Você não espera que eu faça o exercício para você, né? Qual seria o sentido de um professor passar um exercício para o aluno e este pedir a outra pessoa para fazer? Um algoritmo é como uma "lista de tarefas", portanto devem haver algumas "tarefas" que você conseguiu fazer e outras que não. Assim assim, o fato de você não conseguir fazer algumas pode ser ocasionado ou por falta de conhecimento técnico ou por não conseguir imaginar uma lógica para resolver. Por isso que você deve dizer o que não está conseguindo fazer e como você tentou. Abraços, Graymalkin
-
Sim, claro. O que você não pode é vender ele como parte do seu programa. Mas, desde que ele seja, instalado no computador (por você ou por outra pessoa) nada impede a sua utilização. Além disso, você não muda nada no seu programa (não inclui biblioteca algum dele) já que ele funciona como uma impressora. Abraços, Graymalkin
-
Para uma busca exata acredito que você vai ter que olhar elemento por elemento. É claro que é bem melhor filtrar primeiro, porque aí restarão menos possibilidades: busca = "Mar" vetor = Array("Mara", "Moça", "Marcela", "Mar") retorno = Filter(vetor, busca) For Each palavra In retorno If palavra = busca Then MsgBox "Achou: " & palavra End If Next E quanto a parte procurada estar no meio de um elemento, sim, ele também é retornado. Abraços, Graymalkin
-
Ele te pediu alguma "licença"? Até onde sei (e está escrito lá no site) o Dev-C++ é GPL. Abraços, Graymalkin
-
Hehehehe... não, não. É só que certa vez eu precisei fazer justamente isso e acabei encontrando esta função. Ah, se cadastre no fórum e ajude a nossa comunidade a crescer, ok? ;) Graymalkin
-
Não só printf, como qualquer outra instrução em qualquer outra linguagem. Se você tem variáveis e/ou cálculos você tem que desenvolver seus valores antes de mostrá-los. E isso vale para qualquer situação. Qualquer informação de entrada gera uma única saída. Dê uma olhada no meu post anterior quando eu mostro a linha que equivale ao código que você mostrou. Após desenvolver os valores das expressões contidas no código e exatamente aquela linha que será executada (é claro que ela poderá gerar algum outro tipo de valor[es] até que se chegue no resultado esperado - ou seja, a escrita na tela). Por que quando você manda imprimir 2+5 o resultado mostrado é 7? Porque ele desenvolveu a expressão antes de imprimir. É exatamente isso que ocorre ali em cima, e *não* é uma particularidade de printf. Certo? ;) Graymalkin
-
Uma possível solução seria utilizar uma DataGridTableStyle para definir quais campos vão aparecer na grade, deixando todos na DataSource. Dessa forma o campo não apareceria na tela porém seria acessível via DataTable. Aqui no fórum você deve encontrar exemplos disso (em VB.NET, acredito eu), mas não deve ser difícil adaptar para o Delphi. Abraços, Graymalkin
-
Experimente GetForegroundWindow para obter o handle da janela ativa. Abraços, Graymalkin
-
Sim, mas como você falou que era relativo ao "logo" eu fiquei procurando nele especificamente, e não ao redor. Mas, agora já notei o tal pixel de diferença... rsrsrsrs. Abraços, Graymalkin
-
Não, Denis, ele não pega o último como o primeiro. Ele faz perfeitamente certo. E a prova disso é o segundo (n + 1). Não sei se você sabe, mas quando você faz n++ é retornado o valor de "n" atual e é incrementado mais um *depois* do retorno. Por esta razão é que existe o ++n que incrementa primeiro para depois retornar (ou seja, retorna já incrementado). Portanto, dê uma olhada nisso: #include <stdio.h> #include <stdlib.h> int main() { int n = 5; printf("%d %d %d\n", n, n + 1, n++); system("pause"); } No caso acima, n++ vai retornar 5 (porque é o valor de n) e n vai passar a ser 6, logo n+1 vai ser 7. Portanto, aquela linha ali é o equivalente a: printf("%d %d %d\n", 6, 7, 5); Faça o teste com ++n e você verá a diferença. Portanto, não existe nada de "louco" nisso. Abraços, Graymalkin
-
Sua dúvida é de Flash ou de VB? Se for de Flash, me avisa que eu movo o tópico para a seção correta. Abraços, Graymalkin
-
O tópico é este aqui: http://scriptbrasil.com.br/forum/index.php?showtopic=73733 E se você sabe como verificar apenas se a combobox está com um valor selecionado ou não, basta aplicar com base no exemplo do tópico. Abraços, Graymalkin
-
Mas, isso *já* é o que acontece. Existe uma DataTable ligada na DataGrid, certo? Então, ao alterar na DataGrid você já vai alterar a DataTable que está ligada nela. Ou então, eu realmente não estou entendo qual é a sua dúvida. Abraços, Graymalkin
-
Certo, mais eu supus 100, o valor pode ser qualquer um. Sim, você pode especificar o valor que quiser. É claro que vai haver um valor ideal para visualização (uma determinada quantidade de bytes que preencha por completo a RichTextBox sem, por exemplo, acabar no meio de uma linha). Hauhaua, mais eu não estou usando uma DataGrid, eu estou usando um RichTextBox. Tanto faz, a idéia ainda é a mesma... :P Abraços, Graymalkin
-
Por que moveram esse tópico para cá (Classificados e Serviços)??? Graymalkin
-
Acredito que aí entra o seu servidor SMTP (algo como "smtp.algumacoisa.com.br"), que é quem realmente faz o envio do e-mail. Abraços, Graymalkin
-
Ah está.. hehehe. Nunca tinha notado. Graymalkin