Нуждающийся
Регистрация: 28.01.2009
Сообщений: 65
Написано одно полезное сообщение (для 2 участников)
|
Ответ: lib_jsr75 & files проблема
теперь собранный jar не хочет спрашивать доступ к фс...
вот прога:

program MediaFilter;
uses jsr75i;
var a1, open, i, n, fs, m1, m2, mgsi, byte, ii, inf: integer;
stop: boolean;
nf: array[0..50] of string;
b1: array[0..1] of integer;
b2: array[0..1] of integer;
b3: array[0..1] of integer;
b4: array[0..1] of integer;
b5: array[0..1] of integer;
b6: array[0..1] of integer;
fileopen, endd, ss: string;
ok, exit, back, gtc: command;
begin
b1[0] := 137;
b2[0] := 80;
b3[0] := 78;
b4[0] := 66;
b5[0] := 96;
b6[0] := 130;
b1[1] := 77;
b2[1] := 84;
b3[1] := 104;
b4[1] := 255;
b5[1] := 47;
b6[1] := 00;
repeat
showmenu('PNG Filter', CH_IMPLICIT);
m1 := menuAppendString('PNG Filter');
m2 := menuAppendString('MID Filter');
ok := createcommand('Ok', CM_OK, 1);
exit := createcommand('Exit', CM_EXIT, 1);
addcommand(ok);
addcommand(exit);
repeat gtc := getclickedcommand; until (gtc = ok) or (gtc = exit);
clearform;
removecommand(ok);
removecommand(exit);
if gtc = ok then begin
mgsi := menugetselectedindex;
if mgsi = 0 then endd := '.png';
if mgsi = 1 then endd := '.mid';
i := 0;
ii := -1;
showform;
repeat
a1 := formAddTextField('Open File', '/c:/', 70, TF_ANY);
addcommand(ok);
repeat until getclickedcommand = ok;
formremove(fs);
removecommand(ok);
open := 0;
fileopen := formgettext(a1);
open := file_exists(fileopen);
if open <> 1 then begin
fs := formaddstring('Error! File not found...');
addcommand(ok);
repeat until getclickedcommand = ok;
removecommand(ok);
clearform;
end;
until open = 1;
a1 := 0;
clearform;
fs := formaddstring('Please wait...');
ss:=jsr75i.read_file('/c:/other/file'+integertostring(i)+'.png');
repeat
stop := false;
ii := ii + 1;
a1:=ord(GetChar(ss,ii));
if a1 = b1[mgsi] then begin
nf[i] := SetChar(nf[i],CHR(Byte),inf);
ii := ii + 1;
inf := inf + 1;
a1:=ord(GetChar(ss,ii));
if a1 = b2[mgsi] then begin
nf[i] := SetChar(nf[i],CHR(Byte),inf);
ii := ii + 1;
inf := inf + 1;
a1:=ord(GetChar(ss,ii));
if a1 = b3[mgsi] then begin
repeat
nf[i] := SetChar(nf[i],CHR(Byte),inf);
ii := ii + 1;
inf := inf + 1;
a1:=ord(GetChar(ss,ii));
if a1 = b4[mgsi] then begin
nf[i] := SetChar(nf[i],CHR(Byte),inf);
ii := ii + 1;
inf := inf + 1;
a1:=ord(GetChar(ss,ii));
if a1 = b5[mgsi] then begin
nf[i] := SetChar(nf[i],CHR(Byte),inf);
ii := ii + 1;
inf := inf + 1;
a1:=ord(GetChar(ss,ii));
if a1 = b6[mgsi] then begin
stop := true;
nf[i] := SetChar(nf[i],CHR(Byte),inf);
i := i + 1;
inf := 0;
end;
end;
end;
until stop = true;
end;
end;
end;
until ii = Length(ss)-1;
for n := 0 to i do begin
jsr75i.write_file_a(fileopen + integertostring(i) + endd, nf[i]);
end;
clearform;
fs := formaddstring('Extracted ' + integertostring(i) + 'files.');
addcommand(ok);
repeat until getclickedcommand = ok;
end;
until gtc = exit;
end.
Последний раз редактировалось Doctor Drive, 06.03.2009 в 17:17.
|