![]() |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
![]() |
NTL |
![]()
Сообщение
#1
|
![]() Фанат Delphi ![]() ![]() Группа: Пользователи Сообщений: 72 Пол: Мужской Реальное имя: Сергей Репутация: ![]() ![]() ![]() |
Помогите вывести полный путь элемента схемы.
Например, имеется 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; Прикрепленные файлы ![]() -------------------- ICQ (384-043-857)
|
![]() ![]() |
NTL |
![]()
Сообщение
#2
|
![]() Фанат Delphi ![]() ![]() Группа: Пользователи Сообщений: 72 Пол: Мужской Реальное имя: Сергей Репутация: ![]() ![]() ![]() |
SelectedItem может поможет?
-------------------- ICQ (384-043-857)
|
NTL |
![]()
Сообщение
#3
|
![]() Фанат Delphi ![]() ![]() Группа: Пользователи Сообщений: 72 Пол: Мужской Реальное имя: Сергей Репутация: ![]() ![]() ![]() |
Пытаюсь занести полный путь в массив.
Код 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)
|
NTL |
![]()
Сообщение
#4
|
![]() Фанат Delphi ![]() ![]() Группа: Пользователи Сообщений: 72 Пол: Мужской Реальное имя: Сергей Репутация: ![]() ![]() ![]() |
Кому интересно, выкладываю:
Код 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)
|
![]() ![]() |
![]() |
Текстовая версия | 10.07.2025 16:46 |