Лидеры
Популярный контент
Показан контент с высокой репутацией 13.05.2016 во всех областях
-
[Android] Как очистить буфер обмена в С++ Builder XE7?
Kitty и ещё один отреагировал Sergey Krasilnikov за вопрос
Начиная с XE7 надо ставить &, и у TValue есть шаблон генерации по типу. Вот так работает в Berlin: void __fastcall TForm1::Button2Click(TObject *Sender) { _di_IFMXClipboardService Intf; if (TPlatformServices::Current->SupportsPlatformService(__uuidof(IFMXClipboardService), &Intf)) { Intf->SetClipboard(TValue::From<String>("")); } }2 балла -
Текст на битмапе
#WAMACO и ещё один отреагировал Равиль Зарипов (ZuBy) за вопрос
procedure TForm1.Button1Click(Sender: TObject); var aBitmap: TBitmap; aRectF: TRectF; begin aBitmap := TBitmap.Create; aBitmap.SetSize(trunc(Image1.Width), trunc(Image1.Height)); aBitmap.Assign(Image1.Bitmap); aBitmap.Canvas.BeginScene; aRectF := RectF(aBitmap.Width - 100, aBitmap.Height - 25, aBitmap.Width, aBitmap.Height); aBitmap.Canvas.Fill.Color := $B4FFFFE5; aBitmap.Canvas.FillRect(aRectF, 0, 0, AllCorners, 1); aBitmap.Canvas.Font.Size := 18; aBitmap.Canvas.Fill.Color := TAlphaColorRec.Black; aBitmap.Canvas.FillText(aRectF, DateToStr(Date), false, 1, [], TTextAlign.Center, TTextAlign.Center); aBitmap.Canvas.EndScene; Image1.Bitmap.Assign(aBitmap); aBitmap.Free; end;2 балла -
Текст на битмапе
M1shQa и ещё один отреагировал Равиль Зарипов (ZuBy) за вопрос
как-то так Image.Bitmap.Canvas.BeginScene; Image.Bitmap.Canvas.FillText(RectF(0,0,100,100), 'Date', false, 1, [], TTextAlign.Center, TTextAlign.Center); Image.Bitmap.Canvas.EndScene;2 балла -
Есть ли аналог TRichEdit из VCL?
Rusland отреагировал asviridenkov за вопрос
Теперь есть http://delphihtmlcomponents.com/editor.html Раньше был только для десктопа, сейчас и для мобильных1 балл -
Вот пример моего потока загрузки Запуск: unit DownloadT; interface uses System.Classes, System.Net.URLClient, System.Net.HttpClient, System.Net.HttpClientComponent, System.SysUtils; type TonDownloadProgress = procedure (Progress:integer) of object; TonDownloadEnd = procedure (FileName:string; Done:boolean; MessageText:string='') of object; TDownloadThread = class(TThread) private IdHTTP1: TNetHTTPClient; fonDownloadProgress:TonDownloadProgress; FonDownloadEnd: TonDownloadEnd; Done: boolean; Max: integer; ProgressValue: integer; procedure ReceiveData(const Sender: TObject; AContentLength:int64; AReadCount:int64; var Abort:boolean); procedure SetonDownloadProgress(const Value: TonDownloadProgress); procedure SetonDownloadEnd(const Value: TonDownloadEnd); protected procedure Execute; override; public url, Status: string; Filename: string; property onDownloadProgress: TonDownloadProgress read FonDownloadProgress write SetonDownloadProgress; property onDownloadEnd: TonDownloadEnd read FonDownloadEnd write SetonDownloadEnd; end; implementation { TDownloadThread } procedure TDownloadThread.Execute; var MyFile: TMemoryStream; begin FreeOnTerminate := true; IdHTTP1 := TNetHTTPClient.Create(nil); MyFile := TMemoryStream.Create(); try IdHTTP1.OnReceiveData := ReceiveData; IdHTTP1.HandleRedirects := true; MyFile.Position := 0; IdHTTP1.Get(url, MyFile); MyFile.SaveToFile(Filename); Done := true; MyFile.Free; IdHTTP1.Free; if Assigned(FonDownloadEnd) then Synchronize(procedure begin FonDownloadEnd(Filename, True); end); except on E:Exception do if Assigned(FonDownloadEnd) then Synchronize(procedure begin FonDownloadEnd(Filename, False, E.Message); end); end; end; procedure TDownloadThread.ReceiveData(const Sender: TObject ; AContentLength:int64 ; AReadCount:int64 ;var Abort:boolean); begin if Terminated then Abort := true else begin Done := false; ProgressValue := AReadCount; if Assigned(fonDownloadProgress) then Synchronize(procedure begin if AContentLength>0 then fonDownloadProgress(Trunc(ProgressValue / AContentLength * 100)) else fonDownloadProgress(0); end); end; end; procedure TDownloadThread.SetonDownloadEnd(const Value: TonDownloadEnd); begin FonDownloadEnd := Value; end; procedure TDownloadThread.SetonDownloadProgress(const Value: TonDownloadProgress); begin FonDownloadProgress := Value; end; end. Запуск: procedure TMainForm.InstallUpdates(aDownloadLink:string); begin DownloadThread:=TDownloadThread.Create(true); DownloadThread.Filename := TPath.Combine(Options.WorkPath,'updates.exe'); DownloadThread.url := aDownloadLink; DownloadThread.onDownloadEnd := OnDownloadEnd; DownloadThread.onDownloadProgress := OnDownloadProgress; DownloadThread.Start;1 балл
-
Цвет выделенного Item-а
Andrey Efimov отреагировал master webs за вопрос
рабочий файл загрузите в StyleBook listview.style.zip1 балл -
Цвет выделенного Item-а
master webs отреагировал Rusland за вопрос
Применил стиль и цвет выделенного перестал меняться на стандартный ) Уже хорошо. Осталось понять как поменять на свой (вообще мне нужно чтобы выделенный элемент мог принимать два цвета в зависимости от ситуации). Цвет разделительной черты меняется с помощью замены frame - color в стиле.1 балл -
Текст на битмапе
Равиль Зарипов (ZuBy) отреагировал M1shQa за вопрос
Черт и выглядит круто, спасибо!)1 балл -
Текст на битмапе
M1shQa отреагировал Равиль Зарипов (ZuBy) за вопрос
да конечно можно, вы просто не указали цвет нужно запомнить если метод начинается на Fill..., значит нужно менять цвет через Image.Bitmap.Canvas.Fill.Color := TAlphaColorRec.Black; если на Draw..., то Image.Bitmap.Canvas.Stroke.Color := TAlphaColorRec.Black;1 балл -
Вот вариант реализации с использованием java и XE7: http://www.sql.ru/forum/1195099/kak-podpravit-kontakt-v-android?mid=18728423#187284231 балл
-
Цвет выделенного Item-а
Rusland отреагировал master webs за вопрос
стили для ListView использую в своем приложении кстати они взяты со стилей для вин 10 и работают на всех платформах единственое с чем не разобрался пока как сменить цвет разделительной черты listview.txt.zip1 балл -
THTTPClient не работает при слабом сигнале
Pax Beach отреагировал Tyler Durden за вопрос
I Recommend threading it, here is a quick threading example that works for fmx. simple project with a button and a memo, uses System.Net.Httpclientcomponent procedure TForm1.Button1Click (Sender: TObject); begin TThread.CreateAnonymousThread (procedure () var body: tstringstream; http: tnethttpclient; begin http: = TNetHTTPClient.Create (nil); body: = TStringStream.Create; try http.Get ( 'https://www.google.com',body); tthread.Synchronize (nil, procedure begin memo1.text: = body.DataString; end); finally http.free; body.free; end; end).Start; end;1 балл -
Как раскраcить ListView
Rusland отреагировал Равиль Зарипов (ZuBy) за вопрос
у меня пока нет берлина, поэтому не могу сказать точно. Но предложить могу вот так, в новой процедуре в public секции сделать: FSelectionStyleImage := nil; // освобождаем от ресурсов, для использования цвета FSelectionStyleColor := TAlphaColorRec.Green; // присваиваем собственный цвет для выделения в DrawItemsFill нужно проверить текущий индекс на выделение, если выделено, то присвоить FBrush.Color := FSelectionStyleColor; // присваиваем цвет нашему выделенному Index'у Как-то так, должно получится1 балл -
1 балл
-
Custom Font
zairkz отреагировал Равиль Зарипов (ZuBy) за тема
если это ListBox, то нужно всем стиль обновить и каждому элементу назначить шрифт1 балл -
ась ?
zairkz отреагировал Brovin Yaroslav за тема
Вы, по-видимому, так и не поняли, что к чему. Ради вас, я потрачу свое время на написание ответов на все ваши претензии. Но только один раз. Перед тем, как я отвечу. Я хочу сделать небольшое введение фактов, чтобы вам было проще понять картинку в вашей голове: Цели форума: Создать полезный сообществу ресурс для решения вопросов/проблем разработки с использованием FireMonkey"Создать удобную структуру для быстрого поиска ответов и получения полезной информации,Избежать лишней болтовни и выяснения отношений вместо смотреть пункт 1, что очень часто свойственно другим форумам.По возможности помочь пользователям решить их задачи и предоставить актуальную информацию так сказать из первых уст.Поддерживать хорошие нормы поведения и профессиональной этики среди всех пользователей сайта для создания здорового взрослого сообщества.Привлечь разработчиков, которые будут обогащаться знаниями на форуме, делиться своими решениями и помогать другим.Форум - это не место обсуждения политики компании и продукта, а смотреть предыдущие пункты.Вам важно это знатьФорум - моя личная инициатива, о которой американскому руководству компании ничего не сказано.Я владелец этого форума и домена. И я устанавливаю правила приличия, нормы поведения и правила публикации информации на этом форуме.Компания Embarcadero не может повлиять правилами на мой ресурс. Именно по этому я создал отдельный русскоязычный форум, вместо http://forums.embarcadero.com/Я занимаюсь форумом в свое личное свободное время.Я плачу из своего кармана за хостинг и веду техническую поддержку.Я бесплатно его сделал своими усилиями.Я бесплатно помогаю людям решить их задачи.Я отвечаю только тогда, когда:У меня есть время (смотреть пункт 4)Когда у меня есть полноценный, полный, уверенный (не догадки) ответ, полностью раскрывающий задачу и подробно описывающий пути решения.Я не отвечаю на те вещи, которые требуют от меня больших исследований при наличии других вопросов.Если я не знаю быстрого ответа, я спрашиваю у своих коллег, которые занимались разработкой того или иного компонента.Я удаляю с форума:Весь флуд - ответы не несущие смысловой нагрузки по заданному вопросу. Ложные наводки на решениеПотерявшие актуальность со временем комментарии и темыПробы найти решения.Описание ошибок, если для них не существует workaround. (Иногда я делаю исключение из правил на публикацию ошибок и даю обходные решения багов)Темы, где человек сам допустил ошибку и сам нашел её ошибку и пользы от этого вопроса для других нету.На вопрос об уточнение деталей не было получено ответа в течении долгого времени от пользователя для того, чтобы можно было дать ответ.Вопросы, на который было дано обходное решение и оно уже не актуально в новой версии продукта.Я уважаю проявление правил приличия и уважения пользователями при ответах и задании вопросов и ценю это. Я не распространяю дистрибутивы лицензионных продуктов, ключи и их части (это к вопросу личных сообщений выслать утилиты и ключи).P.S. Вам следует внимательно обратить свое внимание на 11 пункт. Если вы хотите, чтобы мы с вами продолжили общаться.А теперь по деталям: Полагаю ответ уже дан. Я просто оставлю эти скриншоты тут, а каждый сам сделает свои выводы. 1.1 Об удаляемых комментариев. Это те сообщения, которые были удалены за последние 8 месяцев. Про ценность ваших удаленных ответов я промолчу. 1.2 Об удаляемых темах Ниже скриншот, удаленных за год тем с пояснением причины удаления и несколько скриншотов, удаленных тем: Я поясню, что я разработчик компании Embarcadero, а именно FireMonkey. Я отвечаю за разработку определенных компонентов, в основном это все работа с нативными вещами + разработку мобильных сервисов. Мне платят за эту работу. Я не продавец, хотя я в курсе годовой статистики по продажам. Мне совершенно все равно, кто и сколько покупает лицензий. Я делаю свою любимую работу. Форум - одно из моих хобби. Меня приглашают в Москву на Launch и я принимаю решение, поеду я или нет. Обычно я соглашаюсь, так как это мне интересно. Но вы почему-то уверенно считаете, что я "втюхиваю" вам что-то. Опять плохо понимаете. Воспроизводится, укажите детали. Иногда у меня складывается впечатление, что вы инсайдер в компании. И знаете больше, сидя дома, чем знают в компании во всем мире. Однако, продукт развивается, совершенствуется и продажи растут. Да и не понятно тогда, зачем вы при таком "очевидном" раскладе тут делаете. У каждого человека есть выбор, я вас не держу на форуме. Вы свободны в выборе и можете пользоваться другими ресурсами, если правила этого вас не устраивают.Если вы продолжите изливать свою желчь на форуме, я буду вынужден сделать вам предупреждение. Хотя я думаю, у всех бывает плохое настроение. У меня тоже.1 балл