ดูและจัดระเบียบไฟล์และโฟลเดอร์ นำเข้าและส่งออกไฟล์รูปแบบต่างๆ ใน ​​Pages

การแนะนำ

ในบทความนี้ ฉันจะอธิบายรายละเอียดวิธีเชื่อมโยงแอปพลิเคชันของคุณกับไฟล์ประเภทใดประเภทหนึ่งโดยเฉพาะ ดังนั้นเมื่อคุณดับเบิลคลิกที่ไฟล์ แอปพลิเคชั่นนี้จะเปิดและเปิดไฟล์ที่เลือก

มีส่วนประกอบและโมดูลพิเศษสำหรับการเชื่อมโยงไฟล์กับแอปพลิเคชัน เช่น . ในบทความฉันจะอธิบายวิธีการดำเนินการด้วยตนเอง

มันทำงานอย่างไร?

โดยทั่วไปแล้ว ทุกอย่างทำงานง่ายมาก ข้อมูลทั้งหมดที่จำเป็นสำหรับสิ่งนี้จะถูกป้อนลงในรีจิสทรีในสาขาเฉพาะ เปิดตัวแก้ไขรีจิสทรี (Start -> Run -> 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- มาเขียนขั้นตอนเพื่อเพิ่มค่าที่จำเป็นลงในรีจิสทรี อย่าลืมที่จะเพิ่มในส่วนการใช้งานของโมดูล Registry สำหรับการทำงานกับรีจิสทรี

การใช้งานทะเบียน, ShlObj;
...
var Reg: สำนักทะเบียน;
...
ขั้นตอนเชื่อมโยง;
varส: เชือก;
เริ่ม
Reg:=TRegistry.Create; // สร้าง
// ระบุสาขาราก

Reg.OpenKey(".dev\OpenWithProgids\" , จริง);
Reg.WriteString("TestApplication.dev" , "");

Reg.OpenKey( "\TestApplication.dev\DefaultIcon\", จริง);
s:=Application.ExeName+",0";
Reg.WriteString("", s);

Reg.OpenKey( "\TestApplication.dev\Shell\Open\", จริง);
Reg.WriteString("", "เปิดใน TestApplication");

Reg.OpenKey("command\" , จริง);
s:="""+Application.ExeName+"" "%1"";
Reg.WriteString("", s);

ไม่มี, ไม่มี);
จบ;

การทำงาน โอเพนคีย์เปิดสาขาที่ระบุในพารามิเตอร์แรก พารามิเตอร์ที่สองถูกตั้งค่าเป็น True เพื่อให้สร้างสาขาหากไม่มีอยู่

ต่อไป ในตัวแปร s เราสร้างเส้นทางไปยังไอคอน ในกรณีนี้จะใช้ไอคอนที่มีดัชนี 0 จากแอปพลิเคชัน exe ตัวอย่างเช่น คุณสามารถเพิ่มไอคอนอื่นลงในแอปพลิเคชันและใช้สำหรับไฟล์โปรแกรมได้ แต่คุณยังสามารถระบุเส้นทางไปยังไฟล์ .ico ได้ด้วย

ฉันเลือก TestApplication.dev ด้วยตัวเอง คุณสามารถสร้างชื่อกระทู้นี้ได้ด้วยตัวเอง โดยปกติแล้วชื่อของโปรแกรมจะถูกเขียนและเพิ่มส่วนขยายเนื่องจากโปรแกรมสามารถทำงานกับส่วนขยายได้หลายตัว

หลังจากเพิ่มข้อมูลลงในรีจิสทรีแล้ว กระบวนการจะถูกเรียก SHChangeNotifyเพื่อให้ไอคอนได้รับการอัปเดตและนำการตั้งค่าไปใช้

ขั้นตอนลบผู้ร่วมงาน;
เริ่ม
Reg:=TRegistry.Create;
Reg.RootKey:= HKEY_CLASSES_ROOT;

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

SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, ไม่มี, ไม่มี);
จบ;

ที่นี่ทุกอย่างง่ายกว่า - เพียงลบสาขาที่สร้างขึ้น

กำลังประมวลผลโหลด

ตอนนี้สิ่งที่เหลืออยู่คือการประมวลผลพารามิเตอร์เพื่อให้โปรแกรมไม่เพียงโหลด แต่ยังเปิดไฟล์ด้วย ทุกอย่างง่ายมากเมื่อสร้างแบบฟอร์มเราจะอ่านด้วยฟังก์ชัน ParamCountจำนวนพารามิเตอร์และหากหมายเลขไม่ใช่ 0 เราจะเรียกใช้ฟังก์ชันการโหลดและในฐานะพารามิเตอร์อินพุตไปยังฟังก์ชันนี้ เราจะส่งเส้นทางไปยังไฟล์ที่ต้องเปิด คลิกที่แบบฟอร์มสองครั้ง ซึ่งเป็นการสร้างตัวจัดการการสร้างแบบฟอร์ม

ขั้นตอน TForm1.FormCreate (ผู้ส่ง: TObject);
เริ่ม
ถ้า ParamCount<> 0 แล้วโหลด (ParamStr(1));
จบ;

คุณต้องเขียนฟังก์ชันอัพโหลดไฟล์ด้วย เพิ่ม TMemo ลงในแบบฟอร์ม

การทำงานโหลด(Fชื่อ: เชือก): บูลีน;
เริ่ม
Form1.Memo1.Lines.LoadFromFile(FName);
จบ;

เป็นไปได้มากว่าในแอปพลิเคชันของคุณฟังก์ชันจะซับซ้อนมากขึ้นด้วยการประมวลผลเนื่องจากไม่สามารถเปิดไฟล์และส่งคืนผลลัพธ์ของการเปิดได้ ในกรณีนี้ฉันจะไม่ทำ

เพิ่ม TButtons สองอันในแบบฟอร์ม การคลิกที่อันแรกจะเป็นการดำเนินการเชื่อมโยง และการคลิกที่อันที่สองจะเป็นการลบการเชื่อมโยง

ดับเบิลคลิกที่ปุ่มแรกแล้วนำขั้นตอนมาสู่แบบฟอร์มนี้

ขั้นตอน TForm1.Button1Click (ผู้ส่ง: TObject);
เริ่ม
เชื่อมโยง;
จบ;

เราทำขั้นตอนเดียวกันกับที่อธิบายไว้ข้างต้น แต่สำหรับปุ่มที่สอง

ขั้นตอน TForm1.Button2Click (ผู้ส่ง: TObject);
เริ่ม
ลบผู้ร่วมงาน;
จบ;

นั่นคือทั้งหมดที่ เมื่อคุณพยายามเปิดไฟล์ที่มีนามสกุล .dev Memo1 ควรโหลดเนื้อหาของไฟล์

ความต้องการ.
เมื่อต้องการดำเนินการตามที่ระบุไว้ในบทความนี้ คุณต้องมีสิทธิ์ของผู้ดูแลระบบภายในเครื่องคอมพิวเตอร์
บทความนี้ใช้ได้กับ Windows 98/Me/2000/XP/Vista

ข้อมูล.
กรณีแรก.
มันเกิดขึ้นหลังจากการติดตั้ง โปรแกรมใหม่บางไฟล์เริ่มเปิดได้ในโปรแกรมนี้ เช่น ตลอดชีวิตคุณดูหนังโดยใช้ WinAmpและวันหนึ่งพวกเขาตัดสินใจติดตั้งตัวแปลงสัญญาณใหม่ และการติดตั้งตัวแปลงสัญญาณเหล่านี้เกี่ยวข้องกับการติดตั้งเครื่องเล่น วินโดวส์มีเดียคลาสสิก- และตอนนี้ไฟล์ที่มีนามสกุล .aviเปิดในเครื่องเล่นใหม่แต่อยากดูใช้ WinAmpเรามาทำการปรับเปลี่ยนเล็กๆ น้อยๆ กัน

กรณีที่สอง
หลังจากถอนการติดตั้งโปรแกรม บางไฟล์จะหยุดเปิดเลย สิ่งนี้จะเกิดขึ้นหากไม่มีโปรแกรมที่กำหนดให้กับไฟล์ประเภทนี้ ดังนั้นคุณต้องกำหนดด้วยตนเองว่าโปรแกรมใดที่ต้องเปิดไฟล์ประเภทนี้

การกำหนดประเภทไฟล์ให้กับโปรแกรม
1. คลิกขวาที่ไฟล์
2. เลือกรายการเมนู " คุณสมบัติ";
3. ในหน้าต่าง "คุณสมบัติ" ไปที่ "แท็บ" ทั่วไป";
4. ในวรรค " แอปพลิเคชัน" จะแสดงขึ้นพร้อมกับโปรแกรมที่เปิดไฟล์นี้ (ในกรณีของเราคือ " วินโดวส์มีเดียคลาสสิก");
5. กดปุ่ม " เปลี่ยน";
6. ในหน้าต่าง "เลือกโปรแกรม" ค้นหาและคลิกที่ โปรแกรมที่จำเป็น(และในกรณีของเรานี่คือ " WinAmp");
7. ทำเครื่องหมายในช่อง " ใช้โปรแกรมที่เลือกกับไฟล์ประเภทนี้ทั้งหมด" หากไม่ได้ติดตั้ง


8. คลิก "ตกลง";

ตอนนี้ไฟล์ที่มีนามสกุล .avi, จะถูกเปิดด้วย WinAmp.

บางครั้งผู้ใช้มือใหม่จะถามว่าจะทำให้ไฟล์เปิดอยู่เสมอได้อย่างไร โปรแกรมเฉพาะ- สมมติว่าคุณติดตั้งโปรแกรมดูรูปภาพใหม่ แต่เมื่อคุณดับเบิลคลิกที่รูปภาพ Windows จะยังคงเปิดรูปภาพนั้นขึ้นมา ยูทิลิตี้มาตรฐานเพื่อดูภาพ

เหตุใดสิ่งนี้จึงเกิดขึ้น และโดยทั่วไป Windows กำหนดได้อย่างไรว่าแอปพลิเคชันใดที่จะเปิดไฟล์ใดไฟล์หนึ่ง “ความเข้าใจ” นี้เกิดขึ้นได้เพราะสิ่งที่เรียกว่าการผูกมัดหรือ โดยพื้นฐานแล้ว การเชื่อมโยงไฟล์นั้นไม่มีอะไรมากไปกว่าการเชื่อมโยงไฟล์เข้าด้วยกัน โปรแกรมประยุกต์ตามลักษณะเฉพาะบางประการโดยส่วนใหญ่มักเกิดจากการขยายตัว





ระหว่างการติดตั้ง บางโปรแกรมจะเปลี่ยนการเชื่อมโยงไฟล์โดยอัตโนมัติโดยทำการเปลี่ยนแปลงรีจิสทรีอย่างเหมาะสม และในขณะเดียวกันก็ลงทะเบียนด้วยตนเอง เมนูบริบท Explorer ขณะที่คนอื่นๆ ทำสิ่งหนึ่งหรือไม่ทำการเปลี่ยนแปลงใดๆ เลย ในกรณีหลัง คุณสามารถตั้งค่าการเชื่อมโยงได้ด้วยตัวเอง

ใน Windows 7 และ 8 ให้ไปที่แผงควบคุมแล้วค้นหาส่วน "โปรแกรมเริ่มต้น" ที่นั่น ในหน้าต่างที่เปิดขึ้น คุณจะเห็นสี่รายการ คลิกที่อันแรก “ตั้งค่าโปรแกรมเริ่มต้น” หลังจากสแกนไปสักพัก ยูทิลิตี้ระบบจะแสดงรายการแอพพลิเคชั่นผู้ใช้ที่ติดตั้งบนคอมพิวเตอร์





สมมติว่าคุณต้องการเปิดไฟล์ที่มีนามสกุล PNG ในตัวแก้ไขเสมอ ในแผงด้านซ้ายเลือกโปรแกรมแก้ไขนี้ด้วยเมาส์แล้วคลิก "เลือกค่าเริ่มต้นสำหรับโปรแกรมนี้" ในหน้าต่างที่เปิดขึ้น ให้ทำเครื่องหมายในช่องสำหรับส่วนขยายที่ต้องการ บันทึกผลลัพธ์ และจากนี้ไป รูปภาพทั้งหมดที่มีนามสกุล PNG จะเปิดขึ้นใน Paint เมื่อคุณดับเบิลคลิกที่รูปภาพเหล่านั้น

ต้องบอกว่าวิธีนี้มีข้อจำกัดบางประการ ความจริงก็คือไม่ใช่ทั้งหมด โปรแกรมที่ติดตั้งอาจปรากฏในรายการนี้ ในกรณีนี้คุณสามารถทำสิ่งที่ตรงกันข้ามได้นั่นคืออย่า "ปรับแต่ง" ส่วนขยายให้กับโปรแกรม แต่ในทางกลับกัน





ในส่วนโปรแกรมเริ่มต้น ให้เลือกตัวเลือกที่สอง “จับคู่ประเภทไฟล์หรือโปรโตคอลกับโปรแกรมเฉพาะ” คราวนี้ยูทิลิตี้ยูทิลิตี้จะแสดงรายการส่วนขยายที่ใช้บ่อยที่สุดด้วย คำอธิบายสั้น ๆและแอปพลิเคชันที่เชื่อมโยงกับพวกเขา เราทำเช่นเดียวกัน ลองจินตนาการถึงสถานการณ์นี้

เราได้รับมอบหมายหน้าที่ในการตั้งค่าการเชื่อมโยงในลักษณะที่ทำให้ไฟล์สคริปต์ (.bat) สามารถดูได้ตามปกติ โปรแกรมแก้ไขข้อความ- เราพบ ส่วนขยายค้างคาวเลือกและที่ด้านบนของหน้าต่างให้คลิกปุ่ม "เปลี่ยนโปรแกรม"





หน้าต่างจะเปิดขึ้นซึ่งคุณจะถูกขอให้เลือก แอปพลิเคชันที่เหมาะสมใน Windows 8 คำแนะนำแรกคือค้นหาแอปใน Store (ส่วนขยายที่ไม่รู้จัก) หรือใช้โปรแกรมที่เกี่ยวข้องต่อไป หากต้องการดู รายการทั้งหมดแอปพลิเคชัน คลิก “เพิ่มเติม” และเลือกแอปพลิเคชันที่ต้องการ หากไม่อยู่ในรายการ คุณสามารถระบุเส้นทางไปยังไฟล์ปฏิบัติการได้ด้วยตนเองผ่านเบราว์เซอร์มาตรฐาน

บทสรุป

ด้วยการตั้งค่าการเชื่อมโยงไฟล์ คุณสามารถทำให้งานเริ่มต้นระบบเป็นแบบอัตโนมัติได้ ประเภทต่างๆไฟล์ต่างๆ จึงทำให้งานของคุณบนคอมพิวเตอร์มีประสิทธิภาพและรวดเร็วยิ่งขึ้น

มีวิธีอื่นในการตั้งค่าการเชื่อมโยงไฟล์ ตัวอย่างเช่น ผู้ใช้ขั้นสูงสามารถทำการเปลี่ยนแปลงที่เหมาะสมได้ รีจิสทรีของระบบ- วิธีที่อธิบายข้างต้นเป็นวิธีที่ง่ายและสะดวกที่สุด

อย่างไรก็ตาม คุณสามารถตั้งค่าการเชื่อมโยงโดยไม่ต้องใช้เครื่องมือแผงควบคุม คุณเพียงแค่ต้องคลิกขวาที่ไฟล์ที่ถูกโต้แย้งเลือก "คุณสมบัติ" และในหน้าต่างตัวเลือกที่เปิดขึ้นให้ระบุแอปพลิเคชันที่จำเป็นสำหรับการเปิดไฟล์

เมื่อคุณดาวน์โหลดไฟล์จากอินเทอร์เน็ต ระบบปฏิบัติการจะทำเครื่องหมายไฟล์เหล่านั้นด้วยวิธีพิเศษเพื่อความปลอดภัย ในภายหลัง เมื่อคุณพยายามเปิดไฟล์ที่ดาวน์โหลด Windows จะแสดงคำเตือนว่าไฟล์นั้นไม่ปลอดภัย และต้องการให้คุณยืนยันอย่างชัดเจนว่าคุณตั้งใจจะเปิดไฟล์นั้นจริงๆ เมื่อเปิดใช้งานแล้ว ฟังก์ชั่นอัจฉริยะหน้าจอบางไฟล์ถูกบล็อกอย่างดื้อรั้นเป็นพิเศษ มีวิธีลบการล็อคดังกล่าวออกจากไฟล์และโฟลเดอร์ทั้งหมดที่อยู่ในไดเร็กทอรี "ดาวน์โหลด" หรือในโฟลเดอร์อื่น ๆ
ในกลไกการล็อคนั้นเอง มันใช้งานได้โดยใช้อันที่เราคุ้นเคยอยู่แล้ว สำหรับไฟล์ที่ดาวน์โหลดแต่ละไฟล์ จะมีการเพิ่มสตรีมข้อมูลสำรองตามพารามิเตอร์ที่ระบุ ระบบปฏิบัติการว่ามันมีต้นกำเนิดมาจาก เวิลด์ไวด์เว็บและอาจจะไม่ปลอดภัย

เพื่อตรวจสอบสิ่งนี้ใน Windows 10 เราสามารถใช้เครื่องมือ PowerShell มาเรียกใช้คำสั่งต่อไปนี้สำหรับไฟล์ที่ดาวน์โหลดมา:

รับชื่อไฟล์รายการ -stream *

วิธีที่ง่ายที่สุดในการเปิด PowerShell ทันทีค่ะ โฟลเดอร์ที่ต้องการ- ใช้คำสั่งเมนู File ค่ะ วินโดวส์เอ็กซ์พลอเรอร์ 10. ไปที่โฟลเดอร์ "ดาวน์โหลด" และไปที่ไฟล์ - เรียกใช้ วินโดวส์ พาวเวอร์เชลล์- เปิด Windows Powershell:


มารันคำสั่งข้างต้นในไฟล์ "winaerotweaker.zip" นี่คือไฟล์เก็บถาวรที่มีโปรแกรม Winaero Tweaker ของฉันเองซึ่งฉันดาวน์โหลดมาโดยเฉพาะสำหรับตัวอย่าง เราดำเนินการคำสั่ง:

รับรายการ winaerotweaker.zip -stream *


อาร์กิวเมนต์ "-stream *" บอกให้ get-item แสดงสตรีมที่มีอยู่ทั้งหมดสำหรับไฟล์ Zone.Identifier เป็นสตรีมข้อมูลทางเลือกที่ Windows 10 ระบุไฟล์ที่ดาวน์โหลดจากอินเทอร์เน็ต การใช้คำสั่ง get-content เราจะเห็นสิ่งที่เขียนลงไป:

รับเนื้อหา winaerotweaker.zip -stream Zone.Identifier


ที่แกนกลางของมันคือไฟล์ ini ปกติ ซึ่งพารามิเตอร์ ZoneId มีค่าชี้ขาด:

รหัสโซน=3

ค่าที่เป็นไปได้:
0 - ไฟล์ถูกสร้างขึ้นบนเครื่องคอมพิวเตอร์
1 - ไฟล์ที่ได้รับผ่านเครือข่ายท้องถิ่น
2 - ได้รับไฟล์จากโซนอินเทอร์เน็ตที่เชื่อถือได้
3 - ได้รับไฟล์จากอินเทอร์เน็ต
4 - ได้รับไฟล์จากโซน "ไซต์อันตราย"

ดังนั้น หากต้องการเลิกบล็อก คุณจะต้องเขียน 0 ไปที่ ZoneId หรือลบสตรีมทางเลือกที่ชื่อ Zone.Identifier ออกทั้งหมด

โดยวิธีการ กุยคุณสามารถปลดล็อกไฟล์ผ่านคุณสมบัติของไฟล์ได้ มีช่องทำเครื่องหมายที่เกี่ยวข้อง (ซึ่งในเวอร์ชันรัสเซียไม่พอดีกับกล่องโต้ตอบ):

วิธีปลดล็อคไฟล์ทั้งหมดในโฟลเดอร์ดาวน์โหลดพร้อมกันใน Windows 10

หากคุณต้องการปลดล็อคไฟล์หลายไฟล์หรือทั้งหมดในครั้งเดียว การเปิดคุณสมบัติของแต่ละไฟล์นั้นเป็นงานที่น่าเบื่อมาก โชคดีที่การดำเนินการนี้สามารถทำให้ง่ายขึ้นได้อีกครั้งโดยใช้ PowerShell เพียงรันคำสั่ง:

Dir-Recurse | เลิกบล็อกไฟล์

โดยปกติแล้วจะต้องดำเนินการในโฟลเดอร์ที่ต้องการ ในกรณีของเรา PowerShell เปิดอยู่แล้วในโฟลเดอร์ดาวน์โหลด มาทำกันดูว่ามีอะไรเกิดขึ้นบ้าง

คำสั่งทำงานโดยไม่มีเอาต์พุตใดๆ มาตรวจสอบกัน กระแสทางเลือกข้อมูล:


นั่นคือคำสั่ง Unblock-File จะลบสตรีม Zone.Identifier ออกจากแต่ละไฟล์:


พร้อม! ตอนนี้ เมื่อคุณต้องการปลดล็อคไฟล์หลายไฟล์พร้อมกันในโฟลเดอร์บนคอมพิวเตอร์ของคุณ คุณก็รู้ว่าต้องทำอย่างไร เคล็ดลับเดียวกันนี้ควรใช้กับ Windows 8/8.1 ได้ แต่ฉันไม่สามารถทดสอบได้ในขณะนี้

ภาษา Pascal จัดสรรข้อมูลประเภทไฟล์ที่ใช้ในการทำงานกับข้อมูลที่อยู่ในอุปกรณ์ภายนอก ข้อมูลนี้ถูกสร้างขึ้นใน หน่วยความจำภายนอกคอมพิวเตอร์ ก่อตัวเป็นพื้นที่ที่เรียกว่าไฟล์ ไฟล์มีชื่อและเป็นชุดขององค์ประกอบประเภทเดียวกัน โดยปกติจะใช้ในกรณีที่มีข้อมูลจำนวนมาก การจัดเก็บข้อมูลระยะยาว หรือความจำเป็นในการเข้าถึงข้อมูลเดียวกันหลายแอปพลิเคชัน

ไฟล์มักจะแบ่งออกเป็นฟิสิคัลและโลจิคัล ไฟล์ฟิสิคัลมีชื่อและอยู่ที่ สื่อที่ถอดออกได้และบูลีนคือตัวแปรประเภทไฟล์ที่เป็นตัวแทนในโปรแกรม

ในภาษาปาสคาลมีความโดดเด่นดังต่อไปนี้: ไฟล์สามประเภท(คำสำคัญสำหรับการเริ่มต้นตัวแปรไฟล์อธิบายอยู่ในวงเล็บ):

  • ไฟล์ข้อความ (ข้อความ);
  • พิมพ์ (ไฟล์<тип>);
  • ไม่ได้พิมพ์ (ไฟล์)

อีกไม่นานเราจะจัดการกับแต่ละเรื่อง ตอนนี้เรามาดูการทำงานพื้นฐานในการทำงานกับไฟล์กัน

การสร้างไฟล์

กำหนด(<имя файловой переменной>, <имя файла>)

ขั้นตอนการกำหนดจะเชื่อมโยงตัวแปรประเภทไฟล์กับไฟล์ฟิสิคัล ตัวอย่างเช่น คุณสามารถสร้างความสัมพันธ์ระหว่างตัวแปร Fil และล็อตไฟล์ข้อความที่อยู่บนไดรฟ์ D ได้ดังนี้:

กำหนด(Fil, 'D:\lot.txt')

โหมดการอ่าน

รีเซ็ต(<имя файловой переменной>)

ขั้นตอนการรีเซ็ตจะเปิดไฟล์ในโหมดอ่าน หลังจากนั้นไฟล์ Read(<файловая переменная>, <считываемый элемент>) คุณสามารถอ่านองค์ประกอบต่างๆ ลงในโปรแกรมได้ตามลำดับ

สิ้นสุดไฟล์

อีโอเอฟ(<имя файловой переменной>)

จำนวนองค์ประกอบในไฟล์ไม่ได้ถูกกำหนดล่วงหน้า แต่มักจำเป็นต้องรู้ว่าเมื่อถึงจุดสิ้นสุดของไฟล์ เพื่อจุดประสงค์นี้ ใน Pascal มีฟังก์ชันลอจิคัล EOF ซึ่งจะตรวจสอบว่าถึงจุดสิ้นสุดแล้วหรือไม่ และหากเป็นเช่นนั้น จะใช้ค่า True หรือไม่เช่นนั้น - False การตรวจสอบจะดำเนินการ โดยปกติจะเป็นแบบวนซ้ำ โดยใช้ฟังก์ชัน EOF เป็นนิพจน์แบบมีเงื่อนไข

โหมดการบันทึก

เขียนใหม่(<имя файловой переменной>)

เมื่อเปิดไฟล์ในโหมดเขียน คุณสามารถเขียนข้อมูลลงในไฟล์ทีละองค์ประกอบได้โดยใช้คำสั่ง Write(<файловая переменная>, <элемент>).

การปิดไฟล์

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

ขั้นตอนการปิดจะปิดลง เปิดไฟล์และยังปล่อยตัวแปรไฟล์ที่ระบุเป็นพารามิเตอร์อีกด้วย

กำลังลบไฟล์

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

เมื่อใช้ขั้นตอนการลบ คุณสามารถลบไฟล์ที่ปิดก่อนหน้านี้ออกจากสื่อภายนอกได้

การเปลี่ยนชื่อไฟล์

เปลี่ยนชื่อ(<имя файловой переменной>, ‘<новое имя файла>’)

เปลี่ยนชื่อ เปลี่ยนชื่อไฟล์ฟิสิคัลที่ต้องปิดก่อนด้วยการปิด

ตัวชี้ไฟล์ชดเชย

แสวงหา(<имя файловой переменной>, <номер элемента>)

ขั้นตอนการค้นหาจะกำหนดตำแหน่งตัวชี้ในไฟล์ไปยังองค์ประกอบที่ต้องการ (การกำหนดหมายเลขขององค์ประกอบเริ่มจากศูนย์)

การกำหนดตำแหน่งของตัวชี้

ไฟล์โปส(<имя файловой переменной>)

ฟังก์ชัน FilePos รับค่า หมายเลขซีเรียลองค์ประกอบที่มีตัวชี้อยู่ในขณะที่โทร

การกำหนดจำนวนองค์ประกอบ

ขนาดไฟล์(<имя файловой переменной>)

ฟังก์ชัน FileSize กำหนดจำนวนองค์ประกอบทั้งหมดที่มีอยู่ในไฟล์

ไฟล์ข้อความ

ไฟล์ข้อความสามารถประกอบด้วยองค์ประกอบของชนิดข้อมูลอักขระ (อักขระ) และสตริง (สตริง) คำสำคัญข้อความระบุว่าตัวแปรไฟล์ถูกสร้างขึ้นเพื่อทำงานกับไฟล์ข้อความโดยเฉพาะ:

วาร์<идентификатор>:ข้อความ;

โครงสร้างของไฟล์ข้อความเป็นลำดับของบรรทัด ซึ่งจะประกอบด้วยอักขระ ทุกบรรทัดลงท้ายด้วยเครื่องหมาย “end of line” และตัวไฟล์จะลงท้ายด้วยเครื่องหมาย “end of file” หากต้องการระบุจุดสิ้นสุดของไฟล์ใน Pascal จะมีฟังก์ชัน EOF และที่จุดสิ้นสุดของบรรทัด - EOL:

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

หากถึงจุดสิ้นสุดของบรรทัด (ฟังก์ชัน EOLn) จะใช้ค่า True หรือ False

ตัวอย่างงานสำหรับการทำงานกับไฟล์ใน Pascal:

1. สร้างไฟล์ X ซึ่งมีส่วนประกอบเป็นองค์ประกอบของอาร์เรย์ M คัดลอกจากไฟล์ X ไปยังไฟล์ Y ส่วนประกอบทั้งหมดที่อยู่ในตำแหน่งคู่ อ่านไฟล์ Y.
ม = (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: จริง; ฉัน:ไบต์;
เริ่ม
มอบหมาย(x,"x.dat");
มอบหมาย(y,"y.dat");
เขียนใหม่(x);
สำหรับ i:=1 ถึง 8 ทำ
เขียน(x, M[i]);
ปิด(x);
รีเซ็ต(x);
เขียนใหม่(y);
ฉัน:= 1;
ในขณะที่ไม่ใช่ EOF(x) จะเริ่มต้น
อ่าน(x, n);
ถ้าไม่แปลก (i) แล้ว
เขียน(y, n);
ฉัน:= ฉัน + 1;
จบ;
ปิด(x); ปิด(y);
รีเซ็ต(y);
ในขณะที่ไม่ใช่ EOF(y) จะเริ่มต้น
อ่าน(ใช่, n);
เขียน(n:5:1);
จบ;
เขียน;
ปิด(y);
จบ.

2. กำหนดไฟล์ที่เขียนตัวเลขธรรมชาติโดยคั่นด้วยช่องว่าง แสดงผลรวมของตัวเลขแต่ละตัว

var
f: ไฟล์ถ่าน;
ค:ถ่าน; ผลรวม n: คำ;

เริ่ม
มอบหมาย(f,"nums.txt");
รีเซ็ต(ฉ);
ผลรวม:= 0;
ในขณะที่ไม่ได้เริ่มต้น eof(f)
อ่าน(ฉ,ค);

ถ้าค<>" " จากนั้นเริ่มต้น
วาล(c, n);
ผลรวม:= ผลรวม + n;
จบ
เริ่มอย่างอื่น
เขียน(ผลรวม:5);
ผลรวม:= 0
จบ;
จบ;

เขียน;
จบ.

3. มีไฟล์พร้อมตารางการฝึกให้ เขียนโปรแกรมที่กำหนดจำนวนการบรรยาย ภาคปฏิบัติ และภาคปฏิบัติ แสดงหมายเลขของพวกเขาบนหน้าจอ

var
ฉ:ข้อความ;
ส:สตริง;
ฉัน, เล็ค, ฝึกซ้อม, แล็บ: ไบต์;
เริ่ม
มอบหมาย(f,"lessons.txt");
รีเซ็ต(ฉ);
เลือก:= 0;
การปฏิบัติ:= 0;
ห้องทดลอง:= 0;
ในขณะที่ไม่ใช่ Eof(f) จะเริ่มต้น
readln(f,s);
i:= pos("บรรยาย",s);
ถ้าฉัน<>0 แล้ว lect:= lect + 1
เริ่มอย่างอื่น
i:= pos("ฝึกซ้อม",s);
ถ้าฉัน<>0 แล้วฝึก:= ฝึก + 1
เริ่มอย่างอื่น
i:= pos("แล็บ.",s);
ถ้าฉัน<>0 แล้วแล็บ:= แล็บ + 1
จบ;
จบ;
จบ;
ปิด(ฉ);
writeln("บรรยาย: ", lect);
writeln("ใช้งานได้จริง: ", ฝึกฝน);
writeln("แล็บ: ", แล็บ);
จบ.

4. กำหนดสตริงข้อความที่ประกอบด้วยอักษรละตินตัวพิมพ์ใหญ่ คุณต้องค้นหาสตริงย่อยของตัวอักษรสามตัวที่เกิดขึ้นบ่อยที่สุดในสตริงที่กำหนด ตัวอย่างเช่น ในสตริง DEFDEFABCABCZABCDEFDEF สตริงย่อย DEF จะเกิดขึ้นบ่อยที่สุด (4 ครั้ง) ไฟล์อินพุตประกอบด้วยสตริงข้อความ ไฟล์เอาต์พุตจะต้องมีตัวเลขตัวเดียว - จำนวนครั้งของสตริงย่อยสามตัวอักษรที่เกิดขึ้นบ่อยที่สุด ความยาวของสตริงต้นฉบับอยู่ระหว่าง 3 ถึง 1,000,000 อักขระ

var
t1, t2: ข้อความ;
n, i, j, k: จำนวนเต็ม;
s, s1, s2: สตริง;
เริ่ม
กำหนด(t1, "D:\Users\User\Desktop\1.txt");
กำหนด(t2, "D:\Users\User\Desktop\2.txt");
รีเซ็ต(t1);
เขียนใหม่(t2);
อ่าน(t1, s);
k:= 0;
สำหรับ i:= 1 ถึงความยาว(S) - 2 ทำ
เริ่ม
s1:= สำเนา (s, i, 3);
สำหรับ j:= 1 ถึงความยาว - 2 ทำ
เริ่ม
s2:= คัดลอก (s, j, 3);
ถ้า s2 = s1 แล้ว inc(k);;
จบ;
ถ้า k > n แล้ว n:= k;
k:= 0;
จบ;
เขียน(t2,n);
ปิด(t1);
ปิด(t2);
จบ.

f: ไฟล์ถ่าน;
ชื่อ: สตริง;
CH: ถ่าน;
n, บรรทัด, w: คำ;
ธง: บูลีน;
เริ่ม
write("ที่อยู่ไฟล์&ชื่อ: ");
readln(fname);
มอบหมาย (f, fname);
รีเซ็ต(ฉ);
น:= 0; บรรทัด:= 0; ว:= 0; ธง:= เท็จ;
ในขณะที่ไม่ใช่ EOF(f) จะเริ่มต้น
อ่าน(ฉ, ช);
ถ้า ord(ch) = 13 ให้เริ่มต้น
อ่าน(ฉ, ช);
เส้น:= เส้น + 1;
ธง:= เท็จ;
จบ
เริ่มอย่างอื่น
น:= n + 1;
ถ้า ch = " " ให้ตั้งค่าสถานะ:= false
อื่น
ถ้า flag = false ให้เริ่มต้น
ว:= ว+1;
ธง:= จริง;
จบ;
จบ;
จบ;
ถ้าไม่มี<>0 จากนั้นบรรทัด:= บรรทัด + 1;
เขียน(n);
writeln(บรรทัด);
เขียน(w);
อ่าน;
จบ.

var
f_in: ข้อความ;
f_out: ไฟล์;
name_in, name_out: สตริง;
บัฟเฟอร์: อาร์เรย์ของจำนวนเต็ม;
ฉัน,k: จำนวนเต็ม;
เริ่ม
($ฉัน-)
write("ไฟล์อินพุต: "); readln(name_in);
มอบหมาย(f_in,name_in);
รีเซ็ต(f_in);
ถ้า IOResult<>0 จากนั้นเริ่มต้น
writeln("ไม่พบไฟล์!");
ออก
จบ;
write("ไฟล์เอาท์พุต: ");readln(name_out);
มอบหมาย(f_out,name_out);
เขียนใหม่ (f_out, ขนาดของ (จำนวนเต็ม) * 8);
($ฉัน+)
ฉัน:= 0;
ในขณะที่ไม่ใช่ eof(f_in) จะเริ่มต้น
Inc(ฉัน);
อ่าน(f_in,บัฟเฟอร์[i]);
ถ้าฉัน = 8 ให้เริ่ม
บล็อกเขียน (f_out, บัฟเฟอร์, 1);
ฉัน:= 0
จบ;
จบ;
ถ้าฉัน<>0 จากนั้นเริ่มต้น
สำหรับ k:=i+1 ถึง 8 ทำบัฟเฟอร์ [k] := 0;
บล็อกเขียน (f_out, บัฟเฟอร์, 1);
จบ;
ปิด(f_in);
ปิด (f_out);
อ่าน
จบ.

7. บี ไฟล์ข้อความมีข้อมูลเกี่ยวกับจำนวนนักเรียนในชั้นเรียนและครูประจำชั้น จำนวนชั้นเรียนในโรงเรียนไม่เกิน 20 ชั้นเรียน จัดสรรหนึ่งบรรทัดเพื่ออธิบายแต่ละชั้นเรียน สี่ตำแหน่งแรกของแต่ละบรรทัดของไฟล์ประกอบด้วยชื่อของคลาส (เช่น 5a, 10b) ของคลาส (อย่าเขียนตัวอักษรรัสเซีย) จากนั้นจำนวนคนในนั้นและชื่อของผู้นำ โปรแกรมจะแสดงข้อมูลเกี่ยวกับคลาสหรือข้อความที่ไม่พบคลาสตามคำขอ

ค่าคงที่ n = 20;
พิมพ์
str4 = สตริง;
clas = บันทึก
ชื่อเรื่อง: str4;
นักเรียน: ไบต์;
ครู: เชือก;
จบ;
var
โรงเรียน: อาร์เรย์ของชั้นเรียน;
i,j,len: จำนวนเต็ม;
title_search: str4;
พบ: บูลีน;
ฉ:ข้อความ;
เริ่ม
มอบหมาย(f,"c:/school.txt"); รีเซ็ต(ฉ);
ฉัน:= 1;
ในขณะที่ไม่ใช่ Eof(f) จะเริ่มต้น
กับโรงเรียน [i] ทำ
readln(f,ชื่อเรื่อง,นักเรียน,ครู);
ฉัน:= ฉัน + 1;
จบ;
ในขณะที่จริงจะเริ่มต้น
write("คลาสอินพุต: ");
readln(title_search);
len:= ความยาว (title_search);
ถ้า len = 0 ก็แตก;
สำหรับ j:= len + 1 ถึง 4 do
title_search:= title_search + " ";
พบ:= เท็จ;
สำหรับ j:= 1 ถึง i - 1 จะเริ่มต้น
ถ้า title_search<>school[j].title จากนั้นดำเนินการต่อ;
กับโรงเรียน[j]ทำ
writeln(หัวเรื่อง:5,นักเรียน:5,ครู:25);
พบ:= จริง;
หยุดพัก;
จบ;
ถ้า ไม่พบแล้ว
writeln("ไม่มีคลาส!");
จบ;
จบ.

8. ค้นหาลำดับอักขระที่กำหนดทั้งหมดในสตริงและแทนที่ด้วยลำดับอื่น

var
s_out, s_in, str: สตริง;
ฉ:ข้อความ;
ฉัน len: จำนวนเต็ม;
เริ่ม
มอบหมาย(f,"c:/text.txt");
รีเซ็ต(ฉ);
writeln("ตัดอะไร?");
readln(s_out);
writeln("วางอะไร?");
readln(s_in);
len:= ความยาว (s_out);
ในขณะที่ไม่ใช่ Eof(f) จะเริ่มต้น
readln(f,str);
ฉัน:= 1;
ในขณะที่ฉัน<>0 เริ่มได้เลย
i:= pos(s_out,str);
ถ้าฉัน<>0 จากนั้นเริ่มต้น
ลบ(str,i,len);
แทรก(s_in,str,i);
จบ;
จบ;
writeln(str);
จบ;
ปิด(ฉ);
อ่าน;
จบ.