खोज…


परिचय

ऑपरेटिंग सिस्टम तक पहुंचने के लिए फ़ंक्शन और स्टेटमेंट में कई अंतर्निहित हैं।

ओएस कमान

ओएस-कमांड निष्पादित करता है।

बिना किसी विकल्प के OS-COMMAND एक नया शेल शुरू करेगा और इससे बाहर नहीं निकलेगा - इस प्रकार आप ग्राफिकल OS पर होंगे: es एक विंडो "हैंगिंग" छोड़ दें।

DEFINE VARIABLE cmd AS CHARACTER   NO-UNDO.

cmd = "dir".

OS-COMMAND VALUE(cmd).

तीन विकल्प हैं: SILENT , NO-WAIT और NO-CONSOLE

चुप

एक ऑपरेटिंग सिस्टम कमांड को संसाधित करने के बाद, एवीएम शेल रोक देता है। Windows GUI प्लेटफार्मों में विंडो से बाहर निकलने के लिए, आपको बाहर निकलना होगा। विंडोज चरित्र प्लेटफार्मों में खिड़की से बाहर निकलने के लिए, आपको बाहर निकलना होगा और RETURN या SPACEBAR दबाएं। आप इस ठहराव को खत्म करने के लिए साइलेंट विकल्प का उपयोग कर सकते हैं। इस विकल्प का उपयोग केवल तभी करें जब आप सुनिश्चित हों कि प्रोग्राम, कमांड या बैच फ़ाइल स्क्रीन पर कोई आउटपुट उत्पन्न नहीं करती है। NO-WAIT के साथ उपयोग नहीं किया जा सकता है।

OS-COMMAND SILENT VALUE("runprogram.exe").

इंतज़ार नही

मल्टी-टास्किंग वातावरण में, ऑपरेटिंग सिस्टम कमांड को समाप्त करने के लिए इंतजार किए बिना OS-COMMAND के बाद AVM तुरंत नियंत्रण वापस पास करने का कारण बनता है। साइलेंट के साथ उपयोग नहीं किया जा सकता। यह विकल्प केवल विंडोज में समर्थित है।

OS-COMMAND NO-WAIT VALUE("DIR > dirfile.txt").

लिनक्स / यूनिक्स पर आपको इसके बजाय & #sign के साथ कमांड को पूर्व में प्राप्त करना होगा:

OS-COMMAND VALUE("ls >> file.txt &").

नो-कंसोल

ऑपरेटिंग सिस्टम कमांड को संसाधित करते समय, एवीएम एक कंसोल विंडो बनाता है। कंसोल विंडो को कमांड निष्पादित होने के बाद साफ नहीं किया जा सकता है। आप इस विंडो को पहली बार में बनाए जाने से रोकने के लिए NO-CONSOLE विकल्प का उपयोग कर सकते हैं।

OS-COMMAND NO-CONSOLE VALUE("startbach.bat").

OS-COMMAND से प्रगति ABL में कोई त्रुटि कभी नहीं लौटी है, इसलिए आपको त्रुटियों के लिए दूसरे तरीके से जांचना होगा, संभवतः उन्हें शेल-स्क्रिप्ट या इसी तरह की फ़ाइल में लिखना होगा।

OPSYS

OPSYS देता है कि ओएस किस प्रोग्राम पर चल रहा है:

MESSAGE OPSYS VIEW-AS ALERT-BOX.

परिणाम:

यहाँ छवि विवरण दर्ज करें

इसका उपयोग यह चुनने के लिए किया जा सकता है कि कॉल करने के लिए ओएस-उपयोगिता क्या है:

IF OPSYS = "LINUX" THEN 
    OS-COMMAND VALUE("ls -l").
ELSE 
    OS-COMMAND VALUE("dir").

ओएस-त्रुटि

पिछले OS-* से एक त्रुटि देता OS-* पूर्णांक द्वारा दर्शाया गया कॉल। OS-ERROR पर लौट सकने वाली कॉल हैं:

  • ओएस-APPEND
  • ओएस-कॉपी
  • ओएस-create-DIR
  • ओएस-Delete
  • ओएस नाम बदलें
  • CACHE को सेव करें

ध्यान दें कि OS-COMMAND गायब है। आपको स्वयं OS-COMMAND में त्रुटियों को संभालने की आवश्यकता है।

