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

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

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    volser
    Date Controls DBGrid
    Date Access DataSource
    BDE Table

    Всего записей: 3379 | Зарегистр. 20-05-2006 | Отправлено: 09:52 08-07-2009
    volser

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    OOD
    В dbf файле выставлен правильный charset?

    Всего записей: 713 | Зарегистр. 31-03-2006 | Отправлено: 11:48 08-07-2009
    OOD

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    volser
    Спасибо разобрался нужно было настроить драйвер в BDE Administrator на русскую кодировку

    Всего записей: 3379 | Зарегистр. 20-05-2006 | Отправлено: 11:57 08-07-2009
    FalconGuy



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Иммется программа написанная на D7. При запуске под ВинХР Сп3 на коре дуо 8500 выдает ошибку Runtime 216 - на старом атлон хп 1700 работала нормально. Есть ли универсальный патчер для решения этой проблемы - исходник и автор не доступны.

    Всего записей: 1481 | Зарегистр. 22-04-2002 | Отправлено: 12:30 08-07-2009
    volser

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    FalconGuy
    Возможно проблема в том что процессор имеет больше одного ядра. Была в нете какая то программа которая привязывала программу к конкретному ядру. Может она поможет.

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

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

    Код:
    procedure TForm1.FormCreate(Sender: TObject);
    ...
    Если подвести мышь к TObject, то покажется однострочный хинт

    Цитата:
    type System.TObject: class - System.pas (322)

    У коллеги показывает многострочный со всякими форматированиями. А если навести на Sender, то у него так-же многострочный с возможностью перехода по ссылке, а у меня нифига не показывает.
     
    Раньше и у меня были многострочные хинты, не пойму что случилось.
    Перерыл в опшинсы, пытался отрубать все установленные либы и экспёрты, нифига не помогает.

    Всего записей: 408 | Зарегистр. 16-01-2003 | Отправлено: 14:27 08-07-2009
    SIgor33

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Возник такой вопрос сохраняю в sql файл дамп таблицы у которой одно из поле varbinary(max)  с помощью TMSDump от SDAC так вот  эти двоичные данные сохраняюся до какого момента хорошо, а в конце уже идут не двоичные коды, а вот дальше пустота (длиная такая) хотя все должно закачиваться. Ну и соотвественно при восстановление ругается  и ничег не делает

    Всего записей: 652 | Зарегистр. 03-03-2009 | Отправлено: 17:16 08-07-2009
    volser

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    SIgor33
    Возможно в поле встречаются символы которые нельзя сохранить в текстовый файл. Поэтому такие проблемы.

    Всего записей: 713 | Зарегистр. 31-03-2006 | Отправлено: 17:25 08-07-2009
    AlexNMelnikov

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    SIgor33
    А длина не превышает 8000 байт?

    Всего записей: 29 | Зарегистр. 19-02-2007 | Отправлено: 17:49 08-07-2009
    SIgor33

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    volser
    Там нормальный rtf файл. Правда с таблицами. Попробую без них

    Всего записей: 652 | Зарегистр. 03-03-2009 | Отправлено: 17:50 08-07-2009
    Maks150988



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Всем привет. Объясните как разадресовать указатель, чтобы получить его тип.
     
    На си код такой:

    Код:
    LocalAlloc(LPTR, sizeof(*ppd));

    ppd - тут в нашем случае это record. Как на Делфи выполнить такое?
    Сделал так:

    Код:
    LocalAlloc(LPTR, Longint(@ppd));

     
    Но все равно немного неспокойно, а вдруг чего не так, хотя впринципе работает. Ранее использовал SizeOf заместо Longint с @, под отладчиком Делфи запускалось, а вне его - нет.

    Всего записей: 836 | Зарегистр. 23-12-2006 | Отправлено: 19:15 08-07-2009
    Frodo_Torbins

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Maks150988
    А что делает ваш код? Я бы попробовал написть так: LocalAlloc(LPTR, sizeof(ppd^));

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



    BANNED
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Hi
     
    У  меня все формы  создаются динамически.  Но  как побочный  эффект ,  нельзя обратиться  к форме по имени  Только внутри формы  использовать self  
    Не подскажите  как побороть ?
     
     
     
    procedure TDM.FormLoaderMDI (const FormName:String;mode:integer=-1;code:integer=-1;modal:integer=0;sql:string='');
    var
      I:integer;
      //F: TCustomForm;
      F:TForm;
      bExists:boolean;
    begin
    try
        bExists:=false;
        for I := 0 to Screen.FormCount - 1 do
              if  Lowercase('t'+Screen.Forms[i].Name)= Lowercase(FormName) then
                begin
                  bExists:=true;
                  F:=Screen.Forms[i];
                end;
     
        if bExists=false then F := TFormClass(FindClass(FormName)).Create(Application)
         else  f.BringToFront;
     
        if Mode<>-1 then SetStrProp(F, 'idMode', IntTostr(Mode));
        if Code<>-1 then SetStrProp(F, 'idCode', IntTostr(Code));
        if SQL<>''  then  SetStrProp(F, 'idSQL', SQL);
    finally
    end;
     
    end;

    Всего записей: 829 | Зарегистр. 03-06-2009 | Отправлено: 19:42 08-07-2009
    volser

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    JohnSilver182
    Приведи форму к соответствующему классу и работай уже с ним. Или используй интерфейсы.

    Всего записей: 713 | Зарегистр. 31-03-2006 | Отправлено: 19:53 08-07-2009
    Andrey128

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

    Код:
    HLOCAL LocalAlloc(UINT uFlags, SIZE_T uBytes);

    Насколько я понял из хелпа, вторым параметром идёт размер.
    Если ppd - это запись, то SizeOf(ppd), если ppd - это указатель на запись (например PRect), то SizeOf(ppd^).

    Всего записей: 408 | Зарегистр. 16-01-2003 | Отправлено: 19:53 08-07-2009
    JohnSilver182



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

    Цитата:
    Приведи форму к соответствующему классу

    ???????????????????????????????????????????????????????

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



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

    Всего записей: 836 | Зарегистр. 23-12-2006 | Отправлено: 20:01 08-07-2009 | Исправлено: Maks150988, 20:04 08-07-2009
    volser

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    JohnSilver182
     
    F: TMyForm;
    F := TFormClass(FindClass(FormName)).Create(Application) as TMyForm;
     
    Если общего предка нет, то тогда используй интерфейсы.

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

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    JohnSilver182
    А кто мешает присвоить форме имя? Да хоть русскими буквами.
     
     if bExists=false then  
     begin
       F := TFormClass(FindClass(FormName)).Create(Application);
       F.Name := FormName; (+Цифирь если таких форм несколько)
     end
         else  f.BringToFront;  

    Всего записей: 1395 | Зарегистр. 25-06-2007 | Отправлено: 21:28 08-07-2009
    JohnSilver182



    BANNED
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    delover ШАМАН !!!

    Всего записей: 829 | Зарегистр. 03-06-2009 | Отправлено: 22:01 08-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