Jump to content

_marlon307

Members
  • Content count

    32
  • Joined

  • Last visited

  • Days Won

    1

Posts posted by _marlon307


  1. Fiz um código para verificar se o texto da minha TextBox se é igual o que esta no meu xml, então estou tentando otimizá-lo para que fique um código mais limpo.

    Tentei varias formas mas não tive sucesso o que funcionou mesmo foi esse abaixo.

     

    private void BttAddRota_Click(object sender, EventArgs e)
            {
                bool consulta = false;
                if (TbAddRota.Text.Length > 3)
                {
                    XmlDocument xmlDoc = new XmlDocument();
                    xmlDoc.Load("config.xml");
                    XmlElement mapElement = (XmlElement)xmlDoc.SelectSingleNode(@"//Rotas");
    
                    foreach (XmlElement x in mapElement)
                    {
                        if (TbAddRota.Text.ToUpper().Equals(x.GetAttribute("Rota")))
                        {
                            consulta = true;
                            break;
                        }
                    }
                    if(consulta == false)
                    {
                        var set = xmlDoc.CreateElement("xRota");
                        set.SetAttribute("Rota", TbAddRota.Text.ToUpper());
                        mapElement.AppendChild(set);
                        xmlDoc.Save("config.xml");
                        ListGrid = ClassGridRota.ListarRotas();
                        ListGridRota.DataSource = ListGrid;
                        HomeObjects.ComboBoxRota.Items.Add(TbAddRota.Text.ToUpper());
                        TbAddRota.Clear();
                    }
                    else
                    {
                        MetroMessageBox.Show(this, "\n\n\nJá existe uma rota com este nome.", "Aviso!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    }
                }
                else
                {
                    MetroMessageBox.Show(this, "\n\nAdicione um nome para a ROTA!\nA quantidade de caracteres minimo e (4)\nE clique em ADICIONAR.", "Aviso!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                }
            }

     


  2. 28 minutos atrás, marcosmarcolin disse:

    Mas qual o erro que retorna? Na consulta ou em outra parte do código?

     

    Acredito que o Fernando refere-se ao Location na URL, não seria login.php por exemplo?

    Vlw pela atenção mas já consegui arrumar fazendo dessa forma

     

       $sql = "SELECT usuario email FROM `tb_usuarios` WHERE `usuario` = '$username' OR `email` = '$usermail'";

     


  3. 9 minutos atrás, Omar~ disse:

    https://forum.imasters.com.br/topic/565800-crud-introdução-a-pdo/

     

    SELECT * FROM tabela WHERE coluna_usuario = :usuario AND coluna_email = :mail

    Se na tabela nas colunas coluna_usuario, coluna_email  coexistirem é porque existe

     

    SELECT * FROM tabela WHERE coluna_usuario = :usuario OR coluna_email = :mail

    Na tabela se existir nas colunas coluna_usuario ou na coluna_email

     

    Vlw, Resolvi o problema com sua ajuda.


  4. Estou fazendo um sistema simples de cadastro de usuário e preciso que o usuário e e-mail sejam únicos. Mas já configurei a minha tabela para que esses campos seja único. O problema e fazer a checagem para que não retorne erros, e sim redirecionar para pagina de cadastro.

     

    Código:

    <?php
    
    	require_once 'config/connect.php';
    	
    	
    	$usermail = mysqli_real_escape_string($link, $_POST['email']);
    	$username = mysqli_real_escape_string($link, $_POST['usuario']);
    	$userpsw = mysqli_real_escape_string($link, $_POST['senha']);
    	
    	$sql = "SELECT usuario, email FROM `tb_usuarios` WHERE `usuario` = '$username', `email` = '$usermail'";
    	mysqli_query($link, $sql) or die(mysqli_error($link));
    	$linhas = mysqli_affected_rows($link);
    	
    	if($linhas > 0)
    	{
    		header("Location:cadastro");	
    	}
    	else
    	{
    		$sql = "INSERT INTO tb_usuarios (usuario, senha, email) VALUES ('$username','$userpsw','$usermail')";
    		mysqli_query($link,$sql) or die(mysqli_error($link));
    		$linhas = mysqli_affected_rows($link);
    		
    		if($linhas > 0)
    		{
    			header("Location:login");
    		}
    	}
    ?>

     


  5. 11 horas atrás, quintelab disse:

    Crie um método, então seus 2 eventos podem chamar esse método.

    Resolvido.

    Ficou assim

     

    using System;
    using System.Drawing;
    using System.Drawing.Printing;
    using System.Windows.Forms;
    
    namespace DrawString
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
                foreach(var printter in PrinterSettings.InstalledPrinters)
                {
                    comboBox1.Items.Add(printter);
                }
            }
            
            private void panel1_Paint(object sender, PaintEventArgs e)
            {
               Graphics g = panel1.CreateGraphics();
               teste(g);
            }
    
            private void BtnImprimir_Click(object sender, EventArgs e)
            {
                using (var pd = new PrintDocument())
                {
                    pd.PrintPage += PanelPrintPage;
                    pd.PrinterSettings.PrinterName = comboBox1.SelectedItem.ToString();
                    pd.Print();
                }
            }
    
            private void PanelPrintPage(object sender, PrintPageEventArgs e)
            {
              Graphics g = e.Graphics;             
              teste(g);
            }
            private void teste(Graphics g)
            {
                SolidBrush s = new SolidBrush(Color.Black);
                FontFamily ff = new FontFamily("Arial");
                Font font = new Font(ff, 50);
                g.DrawString("TESTE", font, s, 10, 43);
            }
        }
    }

     


  6. Montei uma pagina para impressão mas não quero repetir o mesmo código no evento em que vai fazer a impressão.

     

    Leia os comentários no código : }   

     

    using System;
    using System.Drawing;
    using System.Drawing.Printing;
    using System.Windows.Forms;
    
    namespace DrawString
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
                foreach(var printter in PrinterSettings.InstalledPrinters)
                {
                    comboBox1.Items.Add(printter);
                }
            }
            
            private void panel1_Paint(object sender, PaintEventArgs e)
            {
               //Quero passar o que esta formatado aqui para o outro evento sem precisar de reetir o codigo  
               Graphics g = panel1.CreateGraphics();
                SolidBrush s = new SolidBrush(Color.Black);
                FontFamily ff = new FontFamily("Arial");
                Font font = new Font(ff, 50);
                g.DrawString("TESTE", font, s, 10, 43);
            }
    
            private void BtnImprimir_Click(object sender, EventArgs e)
            {
                using (var pd = new PrintDocument())
                {
                    pd.PrintPage += PanelPrintPage;
                    pd.PrinterSettings.PrinterName = comboBox1.SelectedItem.ToString();
                    pd.Print();
                }
            }
    
            private void PanelPrintPage(object sender, PrintPageEventArgs e)
            {
                //E passar para aqui sem repetir o codigo acima onde vai fazer a impressao
            }
        }
    }

     


  7. 5 minutos atrás, quintelab disse:

    Tudo bem, mas já começou ? Não tem como postar aqui 100% do código. 

    Você precisa ler seu XML, popular um Model com os dados desse XML, enviar esse model pra sua View e criar o html da forma que deseja. Onde exatemente esta a dúvida nesse processo ?

    Comecei olhando  este tutorial mas não conseguir ir muito longe pois não ensinava a formatar a pagina somente escrever nela através de uma text box


  8. Estou finalizando meu projeto e só falta criar um relatório de impressão. E gostaria de fazer numa forma em que cada nome que eu carregar no arquivo ele acrescentara automaticamente uma célula referente aos itens que tenho ao meu arquivo. Para depois de tudo preenchido fosse impresso

     

    Exemplo da imagem

    2.png.5fa669edd8f911819bfcbd7cb8327cf7.png


  9. 28 minutos atrás, quintelab disse:

    Seu xml é só aquela linha ? Tente usar XmlNode ao invés de XmlElement. O restante parece estar certo.

    Consegui adicionado Rota.LpGridRota no meu SelectSingleNode 

    XmlElement mapElement = (XmlElement)xmlDoc.SelectSingleNode(@"//Planilha[@Rota='" + Rota.LpGridRota + "']");

  10. Preciso de alterar o valor dos elementos no meu xml. So que o problema e que o código não esta alterando nenhum valor dentro da tag do meu xml. Meu xml esta assim e queria estar alterando os itens apos Rota

     

    <Planilha Rota="Nome da rota" Funcionario="" SaidaP="0" VoltaP="0" Deposito="R$ 0,00" Gasto="R$ 0,00" Cheque="R$ 0,00" Moeda="R$ 0,00" Falta="R$ 0,00" Sobra="R$ 0,00" Observacoes="" />

     

    Código que estou trabalhando e esse

     

            public static void EditarPlanilhaLp(Listarplanilhas Rota, string nArchive)
            {
                XmlDocument xmlDoc = new XmlDocument();
                xmlDoc.Load(@"cache\" + nArchive + ".xml");
                XmlElement mapElement = (XmlElement)xmlDoc.SelectSingleNode(@"//Planilha[@Rota='" + Rota + "']");
    
                if (mapElement != null)
                {
                    mapElement.Attributes["Funcionario"].Value = Rota.LpGridFunc;
                    mapElement.Attributes["SaidaP"].Value = Rota.LpGridSaiu;
                    mapElement.Attributes["VoltaP"].Value = Rota.LpGridVolta;
                    mapElement.Attributes["Deposito"].Value = Rota.LpGridDep;
                    mapElement.Attributes["Gasto"].Value = Rota.LpGridGast;
                    mapElement.Attributes["Cheque"].Value = Rota.LpGridCheq;
                    mapElement.Attributes["Moeda"].Value = Rota.LpGridMoed;
                    mapElement.Attributes["Falta"].Value = Rota.LpGridFalt;
                    mapElement.Attributes["Sobra"].Value = Rota.LpGridSob;
                    mapElement.Attributes["Observacoes"].Value = Rota.LpObs;
                }
                xmlDoc.Save(@"cache\" + nArchive + ".xml");
            }

     

     


  11. 14 minutos atrás, rtavix disse:

    Marlon, tenta algo desse tipo:

    
    MapElements.Remove(Rota);

    Ver se funciona.

     

     

    Vlw amigo mas consegui fazendo dessa forma

    public static void ExcluirItemRota(string Rota)
                {
                    XmlDocument xmlDoc = new XmlDocument();
                    xmlDoc.Load("config.xml");
                    XmlElement mapElement = (XmlElement)xmlDoc.SelectSingleNode(@"//xRota[@Rota='"+ Rota +"']");
    
                    if(mapElement != null)
                    {
                        mapElement.ParentNode.RemoveChild(mapElement);
                    }
                    xmlDoc.Save("config.xml"); 
                }

    Outra duvida que tenho agora e editar um valor de um elemento/


  12. 12 horas atrás, quintelab disse:

    Você  terá que utilizar o AppendChild, pesquise sobre isso que encontrará exemplos.

    Consegui fazer a leitura e gravar da forma que eu queria mas agora não estou conseguindo excluir um determinado item selecionado.

     O código que fiz e vi exemplos estava nessa forma

     

      	     public static void ExcluirItemRota(string Rota)
                {
                    XmlDocument xmlDoc = new XmlDocument();
                    xmlDoc.Load("config.xml");
                    XmlElement mapElement = (XmlElement)xmlDoc.SelectSingleNode(@"//cfgRotas");
    
                    if(mapElement != null)
                    {
                        mapElement.RemoveAttribute(Rota);
                    }
                    xmlDoc.Save("config.xml"); 
                }

     


  13. Preciso de adicionar vários elementos em uma determinada tag do meu XML. Mas o código que estou utilizando ele adiciona os elementos sempre na ultima linha do meu Xml.

     

    Meu XML esta assim, e estou tentando adicionar vários elementos <planilha> na tag <Planilhas>

    <Xml>
      <Relatorio>
        <NotasAReceber />
        <RotaValue />
        <CtrlEstoque />
        <Planilhas>
          
        </Planilhas>
      </Relatorio>
    </Xml>

    E o código que estou usando esta nesta forma

    private void CarregarRelatorio ()
            {
                bool consulta = false;
    
                if (ComboBoxRota.Text != "")
                {
                    XElement xml = XElement.Load(@"cache\" + DateProprie + ".xml");
    
                    foreach (XElement x in xml.Elements("planilha"))
                    {
                        if (ComboBoxRota.Text == x.Attribute("Rota").Value)
                        {
                            consulta = true;
                            break;
                        }
                    }
                    if (consulta == false)
                    {
                        XElement x = new XElement("planilha");
                        x.Add(new XAttribute("Rota", ComboBoxRota.Text));
                        x.Add(new XAttribute("Funcionario", TbFuncionario.Text.ToUpper())); TbFuncionario.Clear();
                        x.Add(new XAttribute("SaidaP", TbSaida.Text)); TbSaida.Clear();
                        x.Add(new XAttribute("VoltaP", TbVolta.Text)); TbVolta.Clear();
                        x.Add(new XAttribute("Deposito", TbDeposito.Text)); TbDeposito.Clear();
                        x.Add(new XAttribute("Gasto", TbGasto.Text)); TbGasto.Clear();
                        x.Add(new XAttribute("Cheque", TbCheque.Text)); TbCheque.Clear();
                        x.Add(new XAttribute("Moeda", TbMoeda.Text)); TbMoeda.Clear();
                        x.Add(new XAttribute("Falta", TbFalta.Text)); TbFalta.Clear();
                        x.Add(new XAttribute("Sobra", TbSobra.Text)); TbSobra.Clear();
                        x.Add(new XAttribute("Observacoes", TbObservacao.Text.ToUpper())); TbObservacao.Clear();
                        xml.Add(x);
                        xml.Save(@"cache\" + DateProprie + ".xml");
                    }
                }
            }

     


  14. 7 horas atrás, quintelab disse:

    Sem ter o código pra debugar é um pouco complexo, mas eu começaria tentando algo do tipo:

     

    
    void _tile_Click(object sender, EventArgs e)
    {
        MetroTile _tile = (MetroTile) sender;
        ThemeForm.Style = _tile.Tag;
    }

     

     

    Consegui fazendo dessa forma e deu certo. Vlw pela ajuda

    ThemeForm.Style = (MetroColorStyle)((MetroTile)sender).Tag;

     

    • +1 1

  15. 24 minutos atrás, quintelab disse:

    Provavelmente você tem que passar algum valor pra essa variável antes de usar.

    Mas nessa parte do código devia estar pegando um valor. 

    for (int i = 3; i < 15; i++)
                {
                    MetroTile _tile = new MetroTile
                    {
                        Size = new Size(30, 30),
                        Style = (MetroColorStyle)i,
                        Tag = i // Aqui ele pega o valor
                    };
                   
                    _tile.Click += _tile_Click;
                    flowLayoutPanel1.Controls.Add(_tile);
                }

    Pegando o valor ele esta, mas não esta passando o valor para a função abaixo.


  16. Estou usando um pacote de interface para meu software. O problema e quando eu vou mudar o estilo do software ele me retorna o erro Referência de objeto não definida para uma instância de um objeto na seguinte linha ThemeForm.Style = (MetroColorStyle)Tag; não tenho ideia de que possa ser já que eu baixei um exemplo para ver melhor e não vi nada de diferente

    Este e o código.

     

    https://mega.nz/#!E9wlCAAR!zs0-R8yWwl5qw0aKlwQH_tRs7hHLiD7w9fSguDKDGlU

    using System;
    using System.Drawing;
    using MetroFramework;
    using MetroFramework.Controls;
    using MetroFramework.Forms;
    
    namespace WindowsFormsApp1
    {
        public partial class Form1 : MetroForm
        {
            public Form1()
            {
                InitializeComponent();
    
                this.StyleManager = ThemeForm;
    
                for (int i = 3; i < 13; i++)
                {
                    MetroTile _tile = new MetroTile
                    {
                        Size = new Size(30, 30),
                        Tag = i,
                        Style = (MetroColorStyle)i
                    };
                    _tile.Click += _tile_Click;
                    flowLayoutPanel1.Controls.Add(_tile);
                }
            }
            void _tile_Click(object sender, EventArgs e)
            {
                ThemeForm.Style = (MetroColorStyle)Tag;
            }
            private void MetroRadioButton1_CheckedChanged(object sender, EventArgs e)
            {
                if(metroRadioButton1.Checked)
                {
                    ThemeForm.Theme = MetroThemeStyle.Dark;
                }
            }
            private void MetroRadioButton2_CheckedChanged(object sender, EventArgs e)
            {
                if (metroRadioButton2.Checked)
                {
                    ThemeForm.Theme = MetroThemeStyle.Light;
                }
            }
        }
    }
    Link do projeto
    https://mega.nz/#!E9wlCAAR!zs0-R8yWwl5qw0aKlwQH_tRs7hHLiD7w9fSguDKDGlU
    

    2018-04-22.png


  17. Em 16/04/2018 at 05:08, quintelab disse:

    Não entendi seu problema. 

    Vlw man consegui resolver o problema. Mas você podia me ajudar realmente em outra coisa.

     

    Gostaria de adicionar vários elemento "Planilha" em um nó especifico do XML.  Como no exemplo abaixo.

    <Xml>
      <Relatorio>
        <NotasAReceber />
        <RotaValue />
        <CtrlEstoque />
        <Planilhas>
          
          
          <Planilha Rota="TESTE 1" Funcionario="" SaidaP="0" VoltaP="0" Deposito="R$ 0,00" Gasto="R$ 0,00" Cheque="R$ 0,00" Moeda="R$ 0,00" Falta="R$ 0,00" Sobra="R$ 0,00" Observacoes="" />
          
          <Planilha Rota="TESTE 2" Funcionario="" SaidaP="0" VoltaP="0" Deposito="R$ 0,00" Gasto="R$ 0,00" Cheque="R$ 0,00" Moeda="R$ 0,00" Falta="R$ 0,00" Sobra="R$ 0,00" Observacoes="" />
          
          <Planilha Rota="TESTE 3" Funcionario="" SaidaP="0" VoltaP="0" Deposito="R$ 0,00" Gasto="R$ 0,00" Cheque="R$ 0,00" Moeda="R$ 0,00" Falta="R$ 0,00" Sobra="R$ 0,00" Observacoes="" />
        </Planilhas>
      </Relatorio>
    </Xml>

    Estou usando o código que postei anteriormente mas ele só adiciona esse elementos no final do xml

×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.