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

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

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

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

Arioch1



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Это к чему ?
 и как вашим Ifdef'ом покрыть XE3, XE4, XE5 и так далее ?

Всего записей: 904 | Зарегистр. 03-03-2010 | Отправлено: 15:51 20-09-2012
SolidSnakeRU

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
У кого-нибудь получилось визуальным лайв биндингом связать 2 поля caption у лейбла?
Такая элементарная задача и не соединяет.
Зато через конструктор связей получается сделать.

Всего записей: 248 | Зарегистр. 27-08-2008 | Отправлено: 17:00 20-09-2012
alexgoldreyer

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Arioch1
 
http://delphi.wikia.com/wiki/CompilerVersion_Constant
 
Обратите внимание - $IFDEF для VER и $IF для CompilerVersion
 
Добавлено:
Arioch1
 
Прошу прошения - посмотрел не на ту строчку, показалось, что стоит IFDEF CompilerVersion

Всего записей: 17 | Зарегистр. 25-01-2006 | Отправлено: 18:15 20-09-2012
HeMet

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

Цитата:
У кого-нибудь получилось визуальным лайв биндингом связать 2 поля caption у лейбла?

Поподробней можно?

Всего записей: 212 | Зарегистр. 05-09-2007 | Отправлено: 19:09 20-09-2012
exteris

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Ага, лейблы вообще друг с другом не биндятся.

Всего записей: 382 | Зарегистр. 14-04-2003 | Отправлено: 09:03 21-09-2012 | Исправлено: exteris, 09:04 21-09-2012
HeMet

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

Цитата:
Ага, лейблы вообще друг с другом не биндятся.

Лейблы, по видимому, являются исключительно пассивным элементом (только приемник данных). Поэтому нельзя соединить два приемника визуально. А вот повесить несколько лейблов на поле ввода можно спокойно.
С помощью выражений можно соединить что хочешь с чем хочешь (и это даже отразиться на диаграмме связей), но могут выскакивать исключения типа «Компонент не реализует интерфейса Наблюдатель» и т.п.

Всего записей: 212 | Зарегистр. 05-09-2007 | Отправлено: 09:19 21-09-2012
sergionn

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
_http://edn.embarcadero.com/article/images/42544/Mobile_Roadmap.pdf
 
 - новые сказки дядюшки дэвида

Всего записей: 472 | Зарегистр. 02-11-2011 | Отправлено: 11:58 21-09-2012
deks



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
sergionn
 
Не особо много сказали! И "недорогое" обновление - это, видимо $150-200!

Всего записей: 857 | Зарегистр. 09-10-2003 | Отправлено: 16:13 21-09-2012
mcka

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
alexgoldreyer,
Цитата:
Косяк, на самом деле, у вас - вместо $IF CompilerVersion >= 24.0 надо $IFDEF VER240

Я использовал CompilerVersion т.к. мне нужно условие  >= 24.0 это логично т.к. System.Actions появился в Rad studio xe3, и будет в xe4, xe5 и xe6, а если все таки когда-то уберут, тогда я исправлю на  

Код:
IF CompilerVersion >= 24.0 and  CompilerVersion <= 55.0

а как вы представляете своими $IFDEF VERxxx? писать на несколько страниц?

Код:
 
   {$IFDEF VER240}  
      System.Actions
    {$ELSE}
       {$IFDEF VER250}  
        System.Actions
       {$ELSE}
         {$IFDEF VER260}  
          System.Actions
         {$ELSE}
         {$IFDEF VER270}  
          System.Actions
         {$ELSE}
            // и так до 550            
 
          {$ENDIF}
         {$ENDIF}
       {$ENDIF}
    {$ENDIF}
 
- жесть!!!
 

Всего записей: 65 | Зарегистр. 04-09-2007 | Отправлено: 17:55 21-09-2012 | Исправлено: mcka, 17:59 21-09-2012
Frodo_Torbins

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mcka
Можно джедаевский заголовочник подключить и юзать один единственный DELPHIXE2_UP.

Всего записей: 2318 | Зарегистр. 24-05-2007 | Отправлено: 19:34 22-09-2012
mcka

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Frodo_Torbins,
Цитата:
джедаевский заголовочник

+1 )
 
Еще интересный момент заметил:  

Код:
var
  d : double;
  s : string;
begin
  d := NaN; // Infinity, NegInfinity
  s := FloatToStr(d); // s = 'NAN';
  ShowMessage(S); // Show 'NAN'
  d := StrToFloat(s); // Error: 'NAN' is not a valid floating point value.
 
- так для всех делфи.
 
при этом с буквой d:=1E33 - работает, а с константами NaN,Infinity или NegInfinity - НЕТ.
 
А с толкнулся я с этим так:  
Eсть xml:
Код:
    <Row>
        <Gauge>22</Gauge>
        <OuterDiameter>0.7176</OuterDiameter>
    </Row>
    <Row>
        <Gauge>22s</Gauge>
        <OuterDiameter>NaN</OuterDiameter>
    </Row>
    <Row>

есть к нему xsd:
Код:
<xs:element name="OuterDiameter" type="xs:double"></xs:element>
 

при этом xml валидный.
 
а в коде у меня было так:  

Код:
    Node := element.selectSingleNode(ELEMENT_OUTER_DIAMETER);
    if Assigned(Node) then
      FOuterDiameter := StrToFloat(Node.text, FFormatSettings);

получается прежде чем конвертировать string нужно проанализировать константы.

