Категории раздела
Религия
[2]
Буддизм, Христианство, Агни Йога, Йога Васиштха и др. Йоги, Индуизм, Искусство Жизни, Шри Шри Рави Шанкар, Конфуций, Хагакуре Сокрытое в листве, Ицхак Одизес, Наталья Грейс, Ошо, Тантра, Даосизм
Программы
[5]
Описание различных программ
Программирование
[24]
Исходники, примеры, ссылки, программы C++, Delphi, Python, Html, Java но в основном Delphi, Python, Html, создание игр, Blender Game Engine
Blender
[16]
Бесплатный редактор трехмерного моделирования
CAD\CAM\CAE
[0]
Solid Works, Nastran, Patran, Ansys и др.
Krita
[4]
Материалы по свободному графическому редактору
Интернет
[1]
Интересная информация о работе с интернетом
IrfanView
[1]
Возможности программы
Игры
[2]
Железо
[1]
Различная электроника
Статистика
Онлайн всего: 1
Гостей: 1
Пользователей: 0
Главная » Программирование
Ответ описан на примере двух файлов:
start.py
Test.py
Test.py
---------------
print('2+2=',2+2)
---------------
start.py
---------------
exec(open("D:\Archive\Soft\Temp\Test.py").read())
---------------------
При запуске скрипта start.py
В консоле будет написано:
2+2= 4
Delphi - пример копирования выделенных файлов FileListBox1 в Memo1.
Procedure TForm1.Button1Click(Sender: TObject);
var n:integer;
begin
Memo1.Clear;
for n:= 1 to FileListBox1.Items.Count do
begin
if FileListBox1.Selected[n-1] then Memo1.Lines.Add(FileListBox1.Items.Strings[n-1]);
end;
end;
Если в выделенной директории уже существуют поддиректории (подпапки), то для обновления родительской директории достаточно кода
procedure TForm1.Button1Click(Sender: TObject);
begin
MkDir(ShellTreeView1.Path+Edit1.Text);
ShellTreeView1.Refresh(ShellTreeView1.Selected);//Интересующий нас код
end;
Но если в выделенной родительской директории нет поддиректорий (подпапок) код придётся усложнить:
procedure TForm1.Button1Click(Sender: TObject);
var memtree:TTreeNode;
begin
MkDir(ShellTreeView1.Path+Edit1.Text);
ShellTreeView1.Refresh(ShellTreeView1.Selected);
memtree:=ShellTreeView1.Selected;
if ShellTreeView1.Selected.Count=0 then
begin
ShellTreeView1.Refresh(ShellTreeView1.Selected.Parent);
ShellTreeView1.Refresh(memtree);
end;
end;
Для обновления родит
...
Читать дальше »
ShellTreeView1.Selected.Count
В оконных приложениях Lazarus правильно работает с русскими символами частично:
1.Операциии присваивания - Edit1.Text:='1234567890abcАБВГД';
2.Оперции сложения - Edit1.Text:='1234567890abcАБВГД'+'ИКЛМН';
3.И запись, чтение в файл:
const
ascii='1234567890abcАБВГД';
var s:string;
s:=ascii;
Writln(f,s);
Readln(f,s);
Происходят корректно, а вот функции определения длины, позиционирования, и индексирования строки с русскими символами происходят некорректно:
length(s), pos('Д',s), s[n] - где n позиция русского символа. Данные функции работают некорректно.
Для корректной работы с русскими символами, буквами нужно подключить модуль
uses lazutf8;
и использовать (вместо вышеперечисленных) функции: UTF8length(s), UTF8pos('Д',s), UTF8copy(s,n,1) - где n позиция русского символа.
Примечание: приём замены кодировки "Ре
...
Читать дальше »
ShellTreeView1.Refresh(ShellTreeView1.Selected);
Lazarus - как создавать папки
MkDir(ShellTreeView1.Path+'NewNameDir01');
Недавно я столкнулся с проблемой - невозможно обновить список файлов ShellListView.
Команды:
ShellListView1.ReAlign;
ShellListView1.Refresh;
ShellListView1.Repaint;
ShellListView1.Update;
Не работают.
И не я один с этим столкнулся - в интернете говорят, что заявленные методы обновления списка файлов не работают и ShellListView обновляется, только после ручного перехода в ShellTreeView.
В моих старых программах выполненных на Delphi - FileListBox1.Update; прекрасно работал, а в Lazarus ShellListView1.Update; не работает.
Однако я нашел в интернете решение проблемы обновления файлов в ShellListView - хоть и через заднее крыльцо:
var strroot:string;
...
strroot:=ShellListView1.Root;
ShellListView1.Root:='';
ShellListView1.Root:=strroot;
ShellListView1.Selected.Caption
Пример:
procedure TForm1.Button4Click(Sender: TObject);//Копирование имени файла в буфер обмена
begin
if ShellListView1.SelCount>0 then
begin
selfile:=ShellListView1.Selected.Caption;
StatusBar1.SimpleText:='Clipboard='+selfile;
Clipboard.AsText:=selfile;
end;
end;
Календарь
« Январь 2025 » Пн Вт Ср Чт Пт Сб Вс 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31