Size: a a a

2020 November 24

Д

Дмитрий in Delphi & Lazarus
Дмитрий
В общем если кому интересно остановился на V8 JavaScript Engine. Он легковесный и рабочий.
https://github.com/zolagiggszhou/v8delphiwrapper
Я же написал, что задача уже решена.
источник

A

Alex in Delphi & Lazarus
Привет народ, не подскажет кто из головы как удалить несколько выбраных строк из ShellListView? Для одной строки просто, а вот для нескольких? DeleteFile(ShellListView1.GetPathFromItem(ShellListView1.Selected));
источник

SB

Sergey Bodrov in Delphi & Lazarus
Alex
Привет народ, не подскажет кто из головы как удалить несколько выбраных строк из ShellListView? Для одной строки просто, а вот для нескольких? DeleteFile(ShellListView1.GetPathFromItem(ShellListView1.Selected));
Сохранить пути помеченых файлов в TStringList, потом поочереди их удалить.
источник

A

Alex in Delphi & Lazarus
Sergey Bodrov
Сохранить пути помеченых файлов в TStringList, потом поочереди их удалить.
А проще никак? Типа   for i := 0 to ShellListView1.SelCount - 1 do
 begin
   DeleteFile(ShellListView1.GetPathFromItem(ShellListView1.Items[i].Selected));
 end;
источник

A

Alex in Delphi & Lazarus
Ну ладно пороюсь...
источник

SB

Sergey Bodrov in Delphi & Lazarus
Через отдельный список надежнее, вдруг ShellView решит обновиться после удаления файла.
источник

A

Alex in Delphi & Lazarus
Sergey Bodrov
Сохранить пути помеченых файлов в TStringList, потом поочереди их удалить.
Хотя в твоем предложение уже был ответ, как поместить выбраные в StringList - так их и удалить. Но вот вопрос как найти все выбранные?
источник

SB

Sergey Bodrov in Delphi & Lazarus
ShellListView1.Items[i].Selected
источник

A

Alex in Delphi & Lazarus
Сделал 👍
источник

A

Alex in Delphi & Lazarus
for i := 0 to ShellListView1.Items.Count - 1 do
 begin
   if ShellListView1.Items[i].Selected then
     DeleteFile(ShellListView1.GetPathFromItem(ShellListView1.Items[i]));
 end;
источник

AI

Alexander Ivanov in Delphi & Lazarus
Дмитрий
В общем если кому интересно остановился на V8 JavaScript Engine. Он легковесный и рабочий.
https://github.com/zolagiggszhou/v8delphiwrapper
Видимо только под win32. На все остальное запито гвоздями. Сделано не очень, но идеи можно поссмотреть.
источник
2020 November 25

СП

Сергей Пятыгин... in Delphi & Lazarus
Добрый день!
Посоветуйте пожалуйста как правильно сделать:
Имеется отдельный юнит с функцией интерполяции. В этом же юните имеются три функции для обеспечения работы функции интерполяции. Стоит это все оборачивать в класс и делать три функции приватными, а функцию интерполяции публичной.
Немного смущает необходимость создавать/удалять класс при каждом вызове.
Мб задача решается другим способом?
источник

VA

Viktor Akselrod in Delphi & Lazarus
Сергей Пятыгин
Добрый день!
Посоветуйте пожалуйста как правильно сделать:
Имеется отдельный юнит с функцией интерполяции. В этом же юните имеются три функции для обеспечения работы функции интерполяции. Стоит это все оборачивать в класс и делать три функции приватными, а функцию интерполяции публичной.
Немного смущает необходимость создавать/удалять класс при каждом вызове.
Мб задача решается другим способом?
есть статические методы (static) и классовые (class), вызов которых не требует создавать экземпляр объекта
источник

AS

Alexey Shumkin in Delphi & Lazarus
Сергей Пятыгин
Добрый день!
Посоветуйте пожалуйста как правильно сделать:
Имеется отдельный юнит с функцией интерполяции. В этом же юните имеются три функции для обеспечения работы функции интерполяции. Стоит это все оборачивать в класс и делать три функции приватными, а функцию интерполяции публичной.
Немного смущает необходимость создавать/удалять класс при каждом вызове.
Мб задача решается другим способом?
> Мб задача решается другим способом?

задача чего? какая такая "задача"?
источник

AS

Alexey Shumkin in Delphi & Lazarus
Сергей Пятыгин
Добрый день!
Посоветуйте пожалуйста как правильно сделать:
Имеется отдельный юнит с функцией интерполяции. В этом же юните имеются три функции для обеспечения работы функции интерполяции. Стоит это все оборачивать в класс и делать три функции приватными, а функцию интерполяции публичной.
Немного смущает необходимость создавать/удалять класс при каждом вызове.
Мб задача решается другим способом?
ну и если функции нигде, кроме как в модуле, не используются, и не предполагается их использовать
то, конечно, лучше их сделать "скрытыми" (инкапуслировать).. не публиковать их "наружу"
источник

A

Anthony in Delphi & Lazarus
Сергей Пятыгин
Добрый день!
Посоветуйте пожалуйста как правильно сделать:
Имеется отдельный юнит с функцией интерполяции. В этом же юните имеются три функции для обеспечения работы функции интерполяции. Стоит это все оборачивать в класс и делать три функции приватными, а функцию интерполяции публичной.
Немного смущает необходимость создавать/удалять класс при каждом вызове.
Мб задача решается другим способом?
Просто из интерфейсной части модуля убрать упоминания непубличных функций.
Только порядок изменить. Где публичная будет последней.
Потому что функция может быть вызвана если описана выше в модуле.
источник

СП

Сергей Пятыгин... in Delphi & Lazarus
Alexey Shumkin
> Мб задача решается другим способом?

задача чего? какая такая "задача"?
Применение функции. Смущает создание класса. Виктор уже написал, статический класс-это класс, методы которого можно использовать без создания экземпляра?
источник

СП

Сергей Пятыгин... in Delphi & Lazarus
Anthony
Просто из интерфейсной части модуля убрать упоминания непубличных функций.
Только порядок изменить. Где публичная будет последней.
Потому что функция может быть вызвана если описана выше в модуле.
Да, если это не принесет проблем, это и хочу уточнить.
источник

z

zamtmn in Delphi & Lazarus
Сергей Пятыгин
Добрый день!
Посоветуйте пожалуйста как правильно сделать:
Имеется отдельный юнит с функцией интерполяции. В этом же юните имеются три функции для обеспечения работы функции интерполяции. Стоит это все оборачивать в класс и делать три функции приватными, а функцию интерполяции публичной.
Немного смущает необходимость создавать/удалять класс при каждом вызове.
Мб задача решается другим способом?
Ты слишком много уделяешь "правильности" с таким подходом можно до работоспособности недотянуь. Имхо в описаной ситуации в класс заворачиавать - излишне
источник

VA

Viktor Akselrod in Delphi & Lazarus
Сергей Пятыгин
Применение функции. Смущает создание класса. Виктор уже написал, статический класс-это класс, методы которого можно использовать без создания экземпляра?
статические и классовые именно методы, а не сам класс.
это не отменяет того, что может быть создан экземпляр класса.
но классовые переменные и методы будут принадлежать не конкретному экземпляру и самому типу.

использование классовых методов позволяет объединить их в общий scope, а так же  скрыть от пользователя внутренние методы в приватной секции.
источник