diff -ur rubyscript2exe-0.1.13.tar.gz/rubyscript2exe/eee.pas rubyscript2exe-0.1.14.tar.gz/rubyscript2exe/eee.pas --- rubyscript2exe-0.1.13.tar.gz/rubyscript2exe/eee.pas 2004-04-28 22:24:04.000000000 +0200 +++ rubyscript2exe-0.1.14.tar.gz/rubyscript2exe/eee.pas 2004-05-02 23:56:22.000000000 +0200 @@ -2,7 +2,7 @@ uses - Dos; + SysUtils, Dos; type @@ -27,16 +27,17 @@ outfile : file of byte; eeefile : Text; klasse : string[1]; - tekst : string[255]; + tekst1 : string[255]; + tekst2 : string; s : string[255]; - c : string[255]; - p : string[255]; + c : string; + p : string; h : header; t : tail; teller : longint; i : longint; dir : string[255]; - parms : string[255]; + parms : string; justextract : boolean; @@ -46,15 +47,19 @@ f : file; sr : searchrec; dir : string[255]; + attr : word; begin getdir(0, dir); chdir(path); - findfirst(´*.*´, directory, sr); + findfirst(´*.*´, anyfile or directory, sr); while(doserror = 0) do begin - if (sr.attr and directory > 0) then begin + assign(f, sr.name); // Foutje in 1.9.2 ??? + getfattr(f, attr); // Foutje in 1.9.2 ??? + + if (attr and directory > 0) then begin if ((not (sr.name = ´.´)) and (not (sr.name = ´..´))) then begin recursivedelete(sr.name); end; @@ -177,13 +182,13 @@ if (not (s = ´´) and not (copy(s, 1, 1) = ´#´)) then begin klasse := copy(s, 1, 1); - tekst := copy(s, 3, 255); + tekst1 := copy(s, 3, length(s)-2); // writeln(h.klasse, ´ ´, h.tekst); if (klasse = ´f´) then begin h.klasse := klasse; - h.tekst := tekst; + h.tekst := tekst1; assign(infile, h.tekst); reset(infile, 1); @@ -195,7 +200,7 @@ if (klasse = ´c´) then begin h.klasse := klasse; - h.tekst := tekst; + h.tekst := tekst1; h.length := 0; blockwrite(outfile, h, sizeof(h)); @@ -203,7 +208,7 @@ if (klasse = ´t´) then begin h.klasse := klasse; - h.tekst := tekst; + h.tekst := tekst1; h.length := 0; blockwrite(outfile, h, sizeof(h)); @@ -252,24 +257,26 @@ for teller := 1 to t.number do begin blockread(infile, h, sizeof(h)); + tekst2 := h.tekst; + s := ´%tempdir%´; - i := pos(s, h.tekst); + i := pos(s, tekst2); while (i > 0) do begin - h.tekst := copy(h.tekst, 1, i-1) + workdir + copy(h.tekst, i+length(s), 255); - i := pos(s, h.tekst); + tekst2 := copy(tekst2, 1, i-1) + workdir + copy(tekst2, i+length(s), length(tekst2)-(i+length(s))+1); + i := pos(s, tekst2); end; s := ´%parms%´; - i := pos(s, h.tekst); + i := pos(s, tekst2); while (i > 0) do begin - h.tekst := copy(h.tekst, 1, i-1) + parms + copy(h.tekst, i+length(s), 255); - i := pos(s, h.tekst); + tekst2 := copy(tekst2, 1, i-1) + parms + copy(tekst2, i+length(s), length(tekst2)-(i+length(s))+1); + i := pos(s, tekst2); end; - // writeln(h.klasse, ´ ´, h.tekst); + // writeln(h.klasse, ´ ´, tekst2); if (h.klasse = ´f´) then begin - assign(outfile, workdir + ´\´ + h.tekst); + assign(outfile, workdir + ´\´ + tekst2); rewrite(outfile, 1); blockcopy(infile, outfile, h.length, true); @@ -278,19 +285,19 @@ end; if (h.klasse = ´c´) then begin - i := pos(´ ´, h.tekst); - c := copy(h.tekst, 1, i-1); - p := copy(h.tekst, i+1, 255); - exec(c, p); + i := pos(´ ´, tekst2); + c := copy(tekst2, 1, i-1); + p := copy(tekst2, i+1, length(tekst2)-i); + executeprocess(c, p); end; if (h.klasse = ´t´) then begin getdir(0, dir); chdir(workdir); - i := pos(´ ´, h.tekst); - c := copy(h.tekst, 1, i-1); - p := copy(h.tekst, i+1, 255); - exec(c, p); + i := pos(´ ´, tekst2); + c := copy(tekst2, 1, i-1); + p := copy(tekst2, i+1, length(tekst2)-i); + executeprocess(c, p); chdir(dir); end; end; Binary files rubyscript2exe-0.1.13.tar.gz/rubyscript2exe/eee.exe and rubyscript2exe-0.1.14.tar.gz/rubyscript2exe/eee.exe differ Binary files rubyscript2exe-0.1.13.tar.gz/rubyscript2exe/eeew.exe and rubyscript2exe-0.1.14.tar.gz/rubyscript2exe/eeew.exe differ