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

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



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Maks150988
    Чтобы не заморачиваться с типами, можно воспользоваться вариантом, предложенным ValidolX, только использовать не константу а переменную:

    Код:
     
    var
      i: Byte;
      MyArray: array [0..2] of HDC;
    begin
       // инициализация массива:
      MyArray[0]:= ptp.normalDC;
      MyArray[1]:= ptp.pressDC;
      MyArray[2]:= ptp.maskDC;
      // Использование:
      for I := 0 to 2 do
        IntToStr(MyArray[i]);
      // или, принимая во внимание, что индекс самого меньшего элеменат массива = 0, так (так ты не привязываешься к количеству элементов массива и если оно изменится, код все равно будет работать):
      for I := 0 to High(MyArray) do
        IntToStr(MyArray[i]);
    end;
     


    Цитата:
    Я просто не знаю все возможности, стараюсь осваивать

    Вот и повод освоить
     
     
    Добавлено:
    ValidolX

    Цитата:
    а самом деле меньше - 1 К (килобайт)

    Точно, спасибо за поправку - зарапортовался
     
    Maks150988
    глянул твой код, действительно, нормально
    а вот вариант с массивом:

    Код:
     
    var
      MyArray: array [0..2] of HDC;
    // где-то при инициализации элемента управления ты заполнил значениями элементы массива
     
    procedure Trackbar_SetBmpImage(hWnd: THandle; pszFilePath: PWideChar; IsImgThumb: Boolean; hdcIn: HDC; var iWidth, iHeight: Integer);
    var
      dc  : HDC;
      himg, himgt: HBITMAP;
      i: Byte;
     
    begin
      dc := GetDC(hWnd);
      //
      himg := LoadImageW(0, pszFilePath, IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);
      if (himg <> 0) then
        begin
          //
          case IsImgThumb of
            TRUE:
              begin
              GetBitmapWidthHeightW(himg, iWidth, iHeight);
              iWidth := iWidth div 3;
              //
              for I := 0 to High(MyArray) do
              begin
                himgt := GetBitmapFromHbitmap(himg, i+ 1, iWidth, iHeight);
                if (himgt <> 0) then
                begin
                  SelectObject(MyArray[i], himgt);
                  DeleteObject(himgt);
                end;
              end;
     
              end;
            FALSE:
              begin
                GetBitmapWidthHeightW(himg, iWidth, iHeight);
                SelectObject(hdcIn, himg);
              end;
          end;
          //
          DeleteObject(himg);
        end;
      //
      ReleaseDC(hWnd, dc);
    end;
     

    Всего записей: 438 | Зарегистр. 08-11-2005 | Отправлено: 23:48 09-11-2009 | Исправлено: psa1974, 00:16 10-11-2009
    Maks150988



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

    Всего записей: 836 | Зарегистр. 23-12-2006 | Отправлено: 00:04 10-11-2009
    psa1974



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Maks150988
    Еще замечание насчет контекстов: перед удалением объекта, выбранного в контекст, надо выбрать старый контекст назад, поскольку удалять можно только те объекты, которые не выбраны ни в одном контексте:
     

    Код:
     
      // выбираем новый объект в контекст, старый запоминаем:
      himgtOld:= SelectObject(MyArray[i], himgt);
      // что-то делаем...
      ...
      // выбираем старый объект в контекст himgtOld, а тот с которым мы работали (himgt), удаляем:
      DeleteObject(SelectObject(MyArray[i], himgtOld));
     

    Всего записей: 438 | Зарегистр. 08-11-2005 | Отправлено: 00:20 10-11-2009 | Исправлено: psa1974, 15:49 12-11-2009
    ValidolX

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Maks150988
     
    удачи!
    пиши еще
     
    Джентельмены, а может кто помочь мне с дебугером в Дельфи Лайт? (кидал проблему выше)

    Всего записей: 1719 | Зарегистр. 22-07-2001 | Отправлено: 00:25 10-11-2009
    psa1974



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

    Цитата:
    не работает подсказка дебагера

    а с самого начала работало?
    На всякий проверь в "Tools"->"Options", и дальше в диалоге: "Editor Options"->"Code Insiqht" состояние опции "Code parameters" (это в Дельфи 2007 так, в Дельфи 2006 путь к опции может быть чуть другим, но смысл тот же)... Включена?

    Всего записей: 438 | Зарегистр. 08-11-2005 | Отправлено: 00:54 10-11-2009
    ValidolX

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    psa1974
     
    да, все на месте. вот даже так -  
     
    http://tinypic.com/r/30mr7ys/4
     
    меня бесспокоит вот етот коментарий в редми к дельфи-лайт -  
     
    - Refactoring, ErrorInsite, and ActiveX support have been disabled, as they
      require the .NET Framework.
     
    и вот ето  
     
    NOTE: There is no context-sensitive help, sorry. However, you can access the
    help from the Delphi main menu or clicking on the Help icon in the toolbar.
     

    Всего записей: 1719 | Зарегистр. 22-07-2001 | Отправлено: 01:24 10-11-2009
    psa1974



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ValidolX
    По-русски: "Рефакторинг, ErrorInsite и поддержка ActiveX отключены, так как они требуют .NET Framework". Наверное, в этом причина, потому что все настроки у тебя включены.
    И контекстно-зависимая справка согласно приведенному примечанию, не должна работать.
    Я думаю, лучше всего тебе ответит автор Лайтовской сборки - feandy. Запости этот вопрос ему в ПМ...

    Всего записей: 438 | Зарегистр. 08-11-2005 | Отправлено: 02:00 10-11-2009
    ValidolX

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    psa1974
     
    имею две сборки дельфи-лайта
    DELPHI 10 LITE v3.0 [SP1 Integrated]  
    и
    DELPHI 10 LITE v4.1 [SP2 Integrated, HotFix Rollup 2 Integrated]
     
    автор не указан ни в одной, к сожалению, но похоже автор 1 и тот-же (упаковка инстала и текст - похожи)
    откуда знаешь что ето feandy? (зуб даешь ? )
     
    2) мож есть где ветка форума по лайт сбокам здесь?
     
    из всего приведенного только ErrorInsite OFF может (наверно) быть связана с дебугером.... все остальное имхо не то.

    Всего записей: 1719 | Зарегистр. 22-07-2001 | Отправлено: 02:27 10-11-2009
    psa1974



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

    Цитата:
    зуб даешь ?

    Даю! В подтверждение - ссылка  RAD Studio  2009 Lite (v12.0.3370.20184) из шапки топика Embarcadero (CodeGear) RAD Studio 2009, в которой видно авторство Лайтовской сборки, а также свежайшее сообщение feandy: http://forum.ru-board.com/topic.cgi?forum=35&topic=44011&start=920#2
    из которого следует, что автор Лайтовской сборки именно он (так же как и портабле-версии)...
    Насчет
    Цитата:
    мож есть где ветка форума по лайт сбокам здесь?
    не скажу, просто не интересовался.

    Всего записей: 438 | Зарегистр. 08-11-2005 | Отправлено: 02:48 10-11-2009
    data man



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

    Цитата:
    мож есть где ветка форума по лайт сбокам здесь?

    Есть Delphi Lite

    ----------
    Любой достаточно развитый тролль неотличим от подлинно помешанного на какой-либо идее.
    Кекс. Антибиотики. Ламбада.

    Всего записей: 1696 | Зарегистр. 13-10-2005 | Отправлено: 09:13 10-11-2009
    Cryogen2003



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Люди добрые, помогите. Есть принтер для печати штрих-кодов. Как из дельфей запихнуть в него какой-то штрих-код  на печать.

    ----------
    Холодильники мы

    Всего записей: 745 | Зарегистр. 08-12-2004 | Отправлено: 09:45 10-11-2009
    onewin

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

    Всего записей: 41 | Зарегистр. 26-10-2005 | Отправлено: 10:42 10-11-2009
    Cryogen2003



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    onewin
    Секунду, а разве на такой принтер надо отправлять изображение штрих-кода, а не определенную последовательность символов?

    ----------
    Холодильники мы

    Всего записей: 745 | Зарегистр. 08-12-2004 | Отправлено: 10:45 10-11-2009
    onewin

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Ага, так Вы имели ввиду спец принтер. Так, насколько я знаю, эти принтеры могут печатать не только штрих-код но и любой текст и картинки. Все зависит от модели.  
    На пишите модель принтера, может что прийдет на ум. )

    Всего записей: 41 | Зарегистр. 26-10-2005 | Отправлено: 11:24 10-11-2009
    Cryogen2003



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    onewin
    TLP 2844. Брался на зебре, пока на тесты еще не дали, чтобы программить под него.

    ----------
    Холодильники мы

    Всего записей: 745 | Зарегистр. 08-12-2004 | Отправлено: 11:28 10-11-2009
    onewin

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Это же вроде тоже зебра. Под нее непрограммил.  
    А на офсайте есть мануал по программированию.

    Всего записей: 41 | Зарегистр. 26-10-2005 | Отправлено: 11:57 10-11-2009
    Cryogen2003



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    onewin
    А ссылкой пульнуть не можешь? Не нашел я чего-то мануала

    ----------
    Холодильники мы

    Всего записей: 745 | Зарегистр. 08-12-2004 | Отправлено: 12:05 10-11-2009
    onewin

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    www_zebra_com/id/zebra/na/en/index/products/printers/desktop/tlp2844.4.tabs.html

    Всего записей: 41 | Зарегистр. 26-10-2005 | Отправлено: 12:06 10-11-2009
    Cryogen2003



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    onewin
    Спасибо.  
     
    Кстати, если смотреть по этой ссылке, то там язык команд EPL2. Не уж то никто не программил на нем?

    ----------
    Холодильники мы

    Всего записей: 745 | Зарегистр. 08-12-2004 | Отправлено: 12:09 10-11-2009
    Kursist



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Помогите, пожалуйста.
    Есть форма, на ней текст выводится средствами ОпенГЛ.
    Нужно ввести 8 символов с клавиатуры.
     
    (а вводится и сохраняется только один символ)
     
    //------------------INSERT GAMER NAME----------------------------------------------
    procedure TFrmMain36.FormKeyPress(Sender: TObject; var Key: Char);
    var
     S:Char;
     Str:string[8];
     loop:Integer;
    begin
      if EditNameMode then
       for loop := 1 to 8 do
        begin
        Str:=Str[loop]+Key;
        //Str[loop]:=Key;
        end;
       if Str<>'' then
        begin
        GamerNameString.Clear;
        GamerNameString.Add(Str);
        GamerNameString.SaveToFile('resorces/gamerName.txt');
        apStrings.Strings.Strings[13]:=GamerNameString.Strings[0];
        end;
     
    end;

    Всего записей: 137 | Зарегистр. 12-07-2004 | Отправлено: 14:07 12-11-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