Преобразования библиотеки Delphi 2009 TurboPower

В случае, если кому-то нужна (почти) готовая к использованию функция PHP, на основе этого ответа будет :

/**
 * Remove a column from a table.
 * 
 * @param string $tableName The table to remove the column from.
 * @param string $columnName The column to remove from the table.
 */
public function DropTableColumn($tableName, $columnName)
{
    // --
    // Determine all columns except the one to remove.

    $columnNames = array();

    $statement = $pdo->prepare("PRAGMA table_info($tableName);");
    $statement->execute(array());
    $rows = $statement->fetchAll(PDO::FETCH_OBJ);

    $hasColumn = false;

    foreach ($rows as $row)
    {
        if(strtolower($row->name) !== strtolower($columnName))
        {
            array_push($columnNames, $row->name);
        }
        else
        {
            $hasColumn = true;
        }
    }

    // Column does not exist in table, no need to do anything.
    if ( !$hasColumn ) return;

    // --
    // Actually execute the SQL.

    $columns = implode('`,`', $columnNames);

    $statement = $pdo->exec(
       "CREATE TABLE `t1_backup` AS SELECT `$columns` FROM `$tableName`;
        DROP TABLE `$tableName`;
        ALTER TABLE `t1_backup` RENAME TO `$tableName`;");
}

В отличие от других ответов, SQL, используемый в этом подходе, похоже, сохраняет типы данных столбцов, тогда как что-то вроде принятого ответа, кажется, приводит ко всем столбцам типа TEXT.

Обновление 1:

Используемый SQL имеет недостаток, что autoincrement столбцы не сохранены.

5
задан RRUZ 15 April 2011 в 06:20
поделиться

7 ответов

Существует проект Orpheus в SourceForge, но последний выпуск был сделан в 2005 :( Systools должен также быть найден там.

0
ответ дан 14 December 2019 в 13:51
поделиться

Мы определенно надеялись бы портировать это также. Мы используем много компонентов Orpheus в наших текущих приложениях, и это было бы определенным контрольно-пропускным пунктом к Delphi 2009.

0
ответ дан 14 December 2019 в 13:51
поделиться

С 11.10.2008, существует версия по http://www.songbeamer.com/delphi/

из Orpheus также. Следующие комментарии присоединяются:

Это основано на версии от CVS. Первые два пакета компилируют и частично тестируются. Для некоторого кода asm все еще нужно обновление. Некоторый bugfixing также должен быть найден и зафиксирован. Вклады приветствуются (используйте форму контакта на вершине). Поиск "FIXME" в источнике. Файлы, которым, возможно, понадобятся особое внимание и bugfixes: OVCDRPVW.PAS, OVCPF.PAS, OVCEDITU.PAS, OVCVIEWR.PAS, OVCSTR.PAS

0
ответ дан 14 December 2019 в 13:51
поделиться

Когда турбо питание закрыло их двери, я проанализировал свой код, который использовал Orpheus и SysTools. Я нашел, что была только горстка функций SysToosl, которые я использовал и таким образом, мы записали наши собственные функции. (Не может помнить то, чем они были),

Это было довольно прямым, некоторые из них были в более новых версиях Delphi, и остальных было легко кодировать.

Orpheus был немного более трудным. Я был бы готов бросить некоторое время в возвращение Orpheus. Мы заменили его стандартными компонентами Delphi и некоторым кодом, но наши приложения испытывают недостаток в части прохлады, которую это когда-то имело.

0
ответ дан 14 December 2019 в 13:51
поделиться

Некоторые компоненты в процессе того, чтобы быть портированным к Delphi 2009, включая 5 библиотек TurboPower. Никакой Orpheus или SysTools, все же.

http://www.songbeamer.com/delphi/

Обновление:

Как M Plaut указанный, Orpheus был добавлен к сайту и был обновлен уже 13 ноября.

5
ответ дан 14 December 2019 в 13:51
поделиться

Мне нужно перенести в delphi 2009 очень старый проект: редактор ЧПУ. В то время в проекте не использовался Orheus, но я изучал его (провел несколько тестов), и текстовый редактор Orpheus по-прежнему остается самым быстрым на рынке. Так что да, мне это очень интересно. Я пытался скомпилировать старый исходный код в delphi 9, но он вылетает. Я не очень хороший программист, но могу провести за вас тесты.

0
ответ дан 14 December 2019 в 13:51
поделиться

Orpheus407AU_3 был размещен на http://sourceforge.net/projects/tporpheus/ 5 сентября 2009 г.

1
ответ дан 14 December 2019 в 13:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: