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

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

Модерирует : ShIvADeSt

ShIvADeSt (19-05-2010 05:14): Продолжаем тут http://forum.ru-board.com/topic.cgi?forum=33&topic=11215  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101

   

ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Продолжение темы Вопросы по Delphi (до версии 2009) - часть 4

Познаем сами, помогаем другим...
Обсуждаем вопросы, не связанные с юникоидными версиями Delphi - для этого есть соответствующая тема (см. ссылки ниже).

Правила топика:
    Прежде чем спрашивать:
  1. Желательно изучить вопрос, попытаться найти ответ в прилагаемых мануалах, хелпах и анализируя исходники.
  2. Выполнить поиск по топику (открыть "Версия для печати" и поискать ответ там).
  3. Применить фильтр по разделу "Прикладное программирование". Ответы на многие старые вопросы могли быть даны в отдельных темах.
  4. Продумайте вопрос. На поверхностные вопросы вы получите поверхностные ответы, или вообще ответов не получите.
  5. Желательно указывать версии используемого компилятора и операционной системы.
    Прежде чем отвечать:
  1. Если не можете помочь, не мешайте.
  2. Если уж вы отвечаете на вопрос, давайте ответ по сути.
  3. Если вы не уверены, так и говорите! Ошибочный, но авторитетно звучащий ответ хуже, чем отсутствие ответа.
  4. Задавайте дополнительные вопросы, чтобы получить больше информации.
  • Отсутствие ответа не равносильно игнорированию - иногда участники форума просто не знают ответ. Повторная посылка вопроса не приветствуется. Посты типа "неужели никто не знает ответа..." или "может мне все-таки кто-нибудь ответит" недопустимы.  
  • Все большие куски кода (более 5 строк) оформляем в тег [morе] дабы уменьшить размер поста. FAQ по тегу [morе].

  • Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 02:09 28-06-2009 | Исправлено: psa1974, 12:00 02-02-2010
    greenpc

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Man Without Face
    подправить под себя
    Подробнее...

    Всего записей: 401 | Зарегистр. 18-04-2003 | Отправлено: 16:23 12-03-2010 | Исправлено: greenpc, 16:31 12-03-2010
    Man Without Face



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Odysseos
    Все работает как надо! БОЛЬШОЕ СПАСИБО! СПАСИБО! СПАСИБО!  

    Наверное вам сильно голову задурил, но хоть завтра на работу не попрусь.

    Всего записей: 381 | Зарегистр. 25-01-2010 | Отправлено: 16:28 12-03-2010
    Odysseos



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Man Without Face
     
    Не за что
     
    ...Почитайте что-нибудь по алгоритмам - жизнь весьма упростится.

    Всего записей: 186 | Зарегистр. 02-01-2006 | Отправлено: 16:48 12-03-2010
    Man Without Face



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    greenpc
    Тоже большое спасибо за помощь!  

    Всего записей: 381 | Зарегистр. 25-01-2010 | Отправлено: 18:01 12-03-2010
    Dromic



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Здрасти.
    Есть один очень старый проект, который создавался еще на Delphi 4-5.  Создавал его не я.
    Но мне приходиться его переделывать на Delphi 2010.  
    Как только я его открываю-первый мат:
    Class TDBMemoMenu not found
    Насколько я понял это устаревшый VCL. Только я не знаю чем его заменить в Delphi 2010.
     

    Всего записей: 76 | Зарегистр. 21-12-2006 | Отправлено: 18:03 12-03-2010
    Odysseos



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Dromic
     
    Что-то не помню я в VCL 4 или 5 такого класса. Может, этот проект требует каких-то сторонних компонент?

    Всего записей: 186 | Зарегистр. 02-01-2006 | Отправлено: 18:38 12-03-2010
    Dromic



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Вероятнее всего, но каких?
    ehLib, FastReport и Jedi у меня установлены.
    В гугле ничего инетерсного не нашел.  

    Всего записей: 76 | Зарегистр. 21-12-2006 | Отправлено: 19:06 12-03-2010 | Исправлено: Dromic, 19:11 12-03-2010
    Frodo_Torbins

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Dromic
    Возможно имеет смысл поставить себе Delphi 5 и попробовать открыть проект там. А уже когда он будет нормально компилироваться под пятеркой, двигать его дальше на 2010-ю.

    Всего записей: 2318 | Зарегистр. 24-05-2007 | Отправлено: 19:29 12-03-2010
    Odysseos



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Dromic
     
    Если это старый проект - то, вероятно, он будет требовать версий библиотек компонентов именно тех времен, а не современных. (То есть - как минимум, не Jedi, а RxLib.)
     
    Также - вероятно, это вообще самописный компонент, который как раз для того проекта и был написан. Попробуйте поискать в других файлах проекта такой класс.
     
     
    ...Кроме того - можно открыть pas-файл, на котором ругань вылезает, в текстовом редакторе (хоть в "Блокноте"), и посмотреть в нем, где и как используется этот компонент - может, он и нафиг не нужен. Также стоит посмотреть и в соответствующем dfm-файле.

    Всего записей: 186 | Зарегистр. 02-01-2006 | Отправлено: 20:47 12-03-2010 | Исправлено: Odysseos, 20:53 12-03-2010
    Aleksandr N

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Подскажите, можно-ли в компоненте TTBPopupMenu в одном из элементов сделать наподобие как в TPopupMenu у элементов есть свойство Break=mbBreak? Для того, чтобы элементы можно было расположить столбцами.

    Всего записей: 1665 | Зарегистр. 25-02-2008 | Отправлено: 21:55 12-03-2010
    Odysseos



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Aleksandr N
     
    Нет, так он не умеет.

    Всего записей: 186 | Зарегистр. 02-01-2006 | Отправлено: 23:07 12-03-2010
    Aleksandr N

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Odysseos
    Плохо, даже подтверждение в их новостях нашел.

    Всего записей: 1665 | Зарегистр. 25-02-2008 | Отправлено: 23:21 12-03-2010
    Odysseos



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Aleksandr N
     
    Ну, учитывая открытые исходники - можно и самостоятельно попробовать. Я в TB2k кое-чего менял - в общем, ничего особо сложного не обнаружилось.

    Всего записей: 186 | Зарегистр. 02-01-2006 | Отправлено: 23:32 12-03-2010
    Wahnsinn



    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    oбщий вoпрoс,  
    дoпустим нужнo зашифрoвать oдин из параметрoв ини файла. алгoритм Blоwfish, 3DES в oбщем неважнo,
    пoсле шифрoвания имеем пoтoк TMemoryStream, вoт как быть с ним для сохрания в строку в конфигурационный файл, ничего кроме oбрабoтки пoбайтнo функцией оrd() в голову не приходит.  

    Всего записей: 129 | Зарегистр. 20-01-2007 | Отправлено: 00:29 13-03-2010
    Odysseos



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Wahnsinn
     
    Во-первых, "чистый" бинарный поток, преобразованный в строку, записать в ini-файл нельзя (просто потому, что функции работы с ini-файлами используют WinAPI, который ожидает на вход 0-ль как конец строки - а после шифрования 0-ли в байтовом массиве могут быть в произвольным месте; кроме того - что получится, если в полученном массиве будут байты, кодирующие символы '[', ']' и '='?..). Очевидное решение - предварительное кодирование байтового массива в Base64.
     
    Во-вторых, из-за некоторой специфики того, как именно работает Delphi с WinAPI при записи/чтении ini-файлов - больше 16 КБ (кажется) в ключ и больше 64 КБ (кажется) всего записать не получится. Этот недостаток можно обойти, используя класс TMemIniFile - но у него есть свои особенности.

    Всего записей: 186 | Зарегистр. 02-01-2006 | Отправлено: 01:02 13-03-2010 | Исправлено: Odysseos, 01:03 13-03-2010
    Wahnsinn



    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    вариант с Bаse64 я пробовал, натыкался на такую мысль, не удалось расшифровать потом, хотя теперь на ум приходит, что это косяк реализаций функций шифровки/расшифровки алгоритма Base64 у меня.

    Всего записей: 129 | Зарегистр. 20-01-2007 | Отправлено: 01:28 13-03-2010
    Odysseos



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Wahnsinn
     
    Поверьте - раскодируется без проблем Я сам так храню несколькокилобайтные блоки. Другой вопрос - что оно, вероятно, обрезалось, по указанным причинам.

    Всего записей: 186 | Зарегистр. 02-01-2006 | Отправлено: 02:03 13-03-2010
    Aleksandr N

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Odysseos
    Да и я сам менял, но вот что-то свойство Break не получается придумать...
    Вот я и подумал, может кто-то уже придумал???!!!

    Всего записей: 1665 | Зарегистр. 25-02-2008 | Отправлено: 03:17 13-03-2010
    Odysseos



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Aleksandr N
     
    Как мне видится - это должен быть наследник от separator'а, на который соответствующим образом будет реагировать (пересчитывая размеры и перенося в новую колонку последующие item'ы) изменененный TTBPopupMenu (или - опять же - его наследник).

    Всего записей: 186 | Зарегистр. 02-01-2006 | Отправлено: 11:27 13-03-2010
    Aleksandr N

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Odysseos
    В том-то и фокус, представить можно, а вот практически... Вот только интересно, почему автор говорит, что это пока невозможно.

    Всего записей: 1665 | Зарегистр. 25-02-2008 | Отправлено: 13:53 13-03-2010
       

    Страницы: 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 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101

    Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Delphi (до версии 2009) - часть 5
    ShIvADeSt (19-05-2010 05:14): Продолжаем тут http://forum.ru-board.com/topic.cgi?forum=33&topic=11215


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

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

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru