Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

apenasjigsaw

Gravar documentos com o mesmo nome na mesma pasta

Recommended Posts

Essa dúvida é um pouco complexa, então vou explicar detalhadamente.

 

Vamos supor que eu tenha uma pasta na área de trabalho denominada Downloads, e que eu defina esta pasta como o local onde os arquivos baixados da internet devem ser salvos.

 

Se eu baixar um documento do meu e-mail, chamado relatorio.txt, ele será salvo automaticamente nesta pasta com o nome relatorio.txt

 

Se eu baixar novamente este mesmo documento, ele será salvo automaticamente na mesma pasta com o nome relatorio.txt(1)

 

Se eu baixar novamente este mesmo documento, ele será salvo automaticamente na mesma pasta com o nome relatorio.txt(2). E assim por diante.

 

Quando eu baixo o mesmo arquivo 100 vezes, ele será salvo na mesma pasta com o nome relatorio.txt(100).

 

Porém, quando eu tento baixar o mesmo documento mais de 100 vezes, o computador não salva automaticamente como relatorio.txt(101).

 

Ele abre uma caixa de diálogo, obrigando que eu defina o nome dele.

 

Tem alguma forma de aumentar esta capacidade, para ir renomeando o mesmo arquivo automaticamente, quantas vezes eu quiser?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Recebi esta resposta em outro Fórum:

 

Não amigo, não existe essa possibilidade em plataforma Windows, pois ainda não evoluímos em termos de quantidade de caracteres ilimitados para nomes de documentos salvos em pastas locais. Existem limitações por quantidades de caracteres Salvos entre o minimo e máximo permitido.

 

Sugestão: Ou você realiza o processo da mudança do nome do arquivo manualmente no ato do salvamento do arquivo ou a equipe de desenvolvimento pode alterar a mudança no nome da extensão gerada. Essa Ultima opção pode ser impossível de se mudar um processo já existente já implantado na programação só lamento, ou simplesmente existir a possibilidade da mudança EQUIPE DE TI .  

 

