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

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

    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ShIvADeSt
    с трудом верится, но наверное так и есть, у меня самого -- Д7
    всё от задачи зависит: консольный тулз или примитивная форма -- действительно хватает...
    тем более если Д не основная среда проекта (как в моём случае)

    Всего записей: 24055 | Зарегистр. 06-12-2002 | Отправлено: 16:11 06-06-2011
    GRom V

    Full Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Вопрос к гуру.. уже все перелопатил, не срастается.  
    Задача такая:
    Создаю ярлык и к нему иконку:
     
    procedure CreateLink(const PathObj, PathLink, WorkDir, Desc, IconFile, ShowCmd, Param: string);
     
    SetIconLocation( PChar( IconFile ), 0 );
     
    CreateLink('%windir%\system32\cmd.exe', ExtractFilePath(Application.ExeName)+ Edit3.text, '%currentdir%', '', ExtractFilePath(Application.ExeName)+ 'main.ico', 'SW_SHOWMINNOACTIVE', ('/c '+ '"'+Edit4.text+'"'));
     
    Интересует это: ExtractFilePath(Application.ExeName)+ 'main.ico'
    В свойствах ярлыка прописывается все равно полный путь, по этому при переносе на другую иашину иконка есесьНо пропадает, т.к путь может быть любой.
    Это скорее вопрос по винде, но мало ли..вообщем сам вопрос:
    Знает ктонить как в ярлыке прописать путь, чтоб иконку поднимал из текущей папки???
     
    Добавлено:
    Походу ярлыки понимают ток абсолютные пути...

    Всего записей: 466 | Зарегистр. 31-10-2006 | Отправлено: 16:52 06-06-2011 | Исправлено: GRom V, 17:12 06-06-2011
    ShIvADeSt



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

    Цитата:
    с трудом верится, но наверное так и есть, у меня самого -- Д7
    всё от задачи зависит: консольный тулз или примитивная форма -- действительно хватает...
    тем более если Д не основная среда проекта (как в моём случае)

    У меня на данный момент программирование - не основная работа. Поэтому Дельфи 5 хватает за глаза. А вот если бы наоборот, то наверное сидел бы на последних версиях, так как там много вкусностей.

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

    Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 05:17 07-06-2011
    akaGM

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

    Цитата:
    У меня на данный момент программирование - не основная работа

    у меня, кстати, тоже...
    просто до версии 6.0 (или 7.0?) со сборкой сторонних компонент большие траблы были,
    афаир с DesignIntf
    -LUdesignide выправлено
     


    типа осознал... :)

    Всего записей: 24055 | Зарегистр. 06-12-2002 | Отправлено: 06:40 07-06-2011 | Исправлено: akaGM, 16:21 07-06-2011
    Frodo_Torbins

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    akaGM
    Функции с переменным числом аргументов можно писать самому, если нужно.

    Всего записей: 2318 | Зарегистр. 24-05-2007 | Отправлено: 21:36 07-06-2011
    akaGM

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

    Всего записей: 24055 | Зарегистр. 06-12-2002 | Отправлено: 11:05 08-06-2011
    brookson



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Доброго всем времени суток,
     
    Помогите решить проблему, которая уже так достала....
    Есть D2006, использую стандартные компоненты для доступа к Firebird.
     
    Глюк такой. Иногда приходится менять например Ibquery.sql.text (в дизайнере).
    Работает всё себе нормально пару жней или недель.
    И вдруг в один день оказывается, что это свойство (Ibquery.sql.text) в рантайме имеет не новое значение, а старое, которое было например месяц назад и которое я поменял. В конструкторе как когда. Иногда смотрю - старое вылезло. А чаще - в конструкторе новое, а в рантайме (дебагом смотрю) - старое.
     
    Что с этим делать? Проект довольно большой, так вот взять, остановить всю работу и переползти на другие компоненты почти нереально.  
     
    Добавлено:
    Помогает лишь присвоение непосредственно во время выполнения нового значения.

    Всего записей: 139 | Зарегистр. 06-09-2007 | Отправлено: 18:22 08-06-2011
    Aladdinych



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Подскажите плз, существуют ли компоненты подобные Imagelist которые бы поддерживали форматы gif, png, jpg
     
    Добавлено:
    Подскажите плз, существуют ли компоненты подобные Imagelist которые бы поддерживали форматы gif, png, jpg

    Всего записей: 322 | Зарегистр. 18-10-2005 | Отправлено: 00:15 10-06-2011
    akaGM

    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Aladdinych
    начни искать отюда:
    http://torry.net/pages.php?s=72
     
    например, сразу же в исходниках:
    Цитата:
    ATViewer v.2.8.4
    Image: all general graphics formats: BMP JPG GIF PNG TGA TIFF... plus all formats supported by IrfanView/XnView external viewers. File is shown using ATImageBox component.

    Всего записей: 24055 | Зарегистр. 06-12-2002 | Отправлено: 00:25 10-06-2011 | Исправлено: akaGM, 00:28 10-06-2011
    Aladdinych



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Нужен невизуальный компонент, который был бы контейнером для изображений этих форматов
     
    Добавлено:
    не для отображения, а для использования другими компонентами

    Всего записей: 322 | Зарегистр. 18-10-2005 | Отправлено: 08:34 10-06-2011
    momo2000



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    procedure TForm15.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
      DataCol: Integer; Column: TColumn; State: TGridDrawState);
    const
      clPalewhite = TColor($000000);
      clPaleblack =   TColor($000000);
    begin
     
    If Column.FieldName =  'pn'  then   //Удалите эту линию, если хотете закрасить целую линию
     
    If Column.Field.Dataset.FieldbyName('pn').AsString = 'a'
      then
       If (gdFocused in State) //имеет ли ячейка фокус?
        then dbgrid1.canvas.brush.color := clBlack          //имеет фокус
        else dbgrid1.canvas.brush.color := clBlack;  //не имеет фокуса
     
    //Теперь давайте закрасим ячейку используя стандартный метод:
    dbgrid1.DefaultDrawColumnCell(rect,DataCol,Column,State)
     
    end;

     
    как добавить, чтобы сюда были включены колонки vt, sr, 4t?
     
     

    Всего записей: 1732 | Зарегистр. 14-04-2007 | Отправлено: 11:41 12-06-2011 | Исправлено: momo2000, 11:42 12-06-2011
    Frodo_Torbins

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    momo2000
    Похоже нужно добавить их в первый if.

    Всего записей: 2318 | Зарегистр. 24-05-2007 | Отправлено: 12:10 12-06-2011 | Исправлено: Frodo_Torbins, 12:18 12-06-2011
    momo2000



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

    Цитата:
    охоже нужно добавить их в первый if.

    да, но как я не пытался и через запятую и в скобках и and и or и нифига.
     
     
    Мне вообще нужно, чтобы по клику в ячеку она красилась и запоминалось, т.е. потыкал по ячейкам и создал чуть ли не рисунок. Но нигде не нашёл.

    Всего записей: 1732 | Зарегистр. 14-04-2007 | Отправлено: 12:15 12-06-2011 | Исправлено: momo2000, 12:19 12-06-2011
    Frodo_Torbins

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    momo2000
    Код в студию. А вообще вот: http://cybern.ru/delphi-dlya-nachinayushhix-urok-7-usloviya.html
    Что касается кликов, то тут нужен динамический массив со списком нажатых ячеек.

    Всего записей: 2318 | Зарегистр. 24-05-2007 | Отправлено: 12:27 12-06-2011 | Исправлено: Frodo_Torbins, 12:30 12-06-2011
    momo2000



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Frodo_Torbins
    с массивом сложно, у меня поверхностые знания delphi(
     
    я хотел потом на клик в ячейке, чтобы был символ 'a' и она будет краситься в чёрный цвет
     
    но вот со столбцами запутался, если делаю так, то  
    If (Column.FieldName =  'pn' ) and  (Column.FieldName =  'vt') then
     
    то ничего не краситься

    Всего записей: 1732 | Зарегистр. 14-04-2007 | Отправлено: 12:55 12-06-2011 | Исправлено: momo2000, 13:09 12-06-2011
    Frodo_Torbins

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    momo2000
    Вы английский знаете? "And" означает "И". Тоесть: "Если (Колонка.НазваниеПоля = 'pn') и (Колонка.НазваниеПоля = 'vt') тогда". Одновременно Колонка.НазваниеПоля не может иметь два разных значения.
    "Или" на английском будет "or".
    Вообще если у вас поверхностные знания, то найдите себе какую-нибудь книжку для новичков по делфи, можно старых версий. Тут еще можно поискать информацию: http://www.delphikingdom.com/lyceum/

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



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Frodo_Torbins
    Кажись сделал, причём нашёл более простой способ
     

    procedure TForm15.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
      DataCol: Integer; Column: TColumn; State: TGridDrawState);
    begin
    if (Column.FieldName = 'pn') then
    if (Column.Field.Dataset.FieldbyName('pn').AsString = 'a' ) then
    begin
    DBGrid1.Canvas.Brush.Color := clblack;
    DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
    end;
    if (Column.FieldName = 'vt') then
    if (Column.Field.Dataset.FieldbyName('vt').AsString = 'a' ) then
    begin
    DBGrid1.Canvas.Brush.Color := clblack;
    DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
    end;
    end;

    Спасибо за наводки!
     
    Подскажите ещё, как по клику на ячейке сразу добавить значение, в моём случае букву 'а'
     
    Вот это событие, я так понял

    procedure TForm15.DBGrid1CellClick(Column: TColumn);
    begin
     
    end;

     
    И можно ли как то сделать событие click правой кнопкой по ячейке или средней кнопкой мыша?

    Всего записей: 1732 | Зарегистр. 14-04-2007 | Отправлено: 14:23 12-06-2011 | Исправлено: momo2000, 14:34 12-06-2011
    Frodo_Torbins

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    momo2000
    Цитата:
    Подскажите ещё, как по клику на ячейке сразу добавить значение, в моём случае букву 'а'
    Вы же проверяете значение Column.Field.Dataset.FieldbyName('pn').AsString, присвойте ему новое. Только проследите чтобы в данный момент датасет был в режиме редактирования.

    Цитата:
    И можно ли как то сделать событие click правой кнопкой по ячейке или средней кнопкой мыша?
    Можно. Вешаетесь на OnMouseUp, проверяете значение параметра Button и далее DBGrid1.SelectedField...

    Всего записей: 2318 | Зарегистр. 24-05-2007 | Отправлено: 15:21 12-06-2011 | Исправлено: Frodo_Torbins, 15:22 12-06-2011
    Aladdinych



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Подскажите плз как можно такое сделать.
    Пишу приложение на Delphi 7.
    Есть основная форма приложения. Нужно в диалоге набрать текст. Для этого вызывается диаоговая форма, где и происходит набор текста. По окончанию ввода по кнопке форма закрывается. Трудность в следующем:
    1. При наборе текста, должна создаваться иллюзия, что текст набирается на рабочем поле основной формы, т.е. диалоговая форма должна быть прозрачной.
    2. Панель инструментов для управления свойствами набираемого текста находится в сновной форме, и во время набора текста она обязательно должна быть доступна.
    Как такое сделать?

    Всего записей: 322 | Зарегистр. 18-10-2005 | Отправлено: 08:37 17-06-2011
    ShIvADeSt



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

    Цитата:
    2. Панель инструментов для управления свойствами набираемого текста находится в сновной форме, и во время набора текста она обязательно должна быть доступна.  

    MDI интерфейс либо у второй формы свойство fsStayOnTop (как то так) и вызывать ее через Show а не ShowModal. Но в любом случае придется писать дополнительный код для панели инстументов чтобы она работала и во втором окне тоже (надо определять активное окно).

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

    Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 10:00 17-06-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