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

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

    Full Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    не могу понять чем занят 127.0.0.1:80
     
    netstat -ano
     
     UDP    127.0.0.1:1900
     UDP    127.0.0.1:48200
     UDP    127.0.0.1:48201
     UDP    127.0.0.1:48202
     UDP    127.0.0.1:52709
     UDP    127.0.0.1:52710
     UDP    127.0.0.1:52711
     UDP    127.0.0.1:52712
     UDP    127.0.0.1:52713
     UDP    127.0.0.1:52714
     UDP    127.0.0.1:52715
     UDP    127.0.0.1:52716
     UDP    127.0.0.1:54801
     UDP    127.0.0.1:54802
     UDP    127.0.0.1:54805
     UDP    127.0.0.1:54806
     UDP    127.0.0.1:54807
     UDP    127.0.0.1:54808
     UDP    127.0.0.1:56356
     UDP    127.0.0.1:56357
     UDP    127.0.0.1:57540
     UDP    127.0.0.1:65000

    Всего записей: 466 | Зарегистр. 31-10-2006 | Отправлено: 08:43 27-04-2016
    Frodo_Torbins

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    GRom V
    В Process Explorer можно еще глянуть, только он должен быть с правами админа запущен.

    Всего записей: 2319 | Зарегистр. 24-05-2007 | Отправлено: 13:26 27-04-2016
    GRom V

    Full Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    нашел - system занимал 80 порт - вылечил))

    Всего записей: 466 | Зарегистр. 31-10-2006 | Отправлено: 01:14 28-04-2016
    XenoZ



    Gold Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    All
    Возникла необходимость работы с WideString в D7. Не нашел ни одной функции, корректно работающей именно с WideString. Действительно все так грустно или я что-то пропустил?
    (обычные функции, использующие в качестве параметра тип String, безбожно корежат трехбайтовые символы)

    ----------
    А оно мне надо?..

    Всего записей: 5478 | Зарегистр. 29-03-2006 | Отправлено: 13:45 01-05-2016
    Frodo_Torbins

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    XenoZ
    В старых версиях использовалась библиотека Tnt Unicode Controls, если кому нужен был юникод. Сейчас она платная, но раньше была фришной, и ту версию еще можно найти.
    Кроме того, в библиотеке mORMot есть набор функций для работы со строками в UTF8.

    Всего записей: 2319 | Зарегистр. 24-05-2007 | Отправлено: 20:22 01-05-2016
    XenoZ



    Gold Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Frodo_Torbins
    Библиотека есть, из нее установлено TntUnicodeVcl_D70.dpk, но вопроса это не решает. По сути, мне нужны Wide-аналоги функций:
    StringReplace, Copy, LeftStr, RightStr, варианты Trim etc.
    Если не сложно, ткни носом.

     
    UPD.
    В принципе, вопрос снимается, вроде начал разбираться.

    ----------
    А оно мне надо?..

    Всего записей: 5478 | Зарегистр. 29-03-2006 | Отправлено: 21:01 01-05-2016 | Исправлено: XenoZ, 12:33 02-05-2016
    XenoZ



    Gold Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    All
    Возможно ли в D7 заставить дочернюю форму корректно отображаться в режиме "StayOnTop" и без кнопки на панели задач? (главная форма в режиме "Normal")

    ----------
    А оно мне надо?..

    Всего записей: 5478 | Зарегистр. 29-03-2006 | Отправлено: 22:43 09-09-2016
    Aleksandr N

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Здесь есть те кто использует NativeXml с www.simdesign.nl ?

    Всего записей: 1665 | Зарегистр. 25-02-2008 | Отправлено: 02:10 12-09-2016
    exteris

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

    Цитата:
    Здесь есть те кто использует NativeXml с www.simdesign.nl ?

    Есть.

    Всего записей: 382 | Зарегистр. 14-04-2003 | Отправлено: 08:24 12-09-2016
    Aleksandr N

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

    Всего записей: 1665 | Зарегистр. 25-02-2008 | Отправлено: 10:31 12-09-2016 | Исправлено: Aleksandr N, 18:24 13-09-2016
    Frodo_Torbins

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    XenoZ
    Думаю можно так: http://www.transl-gunsmoker.ru/2008/12/blog-post_08.html или флагом WS_EX_TOOLWINDOW.

    Всего записей: 2319 | Зарегистр. 24-05-2007 | Отправлено: 13:54 12-09-2016
    svs123456789

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

    Всего записей: 2941 | Зарегистр. 10-04-2003 | Отправлено: 15:16 12-09-2016
    XenoZ



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

    Цитата:
    флагом WS_EX_TOOLWINDOW

    То, что нужно, спасибо.
    (вот говорила мне мама: "Учи MSDN!"...)

    ----------
    А оно мне надо?..

    Всего записей: 5478 | Зарегистр. 29-03-2006 | Отправлено: 17:12 12-09-2016
    StalkerSoftware



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

    Цитата:
    Halcon использовал раньше, с удовольствием от него избавился. У меня
    стоял вроде как последний, он не поддерживал поля datetime, еще я не  
    мог null значения записать. Да и работал он в десять раз медленнее.  

    Можно попробовать ApolloVCL (платный http://www.apollodb.com) или TDBF или XBase от Jamie Hart.

    Всего записей: 683 | Зарегистр. 23-06-2008 | Отправлено: 13:10 10-10-2016
    bhh4719

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

    Цитата:
    а как проверить , при чтении ячейки из excel ,  что ячейка пустая ?

     
    function VarIsNullEmpty(const V: Variant)
      : Boolean;
    begin
      Result := VarIsNull(V) or VarIsEmpty(V) or (VarToStr(V) = '');
    end;
     
    var
      x: variant;
      i,j: integer;
    begin
      x := CreateOleObject('Excel.Application');
      ...
      if VarIsNullEmpty(x.ActiveSheet.Cells.Item[i,j].Value) then
       WriteLn('Empty');
      ...
    end;
     
    можно так например
     

    Всего записей: 3 | Зарегистр. 15-01-2007 | Отправлено: 12:57 11-10-2016
    StalkerSoftware



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Hi All,
     
    Word 2003 SP3.
     
    Есть такой код:

    Код:
     
     var
        FOleWord :ОleVariant;
     
     try
       FOleWord := GetActiveOleObject('Word.Application');
     except
       FOleWord := CreateOleObject('Word.Application');
     end;
     
     FOleWord.Documents.Add(EmptyParam);
     
     FOleWord.Selection.InsertFile(FileName := 'd:\x.doc');
     FOleWord.ActiveWindow.Activate;
     FOleWord.Activate;
     

    На компе не запущена ни одна копия Word'а.  
    Запускаю код. Он запускает Word, добавляет пустую страницу и открывает в ней файл, делает Word видимым.
     
    Я переключаюсь в Word и вызываю диалог поиска (Ctrl+F).
    То есть в Word'e становится активным (выделенный заголовок окна) именно диалог поиска - ЭТО ВАЖНО.
     
    Запускаю свой код повторно и на строке с Documents.Add получаю ошибку класса EOleException с текстом  

    Цитата:
    Метод или свойство Add недоступны, потому что диалоговое окно ''Найти'' или ''Заменить'' открыто.

    Если же после вызова диалога поиска ткнуть мышкой на само окно Word'а (то есть вернуть фокус основному окну Word'а), то данной ошибки не происходит.
     
     
    Вопрос: Как эту ошибку обойти ? Может как то можно программно перенести фокус с диалога поиска на само окно Word'a ?

    Всего записей: 683 | Зарегистр. 23-06-2008 | Отправлено: 13:07 12-10-2016
    RuzzzStudios



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Сделал портативную версию с помощью инструмента Сameyo
    Delphi_7.1_Personal.cameyo_UNREG.7z https://yadi.sk/d/vYHR8oS9xCUSy
     
    Вводить ключ и регистрироваться нужно самостоятельно. В сети есть ключи, а без регистрации можно обойтись, если что. Но если есть свой ключ то инструкция как его внедрить:
     
    1. Добавляем свой ключ, создав reg файл с данными своего ключа:
        [HKEY_CURRENT_USER\Software\Borland\Delphi\7.0]
        "LMLIC"="NNNN-NNNNNN-NNNNNN-NNNN"
        "LMKEY"="NNN-NNN"
        И сюда
        [HKEY_LOCAL_MACHINE\SOFTWARE\Borland\Delphi\7.0]
        "LMLIC"="NNNN-NNNNNN-NNNNNN-NNNN"
        "LMKEY"="NNN-NNN"
    2. Открываем для редактирования образ с помощью Сameyo
    3. Во вкладке реестра внутри Сameyo импортируем ранее созданный reg файл
    4. Сохраняемся
     
    Можно не внедрять, тогда ключ будет работать до тех пор пока вы не удалите папку ..._files рядом с exe файлом, там хранятся распакованные за-виртуализированные файлы и реестр.
     
    Если есть желание пройти онлайн регистрацию, то можно вытащить файлы:
    registry.slm
    registry.dat
    Из папки Delphi_7.1_Personal.cameyo.files\PROG\%Profile%\.borland\
    И внедрить через редактор Сameyo в папку %Profile%\.borland\
     
    ---
    Все это подходить и для Ent версии
     
    UPD Наверное не в эту ветку нужно было? Пошел искать ветку с lite версиями
     
    Добавлено:
    Ну на всякий случай оставлю ссылку на оф. инсталлятор Borland Delphi 7 Personal
    Может кому пригодиться. Дело в том что давненько была раздача ключей, и возможно кто-то еще захочет использовать этот инструмент со своим ключем.
     
    Name: Borland Delphi 7 Personal.zip
    Size: 53.7 MB
    MD5:  E762AB2C75BE5CBD5534EE59BC78E605
    Link: https://mega.nz/#!UIREmSQA!_olS63nWcDR3OKhWBOEdUvs-YyftnviJo8zduI8DVWk
     
    Name: Borland Delphi 7 Personal Update 1.1.exe
    Size: 8.0 MB
    MD5:  97BC6965CEA4A08BB6B88D7EE26BCFE7
    Link: https://mega.nz/#!dYojjRoJ!VdX7X5tBfjKQF0ayzyiXj0fvTlnHlNQtLQ9s3K_6dxQ

    Всего записей: 345 | Зарегистр. 25-09-2006 | Отправлено: 09:34 20-10-2016 | Исправлено: RuzzzStudios, 09:38 20-10-2016
    StalkerSoftware



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Hi All,
     
    Delphi 7.1, Indy 9.00.10 (родная), IdIcmpClient
     
    С использованием компонента IdIcmpClient делаю пинг
    IdIcmpClient.Host := 'xxx.xxx.xxx.xxx';
    IdIcmpClient.Ping;
     
    Проблема в том, что для пинга на Висте и выше нужны повышенные привилегии для программы (скажем если запустить программу с пингом от имени администратора, то все работает нормально).
     
    Вопрос: Можно ли как то из программы временно (на время пинга) повысить свои привилегии, а после окончания пинга вернуть их обратно ?

    Всего записей: 683 | Зарегистр. 23-06-2008 | Отправлено: 13:14 25-10-2016
    asadaf



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

    Цитата:
    ...
    Вопрос: Можно ли как то из программы временно (на время пинга) повысить свои привилегии, а после окончания пинга вернуть их обратно ?
    Используй вместо IdIcmpClient ф-ю IcmpSendEcho().
     
     
     
    Добавлено:
    StalkerSoftware

    Цитата:
    Вопрос: Как эту ошибку обойти ? Может как то можно программно перенести фокус с диалога поиска на само окно Word'a ?
    А через FindWindow не получается найти Handle окна?

    Всего записей: 138 | Зарегистр. 27-01-2007 | Отправлено: 14:37 25-10-2016
    StalkerSoftware



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

    Цитата:
    Используй вместо IdIcmpClient ф-ю IcmpSendEcho().  

    А с какой версии Indy появилась IcmpSendEcho ?  
    В версии D7 (9.00.10) такого нет.
     

    Цитата:
    А через FindWindow не получается найти Handle окна?  

    Можно попробовать, спасибо за совет.
    Хотя возможны ложные срабатывания, ведь окно с заголовком "Найти и заменить" может быть не только у Word/Excel.

    Всего записей: 683 | Зарегистр. 23-06-2008 | Отправлено: 18:43 03-11-2016
    Открыть новую тему     Написать ответ в эту тему

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