مشاهده و سازماندهی فایل ها و پوشه ها. وارد کردن و صادر کردن فایل ها با فرمت های مختلف در Pages

مقدمه

در این مقاله، نحوه مرتبط کردن یک برنامه سفارشی را با یک نوع فایل خاص توضیح خواهم داد. به طوری که وقتی روی یک فایل دوبار کلیک می کنید، این برنامه شروع شده و فایل انتخاب شده را باز می کند.

اجزا و ماژول های ویژه ای برای مرتبط کردن فایل ها با یک برنامه وجود دارد، مانند . در مقاله من توضیح خواهم داد که چگونه این کار به صورت دستی انجام می شود.

چطور کار میکند؟

به طور کلی، همه چیز بسیار ساده کار می کند. تمام اطلاعات لازم برای این کار در یک شعبه خاص وارد رجیستری می شود. ویرایشگر رجیستری را باز کنید (شروع -> اجرا -> regedit) و به شاخه HKEY_CLASSES_ROOT بروید. در آنجا تمامی پسوندهای موجود در سیستم را مشاهده خواهید کرد. در آنجا هم txt. و هم .bmp و بسیاری از پسوندهای آشنای دیگر را خواهید یافت.

بیایید به پسوند jpg نگاه کنیم. در آن من یک شاخه OpenWithProgids دارم و یک ACDSee Pro 2.0.jpg از نوع REG_SZ دارد. سپس به شاخه HKEY_CLASSES_ROOT\ACDSee Pro 2.0.jpg بروید. چندین شعبه دارد. بیایید موارد مورد نیاز خود را در نظر بگیریم، اینها عبارتند از: DefaultIcon - مسیر نمادی که فایل در Explorer نمایش داده می شود. shell\Open\command - چه برنامه‌ای را هنگام دوبار کلیک کردن روی یک فایل باز کنید.

باید بدانید که هنگام راه اندازی برنامه، مسیر فایلی که در حال باز شدن است به عنوان پارامتر ارسال می شود. بنابراین، این پارامتر باید مدیریت شود.

پیاده سازی

اجازه دهید فایل پسوند باشد .dev. بیایید رویه ای بنویسیم تا مقادیر لازم را به رجیستری اضافه کنیم. فراموش نکنید که اضافه کنیدبه بخش استفاده از ماژول رجیستری برای کار با رجیستری.

استفاده می کندرجیستری، ShlObj;
...
var Reg: TRegistry;
...
روشوابسته؛
var s: رشته;
شروع
Reg:=TRegistry.Create; // ایجاد کردن
// شاخه ریشه را مشخص کنید

