Ir ao conteúdo
  • Cadastre-se

Main.cpp

Membro Pleno
  • Total de itens

    437
  • Cadastrado em

  • Última visita

  • Qualificações

    0%

Tudo que Main.cpp postou

  1. Muito obrigado!! Também espero que você consiga alcançar todos os seus objetivos. Abraço!!!
  2. Entendi!! Aqui está o link do meu canal no youtube, os vídeos não são tutoriais, são apenas demonstração de funcionamento de programas criados. https://www.youtube.com/user/roccoataca/videos
  3. Criamos um projeto em win32, mas o VS nos apresentou uma janela branca sem graça, e com dois menus, e a caixa de ferramenta estava desabilitada. Decidimos logo escolher uma entre duas opções, que seria, ou agente programava tudo na mão, ou descartava a janela ofertada e adicionaria ao projeto um Dialog. como hoje tivemos um pouco mais de tempo, optamos então pela primeira opção. E assim, criamos este programa, aproveitando uma boa porcentagem do outro que apresentamos a poucos dias atrás, e acrescentando alguns outros recursos, na interface e no menu. https://codigosfontes-ccplus-plus.blogspot.com/2021/08/win32-calculadora-da-lei-de-ohm-ii.html INT WINAPI WinMain ( HINSTANCE hInstance, HINSTANCE, PSTR, INT iCmdShow ) { HWND hWnd; MSG msg; WNDCLASS wndClass; GdiplusStartupInput gdiplusStartupInput; ULONG_PTR gdiplusToken; // Inicializa GDI+. GdiplusStartup ( &gdiplusToken, &gdiplusStartupInput, NULL ); wndClass.style = CS_HREDRAW | CS_VREDRAW; wndClass.lpfnWndProc = WndProc; wndClass.cbClsExtra = 0; wndClass.cbWndExtra = 0; wndClass.hInstance = hInstance; wndClass.hIcon = LoadIcon ( NULL, IDI_APPLICATION ); wndClass.hCursor = LoadCursor ( NULL, IDC_ARROW ); wndClass.hbrBackground = ( HBRUSH ) GetStockObject ( WHITE_BRUSH ); wndClass.lpszMenuName = NULL; wndClass.lpszMenuName = NULL; wndClass.lpszClassName = TEXT ( "GettingStarted" ); RegisterClass ( &wndClass ); hWnd = CreateWindow ( TEXT ( "GettingStarted" ), TEXT ( "CALCULADORA DA LEI DE OHM" ),// Título da janela WS_OVERLAPPEDWINDOW, 300, // Posição X 100, // Posição Y 606, // Largura 350, // Altura NULL, NULL, hInstance, NULL ); ShowWindow ( hWnd, iCmdShow ); UpdateWindow ( hWnd ); while ( GetMessage ( &msg, NULL, 0, 0 ) ) { TranslateMessage ( &msg ); DispatchMessage ( &msg ); } GdiplusShutdown ( gdiplusToken ); return msg.wParam; } // WinMain //=======================================================================
  4. Achei bem interessante sim, meus parabéns a você ou a quem tenha feito. Infelizmente não posso responder, ainda não usei isto em nada, fico devendo.
  5. Criamos um projeto em win32, mas o VS nos apresentou uma janela branca sem graça, e com dois menus, e a caixa de ferramenta estava desabilitada. Decidimos logo escolher uma entre duas opções, que seria, ou agente programava tudo na mão, ou descartava a janela ofertada e adicionaria ao projeto um Dialog, optamos pela segunda opção. Após algumas configurações, cortando alguns códigos e inserindo outros já estávamos rodando um dialog, no win32 e a caixa de ferramenta já estava totalmente disponível para uso. E assim, criamos este programa, para cálculos da lei de ohm, e resolvemos postá-lo assim mesmo, mesmo porque já estávamos há muitos dias sem programar. https://codigosfontes-ccplus-plus.blogspot.com/2021/08/win32-calculadora-da-lei-de-ohm.html case IDC_BUTTON7: if ( x == false ) { Beep ( 1000, 500 ); x = true; ShowWindow ( GetDlgItem ( hWnd, IDC_BUTTON7 ), SW_HIDE ); SetWindowText ( GetDlgItem ( hWnd, ID_EDIT_1 ), CString ( L"" ) ); SetWindowText ( GetDlgItem ( hWnd, ID_EDIT_2 ), CString ( L"" ) ); SetWindowText ( GetDlgItem ( hWnd, ID_EDIT_3 ), CString ( L"" ) ); } break;
  6. Main.cpp

    C Erro ftoa não definido

    Este código compila facilmente no Visual studio.
  7. Isto é Qt!! Mas ainda prefiro o C++ Builder. E o texto escolhido foi uma homenagem ao maior grupo musical evangélico do mundo.
  8. Eu nunca imaginei que algum dia alguém fosse precisar de um botão, que não registrasse que foi acionado. Porque a ideia física de um botão é de ligar ou desligar lâmpadas, motores, aparelhos diversos... Mas Talvez você esteja querendo aproveitar somente o formato do botão com sua legenda, se for isto basta declarar o botão, e não registrar seu evento, e posicione-o no local desejado, se não for isto queira me desculpar, eu não entendi o que você realmente deseja.
  9. Depois vejo isto melhor estou bem ocupado com um projetinho do win 32 abraço
  10. Não me complique mostre isto como exemplo Já estou esperando..
  11. Midori : A verdade é que nem precisava ter usado free, porque estou retornando poucos bytes, acredito que isto não causaria em nada transtorno algum. O problema é que o VS me obriga a inicializar a string, então inicializei do modo clássico alocando alguns bytes para a frase, então como aloquei, me senti na obrigação de liberar. Que confusão. rss.. só queria mostrar um exemplo de onde usar. A função Calc_IMC ( IMC ); está sendo chamada em OnBnClickedButton1 ( ); e por aqui é que não posso usar free, recebo erro com certeza. Eu ia apagar a liberação de free e acabei esquecendo e postei, deste jeito por isto gerou esta confusão. Valeu pelas informações
  12. Vou fazer estes testes, valeu a dica, é muito bom aprender...
  13. Acho que você deve tá se referindo a retorno de struct: https://codigosfontes-ccplus-plus.blogspot.com/2015/09/estruturas-retorno-de-uma-funcao.html Apareça sempre por aqui..rsss...
  14. Todos sabemos que uma string em C, é um vetor de caracteres, ou de bytes como muitos preferem dizer. O estudante de C deve entender que o C não verifica limites de variáveis ou de matrizes em tempo de execução cabe a nós, reservar um byte a mais no fim da string, para o terminador null. Quando precisamos retornar uma string de uma função em C, O modo mais correto é alocar memória para a variável que receberá a string na própria função, e ainda não devemos esquecer de fazer a liberação com free no final. Neste exemplo estamos retornando algumas frases uma por vez ao usuário do programa, e apesar dos poucos caracteres retornados, que não chega a 40 bytes decidimos por sugestão do VS alocar memória para a variável que retornará o ponteiro para a função chamada. O assunto sobre alocação de memória em C é muito amplo, e um tanto complexo e enfadonho, e geralmente polêmicos, porque teríamos que compreender perfeitamente o que são ( stack e heap ), e como utilizá-los e isto deixaria o post muito longo. Em algumas outras linguagens por onde passei, umas (três ou quatro) e que possuo conhecimentos básicos, ou intermediários, nós conhecemos o tipo string de uma classe string, com seus métodos e membros prontos que ajuda muito os programadores, mas mesmo assim ainda acho que o C é uma ótima linguagem de programação para início. Neste nosso caso se o retorno indicado pela função não tivesse sido feito, certamente teríamos alguns erros desagradáveis, mas na verdade isto nem chega a acontecer porque nem a IDE, e nem muito menos o compilador permitiria esta ação. Devemos assumir que aprender programação nos dias de hoje, com os avanços das ferramentas que monitora cada palavra digitada por nós no editor de texto corrigindo síntaxe, oferecendo sugestões, fazendo lembretes de ponto e vírgulas, esquecidos, tipos de retorno errado, ou retorno feito em funções void, ficou muito mais fácil. Mas nem sempre foi assim, o bloco de notas e uma linha de comando era tudo o que muitos tiveram no começo, e foram com isto que formaram o que temos hoje. Para este programa simples poderíamos criá-lo no console do Windows, mas como tive tempo suficiente resolvi criá-lo para rodar numa interface gráfica do MFC, caixa de diálogo para ser mais claro. Hoje com o pouco de conhecimento que adiquerimos poderíamos fazê-lo rodar numa interface gráfica do Wind 32, C#, C++ com o Qt, C++ com o C++ Builder, C++ com .Net (CLI), mas preferi fazê-lo em MFC. Se precisarem de alguma ajuda e se estiver nos meus alcances com certeza ajudarei. Assistam o vídeo por favor. https://codigosfontes-ccplus-plus.blogspot.com/2021/07/mfc-retornando-string-e-calculando-imc.html //========================================================================= void CCalculandoIMCDlg::OnBnClickedButton1 ( ) { CClientDC dc ( this ); float IMC; CString Edit1, Edit2, Edit3; CString str_1; CString str = _T ( "" ); GetDlgItemText ( IDC_EDIT1, Edit1 ); GetDlgItemText ( IDC_EDIT2, Edit2 ); GetDlgItemText ( IDC_EDIT3, Edit3 ); float peso = _ttof ( Edit1 ); float altura = _ttof ( Edit2 ); IMC = peso / ( altura * altura ); str.Format ( _T ( "%.1f" ), IMC ); //Copia o resultado no Edit3 SetDlgItemText ( IDC_EDIT3, str ); //declara um ponteiro para char char* imc; //aloca memória //imc = ( char* ) malloc ( 100 ); imc = Calc_IMC ( IMC ); int tam = strlen ( imc ); str_1 += imc; dc.SetBkColor ( RGB ( 255, 255, 255 ) ); dc.SetTextColor ( RGB ( 0, 0, 0 ) ); dc.TextOut ( 160, 210, ( str_1 ), tam + 1 ); } //========================================================================= void CCalculandoIMCDlg::OnBnClickedButton2 ( ) { CClientDC dc ( this ); CString str_1; m_editCtrl.SetSel ( 0, -1 ); m_editCtrl.Clear ( ); m_editCtrl_2.SetSel ( 0, -1 ); m_editCtrl_2.Clear ( ); m_strTextCtrl_3.SetSel ( 0, -1 ); m_strTextCtrl_3.Clear ( ); CDC* pDC = GetDC ( ); pDC->SelectStockObject ( WHITE_BRUSH ); CPen PenWhite ( PS_SOLID, 2, RGB ( 255, 255, 255 ) ); CBrush BrushAqua ( RGB ( 255, 255, 255 ) ); pDC->SelectObject ( PenWhite ); //Para limpar a mensagem na tela pDC->Rectangle ( CRect ( 158, 210, 430, 235 ) ); //Para limpar a mensagem na tela //dc.SetBkColor ( RGB ( 255, 255, 255 ) ); //dc.TextOut ( 180, 215, ( L" " ), 50 ); } //=========================================================================
  15. Se seu visual studio tem as ferramentas para programar em C++/CLI, abra-o imediatamente e crie um novo projeto, Selecionando: Projeto CLR Vazio (.NET Framework). Se seu visual studio não tem estes recursos instalados, mas você tem interesse em conhece-los, instale-os agora mesmo, se não sabe como fazer, Podemos te ajudar. Este programa faz leitura de uma matriz nativa do C, e marca em highlighter todos os números pares e ímpares, em duas cores diferentes e sua impressão é numa janela gráfica criada em .NET com C++/CLI, sei que muitos vão me criticar mas não me importo, eu gosto do .NET mesmo. "VIVA O .NET E VIVA O C++" https://codigosfontes-ccplus-plus.blogspot.com/2021/07/c-cli-pares-e-impares-em-matriz-de.html /*============================================================*/ private: System::Void MyForm_Paint ( System::Object^ sender, System::Windows::Forms::PaintEventArgs^ e ) { Cria_Moldura ( e ); SolidBrush^ textBrushA = gcnew SolidBrush ( Color::Red ); SolidBrush^ textBrushB = gcnew SolidBrush ( Color::Black ); Graphics^ g = e->Graphics; System::Drawing::Font^ textFont = ( gcnew System::Drawing::Font ( L"Times New Roman", 12, static_cast< System::Drawing::FontStyle >( ( System::Drawing::FontStyle::Bold | System::Drawing::FontStyle::Italic ) ), System::Drawing::GraphicsUnit::Point, static_cast< System::Byte >( 0 ) ) ); g->DrawString ( "C++ / CLI - PARES E ÍMPARES EM MATRIZ DE INTEIROS", textFont, textBrushA, 80, 10 ); g->DrawString ( "Por:", textFont, textBrushA, 240, 265 ); g->DrawString ( "Samuel Lima", textFont, textBrushB, 280, 265 ); } /*============================================================*/
  16. Posso postar sim, se você prometer que vai compilar. Geralmente os vídeos são sem som, são apenas para mostrar o funcionamento. Parabéns pela ajuda que você tem dado aos iniciantes, tá certo? Geralmente não respondo nada, mas sempre estou acompanho o seu trabalho e de alguns daqui do forum.
  17. Este programinha marca todas as ocorrências das vogais encontrada numa matriz 2D de string. É indicado a iniciantes, e não faz uso de nenhum método de pesquisa do C#. Quer saber como fiz, clique no link agora mesmo, mas antes assista o vídeo. https://samuel-javafxexamples.blogspot.com/2021/06/para-representar-dinamicamente-um.html /*============================================================*/ protected override void OnPaint ( PaintEventArgs e ) { Moldura ( e ); this.Size = new System.Drawing.Size ( 615, 335 ); this.Text = "C# - PESQUISANDO E MARCANDO VOGAIS"; this.BackColor = Color.White; Graphics dc = e.Graphics; Font myFont = new System.Drawing.Font ( "Consolas", 12, FontStyle.Italic ); Brush myBrush_1 = new SolidBrush ( Color.Red ); dc.DrawString ( "C# - PESQUISANDO E MARCANDO VOGAIS", myFont, myBrush_1, 150, 10 ); Imprime_Array ( e ); Informe ( e ); } /*============================================================*/
  18. Para representar dinamicamente um painel com conteúdo composto por linhas e colunas, O controle TableLayoutPanel é perfeito para isto. O conteúdo de um TableLayoutPanel é organizado em uma grade, e o seu layout é executado em tempo de design ou de execução. Para criar este programa, arrastamos para o Form, quatro controles, e adicionamos eventos para o form e para o botão, e acoplamos no TableLayoutPanel um label de duas dimensões. O programa permite uma precisa pesquisa, com destaque em highlighter, numa matriz bidimensional de string, que é imprimida pelo label criado manualmente. Como a matriz é de 10 x 5, o label criado também é, e evidentemente o TableLayoutPanel possui as mesmas características para linhas e colunas. Este programa teve sua versão original criada por nós mesmo no C++ Builder, e achei muito justo recriá-lo em C#. Poderíamos por exemplo, fazer subir um arquivo com centenas de números em extenso, para ser carregado por uma lista, e aplicado para a impressão no TableLayoutPanel, com sua propriedade AutoScroll definida como verdadeiro; Mas o programa é didático, e não há a menor necessidade disto. Confira no vídeo seu perfeito funcionamento. https://samuel-javafxexamples.blogspot.com/2021/06/c-pesquisa-de-string-em-matriz-2d.html /*============================================================*/ public void Imprime_Matriz ( ) { int i, j; TableLayoutPanel1_1 ( 50, 40, 482, 200, 10, 5 ); for ( i = 0; i < texto.GetLength ( 0 ); i++ ) { for ( j = 0; j < texto.GetLength ( 1 ); j++ ) { label_2 [ i, j ] = new System.Windows.Forms.Label ( ); label_2 [ i, j ].AutoSize = true; label_2 [ i, j ].Font = new Font ( "Times New Roman", 12F, System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Point, 0 ); label_2 [ i, j ].ForeColor = Color.FromArgb ( 0, 0, 0 ); label_2 [ i, j ].Text += texto [ i, j ]; this.tableLayoutPanel1.Controls.AddRange ( new System.Windows.Forms.Control [ ] { this.label_2 [ i, j ], } ); } } } /*============================================================*/
  19. O jeito mais fácil de conseguir ajuda é olhando a documentação do Unity, lá é possível encontrar exemplos de detector de colisão. De qualquer forma posta o seu código pode ser que apareça algum programador com experiências em Unity C# para te ajudar.
  20. A primeira versão deste programa, foi criada em C++ com o Qt, e me lembro que me deu bastante trabalho, porque não é simplesmente pesquisar os múltiplos, se fosse só isto seria muito fácil, mas o que agente queria mesmo era marcar as ocorrências usando um bitimap como fundo; Depois de várias cabeçadas nós conseguimos, e depois criemos outra versão no C++ Builder, ainda em C++, e agora aproveitando um pouco do tempo que nos sobrou fizemos o mesmo programa em C# usando o VS Studio da microsoft. Veja no vídeo ele funcionando. https://samuel-javafxexamples.blogspot.com/2021/06/c-marcando-ocorrencias-de-multiplos.html?fbclid=IwAR0s40TD1DDUzp77E2Gr_LmO6AuPVMRzrLZs_Slt1Oy98TUGuzWqwHcLf9g /*============================================================*/ public void Imprime_Int_Matriz ( ) { int i, j; for ( i = 0; i < 10; i++ ) { for ( j = 0; j < 10; j++ ) { A [ i, j ] = i * 10 + j; } } for ( i = 0; i < 10; i++ ) { for ( j = 0; j < 10; j++ ) { pctBox [ i, j ] = new System.Windows.Forms.PictureBox ( ); label_2 [ i, j ] = new System.Windows.Forms.Label ( ); label_2 [ i, j ].AutoSize = true; label_2 [ i, j ].ForeColor = Color.FromArgb ( 0, 0, 0 ); label_2 [ i, j ].Font = new Font ( "Times New Roman", 13F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, 0 ); label_2 [ i, j ].Image = global::Multiplos_Marcando_Ocorrencias.Properties.Resources.Bal_Yellow; if ( A [ i, j ] <= 9 ) { label_2 [ i, j ].Text += "0"; label_2 [ i, j ].Text += A [ i, j ]; } if ( A [ i, j ] > 9 ) { label_2 [ i, j ].Text += A [ i, j ]; } pctBox [ i, j ].Size = new Size ( 10, 18 ); this.flowLayoutPanel1.Controls.AddRange ( new System.Windows.Forms.Control [ ] { this.label_2 [ i, j ], } ); this.flowLayoutPanel1.Controls.AddRange ( new System.Windows.Forms.Control [ ] { this.pctBox [ i, j ], } ); } } } /*============================================================*/
  21. A classe Array Fornece métodos para criar, manipular, pesquisar e classificar arrays, servindo assim como a classe base para todos os arrays suportados pelo C#. Qualquer um dos elementos de um array, representa um valor dentro do array, logo temos num total, uma coleção de valores iguais, e o cumprimento de um array é o número total de elementos que ele pode suportar. Por padrão, um array tem o zero como seu limite inferior, e o limite inferior de um array é o índice de seu primeiro elemento. Para este exemplo declaramos um Array de string de duas dimensões ( Matriz ), e o inicializamos com um texto contendo várias poesias famosas criadas por alguns escritores Brasileiros, e a finalidade do programa é de apresentar o método Contains(), da classe string que retorna um valor que indica se uma substring especificada ocorre dentro desta string. usando as regras de comparação especificadas. Se a palavra digitada no textBox se encontra na matriz todas as linhas de suas ocorrências são marcadas com destaque em highlighter . https://samuel-javafxexamples.blogspot.com/2021/06/c-pesquisando-em-array-2d-de-string-e.html /*============================================================*/ public void Imprime_Matriz ( ) { int i, j; Panel_1 ( 40, 40, 530, 180 ); for ( i = 0; i < texto.GetLength ( 0 ); i++ ) { for ( j = 0; j < texto.GetLength ( 1 ); j++ ) { label_2 [ i ] = new System.Windows.Forms.Label ( ); label_2 [ i ].AutoSize = true; label_2 [ i ].Font = new Font ( "Times New Roman", 12F, System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Point, 0 ); label_2 [ i ].ForeColor = Color.FromArgb ( 0, 0, 0 ); label_2 [ i ].Text += texto [ i, j ]; label_2 [ i ].Location = new Point ( 30, 30 + ( i * 20 ) ); this.Panel1.Controls.AddRange ( new System.Windows.Forms.Control [ ] { this.label_2 [ i ] } ); } } } /*============================================================*/
  22. O C# possui um método pronto para inverter um array unidimensional inteiro ou partes dele, à saber: O método Array.Reverse. Mas ignoramos isto desta vez e aplicamos um código clássico utilizado para este objetivo, e o resultado pode ser visto no vídeo, e o código do programa pode ser copiado clicando no link abaixo do vídeo. https://samuel-javafxexamples.blogspot.com/2021/06/c-embaralhando-e-invertendo-array-de.html /*============================================================*/ protected override void OnPaint ( PaintEventArgs e ) { Paint_Imagem ( e ); this.Size = new System.Drawing.Size ( 615, 337 ); this.Text = "C# - EMBARALHANDO E INVERTENDO ARRAY DE STRING"; this.BackColor = Color.White; Graphics dc = e.Graphics; Font myFont = new System.Drawing.Font ( "Consolas", 12, FontStyle.Italic ); Brush myBrush_1 = new SolidBrush ( Color.Red ); dc.DrawString ( "C# - EMBARALHANDO E INVERTENDO ARRAY DE STRING", myFont, myBrush_1, 90, 15 ); dc.DrawString ( "" + str_1, myFont, myBrush_1, 110, 30 ); Informe ( e ); } /*============================================================*/
  23. Este programa foi adaptado de um exemplo contido na documentação do C#, evidentemente muitas alterações foram feitas por nós mesmo. e o programa está rodando leve e livre de warnings. Assista o vídeo e click no link para obter o código completo do programa. https://samuel-javafxexamples.blogspot.com/2021/06/c-pesquisando-ocorrencias-de-palavras.html /*============================================================*/ private void button3_Click ( object sender, EventArgs e ) { System.Drawing.Graphics dc; dc = this.CreateGraphics ( ); str_2 = textBox2.Text; CharacterRange [ ] ranges = new CharacterRange [ ] { new CharacterRange ( str_1.IndexOf ( str_2 ), str_2.Length ) }; //Criando um objeto StringFormat. StringFormat stringFormat1 = new StringFormat ( ); //Definindo os intervalos no objeto StringFormat. stringFormat1.SetMeasurableCharacterRanges ( ranges ); //Declarando a fonte na qual escrever a mensagem. Font largeFont = new Font ( FontFamily.GenericSansSerif, 16.0F, GraphicsUnit.Pixel ); //Criando um novo retângulo. Rectangle displayRectangle = new Rectangle ( 100, 160, 300, 100 ); //Convertendo o retângulo em um retânguloF. RectangleF displayRectangleF = ( RectangleF ) displayRectangle; //Forçando a região se destacar chamando o Método MeasureCharacterRanges. Region [ ] charRegion = dc.MeasureCharacterRanges ( str_1, largeFont, displayRectangleF, stringFormat1 ); //Desenhando a string da mensagem no formulário. dc.DrawString ( str_1, largeFont, Brushes.Blue, displayRectangleF ); //Preenchendo a região usando uma cor semitransparente. dc.FillRegion ( new SolidBrush ( Color.FromArgb ( 100, Color.DarkGreen ) ), charRegion [ 0 ] ); largeFont.Dispose ( ); //Apaga a string digitada no textBox2 para uma nova palavra. textBox2.Clear ( ); //Reposiciona o cursor no textBox2 para uma nova palavra _ = textBox2.Focus ( ); button4.Visible = true; Button_4 ( 200, 220, 120, 25, "Nova operação" ); } /*============================================================*/
  24. Forçamos uma matriz bidimensional de inteiros, ser preenchida por um contador ascendente num laço for, mas não achamos muita graça nisto, então criamos uma rotina manualmente para embaralhar os seus elementos. Mas como nunca ficamos satisfeito com o pouco, declaramos um objeto imagem e desenhamos com a chamada do evento OnPaint, sendo que o nosso desejo era que esta imagem de uma pequena esfera em 3D se tornasse fundo de cada número imprimido pela matriz, deu tudo certo! só que a ousadia não tem limites, então adicionamos mais uma imagem de outra esfera em 3D, para que se torne fundo dos números encontrados pela pesquisa realizada pelo programa, ao mesmo tempo que estes valores são novamente embaralhados a cada click no botão "Ok". Assista no vídeo estas coisas acontecendo. https://samuel-javafxexamples.blogspot.com/2021/06/c-pesquisando-inteiros-em-matriz.html /*============================================================*/ protected override void OnPaint ( PaintEventArgs e ) { Paint_Imagem ( e ); this.Size = new System.Drawing.Size ( 614, 379 ); this.Text = "C# - PESQUISANDO INTEIROS EM MATRIZ BIDIMENSIONAL"; Graphics dc = e.Graphics; Font myFont = new System.Drawing.Font ( "Consolas", 11, FontStyle.Bold ); Font myFont_2 = new System.Drawing.Font ( "Consolas", 12, FontStyle.Italic ); Brush myBrush_1 = new SolidBrush ( Color.Red ); Brush myBrush_2 = new SolidBrush ( Color.Black ); dc.DrawString ( "C# - PESQUISANDO INTEIROS EM MATRIZ BIDIMENSIONAL", myFont_2, myBrush_1, 100, 10 ); int r, y; for ( r = 0; r < 6; r++ ) { for ( y = 0; y < 6; y++ ) { A [ r, y ] = r * 6 + y; } } Image newImage = Image.FromFile ( "Bal.bmp" ); for ( r = 0; r < 6; r++ ) { for ( y = 0; y < 6; y++ ) { Point ulCorner; ulCorner = new Point ( 200 + ( y * 35 ), 37 + ( r * 35 ) ); e.Graphics.DrawImage ( newImage, ulCorner ); if ( A [ r, y ] <= 9 ) { dc.DrawString ( "0", myFont, myBrush_2, 204 + ( y * 35 ), 44 + ( r * 35 ) ); dc.DrawString ( "" + A [ r, y ], myFont, myBrush_2, 212 + ( y * 35 ), 44 + ( r * 35 ) ); } if ( A [ r, y ] > 9 ) { dc.DrawString ( "" + A [ r, y ], myFont, myBrush_2, 205 + ( y * 35 ), 44 + ( r * 35 ) ); } } } Informe ( e ); } /*============================================================*/

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Curso de Redes MikroTik

LANÇAMENTO!

CLIQUE AQUI PARA SE INSCREVER!

* Este curso não é ministrado pela equipe do Clube do Hardware.