Перейти к содержанию
  • Регистрация

Олег Киреев

Пользователи
  • Публикаций

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

  • Посещение

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

    2

Олег Киреев стал победителем дня 29 октября

Олег Киреев имел наиболее популярный контент!

Информация о Олег Киреев

  • Звание
    Продвинутый пользователь
  • День рождения 07.02.1966

Информация

  • Пол
    Мужчина
  • Город
    Минск
  • Интересы
    Прогулки на природе, велопрогулки, плавание, Delphi.

Посетители профиля

959 просмотров профиля
  1. Подскажите пожалуйста почему когда я пытаюсь заполнить ComboBox из базы SQLite в мобильном приложении для Android вот так: //заполняем ComboBox двигателя FDQuery_ComboBox.Active:=False; FDQuery_ComboBox.SQL.Clear; FDQuery_ComboBox.SQL.Add('SELECT Dvig_ob FROM TabSR '); FDQuery_ComboBox.Active:=True; //ShowMessage('Количество строк: '+IntToStr(FDQuery_ComboBox.RecordCount)); for i:=1 to FDQuery_ComboBox.RecordCount do Begin FDQuery_ComboBox.RecNo := i; ComboBox_Engin.Items.Add(FDQuery_ComboBox.Fields[0].AsString); End; в FDQuery_ComboBox.RecordCount всего ровно 50 позиций хотя в таблице TabSR 288 строк???? СпасиБО. С Уважением.
  2. Сам спросил и сам ответил: Сделал проще вот так: //Поделится БД procedure TForm_glavn.ButtonПоделитсяБДClick(Sender: TObject); begin if FileExists(TPath.GetDownloadsPath+'/DB_BOKA.db3') then begin ShareFile(TPath.GetDownloadsPath+'/DB_BOKA.db3', 'Это файл DB_BOKA.db3 из приложения БОКА.'); Application.ProcessMessages; end else ShowMessage('Файл '+TPath.GetDownloadsPath+'/DB_BOKA.db3'+' не найден.'); Form_glavn.Realign; end; Теперь телефон не зависает.
  3. Попробовал другой файл. Та же проблема зависает телефон. Может что ещё подскажете?
  4. СпасиБо с этим разобрался. А ещё подскажите пожалуйста почему зависает телефон когда я отправляю файл так: //Поделится БД procedure TForm_glavn.ButtonПоделитсяБДClick(Sender: TObject); begin if FileExists(TPath.GetDownloadsPath+'/DB_BOKA.db3') then begin Try ShareFile(TPath.GetDownloadsPath+'/DB_BOKA.db3', 'Это файл DB_BOKA.db3 из приложения БОКА.'); Sleep(100); ShowMessage('Отправлено.'); Except ShowMessage('Не отправлено.'); End; end else ShowMessage('Файл '+TPath.GetDownloadsPath+'/DB_BOKA.db3'+' не найден.'); end; Хотя файл и сообщение отправляются нормально на указанный мной в приложении адрес. Хотя я поставил скобки исключения. С Уважением. Олег Киреев.
  5. А ещё подскажите пожалуйста почему зависает телефон когда я отправляю файл так: //Поделится БД procedure TForm_glavn.ButtonПоделитсяБДClick(Sender: TObject); begin if FileExists(TPath.GetDownloadsPath+'/DB_BOKA.db3') then begin Try ShareFile(TPath.GetDownloadsPath+'/DB_BOKA.db3', 'Это файл DB_BOKA.db3 из приложения БОКА.'); Sleep(100); ShowMessage('Отправлено.'); Except ShowMessage('Не отправлено.'); End; end else ShowMessage('Файл '+TPath.GetDownloadsPath+'/DB_BOKA.db3'+' не найден.'); end; Хотя файл и сообщение отправляются нормально на указанный мной в приложении адрес. Хотя я поставил скобки исключения. С Уважением. Олег Киреев.
  6. СпасиБО. Буду знать. Но я до этого попробовал задеплоить сюда .\assets\Download\ и приложение нашло его так: //поиск файла procedure TForm_glavn.Button10Click(Sender: TObject); var FileToFind: string; begin FileToFind := FileSearch('/storage/emulated/0/Android/data/com.embarcadero.BOKA/files/Download/DB_BOKA.db3', GetCurrentDir); if FileToFind = '' then ShowMessage('Не смог найти: ' + 'DB_BOKA.db3' + '.') else ShowMessage('Нашёл в каталоге ' + FileToFind + '.'); end;
  7. Дело в том что этот файл задеплоин так: . Я пытаюсь узнать действительно ли он там вот так: //поиск файла procedure TForm_glavn.Button10Click(Sender: TObject); var FileToFind: string; begin FileToFind := FileSearch('.\assets\external\DB_BOKA.db3', GetCurrentDir); if FileToFind = '' then ShowMessage('Не смог найти: ' + 'DB_BOKA.db3' + '.') else ShowMessage('Нашёл в каталоге ' + FileToFind + '.'); end; Сообщение показывает "Не смог найти". Подскажите пожалуйста что здесь не так? С Уважением. Олег Киреев.
  8. Здравствуйте Евгений. Пожалуйста ответьте мне на такой вопрос по этой теме. Я пытаюсь отправить файл базы вот так: //Поделится БД procedure TForm_glavn.ButtonПоделитсяБДClick(Sender: TObject); begin if FileExists(TPath.GetSharedDocumentsPath+'/DB_BOKA.db3') then begin Try ShareFile(TPath.GetSharedDocumentsPath+'/DB_BOKA.db3', 'Это файл DB_BOKA.db3 из приложения БОКА.'); ShowMessage('Отправлено.'); Except ShowMessage('Не отправлено.'); End; end else ShowMessage('Файл '+TPath.GetSharedDocumentsPath+'/DB_BOKA.db3'+' не найден.'); end; себе на почту. Появляется сообщение что файл не найден. Наверное дело в пути? Подскажите пожалуйста как узнать где лежит файл базы на телефоне? Поделитесь пожалуйста своим опытом. С Уважением. Олег.
  9. Здравствуйте Вадим. Пожалуйста ответьте мне на такой вопрос по этой теме. Я пытаюсь отправить файл базы вот так: //Поделится БД procedure TForm_glavn.ButtonПоделитсяБДClick(Sender: TObject); begin if FileExists(TPath.GetSharedDocumentsPath+'/DB_BOKA.db3') then begin Try ShareFile(TPath.GetSharedDocumentsPath+'/DB_BOKA.db3', 'Это файл DB_BOKA.db3 из приложения БОКА.'); ShowMessage('Отправлено.'); Except ShowMessage('Не отправлено.'); End; end else ShowMessage('Файл '+TPath.GetSharedDocumentsPath+'/DB_BOKA.db3'+' не найден.'); end; себе на почту. Появляется сообщение что файл не найден. Наверное дело в пути? Подскажите пожалуйста как узнать где лежит файл базы на телефоне? Поделитесь пожалуйста своим опытом. С Уважением. Олег.
  10. СпасиБО SLAVZ. Попробую. Может Вам пригодится я вот так вышел и положения: Сначала: //выбираем фото из галереи устройства procedure TForm_haracteristik.TakePhotoFromLibraryAction1DidFinishTaking( Image: TBitmap); begin Image_ФотоХаракДвиг.Bitmap.Assign(Image); end; Потом вношу в Базу: //ввести харак-ку procedure TForm_haracteristik.Button_ВвестиClick(Sender: TObject); begin if Edit_НазваниеХарактеристики.Text='' then begin ShowMessage('Вы не ввели название характеристики.'); Abort; end; //проверяем наличие дубля названия характеристики: FDQuery_Engin.Open; FDQuery_Engin.SQL.Clear; FDQuery_Engin.SQL.Add('select * from Tab_Harak_Engin where Name_Harak = ' + #39+ Edit_НазваниеХарактеристики.Text +#39); FDQuery_Engin.Active:=True; if FDQuery_Engin.RecordCount > 0 then begin ShowMessage('Такое название уже есть !'); Abort; end else begin Try FDQuery_Engin.Active:=False; FDQuery_Engin.SQL.Clear; FDQuery_Engin.SQL.Add('SELECT * FROM Tab_Harak_Engin ORDER BY Name_Harak' ); FDQuery_Engin.Active:=True; //вставляем строку новой модели: FDQuery_Engin.Insert; FDQuery_Engin.FieldByName('Name_Harak').AsString:=Edit_НазваниеХарактеристики.Text; //заносим в поток файл картинки IconStream:=TMemoryStream.Create; Image_ФотоХаракДвиг.Bitmap.SaveToStream(IconStream); IconStream.Position := 0; (FDQuery_Engin.FieldByName('Harak_Engin') as TBlobField).LoadFromStream(IconStream); IconStream.Free; FDQuery_Engin.Post; ShowMessage('Введено.'); Except ShowMessage('Ошибка ввода в базу.'); End; end; //перезагружаем Boxы Box_НазвХарДвиг.Clear; Box_НазвХарДвигУдаление.Clear; FDQuery_ComboBox_Engin.Active:=False; FDQuery_ComboBox_Engin.SQL.Clear; FDQuery_ComboBox_Engin.SQL.Add('SELECT Name_Harak FROM Tab_Harak_Engin ORDER BY Name_Harak'); FDQuery_ComboBox_Engin.Active:=True; for i:=1 to FDQuery_ComboBox_Engin.RecordCount do begin FDQuery_ComboBox_Engin.RecNo:=i; Box_НазвХарДвиг.Items.Add(FDQuery_ComboBox_Engin.FieldByName('Name_Harak').AsString); Box_НазвХарДвигУдаление.Items.Add(FDQuery_ComboBox_Engin.FieldByName('Name_Harak').AsString); end; end; Так удаляю из базы если надо: //удалить procedure TForm_haracteristik.Button_УдалитьClick(Sender: TObject); begin if Box_НазвХарДвигУдаление.ItemIndex=-1 then begin ShowMessage('Вы не выбрали имя характеристики.'); Abort; end; TX:=''; TX:=Box_НазвХарДвигУдаление.Selected.Text; //становимся на эту позицию FDQuery_Engin.Active:=False; FDQuery_Engin.SQL.Clear; FDQuery_Engin.SQL.Add('SELECT * FROM Tab_Harak_Engin where Name_Harak= '+#39+TX+ #39); FDQuery_Engin.Active:=True; Try FDQuery_Engin.Delete; ShowMessage('Удалено.'); Except ShowMessage('Не удалось удалить.'); End; //перезагружаем Boxы Box_НазвХарДвиг.Clear; Box_НазвХарДвигУдаление.Clear; FDQuery_ComboBox_Engin.Active:=False; FDQuery_ComboBox_Engin.SQL.Clear; FDQuery_ComboBox_Engin.SQL.Add('SELECT Name_Harak FROM Tab_Harak_Engin ORDER BY Name_Harak'); FDQuery_ComboBox_Engin.Active:=True; for i:=1 to FDQuery_ComboBox_Engin.RecordCount do begin FDQuery_ComboBox_Engin.RecNo:=i; Box_НазвХарДвиг.Items.Add(FDQuery_ComboBox_Engin.FieldByName('Name_Harak').AsString); Box_НазвХарДвигУдаление.Items.Add(FDQuery_ComboBox_Engin.FieldByName('Name_Harak').AsString); end; end; Так просматриваю: //просмотр картинки procedure TForm_haracteristik.ComboBox_НазвХарДвигChange(Sender: TObject); begin //становимся на эту позицию //FDQuery_Engin.Locate('Name_Harak',TX,[loPartialKey, loCaseInsensitive]); FDQuery_Engin.Active:=False; FDQuery_Engin.SQL.Clear; FDQuery_Engin.SQL.Add('SELECT * FROM Tab_Harak_Engin where Name_Harak= '+#39+Box_НазвХарДвиг.Selected.Text+ #39); FDQuery_Engin.Active:=True; Try //заносим в поток файл картинки IconStream:=TMemoryStream.Create; (FDQuery_Engin.FieldByName('Harak_Engin') as TBlobField).SaveToStream(IconStream); If IconStream.Size<>0 then begin IconStream.Position:=0; Image_Просмотр.Bitmap.LoadFromStream(IconStream); IconStream.Free; end else begin ShowMessage('Нет фото.'); Exit; end; Except ShowMessage('Не удалось загрузить фото.'); End; end;
  11. Здравствуйте Ярослав. СпасиБО за ссылку. Я её изучил. Очень полезно. Но у меня немного другая задача. Мне надо занести в БД сфотографированную картинку. Как заносить в БД потоком я знаю, но как получить в переменную имя этого файла фото???? Под Виндовс есть компонент OpenDialog и через него всё просто. Под Андроид такого компонента нет. Пожалуйста Ярослав посоветуйте как это реализовать? С Уважение Олег.
  12. Равиль написал "для картинок есть родной Action, а вот для файлов нужно через интенты попробовать". Поясните пожалуйста как выбрать картинку расположенную где то на мобильном устройстве? Олег Киреев.
  13. Скачай вот здесь: http://delphifmandroid.blogspot.com/2014/03/blog-post.html игру.
  14. Здравствуйте. Пожалуйста подскажите как отследить програмно поворот экрана телефона или планшета. Необходим такой код: Если экран повёрнут вертикально тогда ....... Если экран повёрнут горизонтально тогда ..... СпасиБО. С Уважением. Олег Киреев.
×
×
  • Создать...