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

Sashar333

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

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

  • Посещение

Весь контент Sashar333

  1. Здравствуйте!.Delphi 10.2. Android 6 (Xiaomi Redmi note 4) программирую раз в год, уровень языка минимальный, наверно. код: procedure TForm1.FormCreate(Sender: TObject); begin {$IFDEF MSWINDOWS} pflog:='log.bas'; pfmem:='mem.mem'; pfprod:='prod.txt'; pfpost:='post.txt'; {$ELSE} {$IFDEF IOS} //код для мобильной платформы iOS {$ELSE} {$IFDEF ANDROID} pflog:=Tpath.GetDocumentsPath+pathdelim+'log.bas'; pfmem:=Tpath.GetDocumentsPath+pathdelim+'mem.mem'; pfprod:=Tpath.GetDocumentsPath+pathdelim+'prod.txt'; pfpost:=Tpath.GetDocumentsPath+pathdelim+'post.txt'; {$ENDIF} {$ENDIF} {$ENDIF} memo1.Text:=''; if not(fileexists(pfmem)) then memo1.Lines.SaveToFile(pfmem); memo1.Lines.LoadFromFile(pfmem); if memo1.Lines.Count=0 then memo1.Lines.Add('01.01.0001'); label1.Text:=memo1.Lines[0]; IdIMAP41.Connect(); - тут программа вылетает //ComboBox1.Items.LoadFromFile(pfprod); //ComboBox2.Items.LoadFromFile(pfpost); //loadlist; end; Задача проста: найти письмо и скачать вложение, для дальнейшей обработки. При запуске на Windows 8 все работает нормально, после установки apk и запуска на телефоне программа вылетает при IdIMAP41.Connect() Менял на pop3 тоже самое Подскажите пожалуйста в чем может быть проблема? Может есть другие варианты для загрузки почты? Заранее спасибо!
  2. Здравствуйте! Помогите разобраться пожалуйста. Delphi 10.1 и 10.2, Windows Программа прекрасно работала и программировалась. Добавил две колонки в StringGrid: сразу понял что не красиво и попытался их удалить(ничего в программе больше не менял и не добавлял!?) таким образом: но после нажатии кнопки "Delete" получил сообщение: дальше программировать, данный проект, нет возможности из таких сообщений и дальнейших разрушительных сбоев при новой загрузке проекта в DELPHI все работает и запускается, Project1.exe из Debug'а тоже работает. Но стоит только в DELPHI попытать что то сделать(бывает достаточно навести курсор мыши) с именно этим StringGrid то сразу выдает ошибки: помогает полное удаление StringGrid но так как это не в первый раз и в разных версиях это сильно напрягает переустановки delphi не помогают может кто знает в чем дело? Заранее спасибо за ответ...
  3. с .Name понятно, буду переделывать, спасибо! Но если "...а при удалении родительского все дочерние удаляются вместе с ним. Можете убедиться в этом проверив утечку памяти" почему тогда ругается на дублирование имени...
  4. Здравствуйте! Есть ListBox1, на нем разное кол-во tlistboxitem'ов, на каждом tlistboxitem'е есть один tgridpanellayout состоящий из четырех колонок и одной строчи, в каждой колонке по одному trectangle, в каждом trectangle по одному ttext с именами по очереди типа 'w'+IntToStr(Item.index), 'l'+IntToStr(Item.index), 'k'+IntToStr(Item.index) такие имена для Ttext требуются для дальнейшей обработки и распознования, в каждом Ttext надпись, на примере "-","2","2","Х" : при нажатии на текст "Х" удаляется tlistboxitem c помощью listbox1.Items.Delete(indexclick) Проблема следующая, при создании нового итема пишет дубликат имени Ttext, я так понял что итем удалился а то что на нем -нет как можно быстро удалить и итем и то что на нем находилось? Пример создания итема: procedure addrazmer(zap:typezap); var item:tlistboxitem; pg:tgridpanellayout; t1,t2,t3,t4:ttext; al:talignlayout; r1,r2,r3,r4:trectangle; i:integer; begin form1.listbox1.BeginUpdate; while Form1.listbox1.Count<>1 do Form1.listbox1.Items.Delete(0); for i := 0 to length(zap.razmer)-1 do begin item:=tlistboxitem.Create(form1.listbox1); item.Height:=30; pg:=tgridpanellayout.Create(item); pg.RowCollection[1].Value:=0; pg.ColumnCollection.Add;pg.ColumnCollection[2].Value:=50; pg.ColumnCollection.Add;pg.ColumnCollection[3].Value:=10; pg.Parent:=item; pg.Align:=al.alClient; r1:=trectangle.Create(pg); r2:=trectangle.Create(pg); r3:=trectangle.Create(pg); r4:=trectangle.Create(pg); r1.Parent:=pg;r1.Align:=al.alClient; r2.Parent:=pg;r2.Align:=al.alClient; r3.Parent:=pg;r3.Align:=al.alClient; r4.Parent:=pg;r4.Align:=al.alClient; t1:=ttext.Create(r1); if zap.tip<>'Лист' then Begin t1.Enabled:=false; t1.Text:='-'; End else Begin t1.text:=floattostr(zap.razmer.witdh); end; t2:=ttext.Create(r2);t2.text:=floattostr(zap.razmer.length); t3:=ttext.Create(form1);t3.Text:=floattostr(zap.razmer.kol); t4:=ttext.Create(form1);t4.Text:='X'; t1.Parent:=r1;t1.OnClick:=form1.CliskRazmerClick; t2.Parent:=r2;t2.OnClick:=form1.CliskRazmerClick; t3.Parent:=r3;t3.OnClick:=form1.CliskRazmerClick; t4.Parent:=r4;t4.OnClick:=form1.DeleteItemClick; t1.Align:=al.alClient; t2.Align:=al.alClient; t3.Align:=al.alClient; t4.Align:=al.alClient; form1.listbox1.InsertObject(form1.listbox1.Items.Count-1,item); t1.Name:='w'+IntToStr(item.Index); t2.Name:='l'+IntToStr(item.Index); t3.Name:='k'+IntToStr(item.Index); end; form1.listbox1.EndUpdate; end; Заранее спасибо!
  5. Спасибо большое! так и сделал, все заработало!
  6. без UTF to Ansi иероглифы получаются приложение под пока Android в SSL плохо разбираюсь(все из интернета) но судя по тому что все работает отлично, кроме не корректных запросов, думаю что да...
  7. Здравствуйте! Вопрос такой: Есть процедура: Если переменные inn,capcha и capchaToken указаны правильно то Idhttp работает как надо, если inn или capcha не верны то прим Idhttp.post программа выдает ошибку: а хочется получить данные как в анализаторе: Как можно это сделать?
  8. В Delphi XE8 все приложения компилировались нормально и работали при любой смене ориентации телефона! Переустановил XE8 на 10,1 Berlin, теперь все компилированные приложения(включая ранние) при смене ориентации вылетают Такое ощущение что проблема в Delphi. но что не могу понять... То есть если запускать или компилировать приложение при любой ориентации, то оно запустится и работает нормально, но стоит только повернуть телефон то сразу оно закрывается! Пробовал и пустую форму и примеры DelphI проекты, все закрывается при смене. И разные стили менял Все приложения из Play Маркета работают отлично. В чем может быть проблема? версия андройда 6.0 модель Redmi Note 4
  9. Здравствуйте! Есть замечательная русская программа ТЕХТРАН: http://www.tehtran.com/nestf.html Мне нужен максимум такой же - минимум что предложите алгоритм (раскладки деталей на листе) работы в DELPHI что бы я его мог сам в дальнейшем исправлять и доделывать ТРЕБУЕТСЯ ТОЛЬКО АЛГОРИТМ ЗАПОЛНЕНИЯ ПРЯМОУГОЛЬНИК ОПРЕДЕЛЕННЫМИ КОНТУРАМИ, вся программа ТЕХТРАН у меня уже есть. Будут входные данные: Минимум это простейшие фигуры:размеры прямоугольников и окружностей - максимум это фигуры сложной формы в формате DXF(AutoCad) и их количества(примерно безгранично) для каждой фигуры будут параметры: Размеры(для простейших это толщина,ширина и длина; для DXF это толщина и файл DXF) - все в миллиметрах Кол-во (шт) Размер листа прямоугольный(пример: 10х1500х6000мм, 5х2000х3000мм, 100х100х3000мм) и их кол-во, скажет так первое значение это толщина, второе - ширина, третье - длинна. Разрешенные расстояния между фигурами и от края листа до фигур - все в миллиметрах Кол-во данных должно быть примерно безгранично На выходе надо получить требуемое-подходящее минимальное кол-во листов для всех фигур! Ну и соответственно визуализировать результат например на TImage Это не полное техзадание, но сколько примерно это будет стоить? Хотелось бы использовать это модуль на всех платформах, но как минимум это Windows. Заранее спасибо!
  10. а если при старте приложения вызвать принудительно клавиатуру, запомнить размер и принудительно закрыть ее?
  11. Требуется только TEditы(возможно определенные) в приложении есть TMemo, там должно все работать
  12. Delphi 10,1 berlin Здравствуйте! Подскажите как отключить на android в TEdit появляющиеся кнопки ВСТАВКА КОПИРОВАТЬ и т.д. или как запретить вставлять из буфера в приложении? Спасибо!
  13. нет, надо чтобы просто String обновился с выбранным фильтром без вылетов, с первой строчки... Может можно сделать такой вариант: При выборе(фокусе) Combobox чтобы останавливалась прокрутка, как там можно сделать?
  14. Здравствуйте! Delphi 10.1 Berlin, android 6 Есть СomboBox, в нем выбираю фильтр для вывода в StringGrid списка из файла базы. При выборе в ComboBox "ВСЕ" - StringGrid заполняется большим! списком, который соответственно можно прокручивать по инерции Есть выбор "1" в ComboBox, при котором StringGrid заполняется всего несколькими записями, которые умещаются в пол экрана(которые не прокручиваются) Момент такой: Если StringGrid прокручивается по инерции(с выбором "ВСЕ"), а в этот момент выбрать выбор "1" то приложение вылетает (на android) Я так понял это из-за того что Stringу нечего прокручивать!? Подскажите пожалуйста решение этой проблемы . Заранее спасибо!
  15. Этот вариант у меня почему то работает только в WINDOWS, на смартфоне приложение вылетает
  16. Спасибо заработало! Я почему то решил что это и под WINDOWS тоже сработает, но видимо нет. Правда пришлось еще файлы кое какие добавлять в папку проекта Может заодно подскажете: 1) где в настройках DELPHI прописать пути для проекта к файлам, допустим которые находятся здесь: C:\Program Files (x86)\Embarcadero\Studio\18.0\source\rtl Чтобы не копировать их в папку проекта 2) apk файл после выполнения компиляции второго варианта ( https://github.com/AndrewEfimov/Android-API/tree/master/ActiveNetworkInfo ) занимает более 7мб это нормально?
  17. После "положить файл ActiveNetworkInfo.Android.pas в папку вашего проекта" и подключение в Uses начинает ругаться на нехват Androiapi. и Posix. , наверно не настроен Delphi?, по этому все эти PASы добавил в папку. Далее начинает ругаться на Posix.StdDef.size_t; и Psize_t = Posix.StdDef.Psize_t;
×
×
  • Создать...