Pascal 外部文件写入未完成

Pascal 外部文件写入未完成,pascal,freepascal,lazarus,procedural-programming,turbo-pascal,Pascal,Freepascal,Lazarus,Procedural Programming,Turbo Pascal,当我用Pascal编写外部文件时,外部文件并没有完全写入,即使编码是完美的 procedure save; {Menyimpan data penerbangan ke dalam file eksternal} begin write('> '); write('nama file: '); readln(namafisik); assign(d,namafisik); {$I-}; rewrite(d)

当我用Pascal编写外部文件时,外部文件并没有完全写入,即使编码是完美的

procedure save;
  {Menyimpan data penerbangan ke dalam file eksternal}
      begin
         write('> ');
     write('nama file: ');
     readln(namafisik);
     assign(d,namafisik);
     {$I-};
     rewrite(d);
     {$I+};
     if (IOresult=0) then
         begin
            for i:=1 to Neff do
             writejadwal(i);
         end;
      end;

procedure writejadwal(i:integer);
{Menuliskan jadwal ke file eksternal pada indeks ke-i}
      begin
           write(d,T.KodePenerbangan[i]);
           write(d,' | ');
           write(d,T.KotaKeberangkatan[i]);
           write(d,' | ');
           write(d,T.KotaKedatangan[i]);
           write(d,' | ');
           if ((T.TKeberangkatan[i].Day) < 10 ) then
              begin
                   x:=T.TKeberangkatan[i].Day;
                   str(x,y);
                   s:=y;
                   write(d,'0'+s);
              end
           else
               begin
               write(d,T.TKeberangkatan[i].Day);
               end;
           write(d,':');
           if ((T.TKeberangkatan[i].Month) < 10 ) then
              begin
                   x:=T.TKeberangkatan[i].Month;
                   str(x,y);
                   write(d,'0'+y);
              end
           else
               begin
                    write(d,T.TKeberangkatan[i].Month);
               end;
           write(d,':');
           write(d,T.TKeberangkatan[i].Year);
           write(d,' | ');
           if ((T.TKeberangkatan[i].Hour) < 10 ) then
              begin
                   x:=T.TKeberangkatan[i].Hour;
                   str(x,y);
                   write(d,'0'+y);
              end
           else
               begin
                    write(d,T.TKeberangkatan[i].Hour);
               end;
           write(d,':');
           if ((T.TKeberangkatan[i].Minute) < 10 ) then
              begin
                   x:=T.TKeberangkatan[i].Minute;
                   str(x,y);
                   write(d,'0'+y);
              end
           else
               begin
                    write(d,T.TKeberangkatan[i].Minute);
               end;
           write(d,' | ');
           if ((T.TKedatangan[i].Day) < 10 ) then
              begin
                   x:=T.TKedatangan[i].Day;
                   str(x,y);
                   s:=y;
                   write(d,'0'+s);
              end
           else
               begin
               write(d,T.TKedatangan[i].Day);
               end;
           write(d,':');
           if ((T.TKedatangan[i].Month) < 10 ) then
              begin
                   x:=T.TKedatangan[i].Month;
                   str(x,y);
                   s:=y;
                   write(d,'0'+s);
              end
           else
               begin
               write(d,T.TKedatangan[i].Month);
               end;
           write(d,':');
           write(d,T.TKedatangan[i].Year);
           write(d,' | ');
           if ((T.TKedatangan[i].Hour) < 10 ) then
              begin
                   x:=T.TKedatangan[i].Hour;
                   str(x,y);
                   write(d,'0'+y);
              end
           else
               begin
                    write(d,T.TKedatangan[i].Hour);
               end;
           write(d,':');
           if ((T.TKedatangan[i].Minute) < 10 ) then
              begin
                   x:=T.TKedatangan[i].Minute;
                   str(x,y);
                   write(d,'0'+y);
              end
           else
               begin
                    write(d,T.TKedatangan[i].Minute);
               end;
           write(d,' | ');

           if (T.TKedatanganImplementasi[i].Day=0) then
              writeln(d,'__:__:____ | __:__ | __:__:____ | __:__')
           else
           {MULAI}
           begin
           if ((T.TKeberangkatanImplementasi[i].Day) < 10 ) then
              begin
                   x:=T.TKeberangkatanImplementasi[i].Day;
                   str(x,y);
                   s:=y;
                   write(d,'0'+s);
              end
           else
               begin
               write(d,T.TKeberangkatanImplementasi[i].Day);
               end;
           write(d,':');
           if ((T.TKeberangkatanImplementasi[i].Month) < 10 ) then
              begin
                   x:=T.TKeberangkatanImplementasi[i].Month;
                   str(x,y);
                   write(d,'0'+y);
              end
           else
               begin
                    write(d,T.TKeberangkatanImplementasi[i].Month);
               end;
           write(d,':');
           write(d,T.TKeberangkatanImplementasi[i].Year);
           write(d,' | ');
           if ((T.TKeberangkatanImplementasi[i].Hour) < 10 ) then
              begin
                   x:=T.TKeberangkatanImplementasi[i].Hour;
                   str(x,y);
                   write(d,'0'+y);
              end
           else
               begin
                    write(d,T.TKeberangkatanImplementasi[i].Hour);
               end;
           write(d,':');
           if ((T.TKeberangkatanImplementasi[i].Minute) < 10 ) then
              begin
                   x:=T.TKeberangkatanImplementasi[i].Minute;
                   str(x,y);
                   write(d,'0'+y);
              end
           else
               begin
                    write(d,T.TKeberangkatanImplementasi[i].Minute);
               end;
           write(d,' | ');
           if ((T.TKedatanganImplementasi[i].Day) < 10 ) then
              begin
                   x:=T.TKedatanganImplementasi[i].Day;
                   str(x,y);
                   s:=y;
                   write(d,'0'+s);
              end
           else
               begin
               write(d,T.TKedatanganImplementasi[i].Day);
               end;
           write(d,':');
           if ((T.TKedatanganImplementasi[i].Month) < 10 ) then
              begin
                   x:=T.TKedatanganImplementasi[i].Month;
                   str(x,y);
                   s:=y;
                   write(d,'0'+s);
              end
           else
               begin
               write(d,T.TKedatanganImplementasi[i].Month);
               end;
           write(d,':');
           write(d,T.TKedatanganImplementasi[i].Year);
           write(d,' | ');
           if ((T.TKedatanganImplementasi[i].Hour) < 10 ) then
              begin
                   x:=T.TKedatanganImplementasi[i].Hour;
                   str(x,y);
                   write(d,'0'+y);
              end
           else
               begin
                    write(d,T.TKedatanganImplementasi[i].Hour);
               end;
           write(d,':');
           if ((T.TKedatanganImplementasi[i].Minute) < 10 ) then
              begin
                   x:=T.TKedatanganImplementasi[i].Minute;
                   str(x,y);
                   write(d,'0'+y);
              end
           else
               begin
                    write(d,T.TKedatanganImplementasi[i].Minute);
               end;
           writeln(d);
           end;
           {SELESAI}
      end;
