फंक्शन ब्लॉक FS_WRITE

फंक्शन ब्लॉक FS_WRITE डेटा को एक फाइल सिस्टम पर लिखता है।

सावधान: पहले से मौजूद फ़ाइलों को बिना किसी चेतावनी के ओवरराइट किया जाएगा।

फाइल सिस्टम को पहले FS_INIT का उपयोग करके इनिशियलाइज़ किया जाना चाहिए। सभी ऑपरेशन्स एसिंक्रोनस रूप से हर स्थापित स्टोरेज मीडिया के लिए होते हैं।

इनपुट WRITE

एक पॉजिटिव एज पर, डेटा को स्टोरेज मीडिया पर लिखा जाता है।

इनपुट DEV

यह निर्धारित करता है कि किस डिवाइस से फाइलों तक पहुंचा जाना चाहिए। डिवाइस को प्रोजेक्ट के लिए उपयोग किया जाता है और इसे प्रोजेक्ट एक्सटर्नल स्टोरेज के तहत कॉन्टेक्स्ट मेनू में प्रबंधित किया जा सकता है।

इनपुट PATH

यह स्टोरेज मीडिया पर फाइल तक की पथ देता है। पथ एक यूनिक्स फ़ाइल पथ के बराबर होता है, अगर यह सपोर्ट किया जाता है तो UTF-8 फॉर्मेट में। पथ को इस तरह से प्रस्तुत किया जाता है:

फोल्डर/सबफोल्डर/फाइल.txt

इनपुट DATA

यह उन डेटा को परिभाषित करता है जिन्हें लिखा जाना चाहिए।

इनपुट MODE

यह उस मोड को निर्दिष्ट करता है जिसमें फाइल लिखी जानी चाहिए। संभावित मोड हैं:

मोड विवरण
"r" केवल पढ़ने के लिए खुला है। फ़ाइल इंडेक्सर को फ़ाइल की शुरुआत पर रखा जाता है।
"r+" केवल पढ़ने और लिखने के लिए खुला है। फ़ाइल इंडेक्सर को फ़ाइल की शुरुआत पर रखा जाता है।
"w" केवल लिखने के लिए खुला है। फ़ाइल इंडेक्सर को फ़ाइल की शुरुआत पर रखा जाता है। फ़ाइल की सामग्री को मिटा देता है। अगर फ़ाइल मौजूद नहीं है, तो इसे बनाया जाएगा।
"w+" केवल लिखने और पढ़ने के लिए खुला है। फ़ाइल इंडेक्सर को फ़ाइल की शुरुआत पर रखा जाता है। फ़ाइल की सामग्री को मिटा देता है। अगर फ़ाइल मौजूद नहीं है, तो इसे बनाया जाएगा।
"a" केवल लिखने के लिए खुला है। फ़ाइल इंडेक्सर को फ़ाइल की अंत में रखा जाता है। अगर फ़ाइल मौजूद नहीं है, तो इसे बनाया जाएगा। डेटा को अंत में जोड़ा जाएगा।
"a+" केवल लिखने और पढ़ने के लिए खुला है। फ़ाइल इंडेक्सर को फ़ाइल की अंत में रखा जाता है। अगर फ़ाइल मौजूद नहीं है, तो इसे बनाया जाएगा। डेटा को अंत में जोड़ा जाएगा।
"x" केवल लिखने के लिए खुला है। फ़ाइल इंडेक्सर को फ़ाइल की शुरुआत पर रखा जाता है। अगर फ़ाइल मौजूद है, तो इसे रद्द कर दिया जाएगा।
"x+" केवल लिखने और पढ़ने के लिए खुला है। फ़ाइल इंडेक्सर को फ़ाइल की शुरुआत पर रखा जाता है। अगर फ़ाइल मौजूद है, तो इसे रद्द कर दिया जाएगा।
"c" केवल लिखने के लिए खुला है। फ़ाइल इंडेक्सर को फ़ाइल की शुरुआत पर रखा जाता है। अगर फ़ाइल मौजूद नहीं है, तो इसे बनाया जाएगा। फ़ाइल की सामग्री को ओवरराइट किया जाएगा।
"c+" केवल लिखने और पढ़ने के लिए खुला है। फ़ाइल इंडेक्सर को फ़ाइल की शुरुआत पर रखा जाता है। अगर फ़ाइल मौजूद नहीं है, तो इसे बनाया जाएगा। फ़ाइल की सामग्री को ओवरराइट किया जाएगा।

इनपुट BOM

अगर लिखते समय इनपुट सत्य होता है, तो UTF-8 बाईट ऑर्डर मार्क को फ़ाइल की शुरुआत में जोड़ा जाता है। यह केवल तब होता है जब फ़ाइल ओवरराइट की जाती है या नई बनाई जाती है। अगर BOM को फ़ाइल की शुरुआत पर नहीं लिखा गया था, तो इसे बाद में जोड़ा नहीं जा सकता।

आउटपुट DONE

आउटपुट सफलता के मामले में अगले ऑपरेशन को करने के लिए एक इम्पल्स वापस देता है। इम्पल्स प्रक्रिया समाप्त होने पर होता है, भले ही कोई त्रुटि हुई हो।

आउटपुट LENGTH

लिखे गए बाइट की संख्या वापस करता है। स्थिति को बाद के उपयोग के लिए संग्रहीत किया जाता है।

आउटपुट ERROR

त्रुटि के मामले में एक टेक्स्ट के साथ एक त्रुटि संदेश वापस देता है। यह FALSE होता है अगर कोई त्रुटि नहीं हुई है। स्थिति को बाद के उपयोग के लिए संग्रहीत किया जाता है।

संभावित कारण:

  • स्टोरेज मीडिया की सेवा शुरू नहीं की गई थी।
  • स्टोरेज को इनिशियलाइज़ नहीं किया गया था।
  • लॉगिन डेटा अमान्य हैं।
  • रिमोट सर्वर तक पहुंचा नहीं जा सका।
  • स्टोरेज मीडिया मौजूद नहीं है।
  • उल्लिखित पथ अमान्य है।
  • स्टोरेज मीडिया पर लिखा नहीं जा सकता।
  • स्टोरेज में कोई स्टोरेज स्पेस नहीं बचा या स्टोरेज राइट प्रोटेक्टेड है।