www.boolean.name

www.boolean.name (http://forum.boolean.name/index.php)
-   MidletPascal (http://forum.boolean.name/forumdisplay.php?f=46)
-   -   помогите найти ошибку (http://forum.boolean.name/showthread.php?t=17474)

Deport 03.11.2012 11:05

помогите найти ошибку
 
Вложений: 1
тут такая штука: пытаюсь скачать файл кусками из интернета без всяких форматирований и преобразований, проблема заключается в следующем: в пример взял картинку, в мидлете картинка отображается но сохраняется совсем не рабочей, что я не так сделал? помогите пожалуйста...
Цитата:

uses proweb,base64v3,im,jsr75i,canvas;
var cmdQuit, cmdResetName, clicked : command;
htmlBody ,co ,base,str,res,de,s: string;
contentType ,inf: string;
fo1,rc,len,kb,mb,rez,nez,i,n,a:integer;
img:image;
begin

repeat
i:=i+1;
open('http://m.megafonpro.ru/ml/upload/mpro/files/312/'+i+'._000_.ta');
if get_error='' then set_method(GET);
if get_error='' then rc:=request;
if get_error='' then str:=get_data;
s:='/root/1.jpg';
a:=file_exists(s);
if a=0 then begin
jsr75i.file_create(s);
end;
a:=jsr75i.open_file(s);
jsr75i.write_string(str);
inf:=''+str+'';
str:=de;
s:=de;
until i=6;
a:=jsr75i.close_file(s);
showform;
clearform;showcanvas;

img:=Image_From_string(inf);
img:=resize_image(img,getWidth,getHeight);
drawImage(img,0,0);
repaint;
cmdQuit := CreateCommand('Quit', CM_EXIT, 1);
AddCommand(cmdQuit);
cmdResetName := CreateCommand('Reset', CM_SCREEN, 1);
AddCommand(cmdResetName);
repeat
clicked := GetClickedCommand;
until clicked = cmdQuit;
end.

Deport 03.11.2012 11:22

Ответ: помогите найти ошибку
 
если переделать код вот так то получается аномалия!
Цитата:

uses proweb,base64v3,im,jsr75i,canvas;
var cmdQuit, cmdResetName, clicked : command;
htmlBody ,co ,base,str,res,de,s: string;
contentType ,inf: string;
fo1,rc,len,kb,mb,rez,nez,i,n,a:integer;
img:image;
begin

repeat
i:=i+1;
open('http://m.megafonpro.ru/ml/upload/mpro/files/312/'+i+'._000_.ta');
if get_error='' then set_method(GET);
if get_error='' then rc:=request;
if get_error='' then str:=get_data;

inf:=''+str+'';
s:='/root/1.jpg';
a:=file_exists(s);
if a=0 then begin
jsr75i.file_create(s);
end;
if i=6 then begin
a:=jsr75i.open_file(s);
jsr75i.write_string(inf);

str:=de;
s:=de;end;
until i=6;
a:=jsr75i.close_file(s);
showform;
clearform;showcanvas;

img:=Image_From_string(inf);
img:=resize_image(img,getWidth,getHeight);
drawImage(img,0,0);
repaint;
cmdQuit := CreateCommand('Quit', CM_EXIT, 1);
AddCommand(cmdQuit);
cmdResetName := CreateCommand('Reset', CM_SCREEN, 1);
AddCommand(cmdResetName);
repeat
clicked := GetClickedCommand;
until clicked = cmdQuit;
end.
поробуйте сами , реальный вес картинки 2*103*806 байт
а сохраняется 362*496 байт(картинка остается рабочей)
но это тоже не вариант...нужно будет сохранять гигабайтами тогда хеап не хватит....


Часовой пояс GMT +1, время: 01:29.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Перевод: zCarot