IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

 
 Ответить  Открыть новую тему 
> TOutLine.Вывод полного пути элемента схемы.
сообщение
Сообщение #1


Фанат Delphi
**

Группа: Пользователи
Сообщений: 72
Пол: Мужской
Реальное имя: Сергей

Репутация: -  0  +


Помогите вывести полный путь элемента схемы.
Например, имеется ini-файл System. При раскрытии этого файла и нажатия на [driver32] должен вывести путь:C:\WINDOWS\System\[driver32].
Ну, или что-то подобное. Может какое-нибудь свойство есть?
Код
procedure TForm1.Button1Click(Sender: TObject);
var s:string;
  N,first,Last:word;
  TS:TStringList;
begin
with OpenDialog1 do
  if Execute then
   begin
    OutLine1.Clear;
    TS:=TStringList.Create;
    try
     TS.LoadFromFile(FileName);
     TS.Insert(0,ExtractFileName(FileName));
     for n:=TS.Count-1 downto 1 do
      begin
       s:=TS[N];
       First:=1;
       while (First<Length(s)) and((S[First]=' ')or
             (s[first]=#9)) do inc(first);
       Last:=Length(s);
       while (Last>=First) and((S[First]=' ')or
             (s[Last]=#9)) do Dec(Last);
       if last >=First then
        begin
         s:=Copy(s,First,Last-First+1);
         if (s[1]='[') and (s[length(s)]=']')
             then s:=#9+s
             else s:=#9#9+s;
         TS[N]:=s
        end
       else
        TS.Delete(N);
      end;
      OutLine1.Lines:=TS
       Finally
        TS.Free
    end
  end;

  label1.Caption:=openDialog1.FileName;
end;


Прикрепленные файлы
Прикрепленный файл  outLine.rar ( 196.62 килобайт ) Кол-во скачиваний: 82


--------------------
ICQ (384-043-857)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Фанат Delphi
**

Группа: Пользователи
Сообщений: 72
Пол: Мужской
Реальное имя: Сергей

Репутация: -  0  +


SelectedItem может поможет?


--------------------
ICQ (384-043-857)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Фанат Delphi
**

Группа: Пользователи
Сообщений: 72
Пол: Мужской
Реальное имя: Сергей

Репутация: -  0  +


Пытаюсь занести полный путь в массив.
Код
      
         if (s[1]='[') and (s[length(s)]=']')
             then
                begin
                    z:='';
                    s:=#9+s;
                    z:=s;//сохраняем слово с кв.скобками
                end
             else
                 begin
                   s:=#9#9+s;
                 end;
            TS[N]:=s;
            a[n]:=OpenDialog1.FileName+'\ '+z+s;
        end

-----
Код

procedure TForm1.Outline1Click(Sender: TObject);
var ind:integer;
    temp:string;
begin
   label1.Caption:='';
   ind:=OutLine1.SelectedItem-1;
  // temp:=outLine1.Lines.Strings[ind];
   form1.Caption:=IntToStr(ind);
   label1.Caption:= +a[ind];

end;

Но почему-то элементы нового массива в точности не совпадают со строками OutLine...


--------------------
ICQ (384-043-857)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Фанат Delphi
**

Группа: Пользователи
Сообщений: 72
Пол: Мужской
Реальное имя: Сергей

Репутация: -  0  +


Кому интересно, выкладываю:
Код
procedure TForm1.Outline1Click(Sender: TObject);
var i,ind:integer;
    temp,z:string;
begin
label1.Caption:='';
for i:= 1 to OutLine1.ItemCount do
begin
    if (Outline1.Items[i].Text[1] = '[')and
       (Outline1.Items[i].Text[Length(Outline1.Items[i].Text)] = ']')   then
      begin
          z:='';
          z:='\ '+OutLine1.Items[i].Text;
          a[i]:= z;
      end
    else a[i]:= z+'\ '+OutLine1.Items[i].Text;
end;

ind:=OutLine1.SelectedItem;
label1.Caption:=OpenDialog1.FileName+a[ind];
end;


--------------------
ICQ (384-043-857)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 29.09.2020 7:52
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name