دارایی فشرده gui/webview/pack
قالب پروندهای که پروندههای وب برنامه را نگه میدارد.
واردسازی رابط گرافیکی.نمایش وب.دارایی فشرده
این قالب پروندهی پشت پروندههای یک برنامهی نمایش وب است: مجموعهای فشرده و درهم از پروندهها که از انتهای برنامه یا از پروندهی جداگانه خوانده میشود. معمولا آن را مستقیم فراخوانی نمیکنید، چون salam bundle آن را میسازد و نمایش وب آن را میخواند. درهمسازی نامها و محتوا را از دید پنهان میکند ولی رمزنگاری نیست.
فشرده کردن یک پوشه و خواندن دوبارهی آن
فشرده کردن پوشه همهی پروندههای یک پوشه را در یک پروندهی فشرده میگذارد و شمارشان را برمیگرداند، یا -۱. کلید محتوا را درهم میریزد: هنگام باز کردن باید همان باشد و بستهی نمایش وب شناسهی برنامه را به کار میبرد. باز کردن یک فشرده را که پیشتر تعریف کردهاید پر میکند، شمار تعداد پروندهها را میگوید و خواندن یک داده (Blob) برمیگرداند. برای نامی که نباشد، فیلد داده آن تهی است، پس پیش از به کار بردن آن را بسنجید. بایتهای آن را فراخواننده نگه میدارد.
واردسازی رابط گرافیکی.نمایش وب.دارایی فشرده
واردسازی سیستم عامل
واردسازی ورودی خروجی
تابع ریشه:
سیستم عامل.ساخت پوشه ها("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 پیدا شد:"، گمشده.داده نابرابر پوچ
پایانگذاشتن بسته درون برنامه
افزودن فشرده یک بسته را به انتهای برنامهی اجرایی میچسباند و باز کردن همان برنامه را به عنوان مسیر میپذیرد و بسته را از انتهای پرونده پیدا میکند. برنامهی رومیزی صفحههایش را اینگونه در یک پرونده میبرد و salam bundle همین کار را برای شما میکند. در مک بسته به جای آن در پوشهی برنامه میرود تا امضای برنامه معتبر بماند.
pack.PackDir("www", "app.pack", "com.example.app")
pack.AppendPack("notes", "app.pack")
گونهها
داده Blob
ساختار داده| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| داده | data | تهی* | اشارهگر به بایتها. |
| اندازه | size | صحیح۶۴ = 0 | شمار بایتها. |
واردسازی رابط گرافیکی.نمایش وب.دارایی فشرده
تابع ریشه:
سرچاپ دارایی فشرده.فشرده کردن پوشه("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