Всего записей: 65 | Зарегистр. 04-09-2007 | Отправлено: 13:52 26-09-2012
Aqel



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

Цитата:
Русификация Delphi XE3 версии 17.0.4625.53395  (run-time, .pas-файлы) Пасс - стандартный.  
Как устанавливать: содержимое архива распаковать в каталог, прописанный в Library Path, либо в папку с проектом.  
Замечания, баги, пожелания - в личку.  
 
з.ы. Сделано на основе Русификации Delphi 2007 (run-time, .pas-файлы) от PoleSoft  
з.ы.1 Был исправлен баг и перезалит архив, поэтому, тем, кто скачал его до 20.09.2012, нужно скачать снова.

 
Library Path - там совсем другие файлы, напиши конкретнее куда копировать.

Всего записей: 210 | Зарегистр. 22-10-2009 | Отправлено: 22:51 27-09-2012
Arioch1



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
куда хочешь. проcто путь потом в Library Path добавь и отключи runtime packages
 
PS. отредактируй свoй пост plz. Overquoting - зло.

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

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Появилась минутка, решил посмотреть изменения в модулях XE3, вот что бросилась в глаза:
1. integer -> NativeInt или NativeUInt  - это понятно
  AnsiChar -> Byte;
  array of AnsiChar -> TBytes;
 
2. изменения в string  
  length(s) -> s.length  - теперь как в С# (см. System.SysUtils TStringHelper = record helper for string)
 
3.
    var s : string;
    ...
    s[1] -> s[low(string)]
    s[Length(s)] -> s[high(string)]
 
 
4. в XE3 отказываются от оператора with. Зачем? мне не непонятно.
 
5. в XE2

Код:
 
  var PListName: AnsiString;
  ...
  func(@PListName[1], Length(PListName), False);

  в XE3

Код:
var PListName: String;
  M: TMarshaller; // Новинка (см. System.SysUtils TMarshaller = record)
  ...
  func(M.AsAnsi(PListName, CP_UTF8).ToPointer, Length(PListName), False);
 
раньше как-то проще было (
 
 
 
 

Всего записей: 65 | Зарегистр. 04-09-2007 | Отправлено: 15:48 01-10-2012 | Исправлено: mcka, 15:52 01-10-2012
deks



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mcka
 
No. Раньше расчет был только на 1 платформу - win32. Сейчас есть win32, win64, osx32. Нужно еще - osx64, ios, android.  
 
Так что все изменения идут в сторону большей абстрактности кода, когда в коде нет "допущений", зависящих от платформы.

Всего записей: 857 | Зарегистр. 09-10-2003 | Отправлено: 16:29 01-10-2012
HeMet

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

Цитата:
4. в XE3 отказываются от оператора with. Зачем? мне не непонятно.

Довольно много людей считают его использование плохой практикой, т.к. пользы от него меньше чем потенциального вреда. Если кратко, то:  
 1. заставляет постоянно оглядываться на все пространства имен, чтобы не было пересечений, потому что компилятор выберет что-то одно и промолчит;
 2. путает отладчик;
 3. допускает использование нескольких переменных между with do;
 4. вложенные with могут сделать программу чувствительной к фазе луны;
 5. Может без всяких предупреждений изменять поведение программы не потому что что-то изменилось в том что уже было, а потому что к нему что-то добавилось.
Вот тут подробней: _http://stackoverflow.com/questions/514482/is-delphi-with-keyword-a-bad-practice
 
Следующий кандидат на удаление ключевое слово absolute.
 

Цитата:
5. в XE2

Крис Ролинстон писал (_http://delphihaven.wordpress.com/2012/09/22/fmx-in-xe3/), что маршаллер используется как мостик между тем, что уже есть и будущим компилятором под iOS. Кто знает, останется он потом или будет упразднен. Скорее всего и хелперы к простым типам тоже такая же затычка для обратной совместимости с новыми компиляторами.
 

Всего записей: 212 | Зарегистр. 05-09-2007 | Отправлено: 18:31 01-10-2012 | Исправлено: HeMet, 18:45 01-10-2012
Arioch1



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
> 5. Может без всяких предупреждений изменять поведение
 
это уже придирки. Тогда надо и к свойствам объекта образаться иключительно как Self.Left (или как в WB With - с точкой типа .Left ). А то вдруг у класса в новой версии новые члены появятся.
 
А что значит "отказываются" ? из RTL уибрают ? это хрен с ними, чем бы ни тешились. Или из языка убирают, варнинги навешивают ?

Всего записей: 904 | Зарегистр. 03-03-2010 | Отправлено: 10:32 02-10-2012
eddoc



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

Цитата:
3. допускает использование нескольких переменных между with do;

Зато как экономит время! Жаль, если его уберут. Придется код капитально шерстить

Всего записей: 328 | Зарегистр. 25-11-2007 | Отправлено: 12:33 02-10-2012
mcka

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
eddoc,  
наличие локальных переменных и операторов With - повод к refactor'ингу.©  - автор не я )
 
глобальные переменные - олдскульное программирование© - автор тоже не я )

Всего записей: 65 | Зарегистр. 04-09-2007 | Отправлено: 15:25 05-10-2012 | Исправлено: mcka, 15:31 05-10-2012
eddoc



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

mcka
Любовь к сентенциям - отсутствие собственных мыслей. Отсутствие собственных мыслей - повод задуматься о будущем (моё)

Всего записей: 328 | Зарегистр. 25-11-2007 | Отправлено: 08:08 06-10-2012
Открыть новую тему     Написать ответ в эту тему

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


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru