โพรซีเดอร์ TFORM1.FTPANALYSIS (S: String; VAR ชื่อผู้ใช้, รหัสผ่าน, IP, ชื่อไฟล์: String; var dirlist: tStringList);
วาจา
ฉัน, J: จำนวนเต็ม;
Strauthorization, straddr, strdirfile: string; // ข้อมูลการอนุญาต
เริ่ม
ชื่อผู้ใช้: = 'ไม่ระบุชื่อ';
รหัสผ่าน: = '[email protected]';
ip: = '';
straddr: = copy (s, 7, ความยาว (s) -6); // รับชิ้นส่วนหลังจาก ftp: //
รูปแบบ // S ต้องคล้ายกับ ftp: // rec: [email protected]/20050418/abcdef.vox หรือ ftp: //192.168.76.11/...
i: = pos ('@', s);
ถ้า (i> 0) แล้ว
เริ่ม
Strauthorization: = Copy (S, 7, I-7);
j: = pos (':', strauthorization);
ถ้า (j <1) แล้ว
ออก;
ชื่อผู้ใช้: = คัดลอก (Straiftorization, 1, J-1);
รหัสผ่าน: = คัดลอก (strauthorization, j+1, ความยาว (strauthorization) -j);
จบ ;
i: = pos ('@', straddr);
J: = pos ('/', straddr);
ถ้า (j> 0) แล้ว
ip: = copy (straddr, i+1, ji-1); // รับที่อยู่ IP
strdirfile: = copy (straddr, j+1, ความยาว (straddr) -j);
dirlist.delimiter: = '/';
dirlist.delimitedText: = strdirfile; // รับรายการไดเรกทอรี
ชื่อไฟล์: = dirlist [dirlist.count-1]; // ส่วนสุดท้ายคือชื่อไฟล์
dirlist.delete (dirlist.count-1);
จบ ;