Ir para conteúdo
Matheus Marqui

Como posso utilizar comando do sistema (system("...")) com variáveis?

Recommended Posts

Opa, gostaria de saber como eu poderia utilizar comandos do sistema com variáveis e se isso é possível...

Ex:

string menuConfig()
{
    system("cls");
    string nl;
    cout << "Configurações e Informações - Versão 1.0.0\n";
    cout << "Cores do programa (system(color nl)) sendo 'n' número e 'l' letra: ";
    cin >> nl;
    system("color "<< nl); //Gostaria de saber como eu poderia fazer isso funcionar, ou algo semelhante...

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá. Vou passar um exemplo d um pequeno exemplo do uso de variável no comando system() q inclusive aborda a questão das cores da letra e do fundo q até mesmo você pode usar em seus projetos.

 

#include <stdio.h>
#include <conio.h>
#include <windows.h>

int tecla()
{
    int varTecla;
    while (1)
    {
        varTecla = getch();
        return varTecla;
    }
}

void cor()
{
	char cor[10] = "Color 0f";
	int c, corL = 0, corF = 0, lugar = 0;

	system("cls");

	system(cor);

	printf("\n\t   Use as setas Direcionais   \n"
		"\t      para mudar de cor       \n"
		"\t  Para voltar ao menu tecle   \n"
		"\t            ENTER             \n"
		"\t                              \n"
		"\t          [ LETRA ]           \n"
		"\t            FUNDO             \n");

	while (1)
	{
		if (_kbhit())
		{
			system("cls");
			c = tecla();

			// 80 para cima
			// 72 para baixo
			// 75 direita
			// 77 esquerda
			// 13 enter

			if (c == 80)
			{
				lugar++;
				if (lugar > 1)
				{
					lugar = 0;
				}
			}
			else if (c == 72)
			{
				lugar--;
				if (lugar < 0)
				{
					lugar = 1;
				}
			}


			else if (c == 13)  // enter
			{
				// comando que preferir, como chamado a uma função, por ex
				exit(0);
			}

			else if (c == 75) // direita
			{
				if (lugar == 0)
				{
					corL++;
					if (corL > 5)
					{
						corL = 0;
					}
				}
				else if (lugar == 1)
				{
					corF++;
					if (corF > 5)
					{
						corF = 0;
					}
				}

			}
			else if (c == 77) // esquerda
			{
				if (lugar == 0)
				{
					corL--;
					if (corL < 0)
					{
						corL = 5;
					}
				}
				else if (lugar == 1)
				{
					corF--;
					if (corF < 0)
					{
						corF = 5;
					}
				}
			}

			if (lugar == 0)
			{
				printf("\n\t   Use as setas Direcionais   \n"
					"\t      para mudar de cor       \n"
					"\t  Para voltar ao menu tecle   \n"
					"\t            ENTER             \n"
					"\t                              \n"
					"\t          [ LETRA ]           \n"
					"\t            FUNDO             \n");
			}
			else if (lugar == 1)
			{
				printf("\n\t   Use as setas Direcionais   \n"
					"\t      para mudar de cor       \n"
					"\t  Para voltar ao menu tecle   \n"
					"\t            ENTER             \n"
					"\t                              \n"
					"\t            LETRA             \n"
					"\t          [ FUNDO ]           \n");
			}


			switch (corL)
			{
			case 0:
				cor[7] = '3';
				break;
			case 1:
				cor[7] = '4';
				break;
			case 2:
				cor[7] = '5';
				break;
			case 3:
				cor[7] = '6';
				break;
			case 4:
				cor[7] = '7';
				break;
			case 5:
				cor[7] = '8';
				break;
			}


			switch (corF)
			{
			case 0:
				cor[6] = '3';
				break;
			case 1:
				cor[6] = '4';
				break;
			case 2:
				cor[6] = '5';
				break;
			case 3:
				cor[6] = '6';
				break;
			case 4:
				cor[6] = '7';
				break;
            case 5:
                cor[6] = '8';
			}
		}

		system(cor);
	}
}


int main()
{
    char *texto = "title Exemplo de Codigo";

    system(texto);

    cor();

    return 0;
}




No método main tbém faço uso d uma variável como parâmetro do comando system(), mas no método cor() isso é melhor trabalhado.

Em virtude do código ser muito extenso, dei uma reduzida na qtde de cores, mas creio q a ideia principal vai conseguir entender.

Só q teria q dar uma revisada na parte do lugar no método cor(), pois como reduzi a qtde de cores pode ser q algo eu tenha esquecido d mudar 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por Dija
      Salve!!!
      Pessoal, estou com um probleminha para voces me ajudarem
      Comprei um script no ML, fiz a locação no meu easyphp, importei o sql fornecido para o db...
      Quando entro na tal pagina entra direitinho pedinho usuário e senha mas...diz que não tenho acesso. Já procurei usuarios e tudo mais.
      Config
       
      <?php
      include 'autoLoad.php';
      session_start();
      $getUrl = strip_tags(trim(filter_input(INPUT_GET, 'pg', FILTER_DEFAULT)));
      date_default_timezone_set('America/Recife');
      $cambista = $_SESSION['id'];
      $acesso = $_SESSION['nivel'];
      $up = new Update;
      $up->ExeUpdate('cambistas', array('visivel' => 0), 'WHERE id = :id', "id={$cambista}");
      if(isset($_SESSION['cambista'])):    
          $nivel = new Nivel($getUrl, $acesso);
          if($nivel->getResult()): header('Location: principal'); endif;
          else:
          header("location: ../negado");
      endif;
       
      Este outro é o DB conect
       
      <?php
      $link = mysql_connect('localhost', 'bola', 'bola1');
      if (!$link) {
          die('Erro ao conectar ao banco: ' . mysql_error());
      }
      echo 'Conectado com sucesso';
      mysql_close($link);
      ?>
       
      ESTA É A PAGINA INDEX.PHP
       
      <!--::: versão do sistema 2.3 :::-->
      <!doctype html>
      <html ng-controller="loginCtrl as ctrl" ng-app="apostas">
      <head>
      <meta charset="utf-8">
      <meta name="viewport" content="width=device-width, user-scalable=no">
      <title ng-bind="ctrl.config.nome"></title>
      <script src="js/lib/jquery-1.11.3.min.js"></script>
      <script src="js/lib/angular.min.js"></script>
      <script src="js/lib/ngprogress.js"></script>
      <script src="js/controllers/loginCtrl.js"></script>
      <script src="js/factory/factory.js"></script>
      <link rel="icon" href="imagens/icone.png" />
      <link rel="stylesheet" href="css/login.css" />
      <link rel="stylesheet" href="css/mobile.css" />
      <link rel="stylesheet" href="css/ngProgress.css" />
      </head>
      <body>
      <div id="corpo"></div>
      <form id="login" ng-submit="ctrl.logar(ctrl.usuario)" >
        <img ng-src="imagens/{{ctrl.config.logo}}" id="escudo" />
        <ul>
          <li>
            <label>
            <img src="imagens/icons/user.png" class="icons left">
            <input type="text" required autofocus class="right" id="login" ng-model="ctrl.usuario.login" placeholder="Digite seu login"/>
            <div class="clear"></div>
            </label>
          </li>
          <li>
            <label>
            <img src="imagens/icons/senha.png" class="icons left">
            <input type="password" required class="right" ng-model="ctrl.usuario.senha" placeholder="Digite sua senha"/>
            <div class="clear"></div>
            </label>
          </li>
          <li>
            <input type="submit" value="Entrar" />
          </li>
        </ul>
        <div class="clear"></div>
        <div ng-class="ctrl.mensagem.estilo" ng-bind="ctrl.mensagem.mensagem" ng-show="ctrl.status"></div>
      </form>
      <a href class="simulador" ng-click="ctrl.simulador()"><img class="left" src="imagens/ic_phone_android_black_48dp.png">Acesse o simulador<br><span ng-bind="ctrl.sml + 'simulador'"></span></a>
      </body>
      </html>
       
       
      preciso Acessar me ajudem
       
       

    • Por Giovani Silva
      Olá, usando o cUrl tenho obtido no retorno uma string conforme mostrado pelo vardump:
       
      string(3236) "21SCJEYPH4M2018-10-09T11:25:07.810-03:0063E12018-10-09T11:25:05-03:00112018-10-01T00:00:00-03:00http://e-gov.betha.com.br/e-nota/visualizarnotaeletronica?link=1539095107817211162506638065523770518713302201024.500.000.000.000.002024.52.00000001036319400{[[Descricao=Anúncio na Internet][ItemServico=0103][Quantidade=1][ValorUnitario=16][ValorServico=16][ValorBaseCalculo=16][Aliquota=2][Deducoes=0][DescontoCondicionado=0][DescontoIncondicionado=0]][[Descricao=Anúncio 2][ItemServico=0103][Quantidade=1][ValorUnitario=8.5][ValorServico=8.5][ValorBaseCalculo=8.5][Aliquota=2][Deducoes=0][DescontoCondicionado=0][DescontoIncondicionado=0]]}43215012.21157181640001208586GI SO DA SA PUEVIZAmbiente de testes não requer endereço0SC8888888800114093040Nome aAv S Ped8São Frano4321501RS955600005198225644dids@yahoo.com.br0SCfalse"
       
      Essa string possui o seguinte código fonte
      <env:Envelope xmlns:env='http://schemas.xmlsoap.org/soap/envelope/'> <env:Header></env:Header> <env:Body> <ns2:ConsultarLoteRpsEnvioResponse xmlns:ns2="http://www.betha.com.br/e-nota-contribuinte-ws" xmlns:ns3="http://www.w3.org/2000/09/xmldsig#"> <ConsultarLoteRpsResposta> <ListaNfse> <ComplNfse> <Nfse> <InfNfse> <Numero>21</Numero> <CodigoVerificacao>SC5EYOH4M</CodigoVerificacao> <DataEmissao>2018-10-09T11:25:07.810-03:00</DataEmissao> <IdentificacaoRps> <Numero>63</Numero> <Serie>E</Serie> <Tipo>1</Tipo> </IdentificacaoRps> <DataEmissaoRps>2018-10-09T11:25:05-03:00</DataEmissaoRps> <NaturezaOperacao>1</NaturezaOperacao> <OptanteSimplesNacional>1</OptanteSimplesNacional> <Competencia>2018-10-01T00:00:00-03:00</Competencia> <OutrasInformacoes>http://e-gov.betha.com.br/e-nota/visualizarnotaeletronica?link=153909510781721791625066100380655237705187133022010</OutrasInformacoes> <Servico> <Valores> <ValorServicos>24.5</ValorServicos><ValorDeducoes>0</ValorDeducoes><ValorPis>0.00</ValorPis><ValorCofins>0.00</ValorCofins><ValorInss>0.00</ValorInss><ValorIr>0.00</ValorIr><IssRetido>2</IssRetido><ValorIss>0</ValorIss><BaseCalculo>24.5</BaseCalculo><Aliquota>2.0000</Aliquota><DescontoCondicionado>0</DescontoCondicionado><DescontoIncondicionado>0</DescontoIncondicionado> </Valores> <ItemListaServico>0103</ItemListaServico> <CodigoCnae>6319400</CodigoCnae> <Discriminacao>{[[Descricao=Anúncio na Internet][ItemServico=0103][Quantidade=1][ValorUnitario=16][ValorServico=16][ValorBaseCalculo=16][Aliquota=2][Deducoes=0][DescontoCondicionado=0][DescontoIncondicionado=0]][[Descricao=Anúncio 2][ItemServico=0103][Quantidade=1][ValorUnitario=8.5][ValorServico=8.5][ValorBaseCalculo=8.5][Aliquota=2][Deducoes=0][DescontoCondicionado=0][DescontoIncondicionado=0]]}</Discriminacao><CodigoMunicipio>4368501</CodigoMunicipio><TaxaDiversa/></Servico><ValorCredito>2.21</ValorCredito><PrestadorServico><IdentificacaoPrestador><Cnpj>15718145500120</Cnpj><InscricaoMunicipal>8666</InscricaoMunicipal></IdentificacaoPrestador><RazaoSocial>G PU</RazaoSocial><NomeFantasia>VZ</NomeFantasia><Endereco><Endereco>Ambiente de testes não requer endereço</Endereco><CodigoMunicipio>0</CodigoMunicipio><Uf>SC</Uf><Cep>88888888</Cep></Endereco><Contato/></PrestadorServico><TomadorServico><IdentificacaoTomador><CpfCnpj><Cpf>0011405440</Cpf></CpfCnpj></IdentificacaoTomador><RazaoSocial>Gio</RazaoSocial><Endereco><Endereco>Av Pe</Endereco><Numero>1338</Numero><Bairro>São F</Bairro><CodigoMunicipio>4354501</CodigoMunicipio><Uf>RS</Uf><Cep>95560000</Cep></Endereco><Contato><Telefone>51982263344</Telefone><Email>di2ss@yahoo.com.br</Email></Contato></TomadorServico><IntermediarioServico/><OrgaoGerador><CodigoMunicipio>0</CodigoMunicipio><Uf>SC</Uf></OrgaoGerador><ConstrucaoCivil/></InfNfse></Nfse><NfseCancelamento><Confirmacao><Pedido><InfPedidoCancelamento/><ns3:Signature/></Pedido><InfConfirmacaoCancelamento><Sucesso>false</Sucesso></InfConfirmacaoCancelamento></Confirmacao></NfseCancelamento><NfseSubstituicao><SubstituicaoNfse/></NfseSubstituicao></ComplNfse></ListaNfse><ListaMensagemRetorno/></ConsultarLoteRpsResposta></ns2:ConsultarLoteRpsEnvioResponse></env:Body></env:Envelope> Preciso pegar com PHP as informações contidas em:
       
      <InfNfse>
           <Numero>21</Numero>
           <CodigoVerificacao>SCJEYOH4M</CodigoVerificacao>
           <DataEmissao>2018-10-09T11:25:07.810-03:00</DataEmissao>
           <IdentificacaoRps>   
                     <Numero>63</Numero>
         e 
      <OutrasInformacoes>http://e-gov.betha.com.br/e-nota/visualizarnotaeletronica?link=15390
       
      Tentei usando simplexml_load_string, DOMDocument e outras formas sem sucesso.
      Acho que não usei corretamente as funções acima.
       
      Desde já agradeço a ajuda.
       
       
    • Por Rafael Freitas
      Fala galera!
       
      Seguinte, estou precisando inserir o qr-code na exibição do PDF, porém, já tentei de varias formas e não tive sucesso. Ainda sou iniciante, então não tenho tantos recursos assim.
      Se alguém puder dar uma força, agradeço.
       
      Está funcionando da seguinte forma: eu uso o mpdf para exibir uma página php como um pdf e até aí tudo bem. Porém, eu preciso que no final da página, ele também exiba a imagem do qr-code com a url da página.
      Eu até tenho um código que já está fazendo isso, exibindo em qr-code o url. O que não estou conseguindo é fazer a inserção desse código no meu php (que abre como pdf).
       
      Segue o código:
      $html = "<fieldset> <div class='container1'> <div class='espaco_vazio'></div> <div class='logo'><h1><img src='logo.png' alt='Ambiental' /></h1></div> </div> <div class='numero_laudo'> </div> <div class='cabecalho'>MANIFESTO PARA TRANSPORTE DE RESÍDUO PERIGOSO CLASSE I, CONFORME NBR 10004/2004 - MRT Nº <strong>".$result['id']."</strong> </div> <div class='cabecalho-gerador'><strong>GERADOR</strong> </div> <div class='cabecalho2'> <div class='container_1_cabecalho'> <b>Razão Social:</b> ".$result['razao_social']."<br> <b>Nome Fantasia:</b> ".$result['nome_fantasia']."<br> <b>Endereço:</b> ".$result['endereco'].", ".$result['numero']."<br> <b>Cidade:</b> ".$result['cidade']."<br> </div> <div class='container_2_cabecalho'> <b>CNPJ:</b> ".$result['cnpj']."<br> <b>Cep:</b> ".$result['cep']."<br> <b>Bairro:</b> ".$result['bairro']."<br> <b>UF:</b> ".$result['uf']."<br> </div> </div> <div class='cabecalho-gerador'><strong>DESCRICÃO DO RESÍDUO (CLASSE I)</strong> </div> <table class='tabela1'> <tr> <td style='width:300px' height='25px' bgcolor='#B8E4BA'><center><b>DESCRIÇÃO (RESÍDUO)</b></center></td> <td style='width:80px' bgcolor='#B8E4BA'><center><b>CÓD. IBAMA</b></center></td> <td style='width:80px' bgcolor='#B8E4BA'><center><b>QUILO</b></center></td> <td style='width:80px' bgcolor='#B8E4BA'><center><b>LITRO</b></center></td> <td style='width:80px' bgcolor='#B8E4BA'><center><b>CÓD. ONU</b></center></td> <td style='width:80px' bgcolor='#B8E4BA'><center><b>Nº RISCO</b></center></td> </tr> <tr> <td style='padding-left:10' height='20px'>RESÍDUO OLEOSO DA CAIXA SEPARADORA</td> <td><center>130508</center></td> <td style= bgcolor='#E5E5E5'><center></center></td> <td><center>".$result['residuo_oleoso']."</center></td> <td><center>3082</center></td> <td><center>90</center></td> </tr> <tr> <td style='padding-left:10' height='20px'>FRASCOS, TRAPOS E FILTRO DE AR</td> <td><center>150110</center></td> <td><center>".$result['frasco_trapo']."</center></td> <td style= bgcolor='#E5E5E5'><center></center></td> <td><center>3175</center></td> <td><center>40</center></td> </tr> <tr> <td style='padding-left:10' height='20px'>FILTRO DE ÓLEO USADO</td> <td><center>160113</center></td> <td><center>".$result['filtro_de_oleo']."</center></td> <td style= bgcolor='#E5E5E5'></td> <td><center>3175</center></td> <td><center>40</center></td> </tr> </table> <div class='cabecalho-outros1'>OUTROS</div> <div class='cabecalho-outros3'></div><br> <div class='cabecalho-gerador3'><strong>TRANSPORTADOR</strong> </div> <div class='cabecalho2'> <div class='container_1_cabecalho'> <b>Razão Social:</b> HA SERVICOS DE RECICLAGEM EIRELI<br> <b>Nº Licença:</b> 053/2014 SEMURB<br> <b>Endereço:</b> ROD. BR 101 - KM08 1999<br> <b>Cidade:</b> PARNAMIRIM<br> </div> <div class='container_2_cabecalho'> <b>CNPJ:</b> 10.793.274/0001-39<br> <b>Cep:</b> 59.149-090<br> <b>Bairro:</b> EMAUS<br> <b>UF:</b> RN<br> </div> <div class='carros'> Veículo utilizado: MYR-7209 [&nbsp;".$result['c1']."&nbsp;] - MOO-0558 [&nbsp;".$result['c2']."&nbsp;] - QFH-3373 [&nbsp;".$result['c3']."&nbsp;] - QFY-3590 [&nbsp;".$result['c4']."&nbsp;] - QFH-3403 [&nbsp;".$result['c5']."&nbsp;] - QFL-3527 [&nbsp;".$result['c6']."&nbsp;]</div> <div class='condutor'><strong>Condutor:</strong> ".$result['condutor']."</div> <div class='carros2'><i>Obs: Para o transporte a classe é a 09 conforme determina a ONU</i></div> </div> <div class='cabecalho-gerador3'><strong>DESTINADOR FINAL</strong> </div> <div class='cabecalho2'> <div class='container_1_cabecalho'> <b>Razão Social:</b> GILDENOR B. CANUTO S. AMBIENTAIS - EIRELI<br> <b>Nº Licença:</b> 2018-118207/TEC/LO-0014<br> <b>Endereço:</b> SITIO RANCHO DA VELHA, 2010<br> <b>Cidade:</b> GOVERNADOR DIX SEPT ROSADO<br> </div> <div class='container_2_cabecalho'> <b>CNPJ:</b> 18.495.068/0001-54<br> <b>Cep:</b> 59.790-000<br> <b>Bairro:</b> ZONA RURAL<br> <b>UF:</b> RN<br> </div> </div> <br> <div class='qr'>Este Comprovante de Recolhimento de Resíduos deverá ter sua autenticidade comprovada no endereço eletrônico:<br> http://... ou pelo celular lendo o QRCODE abaixo:</div> ######################################### Código que exibe o QR $URL="http://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI']; $tamanho="170"; //Define o tamanho da imagem em px $qrcode="http://chart.apis.google.com/chart?chs=$tamanhox$tamanho&cht=qr&chl=$URL"; $alt="Use um leitor de QR-Code para abrir esta página"; echo "<img src='$qrcode' alt='$alt' width='$tamanho px' height='$tamanho px' />"; </fieldset>";  
    • Por Gustavo2503
      Como trocar virgula por ponto e ponto por virgula de uma mesma string?
    • Por Gustavo2503
      Olá,
       
      Eu preciso da diferença entre um número e outro, mas ele trás deste jeito:
      $valor = 300 - 210.60; //retorna 89.4 Mas eu preciso que retorne 89.40. Como eu faço isso?
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.