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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Embarcadero RAD Studio XE2 (Pulsar)

Модерирует : 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

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

data man



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Обсуждаем новые возможности и баги
Просьба писать только про Embarcadero RAD Studio XE2 (Pulsar) - по остальным версиям есть соответствующие темы.

Вопросы вареза здесь не обсуждаются !!!
См. также:


Из слишком часто повторяемых вопросов:
  1. Почему EXE такие большие - перевод статьи от Andy тут, оригинал на страницу назад.
  2. Что случилось c авто-увеличением Build Number - Объяснение на англ.. Можно отключить встроенную функцию и добавить плагин, в котором есть "старый" авто-инкремент. Например DDevExtensions от Andy. У него так же есть хороший плагин IDE FixPack

Всего записей: 1696 | Зарегистр. 13-10-2005 | Отправлено: 23:54 27-07-2011 | Исправлено: Arioch1, 16:08 25-04-2013
Arioch1



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Никто не нарыл прямые ссылки с altd.embarcadero.com/download/radstudio/xe2 на Help Update 1, Delphi XE2 Update 2 Delphi XE2 install ISO with Update 2 ?
Все ссылки нашлись. Ура, товарищи.

Всего записей: 904 | Зарегистр. 03-03-2010 | Отправлено: 13:48 02-11-2011 | Исправлено: Arioch1, 04:12 03-11-2011
deks



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

Цитата:
Давно пора по p2p раздавать...

 
Абсолютно согласен!  
 
Задумал такое: написать на QC баг-репорт на медленную скачку и предложить p2p downloader организовать!)  
 
Когда гляжу на 64kb/s на своем 50mb/s канале - сразу закрадывается опасение, что тут чего то нет так!

Всего записей: 857 | Зарегистр. 09-10-2003 | Отправлено: 14:40 02-11-2011
mcka

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всем привет!
Перевожу проект с Ansi на Unicode:
 
for i := 0 to 33 do
  showmessage(Chr(Ord('А') + i));  // А - русская
 
в Ansi это работает, а unicode нет, так как в Ansi showmessage(Chr(Ord('Щ'))) - тоже самое, что и showmessage('Щ'); а в unicode нет!
 
пришлось написать так: chr($0410 + i) - работает, но читая код непонятно, есть еще идеи?

Всего записей: 65 | Зарегистр. 04-09-2007 | Отправлено: 10:22 03-11-2011
Arioch1



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
for i := 0 to 33 do  
   showmessage(Chr(Ord(AnsiChar('А')) + i)); - а так ?
 
