کتابخانه‌ی استاندارد · وب و مرورگر

دارایی فشرده gui/webview/pack

قالب پرونده‌ای که پرونده‌های وب برنامه را نگه می‌دارد.

واردسازی رابط گرافیکی.نمایش وب.دارایی فشرده

این قالب پرونده‌ی پشت پرونده‌های یک برنامه‌ی نمایش وب است: مجموعه‌ای فشرده و درهم از پرونده‌ها که از انتهای برنامه یا از پرونده‌ی جداگانه خوانده می‌شود. معمولا آن را مستقیم فراخوانی نمی‌کنید، چون salam bundle آن را می‌سازد و نمایش وب آن را می‌خواند. درهم‌سازی نام‌ها و محتوا را از دید پنهان می‌کند ولی رمزنگاری نیست.

فشرده کردن یک پوشه و خواندن دوباره‌ی آن

فشرده کردن پوشه همه‌ی پرونده‌های یک پوشه را در یک پرونده‌ی فشرده می‌گذارد و شمارشان را برمی‌گرداند، یا ‎-۱. کلید محتوا را درهم می‌ریزد: هنگام باز کردن باید همان باشد و بسته‌ی نمایش وب شناسه‌ی برنامه را به کار می‌برد. باز کردن یک فشرده را که پیش‌تر تعریف کرده‌اید پر می‌کند، شمار تعداد پرونده‌ها را می‌گوید و خواندن یک داده (Blob) برمی‌گرداند. برای نامی که نباشد، فیلد داده آن تهی است، پس پیش از به کار بردن آن را بسنجید. بایت‌های آن را فراخواننده نگه می‌دارد.

gui-webview-pack-guide-roundtrip.salam
واردسازی رابط گرافیکی.نمایش وب.دارایی فشرده
واردسازی سیستم عامل
واردسازی ورودی خروجی

تابع ریشه:
    سیستم عامل.ساخت پوشه ها("www")
    ورودی خروجی.نوشتن پرونده("www/index.html"، "<h1>Hello</h1>")
    ورودی خروجی.نوشتن پرونده("www/style.css"، "body { margin: 0 }")
    سرچاپ "فشرده شد"، دارایی فشرده.فشرده کردن پوشه("www"، "app.pack"، "com.example.app")، "پرونده"
    ناپایا باز شده := دارایی فشرده.فشرده {}
    اگر وارونه دارایی فشرده.باز کردن("app.pack"، "com.example.app"، باز شده):
        سرچاپ "باز نشد"
        برگشت ۱
    پایان
    سرچاپ "درون آن"، باز شده.شمار()
    صفحه := باز شده.خواندن("index.html")
    سرچاپ "اندازه‌ی index.html"، صفحه.اندازه، "بایت"
    گمشده := باز شده.خواندن("nothing.txt")
    سرچاپ "nothing.txt پیدا شد:"، گمشده.داده نابرابر پوچ
پایان
خروجیفشرده شد 2 پرونده درون آن 2 اندازه‌ی index.html 14 بایت nothing.txt پیدا شد: false

گذاشتن بسته درون برنامه

افزودن فشرده یک بسته را به انتهای برنامه‌ی اجرایی می‌چسباند و باز کردن همان برنامه را به عنوان مسیر می‌پذیرد و بسته را از انتهای پرونده پیدا می‌کند. برنامه‌ی رومیزی صفحه‌هایش را این‌گونه در یک پرونده می‌برد و salam bundle همین کار را برای شما می‌کند. در مک بسته به جای آن در پوشه‌ی برنامه می‌رود تا امضای برنامه معتبر بماند.

pack.PackDir("www", "app.pack", "com.example.app")
pack.AppendPack("notes", "app.pack")

گونه‌ها

داده Blob

ساختار داده
بایت‌های خوانده‌شده از بسته. مالک آن‌ها فراخواننده است.
نامانگلیسیگونهتوضیح
دادهdataتهی*اشاره‌گر به بایت‌ها.
اندازهsizeصحیح۶۴ = 0شمار بایت‌ها.
gui-webview-pack-Pack.salam
واردسازی رابط گرافیکی.نمایش وب.دارایی فشرده

تابع ریشه:
    سرچاپ دارایی فشرده.فشرده کردن پوشه("www"، "app.pack"، "com.example.app")
    سرچاپ دارایی فشرده.افزودن فشرده("app"، "app.pack")
    ناپایا بازشده := دارایی فشرده.فشرده {}
    اگر دارایی فشرده.باز کردن("app"، "com.example.app"، بازشده):
        سرچاپ بازشده.مسیر، بازشده.کلید، بازشده.شمار()
        داده خوانده := بازشده.خواندن("index.html")
        سرچاپ داده خوانده.داده != پوچ، داده خوانده.اندازه
    پایان
    سرچاپ دارایی فشرده.خواندن بازه("app.pack"، ۰ برگردان صحیح۶۴، ۴ برگردان صحیح۶۴) != پوچ
پایان

فشرده Pack

ساختار فشرده
یک بسته‌ی باز.
نامانگلیسیگونهتوضیح
مسیرpathرشته = ""پرونده‌ای که از آن خوانده شده است.
کلیدkeyرشته = ""کلیدی که با آن باز شده است.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-webview-pack-Pack.salam

شمار Count

تابع شمار(): صحیح
شمار پرونده‌های درون آن.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-webview-pack-Pack.salam

خواندن Read

تابع خواندن(name: رشته): داده
یک پرونده را می‌خواند. اگر نباشد داده پوچ است.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-webview-pack-Pack.salam

تابع‌ها

خواندن بازه ReadRange

تابع خواندن بازه(path: رشته، offset: صحیح۶۴، n: صحیح۶۴): تهی*
بخشی از پرونده را در حافظه‌ی تازه می‌خواند یا پوچ برمی‌گرداند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-webview-pack-Pack.salam

باز کردن Open

تابع باز کردن(path: رشته، key: رشته، out &: فشرده): منطقی
بسته‌ای را که در انتهای پرونده است باز می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-webview-pack-Pack.salam

فشرده کردن پوشه PackDir

تابع فشرده کردن پوشه(dir: رشته، out_path: رشته، key: رشته): صحیح
پوشه‌ای را می‌بندد و شمار پرونده‌ها یا ۱- را برمی‌گرداند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-webview-pack-Pack.salam

افزودن فشرده AppendPack

تابع افزودن فشرده(exe_path: رشته، pack_path: رشته): منطقی
بسته‌ای را به انتهای برنامه می‌افزاید.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-webview-pack-Pack.salam