त्रुटि संख्या विवरण
0 कोई त्रुटि नहीं
1 मालिक नहीं
2 ऐसी कोई फ़ाइल या डायरेक्टरी नहीं है
3 बाधित सिस्टम कॉल
4 I / O त्रुटि
5 खराब फाइल नंबर
6 और कोई प्रक्रिया नहीं
7 पर्याप्त कोर मेमोरी नहीं
8 अनुमति नहीं मिली
9 बुरा पता
10 फाइल मौजूद है
1 1 ऐसा कोई उपकरण नहीं
12 डायरेक्टरी नहीं
13 एक निर्देशिका है
14 फ़ाइल तालिका अतिप्रवाह
15 बहुत सारी खुली हुई फाइलें
16 बहुत बड़ी फाइल
17 डिवाइस पर जगह समाप्त
18 निर्देशिका खाली नहीं है
999 अनमैप त्रुटि (ABL डिफ़ॉल्ट)

OS-GETENV फ़ंक्शन

किसी भी OS वातावरण चर का मान लौटाता है।

MESSAGE OS-GETENV ("OS") VIEW-AS ALERT-BOX.

विंडोज मशीन पर:

यहाँ छवि विवरण दर्ज करें

MESSAGE OS-GETENV ("SHELL") VIEW-AS ALERT-BOX.

वर्तमान शेल के रूप में बैश के साथ एक लिनक्स मशीन पर परिणाम:

                        ┌────── Message ───────┐
                        │      /bin/bash       │
                        │ ──────────────────── │
                        │         <OK>         │
                        └──────────────────────┘

ओएस-कॉपी

एक फ़ाइल की प्रतिलिपि बनाएँ

COPY स्रोत-फ़ाइल लक्ष्य-फ़ाइल

c:\temp\source-file.txt को c:\temp\target-file.txt कॉपी करें। सफलता या इसके अभाव के लिए आपको OS-ERROR जांच करनी होगी।

OS-COPY VALUE("c:\temp\source-file.txt")  VALUE("c:\temp\target-file.txt").
IF OS-ERROR <> 0 THEN DO:
    MESSAGE "An error occured" VIEW-AS ALERT-BOX ERROR.
END.

ओएस-Delete

फ़ाइल, या फ़ाइल-ट्री हटाता है।

कई अन्य OS- * उपयोगिताओं के साथ, आपको OS-ERROR में स्थिति की जांच करनी होगी।

OS-DELETE फ़ाइल या डीर-टू-डिलीट [RECURSIVE]

संपूर्ण /tmp/dir ट्री हटाएं:

OS-DELETE VALUE("/tmp/dir") RECURSIVE.

c:\dir\file.txt नामक फ़ाइल को हटाएँ

OS-DELETE VALUE("c:\dir\file.txt").

ओएस-create-DIR

एक निर्देशिका बनाता है, स्थिति OS-ERROR

OS-CREATE-DIR निर्देशिका

/usr/local/appData नामक एक निर्देशिका बनाएँ

OS-CREATE-DIR VALUE("/usr/local/appData").

ओएस-APPEND

एक फ़ाइल को दूसरे में जोड़ें। स्थिति की जाँच OS-ERROR

OS-APPEND स्रोत का लक्ष्य

targetfile.txt साथ targetfile.txt को sourcefile.txt :

OS-APPEND VALUE("sourcefile.txt") VALUE("targetfile.txt").

ओएस नाम बदलें

फ़ाइल या निर्देशिका का नाम बदलें। स्थिति OS-ERROR । फ़ाइलों को स्थानांतरित करने के लिए भी उपयोग किया जा सकता है (या स्थानांतरित करें और नाम बदलें)।

OS-RENAME पुराना नाम नया नाम

नाम /tmp/old-name /tmp/new-name :

OS-RENAME VALUE("/tmp/old-name") VALUE("/tmp/new-name").

फ़ाइल को c:\temp\old.txt से c:\new-dir\old.txt :

OS-RENAME VALUE("c:\temp\old.txt") VALUE("c:\new-dir\old.txt").

OS-DRIVES (केवल Windows)

किसी सिस्टम पर सभी ड्राइव की सूची देता है।

MESSAGE OS-DRIVES VIEW-AS ALERT-BOX.

चार ड्राइव के साथ परिणाम, सी एफ के माध्यम से:

यहाँ छवि विवरण दर्ज करें

लिनक्स पर सूची केवल खाली होगी क्योंकि परिभाषाएँ "ड्राइव" से जुड़ी नहीं हैं। लिस्टिंग निर्देशिका दूसरे तरीके से की जाती है ( INPUT FROM OS-DIR )



Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow