Перейти к содержанию

Олег Киреев

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

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

  • Посещение

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

    4

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

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

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

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

Информация

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

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

2 198 просмотров профиля
  1. Вопрос решился открытием разрешения "Память" приложению на телефоне.
  2. Здравствуйте Уважаемые. В продолжение темы. У меня тоже что и у пользователя "Cody71727172" выше. Может кто знает как решить эту проблему??? С Уважением. Олег.
  3. Здравствуйте уважаемые. Думаю что мой вопрос в продолжении этой темы. Пожалуйста, кто знает, подскажите как решить следующую проблему. Есть приложение для OS Android сделанное на Сиэтле 10.0 (IDE установлена на ПК с OS Win 7) протестированное успешно на телефоне Самсунг Галакси J6 (OS Android 9). Пробую скомпелировать и запустить это же приложение на IDE Rio 10.3.2. Компеляция проходит успешно а само приложение на телефоне запускается до заставки и виснет. При установке на телефон его OS сообщает что приложение разработано для другой версии OS Android и будет работать не корректно. Телефон остался тот же с той же OS Android 9. Файлы AndroidManifest старый и новый прилагаю. Также прилагаю фото юнита и SDK менеджера. Всё в архивном файле. С Уважением. Олег. Новая папка.rar
  4. Приложение для получения информации расчётным путём об углах: - вертикальной плоскости; - в горизонтальной плоскости; - объёмный; - эквивалентный в шарнирах карданных валов на основе сделанных замеров на собранном автобусе, троллейбусе, грузовике. Может пригодиться работникам сервисных служб, лицам эксплуатирующим грузовую или пассажирскую автомобильные техники, лицам неконструкторских служб. Особенно в случае нахождения в месте недоступном к интернету и компьютеру. Работает на устройствах под OS Android. Существует и более расширеная версия для OS Windows. Пожалуйста, с предложениямии и пожеланиями обращайтесь к разработчику: Кирееву Олегу по тел. +375 29 676 13 84 или пишите на kireevoleg1966@gmail.com. Буду рад Вашему любому отзыву. С Уважением. UgolKardZamer_v4.rar
  5. Сергей. Я у себя (Delphi 10 Seattle) попробовал загрузить 3D модель формата dae. В приложении Вы можете посмотреть что модель не прозрачная. С Уважением. Олег. 3D в OS Android.rar
  6. Здравствуйте Сергей. Покажите как Вы загружаете. Я у себя попробую. В книжке я нашёл вот такое замечание в приложении. С Уважением. Олег.
  7. Да Вы правы. Я быстро прочёл Ваш вопрос и не обратил внимание на слово Андроид. Прошу извинить. С Уважением. Олег.
  8. Здравствуйте. Предлагаю вместо родной 3D библиотеки установить бесплатную GLScene. Ссылок скачиваний море. Я пользуюсь давно. Конечно не идеал но лучше родной. С Уважением. Олег.
  9. Я делаю так: 1.Создаю файл базы (БД) например для Виндовс Acces (пример моего в приложении). 2.Создаю файл TreeView.dat. 3.Подключаюсь к БД. 4.Создаю нове ветки так: //Ввести ветку procedure TForm_Glavn.SpeedButton_vvod_vetkiClick(Sender: TObject); begin //проверка наличия текста в Едите if Edit_Mame_Vetok.Text = '' then begin MessageDl.MessageDlg('Вы не ввели название ветки!', mtInformation,[mbYes],0); Abort; end; TreeView1.Items. Add (TreeView1. Selected, Edit_Mame_Vetok.Text) ; //база Query_Glav.Insert; Query_Glav.FieldByName('Dat').AsString:=DateToStr(Now); Query_Glav.FieldByName('Imya_vetok').AsString:=Edit_Mame_Vetok.Text; Query_Glav.FieldByName('Opisanie').AsString:=Memo_opisanie.Text; Query_Glav.Post; //сохраняем дерево F := TFileStream.Create(Base+'\Data\TreeView.dat', fmCreate or fmShareCompat); try F.WriteComponent(TreeView1); finally F.Free; end; Edit_Mame_Vetok.Text:=''; end; 5.Создаю подветки так: //Ввести подветку procedure TForm_Glavn.SpeedButton_vvod_podvetkiClick(Sender: TObject); begin if TreeView1.Selected = nil then begin MessageDl.MessageDlg('Вы не выбрали в какой ветке делаем подветку!', mtInformation,[mbYes],0); Exit; //если не выбрана ветка выходим end; //проверка наличия текста в Едите if Edit_Mame_Vetok.Text = '' then begin MessageDl.MessageDlg('Вы не ввели название ветки!', mtInformation,[mbYes],0); Abort; end; TreeView1.Items.AddChild (TreeView1. Selected, Edit_Mame_Vetok.Text); //база Query_Glav.Insert; Query_Glav.FieldByName('Dat').AsString:=DateToStr(Now); Query_Glav.FieldByName('Imya_vetok').AsString:=Edit_Mame_Vetok.Text; Query_Glav.FieldByName('Opisanie').AsString:=Memo_opisanie.Text; Query_Glav.Post; //сохраняем дерево F := TFileStream.Create(Base+'\Data\TreeView.dat', fmCreate or fmShareCompat); try F.WriteComponent(TreeView1); finally F.Free; end; Edit_Mame_Vetok.Text:=''; end; 6.Прикрепляю файл так: // Прикрепить файл procedure TForm_Glavn.SpeedButton_FileClick(Sender: TObject); var IconStream:TMemoryStream; begin if TreeView1.Selected = nil then begin MessageDl.MessageDlg('Вы не выбрали в какой ветке делаем подветку!', mtInformation,[mbYes],0); Exit; //если не выбрана ветка выходим end; OpenDialog1.InitialDir:=Base; if Opendialog1.Execute then begin //заносим файл в потоке SpeedButton_File.Caption:='Подождите......'; Application.ProcessMessages; IconStream:=TMemoryStream.Create; IconStream.LoadFromFile(OpenDialog1.FileName); //становимся в невидимой таблице на указанной модели Query_Glav.Locate('Imya_vetok',Edit_Mame_Vetok.Text,[loPartialKey, loCaseInsensitive]); Query_Glav.Edit; if (ExtractFileExt(Opendialog1.FileName) = '.pdf')then Query_Glav.FieldByName('RashirenieFile').AsInteger:=3; if (ExtractFileExt(Opendialog1.FileName) = '.docx')then Query_Glav.FieldByName('RashirenieFile').AsInteger:=2; if (ExtractFileExt(Opendialog1.FileName) = '.jpg')then Query_Glav.FieldByName('RashirenieFile').AsInteger:=0; if (ExtractFileExt(Opendialog1.FileName) = '.rar')then Query_Glav.FieldByName('RashirenieFile').AsInteger:=1; (Query_Glav.FieldByName('File') as TBlobField).LoadFromStream(IconStream); IconStream.Free; Application.ProcessMessages; MessageDl.MessageDlg('Файл добавлен в базу!', mtInformation,[mbYes],0); SpeedButton_File.Caption:=' Прикрепить файл'; end else MessageDl.MessageDlg('Ошибка ввода!', mtInformation,[mbYes],0); end; 7. Удаляю ветку или подветку так: //Удалить ветку/ подветку procedure TForm_Glavn.SpeedButton_DeleteClick(Sender: TObject); begin if TreeView1.Items.Count = 0 then //проверка наличия веток вообще begin MessageDl.MessageDlg('Так нет же веток!', mtInformation,[mbYes],0); Abort; end; if TreeView1.Selected.HasChildren=True then //проверка наличия подветки begin MessageDl.MessageDlg('Сначала удалите подветку!', mtInformation,[mbYes],0); Image1.Refresh; Abort; end; if TreeView1.Selected.HasChildren=False then //проверка наличия подветки begin SpeedButton_Delete.Caption:='Подождите.....'; Application.ProcessMessages; //становимся в невидимой таблице на указанной ветке Query_Glav.Locate('Imya_vetok',TreeView1.Selected.Text,[loPartialKey, loCaseInsensitive]); if Query_Glav.FieldByName('Imya_vetok').AsString <> '' then Query_Glav.Delete;//удаляем в базе Application.ProcessMessages; TreeView1.Items.Delete(TreeView1.Selected); //удаляем в дереве Application.ProcessMessages; Image1.Refresh; Application.ProcessMessages; SpeedButton_Delete.Caption:=' Удалить ветку/ подветку'; end; //сохраняем дерево F := TFileStream.Create(Base+'\Data\TreeView.dat', fmCreate or fmShareCompat); try F.WriteComponent(TreeView1); finally F.Free; end; Edit_Mame_Vetok.Text:=''; end; 8. Переименовываю ветки так: //Переименовать ветку/ подветку procedure TForm_Glavn.SpeedButton3Click(Sender: TObject); begin //проверка наличия текста в Едите if Edit_Mame_Vetok.Text = '' then begin MessageDl.MessageDlg('Вы не ввели название ветки!', mtInformation,[mbYes],0); Abort; end; //становимся в невидимой таблице на указанной модели Query_Glav.Locate('Imya_vetok',TreeView1.Selected.Text,[loPartialKey, loCaseInsensitive]); TreeView1.Selected.Text:=Edit_Mame_Vetok.Text; //база Query_Glav.Edit; Query_Glav.FieldByName('Dat').AsString:=DateToStr(Now); Query_Glav.FieldByName('Imya_vetok').AsString:=Edit_Mame_Vetok.Text; Query_Glav.FieldByName('Opisanie').AsString:=Memo_opisanie.Text; Query_Glav.Post; //сохраняем дерево F := TFileStream.Create(Base+'\Data\TreeView.dat', fmCreate or fmShareCompat); try F.WriteComponent(TreeView1); finally F.Free; end; Edit_Mame_Vetok.Text:=''; end; 9.Открываю прикреплённый файл так: // Открыть прикреплённый файл отдельно procedure TForm_Glavn.SpeedButton4Click(Sender: TObject); var ImageData:TMemoryStream; begin if TreeView1.Selected = nil then begin MessageDl.MessageDlg('Вы не выбрали в какой ветке делаем подветку!', mtInformation,[mbYes],0); Exit; //если не выбрана ветка выходим end; //становимся в невидимой таблице на указанной модели Query_Glav.Locate('Imya_vetok',Edit_Mame_Vetok.Text,[loPartialKey, loCaseInsensitive]); ImageData:=TMemoryStream.Create; (Query_Glav.FieldByName('File') as TBlobField).SaveToStream(ImageData); ImageData.Position:=0; if ImageData.Size<>0 then begin if Query_Glav.FieldByName('RashirenieFile').AsInteger=3 then Path:=Base+'\Temp\Dokument.pdf'; if Query_Glav.FieldByName('RashirenieFile').AsInteger=2 then Path:=Base+'\Temp\Dokument.docx'; if Query_Glav.FieldByName('RashirenieFile').AsInteger=0 then Path:=Base+'\Temp\Dokument.jpg'; if Query_Glav.FieldByName('RashirenieFile').AsInteger=1 then Path:=Base+'\Temp\Dokument.rar'; ImageData.SaveToFile(Path); ImageData.Free; ImageData:=nil; if FileExists(Path) then begin ShellExecute (0, 'open', pChar(Path), nil, nil, SW_SHOW); end else MessageDl.MessageDlg('Файл'+Path+' в папке Data не найден.', mtInformation,[mbYes],0); end else MessageDl.MessageDlg('В этой ветке документа нет.', mtInformation,[mbYes],0); end;
  10. Подскажите пожалуйста почему когда я пытаюсь заполнить 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 строк???? СпасиБО. С Уважением.
  11. Сам спросил и сам ответил: Сделал проще вот так: //Поделится БД 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; Теперь телефон не зависает.
  12. Попробовал другой файл. Та же проблема зависает телефон. Может что ещё подскажете?
  13. СпасиБо с этим разобрался. А ещё подскажите пожалуйста почему зависает телефон когда я отправляю файл так: //Поделится БД 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; Хотя файл и сообщение отправляются нормально на указанный мной в приложении адрес. Хотя я поставил скобки исключения. С Уважением. Олег Киреев.
  14. А ещё подскажите пожалуйста почему зависает телефон когда я отправляю файл так: //Поделится БД 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; Хотя файл и сообщение отправляются нормально на указанный мной в приложении адрес. Хотя я поставил скобки исключения. С Уважением. Олег Киреев.
×
×
  • Создать...