بلوک عملکرد FS_WRITE

بلوک عملکرد FS_WRITE داده‌ها را در یک سیستم فایل می‌نویسد.

توجه: فایل‌هایی که قبلاً وجود داشته‌اند بدون هشدار overwrite می‌شوند.

سیستم فایل باید قبلاً با استفاده از FS_INIT initialize شده باشد. تمام عملیات‌ها به صورت asynchronous برای هر دستگاه ذخیره‌سازی ایجاد شده انجام می‌شوند.

ورودی WRITE

در یک flank مثبت، داده‌ها در دستگاه ذخیره‌سازی نوشته می‌شوند.

ورودی DEV

دستگاه را تعریف می‌کند که از آن برای دسترسی به فایل‌ها استفاده شود. دستگاه برای هر پروژه استفاده می‌شود و می‌تواند در منوی Context Menu زیر پروژه ذخیره‌سازی خارجی مدیریت شود.

ورودی PATH

مسیر فایل در دستگاه ذخیره‌سازی را مشخص می‌کند. مسیر به یک Unix File Path در فرمت UTF-8 مطابقت دارد، اگر این مورد پشتیبانی شود. مسیر به صورت زیر نمایش داده می‌شود:

Folder/Subfolder/File.txt

ورودی DATA

داده‌هایی را که باید نوشته شوند را تعریف می‌کند.

ورودی MODE

حالت را مشخص می‌کند که با آن فایل باید نوشته شود. حالت‌های ممکن عبارتند از:

حالت توضیحات
"r" فقط برای خواندن باز شده است. نشانگر فایل را در ابتدای فایل قرار می‌دهد.
"r+" فقط برای خواندن و نوشتن باز شده است. نشانگر فایل را در ابتدای فایل قرار می‌دهد.
"w" فقط برای نوشتن باز شده است. نشانگر فایل را در ابتدای فایل قرار می‌دهد. محتویات فایل را پاک می‌کند. اگر فایل وجود نداشته باشد، این فایل ایجاد می‌شود.
"w+" فقط برای نوشتن و خواندن باز شده است. نشانگر فایل را در ابتدای فایل قرار می‌دهد. محتویات فایل را پاک می‌کند. اگر فایل وجود نداشته باشد، این فایل ایجاد می‌شود.
"a" فقط برای نوشتن باز شده است. نشانگر فایل را در انتهای فایل قرار می‌دهد. اگر فایل وجود نداشته باشد، این فایل ایجاد می‌شود. داده‌ها در انتهای فایل اضافه می‌شوند.
"a+" فقط برای نوشتن و خواندن باز شده است. نشانگر فایل را در انتهای فایل قرار می‌دهد. اگر فایل وجود نداشته باشد، این فایل ایجاد می‌شود. داده‌ها در انتهای فایل اضافه می‌شوند.
"x" فقط برای نوشتن باز شده است. نشانگر فایل را در ابتدای فایل قرار می‌دهد. اگر فایل وجود داشته باشد، عملیات متوقف می‌شود.
"x+" فقط برای نوشتن و خواندن باز شده است. نشانگر فایل را در ابتدای فایل قرار می‌دهد. اگر فایل وجود داشته باشد، عملیات متوقف می‌شود.
"c" فقط برای نوشتن باز شده است. نشانگر فایل را در ابتدای فایل قرار می‌دهد. اگر فایل وجود نداشته باشد، این فایل ایجاد می‌شود. محتویات فایل overwrite می‌شوند.
"c+" فقط برای نوشتن و خواندن باز شده است. نشانگر فایل را در ابتدای فایل قرار می‌دهد. اگر فایل وجود نداشته باشد، این فایل ایجاد می‌شود. محتویات فایل overwrite می‌شوند.

ورودی BOM

اگر ورودی هنگام نوشتن true باشد، UTF-8 Byte Order Mark در ابتدای فایل اضافه می‌شود. این فقط زمانی اتفاق می‌افتد که فایل overwrite شود یا جدید ایجاد شود. اگر BOM در ابتدای فایل نوشته نشده باشد، نمی‌توان آن را بعداً اضافه کرد.

خروجی DONE

خروجی در صورت موفقیت یک pulse برمی‌گرداند تا عملیات بعدی انجام شود. این pulse هنگام پایان فرایند رخ می‌دهد، حتی اگر خطایی رخ داده باشد.

خروجی LENGTH

تعداد بایت‌های نوشته شده را برمی‌گرداند. وضعیت برای استفاده بعد ذخیره می‌شود.

خروجی ERROR

در صورت خطا، یک متن با پیام خطا را برمی‌گرداند. این FALSE است اگر هیچ خطایی رخ نداده باشد. وضعیت برای استفاده بعد ذخیره می‌شود.

دلیل‌های ممکن:

  • سرویس دستگاه ذخیره‌سازی شروع نشده است.
  • ذخیره‌سازی initialize نشده است.
  • اطلاعات ورود نامعتبر است.
  • سرور دور نمی‌تواند به دست آید.
  • دستگاه ذخیره‌سازی وجود ندارد.
  • مسیر مشخص شده نامعتبر است.
  • به دستگاه ذخیره‌سازی نمی‌توان نوشت.
  • فضای ذخیره‌سازی در دستگاه ذخیره‌سازی باقی نمانده است یا دستگاه ذخیره‌سازی write-protected است.