Reg.OpenKey(.dev\OpenWithProgids\" , true);
Reg.WriteString("TestApplication.dev" , "");

Reg.OpenKey( "\TestApplication.dev\DefaultIcon\"، درست است، واقعی)؛
s:=Application.ExeName+",0";
Reg.WriteString("", s);

Reg.OpenKey( "\TestApplication.dev\Shell\Open\"، درست است، واقعی)؛
Reg.WriteString("", "Open in TestApplication");

Reg.OpenKey("command\" , true);
s:="""+Application.ExeName+"""%1"";
Reg.WriteString("", s);

صفر, صفر);
پایان;

عملکرد کلید بازشاخه مشخص شده در پارامتر اول را باز می کند. پارامتر دوم روی True تنظیم شده است تا در صورت نبود شاخه ایجاد شود.

سپس در متغیر s مسیر آیکون را تشکیل می دهیم. در این حالت آیکون با اندیس 0 از اپلیکیشن exe گرفته می شود. به عنوان مثال، می توانید یک نماد دیگر را به برنامه اضافه کنید و از آن برای فایل های برنامه استفاده کنید، اما می توانید مسیر فایل .ico را نیز مشخص کنید.

من خودم TestApplication.dev را انتخاب کردم. نام این تاپیک به عهده شماست. معمولاً نام برنامه نوشته می شود و پسوند اضافه می شود، زیرا برنامه می تواند با چندین پسوند کار کند.

پس از افزودن داده ها به رجیستری، رویه فراخوانی می شود SHCchangeNotifyبرای به روز رسانی آیکون ها و اعمال تنظیمات.

روش DeleteAssociate؛
شروع
Reg:=TRegistry.Create;
Reg.RootKey:= HKEY_CLASSES_ROOT;

Reg.DeleteKey(.dev" );
reg.DeleteKey("TestApplication.dev");

SHChangeNotify(SHCNE_ASSOCCHANGED، SHCNF_IDLIST، صفر, صفر);
پایان;

اینجا حتی ساده تر است - فقط شاخه های ایجاد شده را حذف کنید.

پردازش بار

اکنون فقط باید پارامتر را پردازش کنیم تا برنامه نه تنها بارگیری شود، بلکه فایل را نیز باز کند. همه چیز بسیار ساده است، در طول ایجاد فرم، تابع را می خوانیم ParamCountتعداد پارامترها و اگر تعداد آنها 0 نباشد تابع load را فراخوانی می کنیم و به عنوان پارامتر ورودی این تابع مسیر فایلی که باید باز شود را پاس می کنیم. روی فرم دو بار کلیک کنید و بدین ترتیب یک کنترل کننده ایجاد فرم ایجاد کنید.

روش TForm1.FormCreate(فرستنده: TObject);
شروع
اگر ParamCount<> 0 سپسبار (ParamStr(1));
پایان;

خوب، شما همچنین باید یک تابع آپلود فایل بنویسید. TMemo را به فرم اضافه کنید.

عملکردبارگذاری (FName: رشته): بولی;
شروع
Form1.Memo1.Lines.LoadFromFile(FName);
پایان;

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

دو TButton به فرم اضافه کنید. با کلیک بر روی اولی، ارتباط انجام می شود و با کلیک دوم، ارتباط حذف می شود.

روی دکمه اول دوبار کلیک می کنیم و رویه را به این فرم می آوریم.

روش TForm1.Button1Click(فرستنده: TObject);
شروع
وابسته؛
پایان;

ما همان مراحلی را که در بالا توضیح داده شد انجام می دهیم، اما برای دکمه دوم.

روش TForm1.Button2Click(فرستنده: TObject);
شروع
DeleteAssociate؛
پایان;

باشه الان تموم شد وقتی می‌خواهید یک فایل .dev را باز کنید، Memo1 باید محتویات فایل را بارگیری کند.

الزامات.
برای انجام مراحل این مقاله، باید حقوق مدیر محلی را روی رایانه داشته باشید.
مقاله برای ویندوز 98/Me/2000/XP/Vista معتبر است.

اطلاعات.
مورد اول
بعد از نصب اتفاق می افتد برنامه جدید، برخی از فایل ها در این برنامه شروع به باز شدن می کنند. به عنوان مثال، تمام زندگی خود را با کمک فیلم تماشا می کنید winampو یک روز تصمیم به نصب کدک های جدید گرفتند و نصب این کدک ها شامل نصب پخش کننده هم می شد ویندوز مدیا کلاسیک. و حالا فایل های با پسوند avi، در یک پخش کننده جدید باز کنید، اما می خواهید با استفاده از آن تماشا کنید winampبنابراین اجازه دهید برخی از تنظیمات جزئی را انجام دهیم.

مورد دوم.
پس از حذف برنامه، برخی از فایل ها اصلا باز نمی شوند. اگر هیچ برنامه ثابتی پشت این نوع فایل ها وجود نداشته باشد، این اتفاق می افتد. بنابراین، باید به صورت دستی تعیین کنید که کدام برنامه را برای باز کردن این نوع فایل نیاز دارید.

اختصاص یک نوع فایل به یک برنامه
1. روی فایل کلیک راست کنید.
2. مورد منو را انتخاب کنید " خواص";
3. در پنجره "Properties" به " عمومی";
4. در بند " کاربرد"، نمایش داده می شود که این فایل با کدام برنامه باز می شود (در مورد ما این است " ویندوز مدیا کلاسیک");
5. دکمه " را فشار دهید تغییر دادن";
6. در پنجره Program Selection را پیدا کرده و روی آن کلیک کنید برنامه لازم(و موارد ما عبارتند از" winamp");
7. کادر " از برنامه انتخاب شده برای همه فایل های این نوع استفاده کنید"اگر نصب نشده باشد؛


8. روی دکمه "OK" کلیک کنید.

اکنون فایل های با پسوند avi، با باز می شود winamp.

گاهی اوقات کاربران مبتدی می پرسند که چگونه می توانید یک فایل را همیشه در یک برنامه خاص باز کنید. فرض کنید یک نمایشگر تصویر جدید نصب کرده اید، اما وقتی روی تصویر دوبار کلیک می کنید، ویندوز همچنان آن را در باز می کند. ابزار استانداردبرای مشاهده تصاویر

چرا این اتفاق می افتد و چگونه ویندوز به طور کلی تعیین می کند که یک فایل خاص را با کدام برنامه باز کند؟ این "درک" با به اصطلاح پیوند یا امکان پذیر می شود. در اصل، ارتباط فایل چیزی بیش از ارتباط فایل با آن نیست برنامه کاربردیبا توجه به برخی از علائم خاص، اغلب با گسترش.





برخی از برنامه ها در حین نصب به طور خودکار ارتباط فایل را تغییر می دهند و تغییرات مناسب را در رجیستری ایجاد می کنند و در همان زمان خود را در آن ثبت می کنند. منوی زمینه Explorer، در حالی که دیگران یک کار را انجام می دهند یا اصلاً تغییری نمی دهند. در مورد دوم، شما می توانید انجمن را خودتان راه اندازی کنید.

در ویندوز 7 و 8، به کنترل پنل بروید و بخش «برنامه‌های پیش‌فرض» را در آنجا پیدا کنید. در پنجره باز شده چهار مورد را مشاهده خواهید کرد. روی اولین مورد "تنظیم برنامه های پیش فرض" کلیک کنید. پس از یک اسکن کوتاه ابزار سیستملیستی از برنامه های کاربردی نصب شده روی رایانه را نمایش می دهد.





فرض کنید می خواهید فایل های PNG همیشه در باز شوند. در پنل سمت چپ، این ویرایشگر را با ماوس انتخاب کنید و سپس روی «انتخاب مقادیر پیش‌فرض برای این برنامه» کلیک کنید. در پنجره باز شده تیک پسوند مورد نظر را زده و نتیجه را ذخیره کنید و از این پس تمامی تصاویر دارای پسوند PNG با دوبار کلیک بر روی آنها در Paint باز می شوند.

نیازی به گفتن نیست که این روش دارای محدودیت های خاصی است. نکته این است که نه همه برنامه های نصب شدهممکن است در این لیست ظاهر شود. در این مورد، می توانید برعکس بروید، یعنی نه اینکه پسوند را به برنامه "سفارشی" کنید، بلکه برعکس.





در قسمت برنامه‌های پیش‌فرض، مورد دوم «ارتباط انواع فایل یا پروتکل‌ها با برنامه‌های خاص» را انتخاب کنید. این بار، برنامه کاربردی متداول ترین افزونه های استفاده شده را فهرست می کند توضیح مختصرو برنامه های کاربردی مرتبط ما به طور مشابه عمل می کنیم. بیایید چنین وضعیتی را تصور کنیم.

وظیفه ما این است که انجمن ها را به گونه ای تنظیم کنیم که فایل های اسکریپت (bat.) را بتوان در حالت عادی مشاهده کرد ویرایشگر متن. پسوند BAT را پیدا می کنیم، آن را انتخاب می کنیم و روی دکمه "تغییر برنامه" در قسمت بالای پنجره کلیک می کنیم.





پنجره ای باز می شود که از شما می خواهد انتخاب کنید برنامه مورد نظر، در ویندوز 8، اولین پیشنهاد این است که به دنبال یک برنامه در استور بگردید (برنامه افزودنی ناشناخته) یا به استفاده از برنامه مرتبط ادامه دهید. برای مشاهده لیست کاملبرنامه ها، روی «بیشتر» کلیک کنید و برنامه مورد نظر را انتخاب کنید. اگر در لیست نیست، می توانید مسیر فایل اجرایی را خودتان از طریق مرورگر استاندارد مشخص کنید.

نتیجه

با راه‌اندازی پیوندهای فایل، می‌توانید وظایف راه‌اندازی را خودکار کنید انواع متفاوتفایل‌ها، در نتیجه کار شما بر روی رایانه شما سازنده‌تر و سریع‌تر می‌شود.

راه‌های دیگری نیز برای تنظیم ارتباط فایل وجود دارد. به عنوان مثال، کاربران پیشرفته می توانند تغییرات مناسبی در آن ایجاد کنند رجیستری سیستم. روش فوق ساده ترین و راحت ترین است.

به هر حال، می توانید بدون استفاده از ابزارهای کنترل پنل، انجمن ها را راه اندازی کنید. فقط باید روی فایل مورد بحث کلیک راست کرده، "Properties" را انتخاب کنید و در پنجره گزینه باز شده، برنامه مورد نیاز برای باز کردن فایل را مشخص کنید.

هنگامی که فایل ها را از اینترنت دانلود می کنید، سیستم عامل به دلایل امنیتی آنها را به روش خاصی علامت گذاری می کند. بعداً، وقتی می‌خواهید فایل دانلود شده را باز کنید، ویندوز اخطاری مبنی بر ایمن نبودن فایل را نشان می‌دهد و نیاز به تأیید صریح دارد که واقعاً قصد باز کردن آن را دارید. وقتی فعال شد عملکرد هوشمندصفحه نمایش، برخی از فایل ها به خصوص سرسختانه مسدود می شوند. راهی برای حذف چنین قفل هایی از همه پرونده ها و پوشه های موجود در فهرست "دانلودها" یا هر پوشه دیگری وجود دارد.
در خود مکانیسم قفل. با استفاده از آشنا کار می کند. برای هر فایل دانلود شده، یک جریان داده جایگزین اضافه می شود که پارامترهای آن می گویند سیستم عاملکه از آن مشتق شده است وب جهانیو ممکن است ایمن نباشد.

برای تایید این موضوع، در ویندوز 10 می توانیم از ابزار PowerShell استفاده کنیم. دستور زیر را برای یکی از فایل های دانلود شده اجرا کنید:

نام فایل دریافت - جریان *

ساده ترین راه برای باز کردن PowerShell بلافاصله در پوشه مورد نظر استفاده از دستور منوی File در آن است Windows Explorer 10. به پوشه Downloads خود بروید و File - Run را اجرا کنید پاورشل ویندوز- Windows Powershell را راه اندازی کنید:


دستور بالا را در فایل "winaerotweaker.zip" اجرا کنید. این یک آرشیو با برنامه Winaero Tweaker من است که به طور خاص به عنوان نمونه دانلود کردم. دستور را اجرا می کنیم:

دریافت مورد winaerotweaker.zip -stream *


آرگومان "-stream *" به دستور get-item می گوید که تمام جریان های موجود برای فایل را فهرست کند. Zone.Identifier - این دقیقاً جریان داده جایگزین است که توسط آن ویندوز 10 فایل دانلود شده از اینترنت را تعیین می کند. با استفاده از دستور get-content، می‌توانیم ببینیم چه چیزی روی آن نوشته شده است:

دریافت محتوا winaerotweaker.zip -stream Zone.Identifier


در هسته خود، این یک فایل ini معمولی است که در آن پارامتر ZoneId مقدار تعیین کننده ای دارد:

ZoneId=3

مقادیر احتمالی آن عبارتند از:
0 - فایل در رایانه محلی ایجاد شده است.
1 - دریافت فایل از طریق شبکه محلی
2 - فایل از یک منطقه اینترنتی قابل اعتماد دریافت شده است
3 - فایل به دست آمده از اینترنت
4 - فایل از منطقه "سایت های خطرناک" دریافت شده است

بر این اساس، برای رفع انسداد آن، باید یا در ZoneId عدد 0 را بنویسید یا حتی جریان جایگزین به نام Zone.Identifier را حذف کنید.

به معنای رابط کاربری گرافیکیمی توانید قفل فایل را از طریق ویژگی های آن باز کنید. یک چک باکس مربوطه وجود دارد (که در نسخه روسی کاملاً در کادر گفتگو قرار نمی گیرد):

چگونه در ویندوز 10 قفل تمام فایل های پوشه دانلودها را به طور همزمان باز کنیم

اگر نیاز به باز کردن قفل بسیاری از فایل ها یا همه به یکباره دارید، باز کردن ویژگی های هر یک از آنها کار بسیار خسته کننده ای است. خوشبختانه، این عملیات را می توان دوباره با استفاده از PowerShell ساده کرد. کافی است دستور زیر را اجرا کنید:

Dir -Recurse | رفع انسداد-فایل

البته باید در پوشه سمت راست اجرا شود. در مورد ما، PowerShell از قبل در پوشه Downloads باز است. بیایید آن را اجرا کنیم و ببینیم چه اتفاقی می افتد.

دستور بدون هیچ خروجی اجرا می شود. بیایید جریان های داده جایگزین را بررسی کنیم:


یعنی دستور Unblock-File به سادگی جریان Zone.Identifier را از هر یک از فایل ها حذف می کند:


آماده! اکنون، هنگامی که نیاز دارید چندین فایل را به طور همزمان در هر پوشه ای در رایانه خود باز کنید، می دانید چه کاری باید انجام دهید. همچنین همین ترفند باید روی ویندوز 8/8.1 کار کند اما فعلا نمی توانم آن را تست کنم.

داده های نوع فایل به زبان پاسکال اختصاص داده می شود که برای کار با اطلاعات موجود در دستگاه های خارجی استفاده می شود. این اطلاعات در حافظه خارجی کامپیوتر تشکیل می شود و ناحیه خاصی به نام فایل را تشکیل می دهد. فایل ها یک نام دارند و مجموعه ای از عناصر از یک نوع هستند. آنها معمولاً در موارد حجم زیاد داده، ذخیره سازی طولانی مدت یا نیاز به دسترسی به چندین برنامه به اطلاعات یکسان استفاده می شوند.

فایل ها معمولا به دو دسته فیزیکی و منطقی تقسیم می شوند. فایل های فیزیکی یک نام دارند و در رسانه های قابل جابجایی قرار دارند، در حالی که فایل های منطقی آن دسته از متغیرهای نوع فایل هستند که آنها را در برنامه نشان می دهند.

پاسکال بین موارد زیر تمایز قائل می شود سه نوع فایل(کلمات کلیدی برای مقداردهی اولیه متغیر فایل در پرانتز توضیح داده شده است):

  • فایل های متنی (متن)؛
  • تایپ شده (فایل از<тип>);
  • تایپ نشده (پرونده).

کمی بعد به هر یک از آنها خواهیم پرداخت. و حالا بیایید به عملیات اساسی برای کار با فایل ها نگاه کنیم.

ایجاد فایل

اختصاص دادن(<имя файловой переменной>, <имя файла>)

رویه Assign یک متغیر نوع فایل را با یک فایل فیزیکی مرتبط می کند. به عنوان مثال، برای برقراری ارتباط بین متغیر Fil و تعداد فایل متنی موجود در دیسک D، می توانید این کار را انجام دهید:

تخصیص (فایل، 'D:\lot.txt')

حالت خواندن

تنظیم مجدد(<имя файловой переменной>)

رویه Reset فایل را در حالت خواندن باز می کند و پس از آن Read(<файловая переменная>, <считываемый элемент>) می توانید عناصر را به صورت متوالی در برنامه بخوانید.

انتهای فایل

EOF(<имя файловой переменной>)

تعداد عناصر موجود در یک فایل از قبل تعیین نشده است، اما اغلب لازم است بدانیم که چه زمانی به پایان پرونده رسیده است. برای انجام این کار، در پاسکال یک تابع منطقی EOF وجود دارد که بررسی می کند که آیا به پایان رسیده است یا خیر، و اگر چنین است، مقدار True و در غیر این صورت False را می گیرد. بررسی انجام می شود، به عنوان یک قاعده، در یک چرخه، تابع EOF به عنوان یک عبارت شرطی عمل می کند.

حالت ضبط

بازنویسی(<имя файловой переменной>)

پس از باز کردن فایل در حالت نوشتن، می توانید با استفاده از Write اطلاعات را عنصر به عنصر در آن بنویسید (<файловая переменная>, <элемент>).

بستن یک فایل

نزدیک(<имя файловой переменной>)

رویه Close بسته می شود باز کردن فایل، و همچنین متغیر فایل مشخص شده به عنوان پارامتر را آزاد می کند.

حذف یک فایل

پاک کردن(<имя файловой переменной>)

با استفاده از روش Erase، می‌توانید فایلی که قبلاً بسته شده را از رسانه خارجی حذف کنید.

تغییر نام فایل

تغییر نام(<имя файловой переменной>, ‘<новое имя файла>’)

تغییر نام یک فایل فیزیکی را تغییر نام می دهد که ابتدا باید با رویه Close بسته شود.

آفست نشانگر فایل

جستجو (<имя файловой переменной>, <номер элемента>)

رویه Seek موقعیت اشاره گر در فایل را به عنصر مورد نیاز تنظیم می کند (شماره گذاری عنصر از صفر شروع می شود).

تعیین موقعیت اشاره گر

FilePos(<имя файловой переменной>)

تابع FilePos یک مقدار می گیرد شماره سریالعنصری که نشانگر در زمان تماس روی آن قرار دارد.

تعیین تعداد عناصر

حجم فایل(<имя файловой переменной>)

تابع FileSize تعداد تمام عناصر یک فایل را تعیین می کند.

فایل های متنی

فایل های متنی می توانند از عناصری از نوع داده کاراکتر (char) و رشته (رشته) تشکیل شده باشند. کلمه کلیدیمتن نشان می دهد که متغیر فایل برای کار با یک فایل متنی ایجاد شده است:

Var<идентификатор>:text;

ساختار یک فایل متنی دنباله ای از خطوط است که به نوبه خود از کاراکترها تشکیل شده است. هر خطی با علامت "پایان خط" و خود فایل با علامت "پایان فایل" به پایان می رسد. برای تعیین انتهای یک فایل در پاسکال یک تابع EOF وجود دارد و برای انتهای یک خط - EOLn:

EOLn(<имя файловой переменной>)

اگر به انتهای رشته برسد، آن (تابع EOLn) مقدار True و در غیر این صورت False می گیرد.

نمونه هایی از وظایف کار با فایل ها در پاسکال:

1. یک فایل X ایجاد کنید که اجزای آن عناصر آرایه M هستند. همه اجزایی که در مکان های زوج هستند را از فایل X به فایل Y بازنویسی کنید. فایل Y را بخوانید.
M = (0.1; 5.6; 0.8; 2.4; 7.3; 6.8; 0.5; 2.3;)

const M: آرایه واقعی = (0.1، 5.6، 0.8، 2.4، 7.3، 6.8، 0.5، 2.3);
var
x,y: فایل واقعی;

n: واقعی من: بایت
شروع
assign(x"x.dat");
assign(y"y.dat");
بازنویسی (x);
برای i:=1 تا 8 انجام دهید
نوشتن (x، M[i]);
بستن (x);
تنظیم مجدد (x)؛
بازنویسی (y);
i:= 1;
در حالی که EOF(x) شروع نمی شود
خواندن (x, n);
اگر عجیب نیست (i) پس
نوشتن (y, n);
i:= i + 1;
پایان؛
بستن (x); بستن (y);
تنظیم مجدد (y);
در حالی که EOF(y) شروع نمی شود
خواندن (y, n);
نوشتن (n:5:1);
پایان؛
نوشتن;
بستن (y);
پایان.

2. فایلی داده می شود که در آن اعداد طبیعی از طریق فاصله نوشته می شوند. نمایش مجموع ارقام هر عدد.

var
f: فایل char;
ج: char; جمع، n: کلمه;

شروع
assign(f"nums.txt");
تنظیم مجدد (f)؛
مجموع:= 0;
در حالی که eof(f) شروع نمی شود
خواندن (f,c)؛

اگر ج<>"" سپس شروع کنید
val(c, n);
sum:= sum + n;
پایان
دیگر شروع شود
نوشتن (جمع: 5);
مجموع: = 0
پایان؛
پایان؛

نوشتن;
پایان.

3. فایل با برنامه مطالعاتی داده می شود. برنامه ای بنویسید که تعداد سخنرانی ها، کلاس های عملی و آزمایشگاهی را تعیین کند. شماره آنها را روی صفحه نمایش دهید.

var
f:text;
s: رشته
i، لکت، تمرین، آزمایشگاه: بایت;
شروع
assign(f"lessons.txt");
تنظیم مجدد (f)؛
lect:= 0;
عملی:= 0;
آزمایشگاه:=0;
در حالی که Eof(f) شروع نمی شود
readln(f,s);
i:= pos("سخنرانی",s);
اگر من<>0 سپس lect:= lect + 1
دیگر شروع شود
i:= pos("عملی"،s);
اگر من<>0 سپس تمرین کنید:= تمرین + 1
دیگر شروع شود
i:= pos("lab",s);
اگر من<>0 سپس آزمایشگاه: = آزمایشگاه + 1
پایان؛
پایان؛
پایان؛
بستن (f);
writeln("سخنرانی: ", lect);
writeln("عملی: "، عملی);
writeln("Lab: ", lab);
پایان.

4. یک رشته متن متشکل از حروف بزرگ لاتین داده می شود. برای یافتن یک رشته فرعی از سه حرف لازم است که اغلب در یک رشته داده شده وجود دارد. به عنوان مثال، در رشته DEFDEFABCCABCZABCDEFDEF، زیر رشته DEF اغلب (4 بار) رخ می دهد. فایل ورودی حاوی یک رشته متنی است. فایل خروجی باید شامل یک عدد واحد باشد - تعداد تکرارهای متداول ترین زیر رشته سه حرفی. طول رشته اصلی از 3 تا 1000000 کاراکتر است.

var
t1, t2: متن;
n, i, j, k: عدد صحیح;
s, s1, s2: رشته;
شروع
Assign(t1، "D:\Users\User\Desktop\1.txt");
Assign(t2، "D:\Users\User\Desktop\2.txt");
تنظیم مجدد (t1)؛
بازنویسی (t2);
خواندن (t1, s);
k:= 0;
برای i:= 1 به طول(S) - 2 do
شروع
s1:= کپی (s, i, 3);
برای j:= 1 به طول (ها) - 2 انجام دهید
شروع
s2:= کپی (s, j, 3);
اگر s2 = s1 سپس inc(k);
پایان؛
اگر k > n پس n:= k;
k:= 0;
پایان؛
write(t2, n);
close(t1);
close(t2);
پایان.

f: فایل char;
fname:string;
ch: char;
n، خط، w: کلمه;
پرچم: بولی;
شروع
write("آدرس&نام فایل:");
readln(fname);
assign(f، fname)؛
تنظیم مجدد (f)؛
n:=0; خط:= 0; w:= 0; flag:= false;
در حالی که EOF(f) شروع نمی شود
خواندن (f, ch);
اگر ord(ch) = 13 سپس شروع کنید
خواندن (f, ch);
خط:= خط + 1;
flag:= false;
پایان
دیگر شروع شود
n:= n + 1;
اگر ch = " " سپس پرچم: = false
دیگر
اگر پرچم = نادرست است، شروع کنید
w:= w+1;
flag:=true;
پایان؛
پایان؛
پایان؛
ifn<>0 سپس خط:= خط + 1;
writeln(n);
نوشتن خط (خط)؛
writeln(w);
readln;
پایان.

var
f_in:text;
f_out:file;
name_in, name_out: string;
بافر: آرایه عدد صحیح.
i,k: عدد صحیح;
شروع
($I-)
write("فایل ورودی:");readln(name_in);
assign(f_in، name_in);
تنظیم مجدد (f_in)؛
اگر IOR نتیجه شود<>0 سپس شروع کنید
writeln ("فایل پیدا نشد!");
خروج
پایان؛
write("فایل خروجی:");readln(name_out);
assign(f_out,name_out);
rewrite(f_out,sizeof(integer)*8);
($I+)
i:= 0;
در حالی که eof(f_in) شروع نمی شود
inc(i);
read(f_in,buffer[i]);
اگر i = 8 است، شروع کنید
blockwrite (f_out، بافر، 1);
i: = 0
پایان؛
پایان؛
اگر من<>0 سپس شروع کنید
برای k:=i+1 تا 8 بافر[k] := 0;
blockwrite (f_out، بافر، 1);
پایان؛
close(f_in);
بستن (f_out);
خواندن
پایان.

7. در فایل متنیحاوی اطلاعاتی در مورد تعداد دانش آموزان در کلاس ها و معلمان کلاس آنها است. تعداد کلاس های مدرسه از 20 کلاس تجاوز نمی کند. برای توصیف هر کلاس یک خط داده می شود. چهار موقعیت اول هر خط فایل حاوی نام کلاس (مثلاً 5a, 10b) کلاس (حروف روسی ننویسید) و سپس تعداد افراد موجود در آن و نام رهبر است. برنامه، در صورت درخواست، اطلاعاتی در مورد کلاس یا پیامی مبنی بر پیدا نشدن کلاس ارائه می دهد.

const n = 20;
نوع
str4 = رشته;
کلاس = رکورد
عنوان:str4;
دانش آموزان: بایت;
معلم: رشته
پایان؛
var
مدرسه: مجموعه ای از کلاس ها؛
i,j,len: عدد صحیح;
title_search:str4;
یافت شد: بولی;
f:text;
شروع
assign(f"c:/school.txt"); تنظیم مجدد (f)؛
i:= 1;
در حالی که Eof(f) شروع نمی شود
با مدرسه[i] انجام
readln (f، عنوان، دانش آموزان، معلم)؛
i:= i + 1;
پایان؛
در حالی که واقعی شروع می شود
write("کلاس ورودی:");
readln(title_search);
len:= طول(عنوان_جستجو);
اگر len = 0 باشد، شکسته شود.
برای j:= len + 1 تا 4 do
title_search:= title_search + " ";
یافت شد:= نادرست;
برای j:= 1 تا i - 1 شروع کنید
اگر عنوان_جستجو<>school[j].title سپس ادامه دهید.
با مدرسه[j] انجام دهید
writeln(عنوان: 5، دانش آموزان: 5، معلم: 25);
پیدا شد:=true;
زنگ تفريح؛
پایان؛
اگر پیدا نشد پس
writeln ("بدون کلاس!");
پایان؛
پایان.

8. تمام دنباله های داده شده از کاراکترها را در رشته پیدا کنید و آنها را با دنباله دیگری جایگزین کنید.

var
s_out، s_in، str:string;
f:text;
i, len: عدد صحیح;
شروع
assign(f"c:/text.txt");
تنظیم مجدد (f)؛
writeln("چه بریده؟");
readln(s_out);
writeln ("چه خمیری؟");
readln(s_in);
len:= طول (s_out);
در حالی که Eof(f) شروع نمی شود
readln(f,str);
i:= 1;
در حالی که من<>0 برای شروع
i:= pos(s_out,str);
اگر من<>0 سپس شروع کنید
حذف (str, i, len);
insert(s_in,str,i);
پایان؛
پایان؛
writeln(str);
پایان؛
بستن (f);
readln;
پایان.