Ajuda - Busca - Membros - Calendário
Versão Completa: [Dúvida] Function GeraNome:string
Fórum Script Brasil > Programação & Desenvolvimento > Delphi, Kylix
LorenaMorena
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!
Jhonas
QUOTE
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

CODE
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
LorenaMorena
Amigão você é fera!!

Obrigado mesmo!!

Questão resolvida asim:

CODE
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?
Jhonas
QUOTE
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


LorenaMorena
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.

Jhonas
QUOTE
Segunda eu posto o código , não o pussuo em mãos.


Seja mais claro ... não entendi

abraço
Esta é uma versão simplificada de nosso conteúdo principal. Para ver a versão completa com maiores informações, formatação e imagens, por favor clique aqui.
Invision Power Board © 2001-2012 Invision Power Services, Inc.