public FileInfo MakeUnique(string path)
{
string dir = Path.GetDirectoryName(path);
string fileName = Path.GetFileNameWithoutExtension(path);
string fileExt = Path.GetExtension(path);
for (int i = 1; ;++i) {
if (!File.Exists(path))
return new FileInfo(path);
path = Path.Combine(dir, fileName + " " + i + fileExt);
}
}
Очевидно, что это уязвимо для условий гонки, как указано в других ответах.
Здесь - быстрая копия угловой версии.
<AbsoluteLayout #rootLayout (loaded)="onLoaded()">
<ListView [items]="items" (itemTap)="onItemTap($event)" class="list-group"
left="0" top="0" height="100%" width="100%">
<ng-template let-item="item">
<Label [text]="item" class="list-group-item h3"></Label>
</ng-template>
</ListView>
<StackLayout left="0" top="0" height="100%" width="100%" class="backdrop"
[class.backdrop-visible]="isActive" [class.backdrop-invisible]="!isActive"></StackLayout>
<AbsoluteLayout #fabItemPosition marginTop="87%" marginLeft="80%">
<GridLayout #fabItemContainer left="8" top="8">
<FabItem [className]="isActive ? 'raiseItem1' : 'downItem1'"
color="#E94E77" title="E"></FabItem>
<FabItem [className]="isActive ? 'raiseItem2' : 'downItem2'"
color="#3FB8AF" title="U"></FabItem>
<FabItem [className]="isActive ? 'raiseItem3' : 'downItem3'"
color="#FCB653" title="V"></FabItem>
</GridLayout>
<FabButton (buttonTap)="onButtonTap($event)" [isActive]="isActive"> .
</FabButton>
</AbsoluteLayout>
Примечание: Сама оригинальная версия Vue имеет проблемы при обнаружении события касания на FabItem
, это проблема макета, возможно, вы захотите ее исправить. что.