Ir para conteúdo
Fórum Script Brasil
  • 0

[Dúvida] Function GeraNome:string


LorenaMorena

Pergunta

Boa noite , estou com 2 dúvidas .. não sei se vocês sabem responder..

1º - Estou fazendo um progama que gera um txt e salva em getcurrentdir...Mas eu gostaria de não salvar (rewrite) em cima do arquivo existente..

então gostaria de fazer uma função que verificasse se já tem um arquivo na pasta , se tiver ele pega o nome do arquivo e adiciona +1 (INTEGER)..

exemplo:

Documento de texto 1.txt, opa minha função vai verificar este arquivo e vai fazer outro mas assim : Documento de texto 2.txt , Documento de texto 3.txt, Documento de texto 4.txt e assim vai ^^

2º - gostaria de saber se há algum jeito de fazer minha função receber como result o valor que é gerado em uma stringlist... o resultado será a as strings da stringlist..entenderam.. bom acho que é isto!!

Obrigado a todos!

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0
1º - Estou fazendo um progama que gera um txt e salva em getcurrentdir...Mas eu gostaria de não salvar (rewrite) em cima do arquivo existente..

então gostaria de fazer uma função que verificasse se já tem um arquivo na pasta , se tiver ele pega o nome do arquivo e adiciona +1 (INTEGER)..

exemplo:

Documento de texto 1.txt, opa minha função vai verificar este arquivo e vai fazer outro mas assim : Documento de texto 2.txt , Documento de texto 3.txt, Documento de texto 4.txt e assim vai ^^

2º - gostaria de saber se há algum jeito de fazer minha função receber como result o valor que é gerado em uma stringlist... o resultado será a as strings da stringlist..entenderam.. bom acho que é isto!!

Veja um exemplo ... faça uma adaptação para o seu uso

var
  Form1: TForm1;
  i : integer = 1;
implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
var Arquivo : Textfile; Line : string;
begin
   i := i + 1;
   if FileExists('C:\Texto'+inttostr(i)+'.txt') then
      begin
         AssignFile(Arquivo, 'C:\Texto'+inttostr(i)+'.txt');
         Rewrite(Arquivo);

        // Caso queira trocar alguma linha do arquivo 
         line := 'Conteudo atual do arquivo texto';
         Writeln(Arquivo, Line);

         showmessage('Existente arquivo txt nº ' + inttostr(i));

         CloseFile(Arquivo);
      end
   else
      begin
         AssignFile(Arquivo, 'C:\Texto'+inttostr(i)+'.txt');
         Rewrite(Arquivo);

         line := 'Conteudo novo do arquivo texto';
         Writeln(Arquivo, Line);

         showmessage('criado novo arquivo txt nº ' + inttostr(i));

         CloseFile(Arquivo);
      end;
end;

OBS: Se existir o arquivo (por ex: Texto3.txt) voce pode simplesmente ignorar a escrita ou alterar alguma linha do txt

Se não existir o novo arquivo será criado

Exemplo:

A cada clique do botão será criado um novo arquivo txt

Texto1.txt

Texto2.txt

Texto3.txt

Texto4.txt

etc....

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

Amigão você é fera!!

Obrigado mesmo!!

Questão resolvida asim:

Function RandomFileName:String;
Begin
IRandom:= IRandom+1;
  if FileExists(Form1.LabeledEdit2.Text+ '\' + Form1.LabeledEdit1.Text + ' '+ IntToStr(IRandom) + Extencao) then
    begin
    Result := Form1.LabeledEdit2.Text+ '\' + Form1.LabeledEdit1.Text+ ' ' + IntToStr(IRandom) + Extencao;
    end
  else
    begin
    Result := Form1.LabeledEdit2.Text+ '\' + Form1.LabeledEdit1.Text+ ' ' + IntToStr(IRandom) + Extencao;
    end;
End;

Em relação a minha outra pergunta (string list) alguém sabe?

Link para o comentário
Compartilhar em outros sites

  • 0
2º - gostaria de saber se há algum jeito de fazer minha função receber como result o valor que é gerado em uma stringlist... o resultado será a as strings da stringlist..entenderam.. bom acho que é isto!!

stringlist como o nome já diz é uma lista de strings e portanto voce pode trabalhar com os seus indices

StringList1.Strings[0] := 'Primeira string da lista';

é equivalente

StringList1[0] := 'Primeira string da lista';

para usar o valor do indice da stringlist

var a : string;

a := StringList1[0];

showmessage(a); // Primeira string da lista;

Mais informações no help do delphi ( F1 )

Manipulating strings in a list

OBS: Se esforçe um pouquinho que voce consegue... não é nada complicado

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

Resolvido !!Havia postado como eu tinha resolvido mas parece que não foi então vamos la denovo..

Eu simplismente fiz um loop de 0 para contador de strings na stringlist que tem o procedimento de adicionar ao resultado da função o result da função + a linha da string list ..Segunda eu posto o código , não o pussuo em mãos.

Editado por LorenaMorena
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...