【发布时间】:2012-02-15 21:19:54
【问题描述】:
我有一段糟糕的代码,我只想自己指定输入文件,而不是向用户弹出任何类型的对话框。我知道这段代码很古老,但希望一些聪明人能快速回答这个问题,因为它很简单,我敢肯定,但我不是程序员。
BOOL Geeeez()
{
BOOL ret=FALSE;
NavDialogRef fileDialog;
NavDialogCreationOptions fo;
NavGetDefaultDialogCreationOptions(&fo);
fo.optionFlags=0;
fo.parentWindow=win;
NavCreateChooseFileDialog(&fo,NULL,NULL,NULL,NULL,NULL,&fileDialog);
if (!NavDialogRun(fileDialog)) {
NavReplyRecord r;
if (!NavDialogGetReply(fileDialog,&r)) {
AEKeyword k;
FSRef fr;
if (!AEGetNthPtr(&r.selection,1,typeFSRef,&k,NULL,&fr,sizeof(fr),NULL)) {
char file[256];
FSRefMakePath(&fr,(BYTE*)file,sizeof(file));
if (!(data=THIS_CodeReallySucks(FALSE,file,0,0,NULL))
......
【问题讨论】:
-
它是什么,是碳……Noah 想要的是有人重写它以删除
NavDialogRef的东西。 Noah 应该说的是:结果需要继续是 Carbon 还是应该是 Objective C,因为这就是你标记这个问题的原因? -
@MichaelDautermann,是的。如果我知道该怎么做,我就不会问了。当然,将其更新为objective-c会很好,尽管只要它有效,我不介意它是否保持史前形式。
标签: objective-c macos cocoa macos-carbon