На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! ПРАВИЛА РАЗДЕЛА
Прежде чем задать вопрос, зайдите в раздел FAQ, возможно там уже есть ответ на него.
Если вы хотите вставить код в сообщение, то пожалуйста выделяйте его тегом [code=dfp] ... [/сode].
Для этого используйте кнопку [code=dfp] в форме ответа или комбобокс, если нужно вставить код на языке, отличном от Delphi for PHP.
Модераторы: ViktorXP, vicis


Страницы: (4) [1] 2 3 ... Последняя » все  ( Перейти к последнему сообщению )  
> Delphi for PHP (RAD PHP XE, HTML5 Builder ): FAQ
    Запуска проекта на удаленном сервере
    Когда вы закончите разрабатывать свой проект нужно сформировать рабочий проект
    Для этого в делфи есть «Deployment Wizard» (вызвать можно Tools-> Deployment Wizard или соответствующую кнопку в тулбаре)
    Мастер скопирует ваш проект в папку (которую вы ему укажите) и в ней папку vcl, в которой будут находится необходимые компоненты и файлы.
    Копируете это все на сервер с помощью ftp клиента. Заходим на сайт и смотрим результат.

    Бывает что мастер может не доложить какой-то файл. В этом случае его нужно поискать в vcl библиотеки
    %Program Files%\CodeGear\Delphi for PHP\2.0\vcl\
    %Program Files%\Embarcadero\RadPHP\3.0\rpcl
    и положить в соответствующую папку в своем сформированном проекте.
    Для 3-й версии актуально не vcl, а папка rcpl

    Добавлено
    Проблема:
    Иногда возникает ошибка при использовании шаблона Smart
    Цитата
    Fatal error: Smarty error: the $compile_dir '/tmp' does not exist....

    Решение:
    Открываем файл smartytemplate.inc.php
    Находим строчку
    ExpandedWrap disabled
      $this->_smarty->compile_dir = '/tmp';

    И указываем полный путь к темповой папке
    ExpandedWrap disabled
      $this->_smarty->compile_dir = 'C:/WINDOWS/Temp'; //'C:/tmp'
    Сообщение отредактировано: vicis -
      Советы:
      При создании шаблона в теле документа нужно незабыть указать три параметра {$HeaderCode} (В это месте будут формироватся JavaScript вставки), {$StartForm} и {$EndForm} (в этих местах будет вставлены теги начала и конца формы соответственно)


      Чтобы заставить обновится какойто контрол достаточно нажать по нему правой кнопкой мыши и вызвать control->repain или нажать Shift+Ctrl+F12
      Сообщение отредактировано: ViktorXP -
        Проблема:
        При использовании DBGrida и Smarty с формы исчезает скрол.

        Решение:
        ExpandedWrap disabled
          function Unit1JSLoad($sender, $params)
          {
           
          ?>
          //Add your javascript code here
          d.setOverflow("scroll");
          <?php
           
          }
          Тут есть процентное соотношение но подано слегка не стандартным для нас способом.

          Каждай компонент-контейнер можно поделить виртуально сеткой на квадраты.
          Для этого в компонента есть свойства Layout.Cols и Layout.Rows
          Способ выравнивания определяется свойством Layout.Type
          После установки размера сетки растягиваем внутренний компонент на столько квадратов сколько нам

          нужно.
          Когда будет компнент-контейнер менятся то он будет автоматически менать размер и внутренних

          компонентов в соответствии занятых квадратов.
            Проблема:
            Как удалять из "Welcome Page" уже не существующие проекты?

            Решение:
            Записи о проектах лежат в реестре
            HKEY_CURRENT_USER\Software\CodeGear\Delphi for PHP\1.0\mru {в первой версии}
            HKEY_CURRENT_USER\Software\CodeGear\Delphi for PHP\2.0\mru {во второй версии}
              Проблема:
              В базу при помощи цикла записывал 100000 записей. При выполнении выдало ошибку
              ExpandedWrap disabled
                Fatal error: Maximum execution time of 30 seconds exceeded in T:\home\localhost\ryterna\vcl\adodb\adodb.inc.php on line 831


              Решение:
              В настройках по умолчанию стоит максимальное время выполнение скрипта 30 сикунд.
              изменить его можно в файл в php.ini.template. В секции "Resource Limits" есть параметр max_execution_time
                Проблема:
                Как изменить размер шрифта у ListView ?

                Решение:
                1)
                ExpandedWrap disabled
                  function Button1JSClick($sender, $params)
                  {
                    ?>
                    //Add your javascript code here
                    document.getElementById('ListView1').style.font = "bold small-caps 12pt/14pt sans-serif";
                  // document.getElementById('ListView1').style.font = " 12pt/14pt sans-serif top";
                    <?php
                  }
                2)
                ExpandedWrap disabled
                  document.all['ListView1'].style.left = 0;
                  document.all['ListView1'].style.position = 'relative';
                  document.all['ListView1'].style.font = '20px verdana,arial,helvetica';
                  document.all['ListView1'].style.textAlign = 'right';
                  document.all['ListView1'].style['color'] = 'blue';
                  document.all['ListView1'].style['size'] = '18px';
                  document.all['ListView1'].style.fontSize = '22px';
                Сообщение отредактировано: ViktorXP -
                  Проблема:
                  как узнать программно что страница/компонент отображается в редакторе форм

                  Решение:
                  ExpandedWrap disabled
                    if   (($this->ControlState & csDesigning) != csDesigning) ...
                    Проблема:
                    Пустой проект выдает ошибку
                    Цитата
                    Warning: Unknown: Failed opening 'C:/Documents and Settings/User/Мои документы/Delphi for PHP Projects/unit1.php'
                    for inclusion (include_path='.;C:\Program Files\Programming\Delphi for PHP 1.0\' ) in Unknown on line 0

                    Решение:
                    Delphi for PHP не любит русские пути. Поэтому сохраняй проект в другом месте.

                    Кроме этого стоит проверить что:
                    - имя пользователя под которым Вы установили и используете Delphi For Php содержит только английские буквы и не содержит пробелов
                    - после создания нового проекта сохраните его в папку, которая содержит только английские буквы и не содержит пробелов
                    - если проект не запускается и находится на диске отличном от C: попробуйте сохранить его на диск C:
                    Сообщение отредактировано: vicis -
                      Проблема:
                      А каким образом без мышки можно перемещаться по элементам формы?

                      Решение:
                      1)
                      У каждого контрола, который имеет фокус, есть свойства TabOrder (параметр порядка предоставления

                      фокуса), TabStop (Давать фокус по табу или нет)
                      2)
                      Или можно решить это через JavaScript
                      ExpandedWrap disabled
                        function Edit2JSKeyUp($sender, $params)
                        {
                        ?>
                          //if (event.keyCode == 13|| event.keyCode == 9)
                          if (event.keyCode == 40) // если нажата клавиша "стрелка вниз"
                          {
                            findObj("Edit1" ).focus();
                          }              
                          if (event.keyCode == 38) // если нажата клавиша "стрелка вверх"
                          {                  
                            findObj("Edit3").focus();                  
                          }
                        <?php
                        }
                        Проблема:
                        Какие настройки отвечают за кодировку?

                        Решение:
                        IDE/Tools/Options/Default Charset
                        IDE/Tools/Options/Editor options/Text encoding
                        Unit1->Encoding
                        (Unit1 - это имя редактируемого модуля)
                          Проблема:
                          настройки
                          Unit1->Encoding = Unicode (UTF-8) |utf-8
                          Unit2->Encoding = Unicode (UTF-8) |utf-8
                          IDE/Tools/Options/Default Charset = utf-8 (Language = "utf-8")
                          IDE/Tools/Options/Editor options/Text encoding = utf-8

                          - ставим panel1 на форму unit1
                          - в инспекторе пишем panel1->caption = 'Тра-та-та'
                          - ставим panel2 на форму unit2
                          - в инспекторе пишем panel2->include = unit1

                          видим в редакторе краказяблы
                          а запускаем - нормально
                          Решение:
                          добавляется в модуль extctrls.inc.php две процедуры
                          ExpandedWrap disabled
                            function get_include_contents($filename)
                            {
                              if (is_file($filename))
                              {        
                                ob_start();        
                                include $filename;        
                                $contents = ob_get_contents();
                                ob_end_clean();        
                                return $contents;    
                              }    
                              return false;
                            }
                            function GetANSI($str)
                            {
                              $charset = 'windows-1251';
                              $_encoding = mb_detect_encoding($str, "UTF-8, $charset");
                              if (strcasecmp($_encoding, 'UTF-8')==0)
                              {
                                return mb_convert_encoding($str, $charset, $_encoding);
                              }
                              else    
                              {
                                return $str;
                              }
                            }

                          Потом переписываем кусок
                          ExpandedWrap disabled
                            if ($this->_include!="")
                            {
                              include($this->_include);
                            }

                          На
                          ExpandedWrap disabled
                            if ($this->_include!="")
                            {
                              if (($this->ControlState & csDesigning) != csDesigning)
                              {        
                                include($this->_include);
                              }
                              else
                              {
                                $string = get_include_contents($this->_include);
                                echo GetANSI($string);
                              }
                            }

                          тоесть когда код будет в дизайн тайме выводится то наша процедура будет его перекодировать в анси,
                          а когда на сервере как сайт то будет выводится без переделки.
                            Проблема:
                            Как изменить кодировку файла?
                            Решение:
                            в окне редактирования тыкаеш правую кнопку мыши File Encoding с подпунктами.
                              Проблема:
                              Где ide хранить php.ini?
                              Решение:
                              Файл лежит тут:
                              %Documents and Settings%\{user}\Application Data\CodeGear\Delphi for PHP\2.0\php\php.ini
                              Но изменять его бесполезно так как среда его изменяет самостоятельно. Правильнее настройки вносить

                              через саму ide. Если этого мало то тогда можно внести настройки в сам шаблон по которому среда

                              формирует файл
                              %Delphi for PHP%\2.0\php\php.ini.template
                                Проблема:
                                Хочу чтобы календать, находящийся в VCL, был по русски.

                                Решение:
                                В моделе comctrls.inc.php в класах MonthCalendar и DateTimePicker есть строка
                                ExpandedWrap disabled
                                   $this->_calendar = new DHTML_Calendar(VCL_HTTP_PATH."/jscalendar/", "en", 'calendar-win2k-2', false);

                                Вот тут и меняй язык 'en' на 'ru'
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:




                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0488 ]   [ 16 queries used ]   [ Generated: 28.03.24, 14:51 GMT ]