Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.12.2012, 21:56   #1
RealSHELS
Форумчанин
 
Аватар для RealSHELS
 
Регистрация: 04.03.2008
Сообщений: 176
По умолчанию Не работает Get запрос

Точнее работает, но только на моем компьютере, и ноуте.
Комп Win7x64
Ноут WinXPx32

Пишу на Embarcadero RAD Studio XE3.

Код:
function get_data_privat:string;
var
  s:TStringStream;
begin
  try
    s:=TStringStream.Create;
    try
      form1.IdHTTP1.Get('https://api.privatbank.ua/p24api/pubinfo?exchange&coursid=5',s);
      result:=s.DataString
    except
      result:='Error';
    end;
  finally
    s.Free;
  end;
end;
Вот этот код возвращает ошибку.
Тоесть

Код:
s:=get_data_privat;
 if s='Error' then
   begin
     showmessage('Error Privat');
     exit;
   end;
Всем кроме меня показывает это сообщение. Но у меня тоже это показывает если нету доступа к интернету, тоесть когда роутер отключен.
В чем прикол?
Может нужно сделать какие-то настройки в компоненте idhttp?
Также выложую прогу для всегообщего обсуждения-тестирования. Если у Вас все нормально запустилось, просьба подвигать ифнрмациаонные плитки на форме. Может найдете какой-то баг.

И да, вопрос не в тему, но к делу. Почему приложения с парой сотней строчек занимает 18,5 мб?
Вложения
Тип файла: rar Project1.rar (3.68 Мб, 14 просмотров)

Последний раз редактировалось RealSHELS; 14.12.2012 в 22:48.
RealSHELS вне форума Ответить с цитированием
Старый 14.12.2012, 23:33   #2
Delphi_ProGer
Форумчанин
 
Регистрация: 30.10.2010
Сообщений: 524
По умолчанию

А библиотеки для работы с ssl на других компах есть?

P.S. Можешь показать код этих перемещаючих панелек? Понравились
Delphi_ProGer вне форума Ответить с цитированием
Старый 14.12.2012, 23:45   #3
RealSHELS
Форумчанин
 
Аватар для RealSHELS
 
Регистрация: 04.03.2008
Сообщений: 176
По умолчанию

кстати да, точно, спасибо что сказал, я не сообразил.

код перемещения достаточно запутан.
Код:
procedure TForm1.MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
var
 buf:timage;
begin
  move:=true;
  x0:=x;
  y0:=y;
  buf:=(sender as timage);
  xc:=buf.Left+50;
  buf.BringToFront;
end;

procedure TForm1.MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
var
 buf:timage;
 index,b:integer;
 i:timgmove;
begin
  if move then
   begin
     buf:=(sender as timage);
     if (buf.Top+buf.Height<0) or (buf.Left+buf.Width<0) or (buf.Top>form1.Height) or (buf.Left>form1.Width) then exit;
     buf.Left:=buf.Left+x-x0;
     buf.Top:=buf.Top+y-y0;
     if (buf.Left+50)-xc<-103 then
      begin
        index:=buf.Tag mod 100;
        if index=0 then exit;
        b:=masimg[index-1].Tag div 100;
        masimg[index-1].Tag:=b*100+index;
        b:=masimg[index].tag div 100;
        masimg[index].Tag:=b*100+index-1;
        masimg[index]:=masimg[index-1];
        masimg[index-1]:=buf;
        xc:=(index-1)*100+8+3*(index-1)+50;
        i:=timgmove.create(masimg[index],form1);
      end;
      if (buf.Left+50)-xc>103 then
      begin
        index:=buf.Tag mod 100;
        if index=length(masimg)-1 then exit;
        b:=masimg[index+1].Tag div 100;
        masimg[index+1].Tag:=b*100+index;
        b:=masimg[index].tag div 100;
        masimg[index].Tag:=b*100+index+1;
        masimg[index]:=masimg[index+1];
        masimg[index+1]:=buf;
        xc:=(index+1)*100+8+3*(index+1)+50;
        i:=timgmove.create(masimg[index],form1);
      end;
   end;
end;

procedure TForm1.MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
var
 i:timgmove;
begin
  move:=false;
  img_move:=(sender as timage);
  i:=timgmove.create(img_move,form1);
end;
вот для событий картинок, тоесть для всех картинок эти процедуры. одно на всех. еще отдельно выделил в клас переезд картинки у нужное место, там по алгоритму брезенхейма в таймере.
Код:
procedure Timgmove.timer(sender: tobject);

Procedure Swap(var x,y:Integer);
var t:Integer;
begin
  t:=x;
  x:=y;
  y:=t;
end;

function Sign(const a:integer):integer;
begin
  if a>0 then result:=1;
  if a=0 then result:=0;
  if a<0 then result:=-1;
end;

var
 dx,dy,sx,sy,x2,y2,x,y,e,i,count:integer;
 check:boolean;
begin
  x2:=img.Tag mod 100;
  x2:=x2*100+8+3*x2;
  y2:=6;
  dx:=abs(img.left-x2);
  dy:=abs(img.top-y2);
  sx:=Sign(x2-img.Left);
  sy:=Sign(y2-img.Top);
  x:=img.Left;
  y:=img.Top;
  check:=false;
  if dy>dx then
    begin
      Swap(dx,dy);
      check:=true;
    end;
  e:= 2*dy - dx;
  if dx>3 then count:=round(sqrt(dx)/2) else count:=dx;
  for i := 1 to count do
  begin
    if e>=0 then
      begin
        if check then inc(x,sx) else inc(y,sy);
        dec(e,2*dx);
      end;
    if check then inc(y,sy) else inc(x,sx);
    inc(e,2*dy);
  end;
  img.Left:=x;
  img.Top:=y;
  if (img.Top=y2) and (img.left=x2) then
   begin
     t.Free;
     self.Free;
   end;
end;
если интересует могу скинуть в личку, чтобы тут не флудить.
по поводу дивов, модов, просьба не материть. просто нужно было в одном tag сохранить два числа от 1..50. чтобы не создавать отдельный клас(тип) только из картинки и двух чисел.

Последний раз редактировалось RealSHELS; 14.12.2012 в 23:54.
RealSHELS вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не работает запрос Myzon Microsoft Office Access 3 22.06.2011 11:25
Не работает запрос! vvg Microsoft Office Access 1 02.04.2011 14:13
Не работает запрос pa1n БД в Delphi 10 02.05.2010 15:14
Не работает запрос Dantark PHP 2 10.11.2009 19:02
Не работает запрос Prisian БД в Delphi 1 30.08.2007 17:33