程序保存;
{Menyimpan data penerbangan ke dalam file eksternal}
开始
写('>');
写入('nama文件:');
readln(纳马菲西克);
分配(d,纳马菲斯克);
{$I-};
重写(d);
{$I+};
如果(IOresult=0),则
开始
对于i:=1到Neff do
书面声明(i);
终止
终止
过程writejadwal(i:整数);
{Menuliskan jadwal ke file eksternal pada indeks ke-i}
开始
写(d,T.KodePenerbangan[i]);
写(d,“|”);
写(d,T.KotaKeberangkatan[i]);
写(d,“|”);
写入(d,T.Kotakedatatangan[i]);
写(d,“|”);
如果((T.TKeberangkatan[i].Day)<10),则
开始
x:=T.TKeberangkatan[i]。天;
str(x,y);
s:=y;
写入(d,'0'+s);
终止
其他的
开始
写(d,T.TKeberangkatan[i].天);
终止
写(d,,:);
如果((T.TKeberangkatan[i].月)<10),则
开始
x:=T.TKeberangkatan[i]。月;
str(x,y);
写入(d,'0'+y);
终止
其他的
开始
写(d,T.TKeberangkatan[i].月);
终止
写(d,,:);
写作(d,T.TKeberangkatan[i].年);
写(d,“|”);
如果((T.TKeberangkatan[i].Hour)<10),那么
开始
x:=T.TKeberangkatan[i]。小时;
str(x,y);
写入(d,'0'+y);
终止
其他的
开始
写(d,T.TKeberangkatan[i].小时);
终止
写(d,,:);
如果((T.TKeberangkatan[i].Minute)<10),则
开始
x:=T.TKeberangkatan[i]。分钟;
str(x,y);
写入(d,'0'+y);
终止
其他的
开始
写(d,T.TKeberangkatan[i].分钟);
终止
写(d,“|”);
如果((T.TKedatangan[i].Day)<10),则
开始
x:=T.TKedatangan[i].天;
str(x,y);
s:=y;
写入(d,'0'+s);
终止
其他的
开始
写(d,T.TKedatangan[i].天);
终止
写(d,,:);
如果((T.TKedatangan[i].月)<10),则
开始
x:=T.TKedatangan[i]。月;
str(x,y);
s:=y;
写入(d,'0'+s);
终止
其他的
开始
写入(d,T.TKedatangan[i].月);
终止
写(d,,:);
写(d,T.TKedatangan[i].年);
写(d,“|”);
如果((T.TKedatangan[i].Hour)<10),则
开始
x:=T.TKedatangan[i].小时;
str(x,y);
写入(d,'0'+y);
终止
其他的
开始
写入(d,T.TKedatangan[i].小时);
终止
写(d,,:);
如果((T.TKedatangan[i].Minute)<10),则
开始
x:=T.TKedatangan[i]。分钟;
str(x,y);
写入(d,'0'+y);
终止
其他的
开始
写(d,T.TKedatangan[i].分钟);
终止
写(d,“|”);
如果(T.TKedatanganImplementasi[i].Day=0),则
书面形式(d,“uuuuuuuuuuu124; uuu124; uu124; uu124; uu124; uu:u124; uu124; uuu124; uuuuu124; uuuuuuuuu”)
其他的
{MULAI}
开始
如果((T.TKeberangkatanImplementasi[i].Day)<10),那么
开始
x:=T.TKeberangkatanImplementasi[i].天;
str(x,y);
s:=y;
写入(d,'0'+s);
终止
其他的
开始
写(d,T.TKeberangkatanImplementasi[i].天);
终止
写(d,,:);
如果((T.TKeberangkatanImplementasi[i].Month)<10),则
开始
x:=T.TKeberangkatanImplementasi[i]。月;
str(x,y);
写入(d,'0'+y);
终止
其他的
开始
写(d,T.TKeberangkatanImplementasi[i].月);
终止
写(d,,:);
写作(d,T.TKeberangkatanImplementasi[i].年);
写(d,“|”);
如果((T.TKeberangkatanImplementasi[i].Hour)<10),那么
开始
x:=T.TKeberangkatanImplementasi[i]。小时;
str(x,y);
写入(d,'0'+y);
终止
其他的
开始
写(d,T.TKeberangkatanImplementasi[i].小时);
终止
写(d,,:);
如果((T.TKeberangkatanImplementasi[i].Minute)<10),那么
开始
x:=T.TKeberangkatanImplementasi[i]。分钟;
str(x,y);
写入(d,'0'+y);
终止
其他的
开始
写作(d,T.TKeberangkatanImplementasi[i].分钟);
终止
写(d,“|”);
如果((T.TKedatanganImplementasi[i].Day)<10),则
开始
x:=T.TKedatanganImplementasi[i].天;
str(x,y);
s:=y;
写入(d,'0'+s);
终止
其他的
开始
写入(d,T.TKedatanganImplementasi[i].Day);
终止
写(d,,:);
如果((T.TKedatanganImplementasi[i].Month)<10),则