Ou você pode criar pastas individuais e salvar em diferentes pasta.

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por JVmendes
      Ola pessoal! estou começando a aprender javascript, meu amigo mais experiente me desafio a fazer um programa em Javascript que:
      Leia dois arquivos, diga q codigos estao em um arquivo ou no outro, caso esteja nos dois avise, print os codigos em ordem alfabetica.
      Como faço manipulação de arquivos?? alguem pode me ajudar?
    • Por danyg
      Como faço para transformar esse algoritmo, adicionar ponteiros alocação e arquivo de texto...ai a qstão e o que eu tenho kk..agradeço ajda
       
       
      A nota de compra e venda deve apresentar obrigatoriamente para o cliente a quantidade
      de cada produto comprado, a descrição do produto e o seus respectivos preços, como ilustra a
      figura abaixo. O objetivo é deixar claro para o cliente quanto ele está pagando pelos produtos.
      No final da nota deverá aparecer o preço total da compra, mas muita atenção a regra de negócio
      do mercado diz que:
       
       
       
      Compras acima de R$100 o estabelecimento oferece um desconto de 1% no preço total.
      Compras acima de R$200 o estabelecimento oferece um desconto de 5% no preço total.
      Compras acima de R$300 o estabelecimento oferece um desconto de 10% no preço total.
      Compras acima de R$400 o estabelecimento oferece um desconto de 20% no preço total.
       
      Os produtos que são vendidos no mercado encontam-se em um arquivo texto e devem ser
      carregados em seu sistema. Lembre-se novos produtos podem ser inseridos, preços atualizados e
      o estoque é alterado a cada compra, logo você deve controlar a integridade dos dados atualizando
      o arquivo quando necessário. Segue abaixo um arquivo de exemplo com código do produto,
      descrição, preço, quantidade:
       
       
      produtos.txt
       
      5000 AguaComGaz500ml 2.10 105
      5001 ArrozTioJoao2k 4.65 10
      5002 BatataPringles40g 6.20 50
      5003 CocaCola2l 4.50 60
      5004 FeijaoCarioquinha2k 7.10 35
      .
      .
      .
      Atenção: o sitema também deve ter um menu de opções. Exemplo:
      SISTEMA DE CONTROLE DE VENDAS
      1) Carregar base de dados do arquivo
      2) Salvar base de dados no arquivo
      3) Cadastrar produto
      4) Remover produto
      5) Iniciar uma venda
      6) Sair
       
       
      >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
       
       
      #include<stdio.h>
      #include<stdlib.h>
      #include<conio.h>
      main()
      {
      system ("color F9");
       
      float preco[150], precoNF, NFPreco_Produto[150]; //Vetores e variáveis que trabalham com preço
      int a=0, x=0, v=0, rel=0, y, i, aux, cod_exclui, troca; //Declaração de variáveis utilizadas para leitura, gravação, exlclusão e ordenar vetores
      int codigo[150], estoque[150], codigoNF[150], codigoVenda[v], NFCod_Produto[150], NFCod[150], NFEstoque_Produto[150], procura_cod, procura_est, vetor_ref; //Declaração de Vetores diversos
      int op_Menu_Pricipal, op_Menu_Estoque, op_Menu_Venda, op_Menu_Relat, opGeral, teste, teste_est; //Variavéis de Menus e condições
       
      //Aqui começa o programa
      do //Do voltado para repetição geral do programa, voltando sempre ao menu principal em alguma hora
      {
      printf ("SIGVER - SISTEMA DE GERENCIAMENTO DE VENDAS, ESTOQUE E RELATORIOS\n\nInforme o que voce deseja fazer:\n[1] - Gerenciar Estoque\n[2] - Registrar Venda\n[3] - Gerar Relatorio\n[4] - Sair\nSua escolha: "); //Interface com o usuário
      scanf ("%d", &op_Menu_Pricipal); //Captura de variável do menu principal
      system ("cls");
       
      switch (op_Menu_Pricipal) //Leitura de variável para aplicação da condição
      {
      case 1:
      do //Repetição com objetivo de poder voltar a este menu após alguma alteração de dados dentro do mesmo
      {
      printf ("SIGVER - GERENCIAMENTO DE ESTOQUE\n\nO que voce desejar fazer:\n[1] - Incluir novo cadastro\n[2] - Alterar cadastro especifico\n[3] - Excluir cadastro\n[4] - Voltar\nSua escolha: "); //Interface com o usuário
      scanf ("%d", &op_Menu_Estoque); //Captura da variável do menu Estoque
      system ("cls");
      switch (op_Menu_Estoque) //Leitura de variável para aplicação da condição
      {
      case 1:
      do // Repetição com objetivo para informar novo cadastro
      {
      printf ("SIGVER - GERENCIAMENTO DE ESTOQUE\n\nINCLUSAO DE NOVO CADASTRO\n\n");
      teste=0;
      do //Voltada para teste de condição CÓDIGO (Se o código existir, informar erro e repetir)
      {
      teste=0;
      printf ("Informe o codigo do produto: ");
      scanf ("%d", &codigo[x]);
      for (i=0; i<x; i++)
      {
      if (codigo[x]==codigo)
      {
      printf ("ERRO - O codigo ja existe\n");
      teste=1;
      }
      }
      }
      while(teste==1); //Fim de condição CÓDIGO
      do //Voltada para teste de condição PREÇO (Se for "- ou =0", informar erro e repetir)
      {
      teste=0;
      printf ("Informe o preco unitario: ");
      scanf ("%f", &preco[x]);
      if (preco[x]<=0)
      {
      printf ("ERRO - Preco invalido\n");
      teste=1;
      }
      }
      while (teste==1); //Fim de condição PREÇO
      do //Voltada para teste de condição QUANTIDADE EM ESTOQUE (Se for negativo, informar erro e repetir)
      {
      teste=0;
      printf ("Informe a quantidade de produtos no estoque: ");
      scanf ("%d", &estoque[x]);
      if (estoque[x]<0)
      {
      printf ("ERRO - Estoque negativo\n");
      teste=1;
      }
      }
      while (teste==1);//Fim de condição QUANTIDADE EM ESTOQUE
      printf ("\n\nDeseja incluir novo produto?\n[1] - Sim\n[2] - Nao\nSua Escolha: ");
      scanf ("%d", &teste); //Captura de variável para repetição de inclusao
      x++; //Incrementada para mudar a posição de gravação dos vetores
      rel++; //Incrementada para a geração de relatórios, que será feita mais a frente
      system ("cls");
      }
      while (teste==1); //Fim da repetição para inclusão de novo produto
      system ("cls");
      printf ("SIGVER - SISTEMA DE GERENCIAMENTO DE VENDAS, ESTOQUE E RELATORIOS\n\nO que deseja fazer:\n[1] - Voltar ao Gerenciador de Estoque\n[2] - Voltar ao Menu Pricipal\nSua escolha: ");
      scanf ("%d", &opGeral); //Tomada de decisão, voltar ao menu principal ou ao menu anterior
      break;
      case 2:
      do //Repetição com objetivo para alterar algum cadastro
      {
      printf ("SIGVER - GERENCIAMENTO DE ESTOQUE\n\nALTERACAO DE CADASTRO ESPECIFICO");
      teste=0;
      if (x==0) //Voltada para procurar se possui alguma coisa em estoque
      {
      printf ("Nenhum produto em estoque\n");
      }
      else
      {
      printf ("\n\nInforme o codigo do produto: ");
      scanf ("%d", &procura_cod);
      for (i=0; i<x; i++)
      {
      teste=0;
      if (procura_cod==codigo)
      {
      do //Voltada para teste de condição PREÇO (Se for "- ou =0", informar erro e repetir)
      {
      teste=0;
      printf ("Informe o preco unitario: ");
      scanf ("%f", &preco);
      if (preco[x]<=0)
      {
      printf ("ERRO - Preco invalido\n");
      teste=1;
      }
      }
      while (teste==1); //Fim de condição PREÇO
      do //Voltada para teste de condição QUANTIDADE EM ESTOQUE (Se for negativo, informar erro e repetir)
      {
      teste=0;
      printf ("Informe a quantidade de produtos no estoque: ");
      scanf ("%d", &estoque);
      if (estoque[x]<0)
      {
      printf ("ERRO - Estoque negativo\n");
      teste=1;
      }
      }
      while (teste==1);//Fim de condição QUANTIDADE EM ESTOQUE
      teste=1;
      i=x;
      }
      }
      if (teste==0)
      {
      printf ("\nERRO - Codigo nao encontrado\n");
      }
      }
      printf ("\nDeseja alterar outro cadastro?\n[1] - Sim\n[2] - Nao\nSua escolha: ");
      scanf ("%d", &teste); //Captura de variável para repetição de alteração
      system ("cls");
      }
      while (teste==1); //Fim da repetição para alterção de cadastro
       
      system ("cls");
      printf ("SIGVER - SISTEMA DE GERENCIAMENTO DE VENDAS, ESTOQUE E RELATORIOS\n\nO que deseja fazer:\n[1] - Voltar ao Gerenciador de Estoque\n[2] - Voltar ao Menu Pricipal\nSua escolha: ");
      scanf ("%d", &opGeral);
      break;
      case 3:
      do //Voltada a repetição e exclusão
      {
      printf ("SIGVER - GERENCIAMENTO DE ESTOQUE\n\nEXCLUSAO DE CADASTRO\n");
      printf ("Informe o codigo a ser excluido: ");
      scanf ("%d", &procura_cod);
      teste=0;
      for (i=0; i<x; i++) //Ele procura o código
      {
      if (procura_cod==codigo)
      {
      printf ("Codigo Encontrado!\nExcluido com sucesso!");
      teste=1;
      cod_exclui=i;
      i=x;
      for (i=cod_exclui; i<x; i++) //Reordena os vetores e exclui o selecionado(executa a exclusão)
      {
      codigo=codigo[i+1]; //Exclui o código selecionado
      preco=preco[i+1]; //Exclui o preço referente ao código selecionado
      estoque=estoque[i+1]; //Exclui a quantidade de estoque referente ao código selecionado
      }
      rel=rel-1; //Atualiza o vetor, já que agora temos menos um item registrado
      x=x-1; //Atualiza o vetor, já que agora temos menos um item registrado
      }
      }
       
      if (teste==0)
      {
      printf ("Codigo nao encontrado!");
      }
      printf ("\n\nDeseja excluir outro cadastro?\n[1] - Sim\n[2] - Nao\nSua Escolha:");
      scanf ("%d", &teste);
      system ("cls");
      }
      while (teste==1); //Condiciona se vai excluir outro ou não
      system ("cls");
      printf ("SIGVER - SISTEMA DE GERENCIAMENTO DE VENDAS, ESTOQUE E RELATORIOS\n\nO que deseja fazer:\n[1] - Voltar ao Gerenciador de Estoque\n[2] - Voltar ao Menu Pricipal\nSua escolha: ");
      scanf ("%d", &opGeral);
      break;
      case 4:
      opGeral=2; //Atualizada para que possa se retornar ao menu principal
      break;
      default:
      printf ("Opcao invalida\n\n");
      printf ("SIGVER - SISTEMA DE GERENCIAMENTO DE VENDAS, ESTOQUE E RELATORIOS\n\nO que deseja fazer:\n[1] - Voltar ao Gerenciador de estoque\n[2] - Voltar ao menu pricipal\nSua escolha: ");
      scanf ("%d", &opGeral);
      break;
      }
      system ("cls");
      }
      while (opGeral==1);
      break;
      case 2:
      do
      {
      printf ("SIGVER - VENDAS\n\nO que voce desejar fazer:\n[1] - Registrar Venda\n[2] - Ver Nota Fiscal Especifica\n[3] - Relatorio de NFs\n[4] - Voltar\nSua escolha: ");
      scanf ("%d", &op_Menu_Venda); //Captura de variavel do menu venda
      system ("cls");
      switch (op_Menu_Venda) //Leitura de variável para aplicação da condição
      {
      case 1:
      do
      {
      printf ("SIGVER - VENDAS\n\nREGISTRAR VENDA\n");
      do //Repetição de procura e gravação do número da NF
      {
      teste=0;
      printf ("Informe o codigo da NF: ");
      scanf ("%d", &procura_cod);
      for (i=0; i<=v; i++)
      {
      if (procura_cod==NFCod)
      {
      teste=1;
      i=v+1;
      }
      else
      {
      if (i==v)
      {
      NFCod[v]=procura_cod;
      teste=0;
      }
      }
      }
      if (teste==1)
      {
      printf ("ERRO - O codigo ja existe\n");
      }
      }
      while(teste==1); //Voltada para teste de condição (Se o código da NF já existir, informar erro e repetir)
      do
      {
      printf ("\nInforme o codigo do produto: ");
      scanf ("%d", &procura_cod);
      for (i=0; i<x; i++)
      {
      if (procura_cod==codigo)
      {
      printf ("Codigo encontrado!!\n");
      vetor_ref=i;
      i=x;
      teste=0;
      NFCod_Produto[v]=procura_cod; //Grava no vetor o código do produto vendido, para futuras consultas
      }
      else
      {
      teste=1;
      }
      }
      if (teste==1)
      {
      printf ("Codigo nao encontrado!!\n");
      }
      }
      while(teste==1); //Fim da condição de teste de CÓDIGO DE NF
      do //Verifica se o numero de procutos vendidos tem em estoque (se n tiver informa erro)
      {
      teste_est=0;
      printf ("Informe a quantidade de produtos vendidos: ");
      scanf ("%d", &procura_est);
      if (procura_est<=0)
      {
      printf ("ERRO - Estoque invalido\n");
      teste_est=1;
      }
      else
      {
      if (procura_est>estoque[vetor_ref])
      {
      printf ("ERRO - Nao ha esta quantidade em estoque\n");
      teste_est=1;
      }
      else
      {
      estoque[vetor_ref]=estoque[vetor_ref]-procura_est;
      NFEstoque_Produto[v]=procura_est; //Grava no vetor a quantidade vendida, para futuras consultas
      }
      }
      }
      while (teste_est==1); //Fim da condição TESTE DE ESTOQUE
       
      precoNF=procura_est*preco[vetor_ref]; //Gera o preço da VENDA
      printf ("O total da nota e de: %.2f\n\n", precoNF);
      NFPreco_Produto[v]=precoNF; //Grava no vetor o preço, para futuras consultas
       
      v++; //Atualiza V, que é utilizado para mudar o loval de gravação no vetor, no caso de ser feita uma nova venda, O uso dela está relacionado a geração das NF´s
       
      printf ("\nDeseja registrar outra venda?\n[1] - Sim\n[2] - Nao\nSua escolha: ");
      scanf ("%d", &teste);
      system ("cls");
      }
      while (teste==1);
      printf ("SIGVER - VENDAS\n\nO que deseja fazer:\n[1] - Voltar ao menu de Vendas\n[2] - Voltar ao menu pricipal\nSua escolha: ");
      scanf ("%d", &opGeral);
      break;
      case 2:
      do
      {
      do //Voltada para repetição de procura por NF, caso o código digitado não existir
      {
      printf ("Informe o codigo da NF: ");
      scanf ("%d", &procura_cod);
      if (v==0) //Procura para ver se existem vendas e consequentemente NF´s registradas
      {
      printf ("Nao existem notas fiscais registradas\n");
      }
      else
      {
      teste=0;
      for (i=0; i<=v; i++) //Faz a procura no vetor, se n encontarm informa erro e repete
      {
      if (procura_cod==NFCod)
      {
      printf ("O codigo da NF e: %d\n", NFCod);
      printf ("O codigo do produto vendido e: %d\n", NFCod_Produto);
      printf ("A quantidade vendida e: %d\n", NFEstoque_Produto);
      printf ("O preco da NF e: %.2f\n", NFPreco_Produto);
      teste=1;
      }
      }
      {
      if (teste==0)
      {
      printf ("\nERRO - Codigo nao encontrado\n");
      }
      }
       
      }
      }
      while (teste==0);
      printf ("\nDeseja ver outra NF?\n[1] - Sim\n[2] - Nao\nSua escolha: ");
      scanf ("%d", &teste);
      system ("cls");
      }
      while(teste==1);
      printf ("SIGVER - VENDAS\n\nO que deseja fazer:\n[1] - Voltar ao menu de Vendas\n[2] - Voltar ao menu pricipal\nSua escolha: ");
      scanf ("%d", &opGeral);
      break;
      case 3:
      do //Uso do metodo bolha para ordenar codigos
      {
      troca=0;
      for (i=0; i<v; i++)
      {
      if (NFCod>NFCod[i+1])
      {
      aux=NFCod[i+1];
      NFCod[i+1]=NFCod;
      NFCod=aux;
      troca=1;
      }
      }
      }
      while (troca==1); //Fim do uso do metodo bolha
      printf ("##CODIGO NF # COD.PROD. VENDIDO # QTI. VENDIDA # PRECO TOTAL ##\n\n");
      for (i=0; i<v; i++)
      {
      printf ("## %d # %d # %d # %.2f ##\n", NFCod, NFCod_Produto, NFEstoque_Produto, NFPreco_Produto);
      }
      printf ("\nRelatorio concluido\n\n");
      printf ("\nSIGVER - VENDAS\n\nO que deseja fazer:\n[1] - Voltar ao menu de Vendas\n[2] - Voltar ao menu pricipal\nSua escolha: ");
      scanf ("%d", &opGeral);
      break;
      case 4:
      opGeral=2;
      break;
      default:
      printf ("Opcao invalida\n\n");
      printf ("\nO que deseja fazer:\n[1] - Voltar ao menu de Vendas\n[2] - Voltar ao menu pricipal\nSua escolha: ");
      scanf ("%d", &opGeral);
      break;
      }
      system ("cls");
      }
      while (opGeral==1);
      break;
      case 3:
      do
      {
      printf ("SIGVER - RELATORIOS\n\nQual tipo de relatorio que voce deseja gerar:\n[1] - Estoque completo\n[2] - Produto especifico\n[3] - Estoque zerado\n[4] - Voltar\nSua escolha: ");
      scanf ("%d", &op_Menu_Relat); //Captura de variável do menu relatorios
      system ("cls");
      switch (op_Menu_Relat)//Leitura de variável para aplicação da condição
      {
      case 1:
      printf ("SIGVER - RELATORIOS\n\nRELATORIO COMPLETO DE ESTOQUE\n\n");
      if (x==0)
      {
      printf ("Nenhum produto em estoque\n");
      }
      else
      {
      do //Metodo bolha, para ordenar os codigos
      {
      troca=0;
      for (i=0; i<rel; i++)
      {
      if (codigo>codigo[i+1])
      {
      aux=codigo[i+1];
      codigo[i+1]=codigo;
      codigo=aux;
       
      aux=preco[i+1];
      preco[i+1]=preco;
      preco=aux;
       
      aux=estoque[i+1];
      estoque[i+1]=estoque;
      estoque=aux;
      troca=1;
      }
      }
      }
      while (troca==1); //Fim do uso do metodo bolha
      for (i=0; i<rel; i++) //Geração do relatório utilizando a pesquisa em vetores
      {
      printf ("||Codigo: %d\t||Preco: R$ %.2f\t||Quantidade em Estoque:%d\n", codigo, preco, estoque);
      }
      }
      printf ("\nO que deseja fazer:\n[1] - Voltar ao Menu Relatorio\n[2] - Voltar ao Menu Pricipal\nSua escolha: ");
      scanf ("%d", &opGeral);
      break;
      case 2:
      printf ("SIGVER - RELATORIOS\n\nRELATORIO DE PRODUTO ESPECIFICO\n");
      if (x==0)
      {
      printf ("\nNenhum produto em estoque\n");
      }
      else
      {
      printf ("Informe o codigo: ");
      scanf ("%d", &procura_cod);
      for (i=0;i<=x; i++) //Procura do código do produto pedido
      {
      if (procura_cod==codigo)
      {
      printf ("\n||Codigo: %d\t||Preco: R$ %.2f\t||Quantidade em Estoque:%d\n", codigo, preco, estoque);
      i=x+1;
      }
      else
      {
      if (i==x)
      {
      printf ("\nCodigo nao encotrado\n");
      }
      }
      }
      }
      printf ("\nO que deseja fazer:\n[1] - Voltar ao Menu Relatorio\n[2] - Voltar ao Menu Pricipal\nSua escolha: ");
      scanf ("%d", &opGeral);
      break;
      case 3:
      printf ("SIGVER - RELATORIOS\n\nRELATORIO DE PRODUTOS COM ESTOQUE ZERADO\n\n");
      teste=0;
      if (x==0)
      {
      printf ("\nNenhum produto em estoque\n");
      }
      else
      {
      printf ("Estao com o estoque zerado os seguintes produtos:\n");
      do //Metodo bolha, para ordenar os codigos
      {
      troca=0;
      for (i=0; i<rel; i++)
      {
      if (codigo>codigo[i+1])
      {
      aux=codigo[i+1];
      codigo[i+1]=codigo;
      codigo=aux;
       
      aux=preco[i+1];
      preco[i+1]=preco;
      preco=aux;
      }
      }
      }
      while (troca==1); //Fim do uso do metodo bolha
      for (i=0; i<rel; i++) //Procura produtos com estoque igual a 0 e os informa
      {
      if (estoque==0)
      {
      printf ("# Codigo: %d # Preco: %.2f #\n", codigo, preco);
      teste=1;
      }
      }
      if (teste==0)
      {
      printf ("Nao ha nenhum produto com estoque zerado");
      }
      }
      printf ("\nO que deseja fazer:\n[1] - Voltar ao Menu Relatorio\n[2] - Voltar ao Menu Pricipal\nSua escolha: ");
      scanf ("%d", &opGeral);
      break;
      case 4:
      opGeral=2;
      default:
      printf ("Opcao invalida\n\n");
      break;
      }
      system ("cls");
      }
      while (opGeral==1);
      break;
      case 4:
      printf ("SIGVER - SISTEMA DE GERENCIAMENTO DE VENDAS, ESTOQUE E RELATORIOS\n\nObrigado por utilizar este software\n\n"); //Mensagem final
      opGeral=0;
      system ("pause");
      break;
      default:
      printf ("Opcao invalida\n\n");
      system ("pause");
      system ("cls");
      opGeral=2;
      break;
      }
      }
      while (opGeral==2); //Fim do Do-While para repetição geral do sistema (votar ao menu principal)
      }
×

Informação importante

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