jjzjj

c++ - 如何在 C++ 中创建 "undo"?

我需要创建一个函数来撤消之前的任务/添加/更改。我如何在BorlandC++中执行此操作?(该程序使用“列表”将文本字符串存储在文本文件中。它被存储然后被删除,除非我使用我创建的保存功能。)顺便说一句,我的意思是在一个简单的控制台应用程序中创建一个撤消功能。 最佳答案 我会给出另一个答案,但我认为到目前为止覆盖面还不够。这个主题绝非微不足道,用谷歌搜索它会返回大量结果。许多应用程序实现“撤消”操作,并且有很多变体。有2种设计模式可以帮助我们解决这个问题:命令:它是一个Action的具体化Memento:存储状态(通常意味着某种形式的

windows - 在不提交到存储库的情况下获得无限的 "undo stack"?

像许多程序员一样,我很容易周期性地获得“灵感”,在这种情况下我会突然看到光明并对我的代码进行大手术。通常情况下,这样做效果很好,但有时我后来发现——由于sleep不足/咖啡因不足,或者仅仅是对问题的理解不完善——我做了一些非常愚蠢的事情。发生这种情况时,下一步就是扭转损害。最简单的是,这意味着我的编辑器中的撤消堆栈……除非我在某个时候关闭了文件。接下来是版本控制,但如果我在最近的提交(我习惯性地不提交破坏构建的代码)和灵感时刻之间进行了更改,它们就会丢失。它不在存储库中,因此代码从未存在过。我想以一种我不必为此担心的方式设置我的工作环境,但我从来没有想出一个完全令人满意的解决方案。理想

Windows bat 文件 : undo NET USE

在批处理文件中,我使用以下语法来映射网络驱动器:NETUSEN:\\someserver\somedirectory.虽然这工作正常,但如果字母n已被使用,它也会报错。是否可以抑制此错误消息?还有,有没有办法取消网络驱动器的映射?我想是这样的:网络未使用N: 最佳答案 之后NETUSEN:\\somserver\somedirectory简单地删除:NETUSEN:/DELETE要测试现有映射,您可以;IFNOTEXISTN:\.GOTOBLABLA 关于Windowsbat文件:und

iOS 8 :custom Keyboard with undo and redo button

我开发了一个IOS8自定义键盘。我想给它“撤消”和“重做”功能,就像默认的系统键盘一样。我尝试过不同的方法,但无法找到好的解决方案。我们可以使用方法与文本输入对象textDocumentProxy进行交互insertTextdeleteBackwarddocumentContextAfterInputocumentContextBeforeInput但我无法找到任何实现“撤消”和“重做”功能的方法。 最佳答案 我认为我们可以不实现这些功能(撤消、重做)根据https://developer.apple.com/library/ios

ios - 在 Swift 2 的绘图应用程序中创建一个 'undo' 函数

我试图在Swift2中创建一个绘图应用程序,但在尝试实现“撤消”按钮时遇到了困难。我对此很陌生(实际上是非常新的),并且已尽力弄清楚,但我发现的所有其他例子要么是不同的版本或语言,要么就是不适用...也许是我缺乏知识阻碍了我在这里的进步。我试过使用“undoManager”,但我不知道如何使用它。我已尝试阅读可用的在线指南,但仍然一无所知!这是我的按钮:@IBActionfuncundoDrawing(sender:AnyObject){}我已经设置了touchesBegan:overridefunctouchesBegan(touches:Set,withEventevent:UIE

python - 如何使用 Python/Django 实现 "undo"功能

我有一个Django应用程序,我允许用户在其中导入包含联系人数据(成员编号、名字、姓氏等)的CSV文件。当他们导入文件时,应用程序会检查数据库中的匹配记录,然后:1)如果不存在匹配项则插入新记录,或者2)使用新数据更新现有数据。我的问题是:使用Django或直接使用Python实现撤消功能的最佳方法是什么,以便用户可以撤消导入操作并将多个记录恢复到他们的原始状态?我最初的想法是创建一个这样的表(伪代码):TableHISTORYunique_idrecord_affected_idold_valuenew_value然后,如果用户单击“撤消”,我可以查找与他们的交易关联的unique_

javascript - 如何在 webapp 中禁用 iOS "Shake to Undo"

我正在为iPad开发一个网络应用程序游戏。它包含一个摇动Action来触发其中一个屏幕的事件,但是,由于它还有一个信息收集表单,有时摇动Action会触发烦人的“摇动以撤消”对话框。当用户到达摇动Action时,用户输入的表单输入甚至不再存在于DOM中,所以在我看来,不应该触发撤消功能,但不幸的是它是。无法将其包装在native包装器(PhoneGap或其他包装器)中,所以我想知道是否有人知道是否可以通过CSS或JavaScript为特定网页/应用程序禁用此功能?谢谢。 最佳答案 对于PhoneGap,我刚刚插入了这一行:[UIAp

git - 如何执行 'Undo pending changes' 的 TFS 等价物

如何在Git中对一个或多个文件执行与TFS“撤消挂起的更改”等效的操作?这基本上意味着执行这些步骤:撤消磁盘上的更改重置Git发现的任何更改从Git获取文件的最新更改如果您(1)只是在磁盘上更改它,而不是添加它,那么了解执行此操作的命令的差异(如果有的话)会很好,而且当您已经(2)完成了添加命令,为了获得奖励,(3)即使您已提交更改。 最佳答案 对于1和2,你需要做的就是:gitstash-u#sameeffectasgitreset--hard,butcanbeundone这将丢弃任何更改。使用reset时要小心。阅读有关使用重置

git - 我如何 "undo"a --single-branch 克隆?

我使用克隆了一个仓库gitclone-b--single-branch这只克隆了这个分支,但现在我想切换到master和其他分支。除了清除它并重新开始克隆我可以撤消--single-branch偏好的repo的其余部分之外,还有什么方法吗? 最佳答案 你可以告诉Git像这样pull所有分支:gitconfigremote.origin.fetch"+refs/heads/*:refs/remotes/origin/*"gitfetchorigin如果你查看.git/config,它看起来像这样:[core]repositoryfor

git - 移动(或 "Undo")最后一个 git commit 到未暂存区域

这个问题在这里已经有了答案:HowdoIundothemostrecentlocalcommitsinGit?(100个答案)关闭7年前。将最后一次git提交移回“未暂存更改”+“未跟踪文件”区域的最佳方法是什么(有问题的提交未推送/仅在您的本地存储库中,有效地将其从HEAD中删除)?换句话说,您如何回滚提交,但自动将该差异应用到未暂存区域?