Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
rodrigoiasi Novato
![Novato Novato](../modules/PNphpBB2/templates/PNTheme/images/narodniki-classic/star1.gif)
Registrado: Sexta-Feira, 10 de Fevereiro de 2012 Mensagens: 22
|
Enviada: Qui Dez 19, 2013 7:07 pm Assunto: Comparar nomes de arquivos |
|
|
Boa noite!
Eu estou com uma situação que não consigo resolver.
Preciso pegar uma lista de arquivos de um filelistbox1
Neste só terão arquivos onde os ultimos 24 caracteres não podem ser iguais.
Aí vem a bucha : nao consigo pegar o nome de cada arquivo e comparar com os ultimos 24 caracteres de cada outro arquivo que consta nesta lista.
Preciso comparar cada um dos arquivos, com todos da lista e identificar os que estão com os ultimos 24 caracteres iguais e jogar em um memo, para separar estes arquivos posteriormente.
Alguem te alguma ideia para que eu resolva esta bucha???
Código: |
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, FileCtrl;
type
TForm1 = class(TForm)
FileListBox1: TFileListBox;
DriveComboBox1: TDriveComboBox;
DirectoryListBox1: TDirectoryListBox;
Button1: TButton;
Memo1: TMemo;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
function ObterIguais(StrCompleta: string): string;
var
PosCar: integer;
StrTmp: string;
LengthTmp: integer;
ii:integer;
begin
Memo1.Clear;
Result := '';
if LengthTmp > 24 then
begin
for ii:=0 to FileListBox1.Items.Count - 1 do
Memo1.Lines.Add(ObterIguais(FileListBox1.Items[ii]));
Memo1.Lines.SaveToFile(ExtractFilePath(paramstr(0))+'convertido.txt');
end;
end;
begin
end;
end.
end
|
Eu me confundi todo tentando reaproveitar um codigo.
Mas nao to conseguindo....
Algue me ajuda??? |
|
Voltar ao Topo |
|
![](templates/subSilver/images/spacer.gif) |
informacaoweed Aprendiz
![Aprendiz Aprendiz](../modules/PNphpBB2/templates/PNTheme/images/narodniki-classic/star2.gif)
![](images/avatars/860873468575ec84bd91fd.jpg)
Registrado: Terça-Feira, 1 de Outubro de 2013 Mensagens: 268 Localização: Porto Alegre / RS
|
Enviada: Sex Dez 20, 2013 8:32 am Assunto: Re: Comparar nomes de arquivos |
|
|
Eu não entendi nada do seu código, e não entendi muito bem em que componente está a lista de arquivos com os quais vc tem que comparar os arquivos que estão no filelistbox. Vou imaginar que estão em uma listbox. Então vc adapta para o componente correto
Código: |
//no cliclk no botão este código :
for ii:=0 to FileListBox1.Items.Count - 1
do ObterIguais(ExtractFilePath(FileListBox1.Items[ii]));
//...
//Depois na função ObterIguais:
procedure TForm1.ObterIguais(Arquivo: String);
var iIndex : integer;
begin
if Length(Arquivo) >= 24 then
begin
{vou imaginar que os arquivos com os quais vc tem que comparar estão em uma listbox, pois eu não entendi onde eles estão}
for iIndex := 0 to ListBox1.Count - 1
do
begin
if length(ListBox1.Items[iIndex]) > 24 then
begin
if Copy(Arquivo, Length(Arquivo) - 24, Length(Arquivo)) = Copy(ListBox1.Items[iIndex], Length(ListBox1.Items[iIndex]) - 24, Length(LisBox1.Items[iIndex]))
then SalvaFile(Arquivo);
end;
end;
end;
end;
|
Obs: Não trabalho com listbox há um tempo então não sei se a propriedade correta é ListBox1.Items ou ListBox.Lines. _________________ Aguarde... nossa Evolução está sendo processada. |
|
Voltar ao Topo |
|
![](templates/subSilver/images/spacer.gif) |
rodrigoiasi Novato
![Novato Novato](../modules/PNphpBB2/templates/PNTheme/images/narodniki-classic/star1.gif)
Registrado: Sexta-Feira, 10 de Fevereiro de 2012 Mensagens: 22
|
Enviada: Sex Dez 20, 2013 11:42 am Assunto: |
|
|
O nome dos arquivos estarão no FileListBox1 |
|
Voltar ao Topo |
|
![](templates/subSilver/images/spacer.gif) |
rodrigoprado Colaborador
![Colaborador Colaborador](../modules/PNphpBB2/templates/PNTheme/images/narodniki-classic/colaborador.gif)
Registrado: Terça-Feira, 24 de Mai de 2005 Mensagens: 1074 Localização: Curitiba/PR
|
Enviada: Sex Dez 20, 2013 2:04 pm Assunto: |
|
|
Estes último 24 caracteres são constantes?
Tenho um diretório com varios arquivos, ai soh printo os que forem "pas" No final
tem essa rotina que mapea se for um valor constante.
procedure TForm1.Button1Click(Sender: TObject);
var
i, iQtdCaracteres: Integer;
sPalavra, sAux: String;
begin
for I := 0 to FileListBox1.Items.Count-1 do
if Copy(FileListBox1.Items[i],Pos('.',FileListBox1.Items[i])+1,3) = 'pas' then
showmessage(FileListBox1.Items[i]);
end; _________________ - Compartilhe seus conhecimentos - |
|
Voltar ao Topo |
|
![](templates/subSilver/images/spacer.gif) |
rodrigoiasi Novato
![Novato Novato](../modules/PNphpBB2/templates/PNTheme/images/narodniki-classic/star1.gif)
Registrado: Sexta-Feira, 10 de Fevereiro de 2012 Mensagens: 22
|
Enviada: Sex Dez 20, 2013 3:16 pm Assunto: |
|
|
Vou descrever o cenário:
Os arquivos são compostos da seguinte forma
NOME SOBRENOME .01 20 12 2013 16 12.eeg
Os ultimos 24 caracteres são a data hora e a extensão do arquivo. A extensão nunca muda .eeg
O nome e sobrenome e a data mudam.
Preciso comparar os ultimos 24 caracteres dos nomes dos arquivos do FileListBox1 e informar quais que tem esses caracteres iguais. Os que não repetirem esses 24 caracteres, OK. Os que repetirem ao menos uma vez, preciso separar para verificar...... |
|
Voltar ao Topo |
|
![](templates/subSilver/images/spacer.gif) |
rodrigoiasi Novato
![Novato Novato](../modules/PNphpBB2/templates/PNTheme/images/narodniki-classic/star1.gif)
Registrado: Sexta-Feira, 10 de Fevereiro de 2012 Mensagens: 22
|
Enviada: Sáb Dez 21, 2013 9:56 am Assunto: |
|
|
Consegui !!!!! |
|
Voltar ao Topo |
|
![](templates/subSilver/images/spacer.gif) |
|