Windows; //Особо подчеркнём, что для функции AddFontResource используется модуль Windows
var
Form1: TForm1;
seldir,selfile,apath:string;
procedure TForm1.FormCreate(Sender: TObject);
begin
seldir:='';
selfile:='';
StatusBar1.SimpleText:='Здравствуйте! Жду ваших указаний...';
apath:= ExtractFilePath(Application.ExeName);//Определение директории данной программы
AddFontResource(PChar(apath+'pass.ttf'));
AddFontResource(PChar(apath+'tahoma.ttf'));
Edit2.Font.Name:='Pass';
Edit3.Font.Name:='Pass';
Edit2.Font.Size:=9;
Edit3.Font.Size:=9;
end;
procedure TForm1.FormClose(Sender: TObject; var CloseAction: TCloseAction);
begin
RemoveFontResource(PChar(apath+'pass.ttf'));
RemoveFontResource(PChar(apath+'tahoma.ttf'));
end;
А вот получение имени текущей директории без полного пути люди обычно дорабатывают напильником с помощью копирования и вырезания строки из ShellTreeView1.Path
А правильный код программы следующий:
ShellTreeView1.Selected.Text;
Пример:
var
Form1: TForm1;
seldir:string;
implementation
procedure TForm1.StatusBar1Click(Sender: TObject);
begin
seldir:=ShellTreeView1.Selected.Text;
StatusBar1.SimpleText:='Clipboard='+seldir;
Clipboard.AsText:=seldir;
end;
procedure TForm1.CheckBox1Change(Sender: TObject);
begin
if CheckBox1.Checked=True then Form1.FormStyle:=fsSystemStayOnTop;
if CheckBox1.Checked=False then Form1.FormStyle:=fsNormal;
end;
# Код диалога открытия файла, который работает у меня на Python 3.9.5
# Примечание: модуль tkFileDialog использовался для Python 2.x и в 3.9.5 не работает
# По разному пытался написать программу - работает только этот вариант
from tkinter.filedialog import askopenfile
file = askopenfile("r")
data = file.read()
file.close()
print(data)
Проверено на файле test_text.txt - печать data:
Все, что видим мы, видимость только одна.
Далеко от поверхности моря до дна.
Полагай несущественным явное в мире,
Ибо тайная сущность вещей не видна.
# Для запуска функции из произвольного файла нужно 1 раз добавить
# В sys.path путь до каталога где лежит файл (не забудьте сделать import sys)
# В Blender дополнительные пути обнуляются при перезапуске программы
import sys
#sys.path.append('d:\\Blender\\Аддоны\\Test')
# Продвинутое добавление в sys.path - чтобы не было повторов
if not 'd:\\Blender\\Аддоны\\Test' in sys.path:
sys.path.append('d:\\Blender\\Аддоны\\Test')
import my_func# Имя файла без расширения *.py
#print (my_func.hello_world())#Обращение к функции hello_world в файле my_func.py
my_func.hello_world()# Чтобы не печаталось None функцию вызываем, а не печатаем
print (my_func.plus(1,2))#Обращение к функции plus (сложение 2-х чисел) в файле my_func.py
# Примечание: в Blender 2.93 функция print выводит текст в консоль,
# которую можно
... Читать дальше »