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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
    volser

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Mazyan
    Какая БД?

    Всего записей: 713 | Зарегистр. 31-03-2006 | Отправлено: 20:13 12-07-2009
    ShIvADeSt



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

    Цитата:
    Имеется База данных, в ней 3 связанные таблицы : table1,2,3
    надо сделать так чтобы в таблице3 подсчитывалась сумма всех записей поля "общий вес" и это значение присвоить полю "вес каркаса" таблицы2, так же сумму всех записей поля "вес каркасса"  таблицы2 присвоить полю "расход металла" таблицы1.  

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

    ----------
    И создал Бог женщину... Существо получилось злобное, но забавное...

    Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 02:00 13-07-2009
    Mazyan



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

    Цитата:
    Какая БД?

    paradox, если я вас правильно понял.
     
    связь таблиц  
    table1(марка изделия, бетон марки, объем, расход металла) ->  
    table2(марка изделия, марка каркаса, количество, вес каркасса) ->  
    table3(марка каркасса, кол.стержней, диаметр, класс стали, длина, вес 1 пог.м./кг, вес 1 стержня, общий вес)
     
    Жирным отмечены поля по которым связаны таблицы, курсивом поля те самые поля которых нужно посчитать сумму всех записей и присвоить полю вышестоящей таблицы.

    Всего записей: 29 | Зарегистр. 11-02-2005 | Отправлено: 09:08 13-07-2009 | Исправлено: Mazyan, 09:26 13-07-2009
    avital

    Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Всем привет. Мне нужно сделать оснастку (snap-in) для mmc (microsoft mangement consol) в delphi. Кто-нить может подсказать с чего начать?

    Всего записей: 296 | Зарегистр. 30-10-2003 | Отправлено: 10:50 13-07-2009
    JohnSilver182



    BANNED
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Hi All
    Создать  компонент в RUN-TIME это  как 2 пальца ,  но вот  как создать события этого компонента ???

    Всего записей: 829 | Зарегистр. 03-06-2009 | Отправлено: 15:25 13-07-2009
    delover

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    JohnSilver182
    1. Клади кнопку на форму и кликай по Button1 двойным клацем. Получил:
    >procedure TForm1.Button1Click(Sender: TObject);
    >begin
    >  // <-- Сюда вставим коммент чтоб не удаляла автоматически.
    >end;
    2. После создания ран-тайм компонента FLabel1 присваиваем:
    > FLabel1.OnExit := Self.Button1Click;
    3. Удаляем кнопку.
    4. Переименовываем Button1Click в Label1Exit;
    5. Пишем внутри события, что нам надо.

    Всего записей: 1395 | Зарегистр. 25-06-2007 | Отправлено: 16:11 13-07-2009 | Исправлено: delover, 16:12 13-07-2009
    JohnSilver182



    BANNED
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    delover
    ОЙ что то сложно .  Я  хотел сказать  события для не визуальных компонентов.

    Всего записей: 829 | Зарегистр. 03-06-2009 | Отправлено: 16:35 13-07-2009
    NOwlar



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    JohnSilver182
    Только ручками. Пишется метод обработки события, например:

    Код:
    procedure TForm1.MyEventHandler (Sender: TObject);
    begin
      MessageDlg( 'MyEventHandler', mtInformation, [mbOK], 0 );
    end;

     
    А затем простым присвоением назначаем этот обрабочик событию компонента:

    Код:
    SomeComponent.EventHandler := MyEventHandler;

     
    Список параметров в методе обрабоки события, естественно, должен соостветствовать типу конкретного события компонента.

    Всего записей: 170 | Зарегистр. 25-01-2006 | Отправлено: 17:38 13-07-2009
    Frodo_Torbins

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    JohnSilver182
    Переходите на вкладку Events дважды клацаете по нужному событию. Оно?

    Всего записей: 2318 | Зарегистр. 24-05-2007 | Отправлено: 20:10 13-07-2009
    JohnSilver182



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

    Цитата:
    Переходите на вкладку Events дважды клацаете по нужному событию. Оно?

     
    В смысле смотрим например  
     
    procedure TForm1.pFIBDatabase1AfterConnect(Sender: TObject);
    begin
     
    end;
     
    Делаю
     
    .........
    Var pFib:TpFIBDatabase
    ................
    pFib:=TpFIBDatabase.create(nil);
    .............................
     
    procedure pFibAfterConnect(Sender: TObject);
    begin
     
    end;
     
     
    ИЛИ это в  классах бесполезно делать ???????
     
     

    Всего записей: 829 | Зарегистр. 03-06-2009 | Отправлено: 20:25 13-07-2009
    Frodo_Torbins

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    JohnSilver182
    NOwlar вам уже все описал. Добавлю только, что pFibAfterConnect обязательно должен быть методом класса. Например методом самой формы: procedure TForm1.MyEventHandler(Sender: TObject).

    Всего записей: 2318 | Зарегистр. 24-05-2007 | Отправлено: 23:33 13-07-2009
    DmitryKz

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Ребята, посоветуйте способ решения такой задачи: есть древне-греческий текст в бета-коде: вот что он из себя представляет:
       
    А вот тот самый текст, который он содержит:
       
    Как видно, бета-код использует значки для отображения  
    диакритики, потом звездочку для показа, что следущий символ заглавный, еще некоторые служебный символы, ну, например, {1 - знак, что начинается текст заголовка, код #40 - абзац, #80 - новая строка. В-общем, расшифровку бета-кодов я в инете нашел. Мне нужно написать программу для отображения этого текста в Юникоде. Проблема только в решении: что здесь грамотно использовать? Я склоняюсь к написанию нечто вроде анализатора, но ничего не знаю о них - даже не представляю с чего начать. Есть еще вариант с использованием регулярных выражений, но что-то мне подсказывает, что это не самый оптимальный вариант будет.
    Кто что может сказать по этому поводу?
    PS: второй скриншот из программы, которая работает с этим бета-кодом, но исходником у меня, да и нигде в Инете, нет.

    Всего записей: 3144 | Зарегистр. 29-09-2005 | Отправлено: 01:23 14-07-2009 | Исправлено: DmitryKz, 01:25 14-07-2009
    NOwlar



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    JohnSilver182
    Если совсем не понятно, то в вашем случае должно быть:

    Код:
    procedure TForm1.pFibAfterConnect(Sender: TObject);  
    begin  
      // тра-ля-ля, мы подключились, возьмёмся за обработку
      // здесь какой-нибудь код  
    end;

     
    и, например, в событии обработки создания формы (OnCreate, назначаятся на вкладке Events для самой формы)

    Код:
    procedure TFom1.FormCreate (Sender: TObject);
    begin
      pFib.AfterConnect := pFIBDatabase1AfterConnect;
    end;

     
     
     
     
    Добавлено:
    DmitryKz
    Мануал BetaCode To Unicode
    Самое простое - табличный преобразователь: пусть будет табличка соответсвий, которую можно подглядеть тут. а дальше тупо сравнивать каждый элемент таблички (насколько я понял, она составлена в соответсвии с частотой появления буковок в текстах, хотя, могу и ошибаться) с началом входного потока (строки), нашли соответсвие - бинго, из входного потока удали, в выходной написали юникод символ, не очень быстро, зато просто.

    Всего записей: 170 | Зарегистр. 25-01-2006 | Отправлено: 01:31 14-07-2009
    Aleksandr N

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Подскажите как можно сделать в FastReport такое:  
    Есть база данных из которой берутся данные. Лист разбит на два столбца. Данные печатаются подобным образом:  
     
    ААА   БББ  
    ВВВ   ГГГ  
    ДДД   ЕЕЕ  
     
    При печати на обратной стороне данные печатаются так-же, но получается, что на данных ААА с обратной стороны печатается БББ, а нужно чтобы было ААА. Тоесть нужно перевернуть данные на обратной стороне.  
     
    Может скрипт какой-то нужен? Не подскажете?

    Всего записей: 1665 | Зарегистр. 25-02-2008 | Отправлено: 02:48 14-07-2009
    ShIvADeSt



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

    Цитата:
    Кто что может сказать по этому поводу?  

    Насколько большой словарь слов в бета-коде? Можно ли сделать однозначный файл (таблицу) соответствий кода и символа? Если да - то считываем файл с бета кодом, потом пробегаемся по все элементам таблицы и делаем ReplaceStr бета кода на юникод. Далее отображаем. Сначала лучше всего разобраться с обычными буквами, а потом уже добивать более редкие варианты, при этом сложным вариантам давать приоритет выше и обрабатывать вначале. Например
    есть у нас lymbda и *)lymbda - при этом вторая заглавная. Тогда при анализе текста вначале заменяем все заглавные (ставим их вначало таблицы), и только потом обычные буквы. Если не понятно - пиши.

    ----------
    И создал Бог женщину... Существо получилось злобное, но забавное...

    Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 03:14 14-07-2009
    DmitryKz

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ShIvADeSt
    Представление о словаре дает питоновский код, предоставленный NOwlar (конечно, там все построено не по частоте "буковок", а по алфавиту, но греческому), т. е. около 280 соответствий.
    Спасибо, попробую этот способ, хотя он, наверно, действительно будет небыстрым.

    Всего записей: 3144 | Зарегистр. 29-09-2005 | Отправлено: 13:58 14-07-2009
    NOwlar



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ShIvADeSt
    ReplaceStr с разобором сначала простых вариантов может не покатить, например, заглавные буковки с крышечками и апоспрофами. Там признак заглавного * идёт всегда до буквы, а признак апострофов и крышечек разных - может быть как до, так и после (допустимо и то и другое).
    Табличку и правила перевода можно поглядеть по ссылкам в моём посте выше.

    Всего записей: 170 | Зарегистр. 25-01-2006 | Отправлено: 14:02 14-07-2009
    DmitryKz

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    NOwlar
    Да, спасибо, правила-то перевода я уже давненько нашел (именно с текстами TLG я и работаю и мой пример оттуда), а вот практически готовой таблички, увы, не попадалось

    Всего записей: 3144 | Зарегистр. 29-09-2005 | Отправлено: 14:24 14-07-2009 | Исправлено: DmitryKz, 14:26 14-07-2009
    StalkerSoftware



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Hi всезнающий All,
     
    Есть стандартные TEdit или TMemo. У них есть стандартное (системное) контекстное меню для работы с текстом (вставить, скопировать, выделить, удалить и т.д.).
    Вопрос: Как можно в это системное меню добавить свой пункт меню ?

    Всего записей: 682 | Зарегистр. 23-06-2008 | Отправлено: 15:17 14-07-2009
    Frodo_Torbins

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    StalkerSoftware
    Попробуйте через апи: GetMenu.

    Всего записей: 2318 | Зарегистр. 24-05-2007 | Отправлено: 15:46 14-07-2009
       

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