Вы можете использовать модуль узла path
, чтобы получить имя подкаталога следующим образом:
const path = require('path');
const dirName = path.parse('./folderA/folderB').base // -> 'folderB'
И передать dirName в zip()
:
const { task, src, dest } = require('gulp');
const path = require('path');
const zip = require('gulp-zip');
const glob = require('glob');
const subDirs = glob.sync('./lessons/*');
task('zipLessions', (done) => {
subDirs.forEach(subDir => {
const dirName = path.parse(subDir).base;
src(subDir + '/*')
.pipe(zip(`${dirName}.zip`))
.pipe(dest('./lessons'))
})
done()
})
Если 'в центре' Вы подразумеваете, что "это уже было в середине, и Вы хотите сохранить его там, не изменяя размер его", затем удалите все привязки. Если это должно быть изменено, решением gabr является одно к с :)
Установите свойство Anchors управления на [akLeft, akTop, хорошо, akBottom].
Если Вы имеете в виду своего рода "обновление, ожидайте..." вещь типа, я вручную перемещаю его в событие Form's OnResize. Это позволяет мне не допускать панель в путь во время дизайна, и скрытый обычно, но я могу сделать это видимым при необходимости.
procedure TMyForm.FormResize(Sender: TObject);
var
nNewTop : Integer;
begin
inherited;
pnlRegenerating.Left := (ClientWidth - pnlRegenerating.Width) div 2;
nNewTop := (ClientHeight div 5) {* 4};
if (nNewTop + pnlRegenerating.Height) > ClientHeight then
nNewTop := ClientHeight - pnlRegenerating.Height - 4;
pnlRegenerating.Top := nNewTop;
end;