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

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

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

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125

Открыть новую тему     Написать ответ в эту тему

ShIvADeSt



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

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


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


    Некоторые "родственные" топики:
     
  • Вопросы по Delphi (версии 2009-2010 Weaver)
  • Вопросы по компонентам для Delphi, C++ Builder
  • Использование DevExpress
  • Вопросы по Ehlib
  • Компоненты и утилиты для Delphi/BCB/FreePascal/Lazarus - только Open Source
  • Коммерческие компоненты и утилиты для Delphi/BCB
  • кабак программистов :)
     
    См. также: Некоторые полезные ресурсы о Delphi
     
    И старайтесь, чтобы ваш код не попал сюда :)

  • Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 05:13 19-05-2010 | Исправлено: akaGM, 02:33 15-07-2020
    Sergey_Demchuk



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    А еслимне поиск надо сделать, чтобы знать где менять?

    Всего записей: 3551 | Зарегистр. 16-12-2002 | Отправлено: 12:43 30-01-2011
    Frodo_Torbins

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Sergey_Demchuk
    Для этого есть функция Pos:

    Код:
      position := Pos(#$F2, str);
      if position > 0 then
        str[position] := #$E9;

    Вообще вы бы заглянули в какой-нибудь учебник по основам языка делфи - намного быстрее получили бы ответ на свой вопрос. К примеру в книге "И. Ю. Баженова - Delphi 7. Самоучитель программиста" есть очень неплохой справочник по основным функциям и конструкциям языка. В мозг новичка оно конечно впитывается тяжело, но затраченных усилий стоит

    Всего записей: 2318 | Зарегистр. 24-05-2007 | Отправлено: 13:16 30-01-2011
    Sergey_Demchuk



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Frodo_Torbins
    Меня сбивает с толку не способ как искать, а именно как в реест внести то что мне нужно. На Inno установщике мне приходится, если значение в реестре в бинарном виде, получить значение из реестра с помощью функции RegQueryBinaryValue в строковом виде, потом переводить все в HEX, затем менять что мне нужно, потом обратно в строковый вид из HEX и прямиком в реестр,

    Всего записей: 3551 | Зарегистр. 16-12-2002 | Отправлено: 00:30 31-01-2011
    Frodo_Torbins

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Sergey_Demchuk
    А зачем вам конвертация в HEX и обратно? Со строкой можно проделывать все те же операции ничего не конвертируя.

    Всего записей: 2318 | Зарегистр. 24-05-2007 | Отправлено: 00:48 31-01-2011
    Obscenety



    Newbie
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Привет всем. Необходимо написать прогу, выполняющую SQL скрипты из базы Oracle. Скрипты постоянные, содержатся в таблице в виде анонимных блоков. Как их оттуда запустить? Пишу на Delphi 6.0, с базами ни разу не работал.

    Всего записей: 4 | Зарегистр. 18-11-2010 | Отправлено: 09:20 31-01-2011
    gturk

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Гденибудь можно найти мануал по DUnit на русском языке в котором будет написано что нибудь кроме "Ну впринципе там все точно также как и в JUnit поэтому особого смысла рассусоливать нету"

    Всего записей: 5 | Зарегистр. 26-11-2010 | Отправлено: 16:09 31-01-2011
    vlary



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Obscenety Используй ADO, и можешь работать с любой базой данных. Для начала почитай здесь: Компоненты Delphi для поддержки ADO, все остальное потом найдешь сам в сети.


    ----------
    Заслуженный SCOтовод, почетный SUNтехник и любитель Кошек

    Всего записей: 17278 | Зарегистр. 13-06-2007 | Отправлено: 16:22 31-01-2011
    Obscenety



    Newbie
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    vlary, то что через ADO это понятно. Непонятно, как запускать запрос из базы? По техзаданию скрипт не должен быть включён в тело программы, необходимо иметь возможность добавления или исключения скриптов конечным пользователем без именения исходного кода. Так бы конечно написал весь запрос в TQuery и все дела. Анонимный блок это что-то типа хранимой процедуры, как я понял?

    Всего записей: 4 | Зарегистр. 18-11-2010 | Отправлено: 07:41 01-02-2011
    delover

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

    Цитата:
    Пишу на Delphi 6.0

    Давайте я Вам подарю лицензию на Delphi 7.0 у меня их почему-то две. Ребята давайте потихоньку 60 забудем.

    Всего записей: 1395 | Зарегистр. 25-06-2007 | Отправлено: 08:22 01-02-2011
    marser

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

    Цитата:
    Скрипты постоянные, содержатся в таблице в виде анонимных блоков.
     
    Прочитайте SQL запросом PL-SQL блок из таблицы и выполните его, используя TADOQuery.

    Всего записей: 398 | Зарегистр. 29-03-2007 | Отправлено: 08:41 01-02-2011
    DokPZ

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Привет всем. У меня такой вопрос:
    Есть в программе классы Class1 и Class2, причем Class2 содержит массив объектов типа Class1. Теперь я хочу в процедурах Class1 использовать переменные из Class2. Как это сделать? Допустимо ли это в принципе?

    Всего записей: 22 | Зарегистр. 12-12-2007 | Отправлено: 10:26 01-02-2011
    Frodo_Torbins

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    DokPZ
    При инициализации объектов Class1 передайте им ссылку на экземпляр Class2.

    Всего записей: 2318 | Зарегистр. 24-05-2007 | Отправлено: 11:03 01-02-2011
    ShIvADeSt



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

    Цитата:
    Давайте я Вам подарю лицензию на Delphi 7.0 у меня их почему-то две. Ребята давайте потихоньку 60 забудем.

    Угу, забудем как мертворожденную Я до сих пор на 5 версии с фиксами последними работаю. И мне ее пока что хватает (ибо это уже давно не основная специальность, а для моих нужд Дельфи 5 за глаза).

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

    Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 11:39 01-02-2011
    DokPZ

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

    Цитата:
    DokPZ  
    При инициализации объектов Class1 передайте им ссылку на экземпляр Class2.
     

    А надо в описании Class1 как либо ссылаться на Class2?
    Можно пример какой нибудь, как это работает?
    Заранее спасибо.

    Всего записей: 22 | Зарегистр. 12-12-2007 | Отправлено: 13:54 01-02-2011 | Исправлено: DokPZ, 14:02 01-02-2011
    Frodo_Torbins

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

    Код:
    //сначала создаем контейнер
    Container := TClass2.Create;
    //теперь создаем дочерний элемент и инициализируем его
    ChildItem1 := TClass1.Create;
    ChildItem1.Cont := Container;
    //последние две операции можно заменить одной
    //если использовать конструктор с параметром:
    ChildItem2 := TClass1.Create(Container);
    //теперь можно добавлять элемент в контейнер
    Container.Add(ChildItem1);

    Всего записей: 2318 | Зарегистр. 24-05-2007 | Отправлено: 14:07 01-02-2011
    delover

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ShIvADeSt
    А XPManifest мы ручками к d5 прикручиваем? Помоему если в ресурс прикрутить то прога на d5 вообще не работает. Я понимаю что в деревнях компики в основном на XP работают, но это временно...
     
    Добавлено:
    В d6 мне не нравится графическая библиотека - она не поддерживает стандартные системные цвета. Это уже система и это уже классика, только полностью пропаченная d6 позволяет компилировать нормальную программу, но то что откомпиленно вовсе не нормально бывает.

    Всего записей: 1395 | Зарегистр. 25-06-2007 | Отправлено: 14:17 01-02-2011
    ShIvADeSt



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

    Цитата:
    А XPManifest мы ручками к d5 прикручиваем? Помоему если в ресурс прикрутить то прога на d5 вообще не работает.

    Все замечательно работает (про ресурс), плюс один компонент ставим и все отлично.

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

    Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 04:16 02-02-2011
    Maks150988



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ShIvADeSt
    А что за компонент? Я вообще извлек из ресурсов uTorrent этот xml файл. Там как раз все что нужно для комфортной работы.

    Всего записей: 836 | Зарегистр. 23-12-2006 | Отправлено: 00:26 03-02-2011
    ShIvADeSt



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

    Цитата:
    А что за компонент? Я вообще извлек из ресурсов uTorrent этот xml файл. Там как раз все что нужно для комфортной работы.

    Theme Manager от Soft Gems. Он хучит отрисовку основных контролов и отрисовывает их если надо функциями темы. Когда я просто юзал манифест, то были проблемы с лейблами и еще чем (тулбар точно в их числе). Разговор естессно про VCL, на АПИ можно самому все рисовать.

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

    Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 03:44 03-02-2011
    Sergey_Demchuk



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Ка бы то покрасивее сделать?
     

    Код:
    var AktDay,AktMonth,AktYear: String;
    Temp, IntDay, IntMonth, IntYear, HexDay, Maska, HexDataDay : String;
    REG : TRegistry;
    Buf: array[0..255] of Char;
    Temping: Char;
    ...
    IntDay:=IntToBin('27',8)
    ....
    HexDataDay:= BinToHex (IntDay);
    FillChar(Buf, SizeOf(Buf), 0);
      reg:=TRegistry.Create;
      reg.RootKey:=HKEY_LOCAL_MACHINE;
      reg.OpenKey('SYSTEM\CurrentControlSet\Data', false);
      REG.ReadBinaryData('Data', Buf, SizeOf(Buf));
      ii:=1;
      for ii:=1 to 255 do begin
      if ((Buf[ii]=#$00) and (Buf[ii+1]=#$00) and (Buf[ii+2]=#$FA)) then Buf[ii+3]:=HexDataDay;
      //buf[7]:=#$E9;
      end;

     
    Переменные Buf и HexDataDay разных типов (Char и String), поэтому Buf[ii+3]:=HexDataDay работать не будет, как проще поступить, чтобы присвоить переменной Buf[ii+3] значение переменной HexDataDay, которое в строковом виде хранит HEX значение чисда '27' (эта цифра - текущее число дня месяца и постоянно меняется).  
     
      REG.WriteBinaryData('Data', Buf, SizeOf(Buf));
      reg.CloseKey;
      reg.Free;

    Всего записей: 3551 | Зарегистр. 16-12-2002 | Отправлено: 13:09 03-02-2011 | Исправлено: Sergey_Demchuk, 13:14 03-02-2011
    Открыть новую тему     Написать ответ в эту тему

    Страницы: 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 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125

    Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Delphi (до версии 2009) - часть 6


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

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

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru