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

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



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

    Цитата:
    Ну так поставь форме свойство WindowsState := wsMaximized  

    Ставлю, оно работает ровно один раз - при создании формы. Потом, когда открыты две и более вкладок, при переходе с одной на другую, размер формы "восстанавливается" и больше не разворачивается.

    Всего записей: 236 | Зарегистр. 20-08-2003 | Отправлено: 10:38 11-08-2010
    Granmer



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

    Цитата:
    Приблизительно так:
    Код:
      Form2 := TForm2.Create(Self);
      Form2.Parent := TabSheet1;
      Form2.WindowState := wsMaximized;
      Form2.BorderStyle := bsNone; //по желанию
      Form2.Show;
    Хотя я не в курсе ваших критериев удобства.  

    Попробовал с парой окон, вроде - то что надо. Спасибо.
    Заменил только Form2.WindowState := wsMaximized;  на Form2.Align = alClient; иначе при ресайзинге табшита размер формы не изменялся.

    Всего записей: 236 | Зарегистр. 20-08-2003 | Отправлено: 14:56 11-08-2010
    Czechoslovak



    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Granmer
    Не знаю, по моему фрэймами было проще пользоваться, тем болле что это наследник TForm и в общем то для этого вроде как и предназначен

    Всего записей: 175 | Зарегистр. 27-06-2007 | Отправлено: 09:15 12-08-2010
    Sergey_Demchuk



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Можно ли обрабатывать параметры, переданные приложению? Например, запуск
    program.exe -en

    Всего записей: 3551 | Зарегистр. 16-12-2002 | Отправлено: 16:29 15-08-2010
    JohnSilver182



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

    Цитата:
    Можно ли обрабатывать параметры, переданные приложению? Например, запуск
    program.exe -en

     
    for i:=1 to ParamCount do paramstr(i) ;

    Всего записей: 829 | Зарегистр. 03-06-2009 | Отправлено: 16:34 15-08-2010
    Frodo_Torbins

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Sergey_Demchuk
    Еще в SysUtils есть интересная функция FindCmdLineSwitch.

    Всего записей: 2318 | Зарегистр. 24-05-2007 | Отправлено: 19:51 15-08-2010
    Sergey_Demchuk



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    JohnSilver182
    Frodo_Torbins
    Спасиба, поробую.
    А откуда лучше брать пути к системным папкам (Program Files, Application Data, C:\Program Files\Common Files...)?

    Всего записей: 3551 | Зарегистр. 16-12-2002 | Отправлено: 21:03 15-08-2010
    andrewtishkin



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

    Цитата:
    пути к системным папкам

    Через константы CSIDL, а начиная с Vista - можно и через KNOWNFOLDERID. Подробности и название функций для работы с ними см. в библиотеке MSDN
     
    Из реестра не брать. Это дурной вариант

    Всего записей: 781 | Зарегистр. 28-08-2008 | Отправлено: 21:12 15-08-2010
    JohnSilver182



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

    Цитата:
    Через константы CSIDL

    А МОЖНО ??????!!!!!!!!!
    А то  у меня вот для  Мои Документы

    Код:
    function GetMyDoc : string;
    var
      shellMalloc: IMalloc;
      ppidl: PItemIdList;
      PerDir: string;
      P:array[0..255] of char;
    begin
     
      if Win32MajorVersion <= 4 then
      begin
         GetWindowsDirectory(p,max_path);
         result:= Copy(strpas(p),1,3) + 'Мои Документы\';
      end
      else begin
     
      ppidl := nil;
      try
        if SHGetMalloc(shellMalloc) = 0 then
        begin
          SHGetSpecialFolderLocation(0, CSIDL_PERSONAL, ppidl);
          SetLength(Result, MAX_PATH);
          if not SHGetPathFromIDList(ppidl, PChar(Result)) then
            raise exception.create('SHGetPathFromIDList failed : invalid pidl');
          SetLength(Result, lStrLen(PChar(Result)));
        end;
     
      finally
       result:=result+'\';
       if ppidl <> nil then
             shellMalloc.free(ppidl);
      end;
     
      end;//if
    end;//proc


    Всего записей: 829 | Зарегистр. 03-06-2009 | Отправлено: 22:59 15-08-2010 | Исправлено: JohnSilver182, 23:00 15-08-2010
    ShIvADeSt



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

    Цитата:
    А МОЖНО ??????!!!!!!!!!  


    Цитата:
    SHGetSpecialFolderLocation(0, CSIDL_PERSONAL, ppidl);  

    У тебя и есть через CSIDL - в частности CSIDL_PERSONAL


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

    Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 04:15 16-08-2010
    ustassss



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Всем привет!
    Я к сожалению далёк от программирования, но очень хочу научиться!
    Огромная просьба, дайте совет: какие книжечки по изучать для начала самообучения?
    Вводные данные: Windows XP SP 3,  Delphi 7! Или нужно что то другое?

    ----------
    "Ошибке не всё равно, кто её найдёт!" - закон Мерфи

    Всего записей: 337 | Зарегистр. 28-08-2009 | Отправлено: 11:20 17-08-2010
    Frodo_Torbins

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ustassss
    Пост в тему: http://www.gunsmoker.ru/2010/08/delphi.html
    Лицей Королевства Делфи: http://www.delphikingdom.com/lyceum/
    А лично у меня до сих пор лежит "Программирование в Delphi 7" Дарахвелидзе и Маркова.

    Всего записей: 2318 | Зарегистр. 24-05-2007 | Отправлено: 12:06 17-08-2010 | Исправлено: Frodo_Torbins, 12:09 17-08-2010
    ustassss



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

    ----------
    "Ошибке не всё равно, кто её найдёт!" - закон Мерфи

    Всего записей: 337 | Зарегистр. 28-08-2009 | Отправлено: 12:44 17-08-2010
    JohnSilver182



    BANNED
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ustassss
    Самая  толковая  книга  в мире  это  Фаронов В.В.  Delphi 5 учебный  курс .  Возможно  есть и  по Delphi 7 .
     
    З.Ы. Я пока сам сижу  на Delphi 7.
     
    Добавлено:

    Цитата:
    Цитата:
    SHGetSpecialFolderLocation(0, CSIDL_PERSONAL, ppidl);  
     
    У тебя и есть через CSIDL - в частности CSIDL_PERSONAL  

     
    А  подскажите , зачем я  такой  код нагородил ??????????????????

    Всего записей: 829 | Зарегистр. 03-06-2009 | Отправлено: 15:31 17-08-2010
    salexn1



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Самая самая толковая книга - это Стив Тейксейра И Ксавье Пачеко.

    Всего записей: 502 | Зарегистр. 21-02-2008 | Отправлено: 17:43 17-08-2010
    ShIvADeSt



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

    Цитата:
    А  подскажите , зачем я  такой  код нагородил ??????????????????

    Норм код, правильный, если хочешь правильно все получать.
     
    прекращаем оффтоп по тому, какая книга лучше. Есть соотв тема для этого.
     


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

    Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 05:38 18-08-2010
    DmitryKz

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Приветствую всех!
    Подскажите по такому вопросу:
    в Delphi 7 есть возможность вставлять кантролы с панелей компонентов непосредственно в панель Object TreeView (например, на форму)...
    А в BDS2006 и далее это уже не прокатывает (т. е. в панель Structure). Эта возможность убрана или что-то в настройках надо включить? Я поискал там и не нашел...

    Всего записей: 3142 | Зарегистр. 29-09-2005 | Отправлено: 10:09 18-08-2010
    JohnSilver182



    BANNED
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Hi All
     
    А  может есть пример как в МОДУЛЕ создать динамически форму , текстбокс , получить данные от нее  
     
    Форма создается а  Edit1  не вижу  
     

    Код:
    procedure CreateBT;
    var
     SomeForm: TForm;
     Edit1: TEdit;
    begin
     
      SomeForm := tform.Create(application);
      SomeForm.Position:=poMainFormCenter;
     
      Edit1:= TEdit.Create(SomeForm) ;
     
      Edit1.Top:=0;
      Edit1.Left:=0;
      Edit1.Width:=100;
      Edit1.Height:=100;
     
      SomeForm.ShowModal();
      FreeAndNil(SomeForm);
     
    end;

    Всего записей: 829 | Зарегистр. 03-06-2009 | Отправлено: 18:32 18-08-2010
    salexn1



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Edit1.Parent := SomeForm;

    Всего записей: 502 | Зарегистр. 21-02-2008 | Отправлено: 18:35 18-08-2010
    Maks150988



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Всем привет. Есть самоотрисовываемый листбокс. В нём вывожу нумерацию строк вначале каждого элемента. Хочется такой текст дополнять нулями. Видел в каком-то модуле подобную функцию, но не вспомню, тогда оно и не требовалось. Может кто подскажет реализации. Я даже нагуглить не могу такую ситуёвину, фиг знает как правильно слова для поискового запроса подобрать, выдаёт бред какой-то.

    Всего записей: 836 | Зарегистр. 23-12-2006 | Отправлено: 19:09 18-08-2010
    Открыть новую тему     Написать ответ в эту тему

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