Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Delphi (версии 2009, 2010 Weaver, 2011 Fulcrum)

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111

Открыть новую тему     Написать ответ в эту тему

data man



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Обсуждаем новые возможности и баги
Просьба писать только про Delphi 2009 и выше - по остальным версиям есть соответствующая тема.
Вопросы вареза здесь не обсуждаются !!!
См. также:
Известные важные баги Delphi 2010:

Описание________________________________________________ Исправлено Решение/Альтернатива_____________________
  1. Внимание !  Деинсталляция D2010 нарушает работу D2007 и D2009 !  
При деинсталляции удаляются CC3280MT.DLL и CC3290MT.DLL из Windows\System32,   необходимые для работы D2007 и D2009 соответственно.
Сделайте резервные копии
  2. Code Formatter не работает, если не инсталлирован пакет моделирования.   В нем также присутствует множество багов. Используйте с осторожностью.   1.   JEDI CodeFormat 2.44 SVN Snapshot (~750Kb)   Требуются JCL и JVCL  
2.GExperts with Formatter
  3. Не работает F1 в Object Inspector Update 2   IDEFixPack 2.9 от Andreas Hausladen
(dev. snapshots)
  4. Если IDE начинает падать с сообщением "Out of resources", возможно, что поврежден .res файл проекта. Удалить его, запустить IDE, открыть проект - новый .res файл будет создан автоматически.
  5. В редакторе не работает Class Completion, если в декларируемом классе есть поля с шаблонами. Перед декларированием поля добавить public или private и т.д.
  6. TTrayIcon.ShowBalloonHint() не работает на ОС ниже Vista [QC 77561] Update 2 * Установить Update 2   * ИЛИ почитать о причинах и решении проблемы на форуме embarcadero и в QC   * ИЛИ воспользоваться альтернативой, например Cooltray 4.4.0
  ...      


Всего записей: 1696 | Зарегистр. 13-10-2005 | Отправлено: 14:28 26-08-2009 | Исправлено: data man, 18:27 06-08-2010
new_lexaltd

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите где хранятся настройки среды (те что в View->Desktops) Delphi 2009 ?

Всего записей: 19 | Зарегистр. 14-06-2017 | Отправлено: 17:25 24-09-2017
regist123



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Почему при использовании второй программы работающей с буфером, такой код
Clipboard()->AsText = RichEdit1->Text;  
...
RichEdit1->Text = Clipboard()->AsText;
подтормаживает выполнение второй программы, а вот с таким,
 

Код:
if (OpenClipboard(NULL)){
  EmptyClipboard();
  HGLOBAL hClipboardData;
  size_t size = (RichEdit1->Text.Length()+1) * sizeof(wchar_t);
  hClipboardData = GlobalAlloc(NULL, size);
  wchar_t* pchData = (wchar_t*)GlobalLock(hClipboardData);
  memcpy(pchData, LPCTSTR(RichEdit1->Text.w_str()), size);
  SetClipboardData(CF_UNICODETEXT, hClipboardData); // CF_UNICODETEXT
  GlobalUnlock(hClipboardData);
  CloseClipboard();
 }

 
Вставка

Код:
    if(OpenClipboard(NULL)){
    HANDLE hData = GetClipboardData(CF_UNICODETEXT);
    wchar_t * buffer = (wchar_t*)GlobalLock(hData);
    RichEdit1->Text = String(buffer);
    GlobalUnlock(hData);
    CloseClipboard();
   }

работает быстро.  
 
Можно ли как-то упростить конструкцию и обойтись без винапи?

----------
Раздачи и акции

Всего записей: 7189 | Зарегистр. 20-03-2009 | Отправлено: 20:12 26-09-2017
KDPoid



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
В памяти есть некоторая коллекция строк, каждая из которых - полноценный rtf с тегами.
Хочется провести поиск по содержимому этих строк.
 
Отсюда возникает неуёмное желание как-то перевести из rtf в plain text.
Не знает ли кто относительно безболезненного способа?
Написать свой разборщик я пока морально не готов
 
Загрузить в TRichEdit и воспользоваться его FindText - не прокатывает.
RichEdit.FindText('rtf',0,50,[]) уверенно возвращает 2
 
Может где-то уже существует RtfToText?

Всего записей: 404 | Зарегистр. 08-08-2006 | Отправлено: 11:02 30-09-2017 | Исправлено: KDPoid, 11:03 30-09-2017
relictus

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
KDPoid
Delphi: best way to convert rtf to text

Всего записей: 3712 | Зарегистр. 19-04-2005 | Отправлено: 12:28 30-09-2017
KDPoid



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Реальный выход:
TRichEdit конвертирует при загрузке. В случае, если строки уже в памяти, можно прогнать через какой-нибудь TMemoryStream или TStringStream

Код:
 
var
    re: TRichEdit;
    MS : TStringStream;
    foundAt: integer;
