Program stf2dtn; { Song Text Format (STF) Helper } Uses SysUtils, Algemeen; const meta : string = 'Meta $05(Lyric) '; var Bron, Doel : TextFile; procedure Some_Help; begin Writeln('STF2DTN'); Writeln; Writeln('Converts Song Text Format to Midi Text'); Writeln; writeln('Syntax: [program] [ITF] [OTF]'); Writeln; Writeln('ITF = name of Input TextFile (STF)'); Writeln('OTF = name of Output TextFile (DTN)'); end; procedure Read_Parameters(var OK : boolean); var naam : string; begin OK := true; if ParamCount <> 2 then begin Some_Help; OK := false; Exit; end; naam := ParamStr(1); if not FileExists(naam) then begin Writeln(naam + ': does Not exist'); OK := false; Exit; end; AssignFile(Bron, naam); naam := ParamStr(2); AssignFile(Doel, naam); end; procedure HoofdRoutine; var regel : string; OK : boolean; woord,greep : lijst; i,j : integer; begin Read_Parameters(OK); if not OK then Exit; Reset(Bron); Rewrite(Doel); Writeln(Doel,'File 0 (1) 120'); Writeln(Doel,'Track #1'); SetLength(woord,0); SetLength(greep,0); while not EoF(Bron) do begin Readln(Bron,regel); woord := Woorden(regel); for i := 0 to Length(woord)-1 do begin greep := Grepen(woord[i]); for j := 0 to Length(greep)-1 do begin Writeln(Doel,'0'); Writeln(Doel,meta + greep[j]); end; end; end; Writeln(Doel,'0'); Writeln(Doel,'Meta $05(Lyric)'); Writeln(Doel,'0'); Writeln(Doel,'Meta $2F(TrkEnd)'); Close(Doel); Close(Bron); end; begin HoofdRoutine; end.