Цитата:
Сообщение от Alegun
Каков принцип копирования этого
Код:
...
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);
...
в смысле, как выглядит содержимое строк в мемо полностью? 11 и 5 понятно, а вот 12 и 6 не совсем, зачем столько символов от конца строки вырезается при копировании, просветите пжлст. Похоже что-то или слишком мало или слишком много обрезается при этой операции.
|
в memo4 находится подгружаемый текст, такого содержания:
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;