Нет, тaк не сработает - зато сработает наоборот
  Chr(Ord(WideChar('А'))
 
Добавлено:
Ну и банальное до жути
 
for i := 0 to 33 do  
   showmessage( AnsiChar(Byte((Ord('А') + i))));
 
Добавлено:
> но читая код непонятно, есть еще идеи?
 
а это означает, что нужно объявить свою функцию AnsiChr: Byte => AnsiChar, пометить её inline; и будет пoнятно.

Всего записей: 904 | Зарегистр. 03-03-2010 | Отправлено: 14:00 03-11-2011 | Исправлено: Arioch1, 14:42 03-11-2011
mcka

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Arioch1 Chr(Ord(WideChar('А')) - спасибо, то что нужно.

Всего записей: 65 | Зарегистр. 04-09-2007 | Отправлено: 17:58 03-11-2011
Arioch1



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
http://qc.embarcadero.com/wc/qcmain.aspx?d=100685
 
Добавлено:
var c: char;
....
for c in 'АБВГДЕЁЖЗ' do showmessage(c);
for c in ['А'..'Я'] do showmessage(c);

Всего записей: 904 | Зарегистр. 03-03-2010 | Отправлено: 18:03 03-11-2011 | Исправлено: Arioch1, 18:11 03-11-2011
mcka

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Arioch1 Спасибо.
 
for c in 'АБВГДЕЁЖЗ' do showmessage(c); - работает
 
var c : char; // или widechar
begin
for c in ['А'..'Я'] do showmessage(c); - НЕ работает в unicode!
end;
 
 
var c : ['А'..'Я'];
begin
  for c in ['А'..'Я'] do showmessage(c); - работает!
end;
 
Б... какой сырой компилятор.

Всего записей: 65 | Зарегистр. 04-09-2007 | Отправлено: 10:38 04-11-2011 | Исправлено: mcka, 12:17 04-11-2011
LLIAKAJl

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Embarcadero RAD Studio XE2 проблема с компиляцией  
При компиляции программ (даже пустой формы) выдается всегда одна ошибка
 
"Compiling Project1.dproj (Debug, Win32)
 
[MSBuild Error] The element beneath element is unrecognized."
 
добавил 64 розрядный компилятор все равно не помогло
 
ОС Windows 7 x64
 
NET framework обновлял, в чем может быть проблема?

Всего записей: 4 | Зарегистр. 04-11-2011 | Отправлено: 16:50 04-11-2011 | Исправлено: LLIAKAJl, 17:20 04-11-2011
Eternal_Shield

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mcka
Сколько раз советовали использовать CharInSet для юникодных проверок? Наверное, просто так эти советы раздавали разработчики, а у нас всё как всегда: с любой проблемой мы сталкиваемся впервые;
 
И,на последок, элемент множества равен 1 байтам, поэтому это работает:  

Код:
 
var c : ['А'..'Я'];  
 begin  
   for c in ['А'..'Я'] do showmessage(c); - работает!  
 end;
 

ибо c объявлено как 1 байтное...а тут у нас переменная c уже 2 байта, ибо тип задан явно:

Код:
 
var c : char; // или widechar  
 begin  
 for c in ['А'..'Я'] do showmessage(c); - НЕ работает в unicode!  
 end;
 

поэтому НЕ работает, ибо не будет попаданий 2х байтного значения на множетсве 1-байтных значений.
 

Цитата:
Б... какой сырой компилятор.

*упал в приступе гомерического смеха*
 
З.Ы: А вообще учите язык и не позорьтесь и других не пугайте пустыми словами;

Всего записей: 768 | Зарегистр. 18-05-2009 | Отправлено: 20:31 04-11-2011 | Исправлено: Eternal_Shield, 20:40 04-11-2011
iHastr



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Извиняюсь, если задаю вопрос не здесь. Задача простая: как в Windows 7 банально пикнуть системным динамиком (пищалкой-спикером)? Если в RAD Studio (версия студии не имеет значения) вызвать функцию, к примеру:
Beep(400, 500); // C++Builder
Winapi.Windows.Beep(400, 500); // Delphi
звук раздастся из колонок, но не из пищалки! Это ограничение Windows 7. Перерыв весь инет, так и нашлось решение. Один вариант с портами таймера указан здесь. Для 64-битной версии Windows 7 всё ещё сложнее.
 
Принципиально нужно, чтобы программа пищала именно системным динамиком в Windows 7, а именно плагин Beeper для QIP, подробнее здесь.

Всего записей: 1159 | Зарегистр. 07-02-2010 | Отправлено: 20:35 06-11-2011 | Исправлено: iHastr, 20:55 06-11-2011
Ludens

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите, пожалуйста, имеет ли смысл переходить с XE на XE2, если не пишешь ни под 64, ни под Мак?
Грубо говоря, появились ли в XE2 дополнительные к XE возможности, помимо новых ОС и файерманки? Добавлены ли новые фичи в язык Дельфи, в RAD-интерфейс, в базовые библиотеки? Есть ли какие-то улучшения старых инструментов, хотя бы мелкие?

Всего записей: 1528 | Зарегистр. 16-01-2006 | Отправлено: 21:58 06-11-2011
Frodo_Torbins

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ludens
Конечно есть, взять хотя бы биндиги и стили.

Всего записей: 2319 | Зарегистр. 24-05-2007 | Отправлено: 23:30 06-11-2011
Arioch1



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

Цитата:
var c : ['А'..'Я'];  
 begin  
   for c in ['А'..'Я'] do showmessage(c); - работает!  
 end;

 
Это то же самое, что var c: AnsiChar; с небольшими несузественными отличиями.
А то, что оно работает, мы вроде видели.
 
Вот попробуй выпендриться с var c: WideChar('А')..WideChar('Я')
 
Добавлено:

Цитата:
Сколько раз советовали использовать CharInSet для юникодных проверок?  

 
А при чёи тут проверки множеств? Где вы в этих примерах видели хоть одну проверку ?
 
Добавлено:

Цитата:
 нужно, чтобы программа пищала именно системным динамиком

 
а если у пользователя проводки спикера заведены на звуковую карту ?
На все случаи запчастей не напасёшься, если Microsoft запретил - то запретил. А потом будут ещё обновления, Win8 будет - и каждый раз будешь исктаь как обмануть Майкрософт ?
 
Могу посоветовать поизучать SpeedFan - он как-то с портами работает.

Всего записей: 904 | Зарегистр. 03-03-2010 | Отправлено: 23:53 06-11-2011
Arioch1



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

Цитата:
http://qc.embarcadero.com/wc/qcmain.aspx?d=100685

Очаровательный комментарий мне там вставили.
Типа это кажется старый баг с D2009 (что в общем очевидно) под номером 65632
 
Интересант, подумал я http://qc.embarcadero.com/wc/qcmain.aspx?d=65632
404, нет такого номера, сказал сервер
Шарман, подумал я. Действительно, зачем баги фиксить, если их можно просто удалять...

Всего записей: 904 | Зарегистр. 03-03-2010 | Отправлено: 10:04 07-11-2011
Eternal_Shield

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

Цитата:
А при чёи тут проверки множеств? Где вы в этих примерах видели хоть одну проверку ?

Да, действительно, и где? Надеюсь, мы знаем как for-in внутри устроен? Если да, то к чему эти 2 вопроса?
 
Посмотрел я чудо-баг 100685 ... и послали вас в правильном направлении: учите основы юникодофикации и всё. Хотите унифицировать преобразование Ord <> Char - пишите перегруженные функции для необходимых типов;
 
Зю: А баг, уверен на 95%, закроют.

Всего записей: 768 | Зарегистр. 18-05-2009 | Отправлено: 10:37 07-11-2011
Arioch1



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вопрос остаётся. Где тут множества ? Конкретнее, где тут проверка вхождения символа в множество ?
Вы действительно считаете, что for работает через CharInSet  ??? Или как гугл, увидели слово "in" и выдали все, что к нему относится в любом контексте?
 
Ord и Chr - стандартные функции Паскаля. И они должны работать взаимно-обратно. Без чтения справки. В которой все равно чушь написана.
 
Баг имени D2009 как говорят "...and it is sill Open". Так насчёт "закроют"
Впрочем, вспоминая сколько лет им понадобилось, чтобы пофиксить MakeInstance... Могут и к 2019 не успеть.
 
Добавлено:

Цитата:
Конечно есть, взять хотя бы биндиги и стили.

А лично мне понравились class constructor
 
Наконец-то можно делать сложные типы, проверять их окрректность, и не тащить в exe кучу лишнего кода, если тип в итоге не нужен.
Когда-то писал на D5 программки размером <10KB с заменой System.pas - приходилось сильно думать какие части и как выключать. С C.C. было бы намного проще... если бы он тогда был

Всего записей: 904 | Зарегистр. 03-03-2010 | Отправлено: 11:28 07-11-2011 | Исправлено: Arioch1, 11:32 07-11-2011
Eternal_Shield

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

Цитата:
Где тут множества ? Конкретнее, где тут проверка вхождения символа в множество ?
Вы действительно считаете, что for работает через CharInSet  ??? Или как гугл, увидели слово "in" и выдали все, что к нему относится в любом контексте?

Значит попытайтесь узнать таки, про что речь ... а потом уже троллить; Зачем вы в бочку лезите, а? Я ещё никого не оскорбил тут, а меня уже с гуглом сравняли (ещё одна причина не любить гугло-кодеров...без гугла, как без мозгов) и говном полили;
 

Цитата:
Ord и Chr - стандартные функции Паскаля. И они должны работать взаимно-обратно.  

Ключевое слово выделил ... а если уже совсем серьзно, то откройте глаза, у Chr входящий аргумент типа BYTE ... не наводит на мысли определённые, не?

Всего записей: 768 | Зарегистр. 18-05-2009 | Отправлено: 14:25 07-11-2011
tomor

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
TListView ведет себя странно. В режиме Report ставлю видимыми группы. Под IDE все нормально: группы видны, подзаголовки видны, иконки сворачивания видны. Запускаю отдельно - Subtitles не видны и не видны иконки сворачивания

Всего записей: 30 | Зарегистр. 19-09-2008 | Отправлено: 15:27 07-11-2011 | Исправлено: tomor, 15:27 07-11-2011
Arioch1



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вы очень разнообразно избегаете ответа на простой вопрос: где же именно в for-var-in-range должен использоваться ваш совет "Сколько раз советовали использовать CharInSet(var, set) для юникодных проверок?" ?
 

Цитата:
у Chr входящий аргумент типа BYTE ... не наводит на мысли определённые

Наводит. На очевидную мысль, что в справке написана чушь (увы, но не в первый раз).
Иначе бы не работали примеры выше, с параметром #$410 + i.
Надеюсь, вам очевидно, что такое значение > High(Byte) ?
У вас еcть другое объяснение, почему именно так функция работает правильно ?  
 

Всего записей: 904 | Зарегистр. 03-03-2010 | Отправлено: 15:58 07-11-2011
iHastr



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Arioch1
Цитата:
Когда-то писал на D5 программки размером <10KB с заменой System.pas - приходилось сильно думать какие части и как выключать. С C.C. было бы намного проще... если бы он тогда был

Простая программка без главной формы, добавлена всего пара строчек кода в .cpp-файл проекта. В C++Builder 2009 скомпилированный exe-шник весил 731 КБ, а в С++Builder XE2 целых 2,69 МБ (всякие Runtime Packages и Dynamic RTL отключены в настройках проекта). Ну и аппетиты :)

Всего записей: 1159 | Зарегистр. 07-02-2010 | Отправлено: 16:50 07-11-2011
Открыть новую тему     Написать ответ в эту тему

Страницы: 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

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Embarcadero RAD Studio XE2 (Pulsar)


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru