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

antarey

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

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

  • Посещение

  • Победитель дней

    2

Сообщения, опубликованные antarey

  1. TStringBuilder заработал причем правильно на обеих платформах.

     

    Просто таже SubString0 для десктопа что для 0 индекса что для 1 индекса строки выдает первый символ строки, но TStringBuilder работает нормально - меня устраивает.

  2. Подскажите как реализовать один код для десктопной и мобильной платформы при работе со строками?

    В статье Migrating Delphi Code to Mobile from Desktop рекомендуют использовать TStringHelper, но что-то как его юзать в билдере не нашел

     

    Мне надо чтобы код

    String s = "Привет Вася";
    String s1 = s.SubString(1,1);

    в не зависимости от платформы выдавал первый символ строки - П

     

    Как этого добиться не используя директивы компилятора для проверки платформы и SubString0/SubString1?

  3.  

     

    не просто об ответе на вопрос, а о наборе технических статей,

    Хотелось бы чтобы в этиx статьях были бы и примеры кода на С++ для Builder. Ну хотя бы основные моменты. Иногда очень сложно понять как портировать код на паскале в проект С++. Бывает проект на паскале работает, а с кодом на С++ нет. :(

    Сейчас С++ Builder ХЕ6 полностью поддерживает все виды проектов FM, поэтому хотелось бы чтобы С++ также не обделили вниманием.

    Спасибо.

     

    Очень сильно поддерживаю - не забывайте за бульдозеристов  - если будет код на делфи - рядом на с++

  4. Господа подскажите, почему на билдере для регулярных выражений не работает "?:"

     

    #include <System.RegularExpressions.hpp>
    
    
    // ---------------------------------------------------------------------------
    #pragma package(smart_init)
    #pragma resource "*.dfm"
    TfrmMain *frmMain;
    
    
    // ---------------------------------------------------------------------------
    __fastcall TfrmMain::TfrmMain(TComponent* Owner) : TForm(Owner) {
    }
    
    
    // ---------------------------------------------------------------------------
    void __fastcall TfrmMain::Button1Click(TObject *Sender) {
    UnicodeString str, Otpravitel, Tema, Otpravleno, Prochitano, url;
    str = Memo1->Lines->Text.SubString(Memo1->Lines->Text.Pos("Отправитель"),
    Memo1->Lines->Text.Length());
    str = str.SubString(1, str.Pos("Удалить"));
    TStrings *text = new TStringList();
    text->Text = str;
    text->Delete(0);
    text->Delete(0);
    text->Delete(0);
    if (TRegEx::Matches(text->Text, "(?:<a href=\")(\\S+)(?:\">)").Count > 0) {
    for (int i = 0; i < TRegEx::Matches(text->Text,
    "(?:<a href=\")(\\S+)(?:\">)").Count; i++) {
    url = TRegEx::Matches(text->Text, "(?<a href=\"))(\\S+)(?\">))")
    .Item[i].Value;
    
    
    
    
    Memo2->Lines->Add(url);
    }
    }
    
    
    }
    // ---------------------------------------------------------------------------

    На входе

    <a href="messanger.cgi?action=read&msg=2">
    <a href="messanger.cgi?action=read&msg=1">
    <a href="messanger.cgi?action=read&msg=0">
    Тоже получаю и на выходе ?????

     

  5. Господа, почему происходит некорректное преобразование 2Д в 3Д

     
    void __fastcall TfrmMain::SwitchTo3D() {
    FViewport = new TViewport3D(this);
    FViewport->Parent = frmMain;
    FViewport->Align = TAlignLayout::Client;
    
    
    FContainerLeft = new TLayer3D(this);
    FContainerLeft->Parent = FViewport;
    FContainerLeft->Projection = TProjection::Screen;
    LayoutLeft->Parent = FContainerLeft;
    FContainerLeft->Width = LayoutLeft->Width;
    FContainerLeft->Align = TAlignLayout::Left;
    
    
    FContainerCenter = new TLayer3D(this);
    FContainerCenter->Parent = FViewport;
    FContainerCenter->Projection = TProjection::Screen;
    LayoutCenter->Parent = FContainerCenter;
    FContainerCenter->Width = LayoutCenter->Width;
    FContainerCenter->Align = TAlignLayout::Client;
    
    
    }
    

    получаю 

    post-49-0-98606100-1400847331_thumb.png

    приходится два раза клацать на кнопке чтобы преобразование произошло правильно

    post-49-0-95754700-1400847375_thumb.png

     

    Проект на всяк случай в атаче

     

    test.ZIP

  6. В продолжение темы - а защита приложения от декомпиляции ? Я сам декомпилировал приложения с маркета - на ура.

    И все Ваши потуги защитится с привязкой в имею могут быть бесполезными если вскроется код приложения

  7. Спасибо конечно, но вот как раз XOR и NOT использовать и не хочется - для начала довольно часто в зашифрованные символы попадают управляющие последовательности и при хранении пароля в инишке возникают проблемы с чтением, да и в плане роз шифровки ето самый неустойчивый алгоритм

  8. как раз из за эффектов и выбирал 3д - у 2д нет возможности реализовать переворот по оси Y, я игрался со свойством RotationAngle.Y.

    Чтобы не нарушать правил скажите да или нет, если да то создам новую тему - есть возможность в 2д режиме реализовать переворот по оси Y без заморочек с TViewPort3D с TLayer3D? что-то мне кажется что будет мерцание в момент переноса контролов

  9. Помогите разобраться в вроде элементарной задаче. Для андроида  хочу сделать меню.

    Есть 3Д форма - на ней 3 TLayer3D

    Layer3D1->Align = Left
    Layer3D2->Align = Client
    Layer3D3->Align = None

    На Layer3D2 поместил тулбар а на него уже спид бутон

    Вот код 

      Layer3D3->Visible = ! Layer3D3->Visible;
       if (Layer3D3->Visible)
       {
           Layer3D2->SendToBack();
           Layer3D3->BringToFront();
           ListBox1->ApplyStyleLookup();
           ListBox1->RealignContent();
       } else {
           Layer3D3->SendToBack();
       }
    

    Мое меню Layer3D3 с листбоксом появляется, но не могу нажимать на итемы

     

    если

    Layer3D2->Visible = false;

    то итемы нажимаются

    Что я не доделываю

    Project1.zip

  10. Как реализовать мастер-детаил на одном контроле, в идеале на TListBox, источник итемов - одна или две  таблицы sqlite

    одна таблица аналог DevExpress cxDBTreeList

    две таблицы - аналог DevExpress cxGrid - одна запись мастера и по плюсику/треугольнику и тд. раскрываются записи детаил таблицы 

     

  11. Это я знаю, меня интересует можно ли изменить стиль по умолчанию , не хочется увеличивать размер приложения, плюс при подключении стилей на THL W8s c 2 гигами ОЗУ очень сильно тормозит интерфейс

×
×
  • Создать...