Перейти к содержанию
Fire Monkey от А до Я

aleksej208

Пользователи
  • Постов

    23
  • Зарегистрирован

  • Посещение

  • Победитель дней

    2

Активность репутации

  1. Like
    aleksej208 получил реакцию от JohnDten в Я продолжу теребить участников форума, чтобы они исправили мне ошибки в чужом проекте.   
    Всем привет! Столкнулся с проблемой, приложение компилируется отлично, все хорошо, но зависает после запуска.
    Android 4.0.3
    База данных SQLite тоже подключена ошибок нет. Из приложения убрал все лишнее.
     
    Заметил вот еще что если запустить без отладки то приложение работает, и может показать только одно задание и почему то еле заметную картинку, после ответа на него, приложение виснет.
     
    Делал все как описано здесь http://delphifmandroid.blogspot.ru/2014/03/blog-post.html    
    Скачанный исходник Работает на ура


    Прилагаю скрины и свой исходник.
     


    Архив ZIP - WinRAR.zip
  2. Like
    aleksej208 получил реакцию от Richardagor в Не получается получить фотографию со встроенной библиотеки изображений телефона.   
    Столкнулся с проблемой, как ни странно, но после перезагрузки ПК запустив приложение, отказалось загружаться изображение из галереи в TImage
    Для своего приложения Android просто переделал пример CameraRoll
    Пожалуйста дайте совет в чем может быть проблема?
  3. Like
    aleksej208 получил реакцию от Richardagor в Как сделать выбор нескольких изображений из системной галереи Андроида?   
    Как реализовать для Андроида действие, чтобы можно было отметить несколько фото из галереи телефона и отобразить их в TImage или в другом компоненте?
  4. Like
    aleksej208 получил реакцию от Victorgymn в В моем коде два раза ошибочно вызывается ShowMessage при использовании Indy. В чем может быть проблема?   
    Возникла небольшая проблемка,  после заполнения edit'ов выскакивают ShowMessage по два раза, в чем проблема, может напутал что то с if и else?
    Исходный проект: для форума fm.zip
    procedure TForm3.SpeedButton1Click(Sender: TObject); var PageData:string; Data: TStringList; begin if RadioButton1.IsChecked then //Авторизация для ВКОНТАКТЕ IdHTTP1.AllowCookies := True; IdHTTP1.HandleRedirects := True; IdHTTP1.Request.UserAgent := 'Mozilla/5.0 (Windows NT 6.1; rv:27.0) Gecko/20100101 Firefox/27.0'; try if pos('выйти', IdHTTP1.Get('http://login.vk.com/?act=login&email=' + Edit1.Text + '&pass=' + Edit2.Text))>0 then begin ShowMessage('Авторизация прошла успешно!'); Form2.Show; IdHTTP1.CookieManager.CookieCollection.Clear end else begin ShowMessage('Не удается войти.'); IdHTTP1.CookieManager.CookieCollection.Clear; end; except on E: Exception do begin ShowMessage ('Error: ' + E.Message); Exit; end; end; if Radiobutton2.IsChecked then //Авторизация для Одноклассники IdHTTP1.AllowCookies := True; IdHTTP1.HandleRedirects := True; IdHTTP1.AllowCookies := True; IdHTTP1.HandleRedirects := True; IdHTTP1.Request.UserAgent := 'Mozilla/5.0 (Windows NT 6.1; rv:27.0) Gecko/20100101 Firefox/27.0'; Data := TStringList.Create; Data.Add('fr.posted=set'); Data.Add('fr.needCaptcha='); Data.Add('fr.login='+edit1.Text); Data.Add('fr.password='+edit2.Text); Data.Add('button_login=Войти'); PageData := IdHTTP1.post('http://m.odnoklassniki.ru/dk?bk=GuestMain&st.cmd=main&_prevCmd=main&tkn=7080',Data); if Pos('logoff',pagedata) <> 0 then begin ShowMessage('Авторизация прошла успешно'); Form2.Show end else showmessage('Не удается войти.'); end;
  5. Like
    aleksej208 отреагировална rareMax в В моем коде два раза ошибочно вызывается ShowMessage при использовании Indy. В чем может быть проблема?   
    У вас на мобилном устройстве, во время авторизации приложение зависает? Если да - то советую воспользоваться многопоточностью. 
    procedure TForm3.SpeedButton1Click(Sender: TObject); var PageData: string; Data: TStringList; begin if RadioButton1.IsChecked then // Авторизация для ВКОНТАКТЕ Begin // Включаем куки IdHTTP1.AllowCookies := True; // Включаем редиректы IdHTTP1.HandleRedirects := True; // Указываем юзер агент, необходимо для авторизации. Иначе всегда будет приходить False IdHTTP1.Request.UserAgent := 'Mozilla/5.0 (Windows NT 6.1; rv:27.0) Gecko/20100101 Firefox/27.0'; try if pos('выйти', IdHTTP1.Get('http://login.vk.com/?act=login&email=' + Edit1.Text + '&pass=' + Edit2.Text)) > 0 then begin ShowMessage('Авторизация прошла успешно!'); Form2.Show; IdHTTP1.CookieManager.CookieCollection.Clear; // удаление куки end else begin ShowMessage('1Не удается войти.'); IdHTTP1.CookieManager.CookieCollection.Clear; // Удаление куки end; except on E: Exception do begin ShowMessage('Error: ' + E.Message); Exit; end; end; End; if RadioButton2.IsChecked then // Авторизация для Одноклассники begin // Добавил, без него выполнялась только следующая строка // Включаем куки IdHTTP1.AllowCookies := True; // Включаем редиректы IdHTTP1.HandleRedirects := True; IdHTTP1.AllowCookies := True; IdHTTP1.HandleRedirects := True; IdHTTP1.Request.UserAgent := 'Mozilla/5.0 (Windows NT 6.1; rv:27.0) Gecko/20100101 Firefox/27.0'; Data := TstringList.Create; Data.Add('fr.posted=set'); Data.Add('fr.needCaptcha='); Data.Add('fr.login=' + Edit1.Text); Data.Add('fr.password=' + Edit2.Text); Data.Add('button_login=Войти'); PageData := IdHTTP1.post ('http://m.odnoklassniki.ru/dk?bk=GuestMain&st.cmd=main&_prevCmd=main&tkn=7080', Data); if pos('logoff', PageData) <> 0 then begin ShowMessage('Авторизация прошла успешно'); Form2.Show end else ShowMessage('Не удается войти.'); end; end;
  6. Like
    aleksej208 отреагировална Andrey Efimov в Авторизация в ВКонтакте   
    Тогда вам нужно поискать информацию по Indy.
     
    Вот вам ссылки для ознакомления:
    Для начинающих работать с компонентом idHTTP в Delphi - http://parsing-and-i.blogspot.ru/2009/05/idhttp-delphi.html Пример авторизации на сайте с помощью idHTTP.Post - http://parsing-and-i.blogspot.ru/2009/05/idhttppost.html А также очень советую ознакомиться с самыми основами:
    HTTP - http://ru.wikipedia.org/wiki/HTTP HTTP cookie - http://ru.wikipedia.org/wiki/HTTP_cookie Чтобы программа позволяла снова авторизоваться, нужно чистить куки, например так:
    procedure TForm1.Button1Click(Sender: TObject); begin   // Включаем куки   IdHTTP1.AllowCookies := True;   // Включаем редиректы   IdHTTP1.HandleRedirects := True;   // Указываем юзер агент, необходимо для авторизации. Иначе всегда будет приходить False   IdHTTP1.Request.UserAgent := 'Mozilla/5.0 (Windows NT 6.1; rv:27.0) Gecko/20100101 Firefox/27.0';   try     if pos('выйти', IdHTTP1.Get('http://login.vk.com/?act=login&email=' + Edit1.Text + '&pass=' + Edit2.Text))>0 then     begin       ShowMessage('Авторизация прошла успешно!');       // Что-то делаем...       // Удаляем куки       IdHTTP1.CookieManager.CookieCollection.Clear;     end     else     begin       ShowMessage('Не удается войти.');       // Что-то делаем...       // Удаляем куки       IdHTTP1.CookieManager.CookieCollection.Clear;     end;   except     on E: Exception do     begin       ShowMessage ('Error: ' + E.Message);       Exit;     end;   end; end;
  7. Like
  8. Like
    aleksej208 отреагировална Brovin Yaroslav в Как сделать выбор нескольких изображений из системной галереи Андроида?   
    В FireMonkey нету готового механизма для этого. Есть только вариант с выбором одной фотографии из галереи при помощи стандартных действий: TTakePhotoFromLibraryAction или TTakePhotoFromCameraAction. 
     
    Так же самое и в iOS API или Android API не предоставляет ничего готового для этого. Только вариант с выбором одного изображения. Поэтому если вам такой вариант нужен, то вам следует реализовать его самостоятельно для всех платформ: 
    Достать все изображения из системной галереи изображений: На iOS, используя AssetManager, и на Андроиде, используя - MediaStore.  Создать на FireMonkey специальное окно для выбора изображений. Написать стандартное действие для TAсtionList, завернув всю логику по выбору изображения в это действие.
×
×
  • Создать...