2012-01-01 23 views
9

निष्पादित करने के लिए फ्रंट एंड टोकन उपलब्ध है या नहीं, मैं कैसे पता लगा सकता हूं कि front end token निष्पादित करने के लिए उपलब्ध है या नहीं? वैकल्पिक रूप से, मैं कैसे पता लगा सकता हूं कि फ्रंट एंड टोकन निष्पादित करने में विफल रहा है या नहीं?पता लगाना कि

उदाहरण: संपादित करें -> कॉपी आदेश कम नहीं है अगर कुछ भी नहीं चुना गया है। FrontEndTokenExecute["Copy"] इस मामले में बस बीप करेगा, लेकिन यह मुझे कोई (प्रोग्रामेटिक) संकेत देता है कि यह असफल रहा है।

+0

आपका प्रश्न मुझे आश्चर्य है कि अगर मैं एक गैर-दस्तावेजी क्यू समारोह मिल सकता है बनाया है, इसलिए मैं का मूल्यांकन? * '* क्यू और NotebookTools' पाया CellsSelectedQ। (मैंने इसका उपयोग करने की कोशिश नहीं की है; यह पता नहीं है कि इसका मूल्यांकन कैसे किया जाना चाहिए।) संदेश विंडो को छिपाने के बारे में सोजेरड के उत्तर पर भी मेरी टिप्पणी देखें। आखिरकार, आप अधिक विचारों के लिए भी FrontEnd * '* और? FrontEnd' *' * क्यू * के माध्यम से शिकार कर सकते हैं। – telefunkenvf14

+0

@ telefunkenvf14 दिलचस्प खोज! 'नोटबुकटूल' '' में कई उपयोगी कार्य प्रतीत होते हैं। मैं इसका उपयोग नहीं कर सकता क्योंकि यह पूर्ण कोशिकाओं का चयन किया जाता है (केवल कोशिकाओं में पाठ नहीं), लेकिन स्रोत को देखकर पहले से ही अच्छी प्रेरणा है। शायद मैं 'NotebookRead @ SelectedNotebook []' की तुलना में कुछ अधिक कुशलता से आ सकता हूं। – Szabolcs

उत्तर

5

मैं अपने दूसरे प्रश्न से निपटने के लिए एक विधि मिला, लेकिन यह सुंदर नहीं है:

  1. Preferences > Interface > Message and Warning actions में बीप करने के लिए माइनर यूजर इंटरफेस चेतावनी सेट और कंसोल के लिए प्रिंट
  2. यकीन है कि वहाँ है संदेश विंडो में कम से कम एक त्रुटि संदेश
  3. संदेश विंडो नोटबुक (Notebooks[] या तो) का उपयोग करके एक हैंडल प्राप्त करें
  4. स्टोर NotebookGet[NotebookObject[FrontEndObject[LinkObject["55d_shm", 1, 1]], 1]]/. Notebook[{___, Cell[a___]}, ___] :> Cell[a] का उपयोग कर संदेश नोटबुक में अंतिम सेल (आपका संभाल जाहिर है, अलग तरह से दिखेगा)
  5. आपका कॉल: FrontEndTokenExecute [ "कॉपी"]
  6. अंतिम त्रुटि संदेश प्राप्त करें और देखें कि क्या यह एक से अलग है कदम में संग्रहीत 4.
  7. त्रुटि सेल लग रहा है Cell["You tried to edit a cell that is not editable. You can make the \ cell editable by choosing Cell Editable in the Cell Properties \ submenu.", "Message", "Message", "MSG", PageWidth -> WindowWidth, ShowCellLabel -> True, CellChangeTimes -> {3.534442831*10^9}, CellTags -> "cantEditLockedCell"] तरह
  8. अधिनियम उचित रूप से
+0

दिलचस्प हैक। सुझाव: क्या आप संदेश विंडो को छिपाने के लिए भी सेट नहीं कर सके? सुनिश्चित नहीं है कि यह संभव है या नहीं। (यानी, वैश्विक गुण इसे अनुमति नहीं दे सकते हैं।) – telefunkenvf14

+0

धन्यवाद Sjoerd! मैं एक ऐसे समाधान की तलाश में था जो बिना किसी अतिरिक्त सेटअप के किसी भी सिस्टम पर काम करेगा, इसलिए आखिर में मैंने इसे छोड़ दिया, और मैंने चयन करने के लिए सिर्फ 'नोटबुक रीड @ चयनित नोटबुक []' का परीक्षण किया। इस विधि की कमी यह है कि चयन में बड़ी मात्रा में डेटा होता है, और यह पुनर्प्राप्त करने में धीमा हो सकता है (उदाहरण के लिए जब बहुत अधिक आउटपुट उत्पन्न होता है और मैथमैटिका इसे "अधिक दिखाएं" बॉक्स में लपेटती है) – Szabolcs

संबंधित मुद्दे