小编Irw*_*wan的帖子

回收站装满后ShFileOperation会怎么做?

我用这个程序:

function MoveToRecycle(sFileName: widestring): Boolean;
var
  fos: TSHFileOpStructW;
begin
  FillChar(fos, SizeOf(fos), 0);
  with fos do
  begin
    wnd := 0;
    wFunc  := FO_DELETE;
    pFrom  := PWideChar(sFileName + #0 + #0);
    pTo := #0 + #0;
    fFlags := FOF_FILESONLY or FOF_ALLOWUNDO or FOF_NOCONFIRMATION or FOF_SILENT;
  end;
  Result := (ShFileOperationW(fos) = 0);
end;
Run Code Online (Sandbox Code Playgroud)

如果回收站已满,会返回false或永久删除文件会发生什么?

任何帮助,将不胜感激.

windows delphi recycle-bin

7
推荐指数
1
解决办法
736
查看次数

在Delphi中将UTC字符串转换为TDatetime

var
  tm : string;
  dt : tdatetime;

tm := '2009-08-21T09:11:21Z';
dt := ?
Run Code Online (Sandbox Code Playgroud)

我知道我可以手动解析它,但我想知道是否有任何内置函数或Win32 API函数来执行此操作?

delphi utc tdatetime

6
推荐指数
1
解决办法
1万
查看次数

使用Cocoa将文件删除到Snow Leopard中的垃圾的正确方法?

我的意思是正确的方法必须能够"放回"Finder而不是播放声音

这是我到目前为止尝试的方法:

NSString * name  = @"test.zip";
 NSArray  * files = [NSArray arrayWithObject: name];

 NSWorkspace * ws = [NSWorkspace sharedWorkspace];

 [ws performFileOperation: NSWorkspaceRecycleOperation
       source: @"/Users/"
     destination: @""
        files: files
       tag: 0];
Run Code Online (Sandbox Code Playgroud)

低迷:不能在Finder中"放回"

OSStatus status = FSPathMoveObjectToTrashSync(
              "/Users/test.zip",
              NULL,
              kFSFileOperationDefaultOptions
 );
Run Code Online (Sandbox Code Playgroud)

低迷:不能在Finder中"放回"

tell application "Finder"
    set deletedfile to alias "Snow Leopard:Users:test.zip"
    delete deletedfile
end tell
Run Code Online (Sandbox Code Playgroud)

低迷:播放声音,如果我反复执行它会很烦人

cocoa

6
推荐指数
1
解决办法
907
查看次数

最小化内存消耗图像列表框(WPF)

我有列表框绑定到ObservableCollection并使用文件名来显示图像 在此输入图像描述

我的xaml是:

<Window x:Class="ThumbnailsView.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="578" WindowStartupLocation="CenterScreen">
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="*"/>
            <RowDefinition Height="55"/>
        </Grid.RowDefinitions>

            <ListBox Grid.Row="0" x:Name="ImageListbox"
        ItemsSource="{Binding}" 
        Background="AliceBlue" ScrollViewer.HorizontalScrollBarVisibility="Disabled">

                <ListBox.ItemTemplate>
                    <DataTemplate>
                        <StackPanel Orientation="Horizontal">
                            <CheckBox Height="16" VerticalAlignment="Top" Margin="0,10,0,0"/>
                            <Image Margin="10,10,10,0" Height="64" Width="64" VerticalAlignment="Top">
                                <Image.Source>
                                    <BitmapImage DecodePixelWidth="64" UriSource="{Binding Path=Name}"/>
                                </Image.Source>                            
                            </Image>
                    </StackPanel>
                    </DataTemplate>
                </ListBox.ItemTemplate>

        <ListBox.ItemsPanel>
                    <ItemsPanelTemplate>
                        <WrapPanel/>
                    </ItemsPanelTemplate>
                </ListBox.ItemsPanel>
            </ListBox>

            <Button Grid.Row="1" Content="Get Images" Name="getImageBtn" Click="getImageBtn_Click" Width="100" Height="30"></Button>

    </Grid>
</Window>
Run Code Online (Sandbox Code Playgroud)

问题是,如果我有一个大型集合,它会加载整个图像并消耗大量的内存.如何最大限度地减少内存消耗?

c# wpf listbox

6
推荐指数
1
解决办法
7065
查看次数

如何在Cocoa关闭后重新显示主窗口?

我想在关闭时点击我在Dock上的应用程序图标后重新显示主窗口.谁知道怎么做?提前致谢.

macos cocoa

5
推荐指数
2
解决办法
2167
查看次数

NSImage和视网膜显示混乱

我想在NSImage上添加十字架,这是我的代码:

-(NSSize)convertPixelSizeToPointSize:(NSSize)px
{
    CGFloat displayScale = [[NSScreen mainScreen] backingScaleFactor];
    NSSize res;
    res.width = px.width / displayScale;
    res.height = px.height / displayScale;
    return res;
}

-(void)awakeFromNib
{
    CGFloat scale = [[NSScreen mainScreen] backingScaleFactor];

    NSLog(@"backingScaleFactor : %f",scale);

    NSImage *img = [[[NSImage alloc]initWithContentsOfFile:@"/Users/support/Pictures/cat.JPG"] autorelease];


    NSBitmapImageRep *imgRep = [NSBitmapImageRep imageRepWithData:[img TIFFRepresentation]];
    NSSize imgPixelSize = NSMakeSize([imgRep pixelsWide],[imgRep pixelsHigh]);
    NSSize imgPointSize = [self convertPixelSizeToPointSize:imgPixelSize];
    [img setSize:imgPointSize];

    NSLog(@"imgPixelSize.width: %f , imgPixelSize.height:%f",imgPixelSize.width,imgPixelSize.height);
    NSLog(@"imgPointSize.width: %f , imgPointSize.height:%f",imgPointSize.width,imgPointSize.height);

    [img lockFocus];
    NSAffineTransform *trans = [[[NSAffineTransform alloc] init] autorelease];
    [trans scaleBy:1.0 / …
Run Code Online (Sandbox Code Playgroud)

macos cocoa nsimage retina-display osx-lion

5
推荐指数
1
解决办法
4992
查看次数

这是在Cocoa中向NSCombobox添加项目的正确方法吗?

我是Delphi程序员,也是Cocoa的新手.起初我试过这个:

-(void)awakeFromNib
{
    int i;
    NSString *mystr;
    for (i=1;i<=24;i++)
    {
      [comboHour addItemWithObjectValue:i];
    }
}
Run Code Online (Sandbox Code Playgroud)

但它没有用.然后我试着在Google上搜索但没有运气.经过大约30分钟的试验,我来了:

-(void)awakeFromNib
{
    int i;
    NSString *mystr;
    for (i=1;i<=24;i++)
    {
        mystr = [[NSString alloc]initWithFormat:@"%d",i];
        [comboHour addItemWithObjectValue:mystr];
        //[mystr dealloc];
    }
}
Run Code Online (Sandbox Code Playgroud)

我的问题是:

  1. 这是正确的方法吗?
  2. 我是否总是需要分配新的NSString来从整数中更改其值?
  3. 当我取消注释[mystr dealloc]时,为什么它不会运行?
  4. 没有dealloc会导致内存泄漏吗?
  5. 我在哪里可以在互联网上找到这样的基础教程?

提前致谢

macos cocoa

3
推荐指数
1
解决办法
7642
查看次数

如何防止可可应用冻结?

-(void)test
{
  int i;
  for (i=0;i < 1000000;i++)
  {
    //do lengthly operation
  }
}
Run Code Online (Sandbox Code Playgroud)

如何防止其GUI冻结?

macos cocoa

3
推荐指数
1
解决办法
258
查看次数

删除编辑菜单项后,无法在Cocoa中复制或粘贴文本

在Interface Builder上删除编辑菜单项后,我无法在nstextfield上复制或粘贴任何文本.我重新添加了编辑菜单项但仍然不能.谁知道怎么修它 ?

提前致谢.

macos cocoa

2
推荐指数
1
解决办法
655
查看次数

Delphi程序和Windows 64位兼容性问题

我有一些客户/候选人抱怨我的程序不适用于他们的Windows 7 64位版本(通过屏幕截图确认).错误很奇怪,例如:

在试用版中,每当我点击\"mark \"\"delete \"\"help \"时,我都会收到一条错误消息.

错误消息是:模块\'ideduper.exe中地址0046C978处的访问冲突.\'读取地址00000004

Windows 7终极64位.i7 920 @ 2.67GHz 9gb或ram

"标记","删除"和"帮助"只是TToolbar上的标准TToolButton.

另一个例子是无法从IExtractImage获取缩略图.

我告诉他们尝试兼容模式,但仍然无法正常工作.

问题是当我在我的计算机上的Windows 7 HP 64位上测试它(我在实际发布之前已经完成了它)它运行正常!所以我不知道是什么造成的

你有什么建议吗?不同的Windows软件包(家庭基本版,高级软件版,终极版等)是否会以不同的方式处理32位编程?Delphis(我使用2006)的新版本是否与64位Windows更兼容?我需要等到64位编译出来吗?

提前致谢

windows delphi 64-bit compatibility

2
推荐指数
1
解决办法
5552
查看次数

Cocoa路径字符串转换

我想将/Users/Irwan/Documents/test.jpg转换为MyMac:用户:Irwan:Documents:test.jpg我可以手动完成,但我想知道是否有简单的方法可以做到这一点?

谢谢

macos cocoa objective-c

1
推荐指数
1
解决办法
517
查看次数

为什么我会出现Inconsistent Accessibility错误?

对不起,我是C#和WPF的新手.

namespace MyProgram
{
    /// <summary>
    /// Description of TSearchFiles.
    /// </summary>
    public class TSearchFiles
    {
        private TBoolWrapper canceled;

        public TSearchFiles(TBoolWrapper bw)
        {
            canceled = bw;
        }

        public List<TPhotoRecord> GetFilesRecursive(string b)
        {

            List<TPhotoRecord> result = new List<TPhotoRecord>();
            return result;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我收到此错误消息:

Error   1   Inconsistent accessibility: return type 'System.Collections.Generic.List<MyProgram.TPhotoRecord>' is less accessible than method 'MyProgram.TSearchFiles.GetFilesRecursive(string)'
Run Code Online (Sandbox Code Playgroud)

怎么解决?代码在Winforms中编译得很好

提前致谢.

c#

1
推荐指数
1
解决办法
4803
查看次数