![]() |
|
|
|
|
#1
|
|||
|
|||
|
Доброго времени суток. Уважаемые профессионалы, подскажите пожалуйста как можно реализовать следующее: у меня есть папка куда скидываются xml файлы и архивы с ними. Я уже реализовал поиск файлов и отправку их в мемо. Не могу понять почему он выдает только последнее совпадение со строчкой.
делаю все так Код:
procedure TForm1.SpeedButton3Click(Sender: TObject);
var
j,i:integer;
sa,st:shortstring;
begin
for i:=0 to Memo4.Lines.Count-1 do begin
if (Pos('package_n_',Memo4.Lines.Strings[i])<>0)
then begin
St:=Copy(Memo4.Lines.Strings[i],11,length(Memo4.Lines.Strings[i])-12);
Memo5.Lines.Add(st);
end;
for j:=0 to Memo6.Lines.Count-1 do begin
if (Pos('req_',Memo6.Lines.Strings[j])<>0)
then begin
Sa:=Copy(Memo6.Lines.Strings[j],5,length(Memo6.Lines.Strings[j])-6);
Memo7.Lines.Add(sa);
end;
end;
end;
begin
for i := 0 to memo5.lines.Count - 1 do
if memo5.Lines.Strings[i]=memo7.Lines.Strings[j] then
memo8.Lines.Add(st);
for j := 0 to memo7.Lines.Count - 1 do
if memo7.Lines.Strings[j]=memo5.Lines.Strings[i] then
memo8.Lines.Add(sa);
end;
end;![]() |
|
#2
|
||||
|
||||
|
Каков принцип копирования этого
Код:
... St:=Copy(Memo4.Lines.Strings[i],11,length(Memo4.Lines.Strings[i])-12); ... Код:
... Sa:=Copy(Memo6.Lines.Strings[j],5,length(Memo6.Lines.Strings[j])-6); ... Да и потом, вот в этом месте Код:
...
for i := 0 to memo5.lines.Count - 1 do
if memo5.Lines.Strings[i]=memo7.Lines.Strings[j] then
memo8.Lines.Add(st);
for j := 0 to memo7.Lines.Count - 1 do
if memo7.Lines.Strings[j]=memo5.Lines.Strings[i] then
memo8.Lines.Add(sa);
...Код:
procedure TForm1.SpeedButton3Click(Sender: TObject);
var
j, i: integer;
sa, st: shortstring;
begin
for i := 0 to Memo4.Lines.Count - 1 do
begin
if (Pos('package_n_',Memo4.Lines.Strings[i]) <> 0) then
begin
St:= Copy(Memo4.Lines.Strings[i],11,Length(Memo4.Lines.Strings[i])-12);
Memo5.Lines.Add(st);
end;{if}
for j := 0 to Memo6.Lines.Count - 1 do
begin
if (Pos('req_', Memo6.Lines.Strings[j]) <> 0) then
begin
Sa:= Copy(Memo6.Lines.Strings[j], 5, Length(Memo6.Lines.Strings[j]) - 6);
Memo7.Lines.Add(sa);
end; {if}
end; {for j}
end; {for i}
//begin
for i := 0 to memo5.lines.Count - 1 do
if Memo5.Lines.Strings[i] = Memo7.Lines.Strings[j] then
Memo8.Lines.Add(st);
for j := 0 to Memo7.Lines.Count - 1 do
if Memo7.Lines.Strings[j] = Memo5.Lines.Strings[i] then
Memo8.Lines.Add(sa);
//end;
end; |
|
#3
|
|||
|
|||
|
Цитата:
package_n_145114eb-a009-4774-9da4-180be513209c.xml package_n_3812d4c1-f850-4e75-8a6a-2b8653656921.xml package_n_83b9004c-9ad2-48e3-bee5-f86f33fcec06.xml package_n_aa1da6fd-0a78-4b00-a9ce-001110a3c712.xml package_n_bd6b0172-a9a6-4849-9f61-df32bca15923.xml package_n_db29d604-164c-4af2-a9ec-dab1a1732bf9.xml package_n_fc450acd-3bf1-4457-b372-c8fb07530265.xml а в memo6 текст по аналогии загружаемый как и предыдущий и содржит: req_145114eb-a009-4774-9da4-180be513209c.zip req_aa1da6fd-0a78-4b00-a9ce-001110a3c712.zip req_db29d604-164c-4af2-a9ec-dab1a1732bf9.zip req_fc450acd-3bf1-4457-b372-c8fb07530265.zip а такое маленькое количество символов из-за того, что я не знал как это все дело вывести полностью и действительно, оно мне показывает не полностью число, а только частично. Если укажите на недостаток буду только признателен. Мне удалось решить поставленную задачу только через listbox, правда при выводе возникают дубликаты. Код выглядит примерно так Код:
procedure TForm1.SpeedButton3Click(Sender: TObject);
var
j,i:integer;
sa,st:shortstring;
begin
for i:=0 to Memo4.Lines.Count-1 do
begin
if (Pos('package_n_',Memo4.Lines.Strings[i])<>0)
then
begin
St:=Copy(Memo4.Lines.Strings[i],11,length(Memo4.Lines.Strings[i])-12);
ListBox4.Items.Add(St);
end;
for j:=0 to Memo6.Lines.Count-1 do
begin
if (Pos('req_',Memo6.Lines.Strings[j])<>0)then
begin
Sa:=Copy(Memo6.Lines.Strings[j],5,length(Memo6.Lines.Strings[j])-6);
ListBox5.Items.Add(Sa);
end;
end;
end;
begin
for i := 0 to Listbox4.Items.Count - 1 do
for j := 0 to Listbox5.Items.Count - 1 do
if pos(ListBox4.Items.Strings[i],ListBox5.Items.strings[j])>0 then
ListBox6.Items.Add(listbox5.Items.Strings[j]);
end;
end; |
|
#4
|
||||
|
||||
|
А что должно происходить на выходе, в смысле, следует отобрать имена файлов для которых есть архив или что-то другое?
|
|
#5
|
|||
|
|||
|
да, должно выводить xml с которыми имеется архив
|