begin
  ms:=TStringStream.Create;
  re:= TRichEdit.Create(nil);
  re.Visible := false;
  re.parent := ...;
  ms.WriteString(rtfString); // Помещаем rtf
  ms.Position := 0;
  re.Lines.LoadFromStream(ms); // Происходит конвертация
  foundAt := re.FindText(SearchString... // Можно искать, тэги больше не мешаются.
  ...
 

Всего записей: 404 | Зарегистр. 08-08-2006 | Отправлено: 21:28 30-09-2017 | Исправлено: KDPoid, 14:55 01-10-2017
zzzz5555



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
del
----
Переформулирую вопрос: как получить Cookie HTTPOnly через TWebBrowser?

Всего записей: 847 | Зарегистр. 26-10-2009 | Отправлено: 16:28 11-10-2017 | Исправлено: zzzz5555, 20:09 12-10-2017
zzzz5555



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
del
Разобрался

Всего записей: 847 | Зарегистр. 26-10-2009 | Отправлено: 21:28 12-10-2017 | Исправлено: zzzz5555, 18:52 13-10-2017
svs123456789

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Delphi Distiller

а где это скачать ?

Всего записей: 2934 | Зарегистр. 10-04-2003 | Отправлено: 17:27 24-10-2017
regist123



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
svs123456789 внимательно читайте шапку data man 15:28 26-08-2009
Цитата:
Вопросы вареза здесь не обсуждаются !!!

идёте в варезную тему и там опять читаете шапку.

----------
Раздачи и акции

Всего записей: 7189 | Зарегистр. 20-03-2009 | Отправлено: 21:13 24-10-2017
ulyss1977



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А никто не знает, чем можно безопасно убирать оператор with?
Попробовал Castalia for Delphi под XE7, но, что бы я ни делал, пункт меню Eliminate 'with' - задизейблен.

Всего записей: 30 | Зарегистр. 19-07-2005 | Отправлено: 03:11 08-11-2018 | Исправлено: ulyss1977, 16:27 10-11-2018
ulyss1977



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
И тишина ...
В общем, пока вопрос с with решился Model Maker Code Explorer'ом, там есть Convert with statement

Всего записей: 30 | Зарегистр. 19-07-2005 | Отправлено: 16:27 10-11-2018
JustAMaaan

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Заценил типа новинки Delphi XE 10.3 - что-то они вообще непонятно чем целый год занимались. Это ихнее inline variable declaration с одной стороны работает, можно писать  
 
for var i: Integer := 1 to 100 ...
 
Всё компилируется, всё работает.  
 
А вот написать
 
var a: array [1..100] of Integer
 
внутри блока begin-end уже почему-то нельзя. И в хелпе ни одного примера, как это делать в реальности (ну да, первый вариант я угадал) и в подсветке синтаксиса эта конструкция светится красным.
 
В глифы на кнопках уже двадцатый, наверное, год не могут прикрутить поддержку PNG, а новый TImageCollection работает "вот через какую-то такую хитрую жопу".

Всего записей: 221 | Зарегистр. 17-09-2004 | Отправлено: 11:47 27-11-2018 | Исправлено: JustAMaaan, 11:47 27-11-2018
Frodo_Torbins

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
В глифы на кнопках уже двадцатый, наверное, год не могут прикрутить поддержку PNG

Вы о чем? 32-бит иконки на кнопках поддерживаются уже давно.
 

Цитата:
новый TImageCollection работает "вот через какую-то такую хитрую жопу".

Что именно вызывает сомнения?

Всего записей: 2318 | Зарегистр. 24-05-2007 | Отправлено: 12:38 27-11-2018
JustAMaaan

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Вы о чем? 32-бит иконки на кнопках поддерживаются уже давно

"Нельзя вот так просто взять и поставить PNG-иконку с альфа-каналом". Альфа-канал нормально не работает, значения из диапазона 1..254 превращаются либо в полностью прозранчые, либо в полностью непрозрачные.
 

Цитата:
Что именно вызывает сомнения?

Да всё тот же альфа-канал при навешивании на стандартные контролы.

Всего записей: 221 | Зарегистр. 17-09-2004 | Отправлено: 09:11 29-11-2018
Frodo_Torbins

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
JustAMaaan
Вот форма с PNG, которая отлично работает начиная с D2009:
DFM

Всего записей: 2318 | Зарегистр. 24-05-2007 | Отправлено: 16:16 29-11-2018
Ludens

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите плз, кто знает, можно ли директивы условной компиляции применять не только к участкам кода, но и к визуальным компонентам?
Например, я в режиме отладки испольузую Memo1 для контроля промежуточных результатов работы алгоритма. В готовой программе этот  Memo1 не нужен, и я могу его скрыть:
{$IFNDEF DEBUG}
Memo1.Visible := False;
{$IFDEF}
Его не будет видно, но в итоговом exe-файле Memo1 все равно останется. Можно ли как-то сделать так, чтобы при отладке он был, а в итоговый файл вообще не попадал, даже в скрытом виде?
 
Добавлено:
Я пробовал вставлять {$IFNDEF ...} в dfm-файл, но там это не работает

Всего записей: 1512 | Зарегистр. 16-01-2006 | Отправлено: 13:18 16-11-2019
mmlm10

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Ludens

Проще всего создавать нужный компонент в коде
Memo1 := TMemo.Create()
и этот код обернуть в {$IFDEF}

Всего записей: 453 | Зарегистр. 16-12-2003 | Отправлено: 14:38 16-11-2019
Ludens

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Проще всего создавать нужный компонент в коде

Это если компонент простой, то да. Но я сказал про TMemo чисто для наглядности. На самом деле там у меня очень много чего есть, много разных визуальных компонентов, и создавать их все в рантайме и задавать им всем руками нужнные свойства — это очнь хлопотно и неудобно

Всего записей: 1512 | Зарегистр. 16-01-2006 | Отправлено: 22:39 16-11-2019
XPerformer



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ludens
лучшее решение  - сделать две (три, четыре...) формы и показывать каждую из них в нужном случае

Всего записей: 2536 | Зарегистр. 20-06-2011 | Отправлено: 23:01 16-11-2019
mmlm10

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
это очнь хлопотно и неудобно

Тут уже надо определяться:
или держать все это в коде в невидимом состоянии, или один раз похлопотать.

Всего записей: 453 | Зарегистр. 16-12-2003 | Отправлено: 11:15 17-11-2019
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Delphi (версии 2009, 2010 Weaver, 2011 Fulcrum)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru