Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Я начинающий, подскажите пожалуйста, как...

257
25 февраля 2007 года
kosfiz
1.6K / / 18.09.2005
Уважаемые участники!
Если вы только начинаете осваивать Delphi или считаете, что ваш вопрос простой для более опытных участников форума, то задавайте его здесь, не надо создавать для этого отдельные темы.

Если вы размещаете вопрос здесь, то , пожалуйста, прочтите следующее:
1. когда будете задавать свой вопрос, то делайте это нажимая на "ответ"(не путать с "быстрый ответ") и кратко указывайте в "заголовке" тему своего вопроса;
2. опишите чего вы хотели добиться.
3. если у вас возникла какая-то ошибка, и вы не знаете как её исправить, то обязательно приведите текст самой ошибки;
4. если это необходимо, приведите фрагмент вашего кода(ни в коем случае не надо писать весь код), также при добавлении кода пользуйтесь тегами([code ] и [ /code]);
5. укажите версию Delphi, которую используете и все настройки проекта;
6. если у вас возникли проблемы с нестандартными компонентами, то обязательно приведите ссылку, по которой их можно скачать.
7. соблюдайте правила форума

Удачи.
Модераторы форума Delphi & Kylix: Delpher, kosfiz & OlgaKr
Если вы с чем-то несогласны или у вас есть предложения обращайтесь к модераторам в приват.

1127 ответов / показаны 201 - 239

Страницы:
16K
09 августа 2007 года
Zbyszek
118 / / 08.08.2007
Спасибо большое за ответ! Я использую либо UrlDownloadToFile либо InternetOpen. Это ф-ии из модулей UrlMon.pas и Wininet.pas соответственно. Стыдно, но с сокетами я никогда особо не дружил, так что буду разбиратся.)
14K
17 августа 2007 года
Bladrag
50 / / 02.12.2006
Народ, а есть какой-нибудь оператор, чтобы быстро StringGrid очистить? Или все ячейки только в ручную можно чистить?
286
17 августа 2007 года
misha_turist
572 / / 28.11.2005
Цитата: Bladrag
Народ, а есть какой-нибудь оператор, чтобы быстро StringGrid очистить? Или все ячейки только в ручную можно чистить?



Помойму нет... самописная универсальная процедура и вперёд...

268
17 августа 2007 года
Михаил
587 / / 25.06.2005
оператора нет точно
257
17 августа 2007 года
kosfiz
1.6K / / 18.09.2005
попробуй такую процедурку использовать
Код:
procedure ClearStringGrid(StrGrid: TStringGrid; cb, rb, ce, re: word);
var
  i, j: word;
begin
if (rb<=re) and (cb<=ce) and (ce<=StrGrid.ColCount - 1) and (re<=StrGrid.RowCount - 1) then
  with StrGrid do
    begin
      for i:=rb to re do
        for j:=cb to ce do
          Cells[i,j]:='';
    end;
end;
29K
24 августа 2007 года
zeus2007
6 / / 22.08.2007
Есть dll, в которой храниться форма. При использовании на форме компонентов DevExpress возникает ошибка, хотя при использовании стандартных компонентов ошибки не возникает. Из-за чего это может быть?
6
06 сентября 2007 года
George
4.1K / / 05.01.2007
Какие фоновые рисунки лучше пихать в прогу? Или вообще их не пихать? Вообще ИМХО оформление сложная штука когда рисовать не умеешь!
286
06 сентября 2007 года
misha_turist
572 / / 28.11.2005
Цитата: Washington
Какие фоновые рисунки лучше пихать в прогу? Или вообще их не пихать? Вообще ИМХО оформление сложная штука когда рисовать не умеешь!



Тоесть какие? тип, размер, форма... ???

6
06 сентября 2007 года
George
4.1K / / 05.01.2007
Ну вообще background на форму
268
06 сентября 2007 года
Михаил
587 / / 25.06.2005
Цитата: Washington
Какие фоновые рисунки лучше пихать в прогу? Или вообще их не пихать? Вообще ИМХО оформление сложная штука когда рисовать не умеешь!


странный вопрос вообще то, типа быть или не быть :) Если тебе нужен фоновый рисунок то почему бы и нет? А вот ответ на вопрос какой скорее всего зависит от самой программы и просто так, не имея дополнительно информации, ответить на него сложно. Одно сказать могу: такой что бы пользователя не раздражал.

6
07 сентября 2007 года
George
4.1K / / 05.01.2007
Так вот где взять такой чтобы не раздражал? В принципе глупая тема, но просто без рисунка плохо, а дизайнер из меня никудышный :(, вот и не знаю чо делать, где взять...
286
07 сентября 2007 года
misha_turist
572 / / 28.11.2005
Цитата: Washington
Так вот где взять такой чтобы не раздражал? В принципе глупая тема, но просто без рисунка плохо, а дизайнер из меня никудышный :(, вот и не знаю чо делать, где взять...


Тогда для начала определись "что и для кого" ты делаеш, а уж потом определяйся с дизайном....
Дизайн, в данном случае - это не только фоновый рисунок, это ещё и принципы работы интерфейса....

6
07 сентября 2007 года
George
4.1K / / 05.01.2007
с интерфейсом порядок, вот тока с рисуночком не могу определиться :(
17K
07 сентября 2007 года
CyberLord
2 / / 25.05.2006
Немогу понять какой функцией изменить ключ реестра в делфи... Помогите пожалуста!!! Я начинающий, по возможности не примерах. Нужно поменять значение параметра реестра строчных данных.
regini.RenameValue и regini.WriteString непомогают, может что не так делаю?
16K
07 сентября 2007 года
Zbyszek
118 / / 08.08.2007
Может не хватает прав доступа KEY_ALL_ACCESS? Попробуй делать GetLastError.
6
10 сентября 2007 года
George
4.1K / / 05.01.2007
Надо либо убрать кнопку выхода (крестик то бишь), либо сверху свою закинуть либо запрограммировать имеющуюся. Подскажите, как?
268
10 сентября 2007 года
Михаил
587 / / 25.06.2005
получить дескриптор системного меню можно при помощи GetSystemMenu, а изменять его при помощи ModifyMenu

http://msdn2.microsoft.com/en-us/library/ms647985.aspx
http://msdn2.microsoft.com/en-us/library/ms647993.aspx
26K
10 сентября 2007 года
U2D
34 / / 17.07.2007
 
Код:
procedure TForm1.FormCreate(Sender: TObject);
var
Cbtn: HMenu;
begin
Cbtn:= GetSystemMenu(Handle, False);
Windows.EnableMenuItem(Cbtn, SC_CLOSE, MF_DISABLED);
end;
303
10 сентября 2007 года
makbeth
1.0K / / 25.11.2004
Михаил, U2D - изобретаем велосипед? ;)
Washington, у формы есть свойство BorderIcons, управляющее поведением системных кнопок заголовка окна. Значение biSystemMenu отвечает за кнопку закрытия (ставишь biSystemMenu=false - она блокируется). Это к вопросу о блокировке.
Управлять ее поведением можно с помощью события формы OnClose. В него передается параметр Action: TCloseAction, с помощью которого можно переопределить поведение кнопки закрытия следующим образом:
 
Код:
procedure TForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
    Action:=caNone;
    // Далее свой код
    // ...
end;
309
11 сентября 2007 года
el scorpio
1.1K / / 19.09.2006
Проще перехватывать OnCloseQuery
 
Код:
procedure TForm.FormCloseQuery (Sender: TObject; var CanClose: boolean);
begin
   CanClose := Надо_Ли_Закрывать?;
end;

Если CanClose - false, то окно не закроется. Даже событие OnClose не произойдёт
6
11 сентября 2007 года
George
4.1K / / 05.01.2007
Спасибо, разобрался
6
11 сентября 2007 года
George
4.1K / / 05.01.2007
Как сделать чтобы форма поверх всех окон всегда была? И запретить изменение её размеров без изменения BorderStyle?
268
11 сентября 2007 года
Михаил
587 / / 25.06.2005
Цитата: Washington
Как сделать чтобы форма поверх всех окон всегда была? И запретить изменение её размеров без изменения BorderStyle?


а чем тебе BorderStyle не угодило? если ты будешь делать это средствами API, то BorderStyle не будет соответствовать действительности. Если все же надо, то изменяй стили окна при помощи SetWindowLong. Что б сделать окно поверх всех FormState=fsStayOnTop.

6
11 сентября 2007 года
George
4.1K / / 05.01.2007
Мне нужно, чтобы приложение так сказать (в нём несколько форм) было поверх остальных приложений.
Вот к примеру:
В форме 2 кнопка ОК:
 
Код:
Form2.Hide;
Form1.Enabled:=true;

И получается что когда вторая форма исчезает, приложение оказывается "под" другим, открытым
268
11 сентября 2007 года
Михаил
587 / / 25.06.2005
для такого показа 2 формы как у тебя лучше использовать Form2.ShowModal
6
11 сентября 2007 года
George
4.1K / / 05.01.2007
Ну тогда при закрытии формы 2 первая не активируется
6
11 сентября 2007 года
George
4.1K / / 05.01.2007
А ещё вопрос насчёт изменения местоположения окон, как запретить? Опять же BorderStyle не катит
309
12 сентября 2007 года
el scorpio
1.1K / / 19.09.2006
Washington
Цитата:
запретить изменение её размеров без изменения BorderStyle?


Изменение размеров любого компонента можно сделать, установив свойство Constraints. Достаточно установить свойства Min|Max равными текущему значению размера - и всё. Изменить размер нельзя будет ни в IDE, ни в коде.
Для формы ещё можно повесить обработчик на событие OnCanResize. Устанавливаем параметр CanResize = false и никакого изменения размеров.
С перемещением сложнее...

303
12 сентября 2007 года
makbeth
1.0K / / 25.11.2004
Цитата: Washington
А ещё вопрос насчёт изменения местоположения окон, как запретить? Опять же BorderStyle не катит


Можно поиграться с сообщением WM_NCHITTEST. В нем в качестве результата вместо HTCAPTION подсовывать HTNOWHERE.

6
12 сентября 2007 года
George
4.1K / / 05.01.2007
Честно говоря ни разу не юзал WM. Поподробнее не могли бы объяснить плз
268
14 сентября 2007 года
Михаил
587 / / 25.06.2005
Цитата: Washington
Честно говоря ни разу не юзал WM. Поподробнее не могли бы объяснить плз


обработчик сообщения делается так

 
Код:
procedure NCHitTest(var Message:TWMNCHitTest);message WM_NCHITTEST;
6
14 сентября 2007 года
George
4.1K / / 05.01.2007
Спасибо
13K
16 сентября 2007 года
Heart1ess
84 / / 26.04.2007
Где-то на сайте видел процедуру:
Суть такая... запускаем прогу и в Лабле появляется путь к ехешнику нашего проекта... т.е. корневой.
Собственно проблема такая...
Сначала пользователь выбирает файл а прога должна сохранить его к себе в корневую папку... НО дело в том что компонент OPenFile меняет корень, т.е. после того как пользователь выбрал файл(например C:\text.txt) я пишу SaveToFile('text.txt') а файл сохраняется туда откуда был взят,а не в корень программы. А если загрузить вручную ну просто через Копи-Пэйст то всё ок...
Помогите пожалуйста.
268
17 сентября 2007 года
Михаил
587 / / 25.06.2005
Цитата: Heart1ess
Где-то на сайте видел процедуру:
Суть такая... запускаем прогу и в Лабле появляется путь к ехешнику нашего проекта... т.е. корневой.
Собственно проблема такая...
Сначала пользователь выбирает файл а прога должна сохранить его к себе в корневую папку... НО дело в том что компонент OPenFile меняет корень, т.е. после того как пользователь выбрал файл(например C:\text.txt) я пишу SaveToFile('text.txt') а файл сохраняется туда откуда был взят,а не в корень программы. А если загрузить вручную ну просто через Копи-Пэйст то всё ок...
Помогите пожалуйста.



если это Delphi то ParamStr(0) или Application.ExeName

257
17 сентября 2007 года
kosfiz
1.6K / / 18.09.2005
ему же путь нужен значит ExtractFilePath нужно использовать, т.е. будет выглядеть как-то так:
 
Код:
SaveToFile(ExtractFilePath(ParamStr(0)) + 'filename.txt');
или
SaveToFile(ExtractFilePath(Application.ExeName) + 'filename.txt');

ну или сменить текущую директорию программы на ту в которой она "лежит" с помощью SetCurrentDirectory.
13K
22 сентября 2007 года
Heart1ess
84 / / 26.04.2007
Спасибо! ПОмогло... блин скока нового прочитал за день))
Форум - класс!!
Ещё вопрос: Задали ДЗ. Обрашаемся к файлу(тхт) там лежит функция вида y(x)=... вместо троеточия всё что угодно может быть) начиная от константы и заканчивая тригонометрическими логарифмами. Ну и собственно график этой функции должен вывестись на экран.
Собственно МатКад в джомашних условиях :))
Понятное дело ДЗ делать не прошу, но хотя бы от чего оттолкнуться?
Алгоритм (абстрактный) кто-нить подсказать могёт?:)
268
22 сентября 2007 года
Михаил
587 / / 25.06.2005
абстрактный алгоритм:
читаем все что после "=", анализируем, строим дерево, затем по этому дереву строим график
13K
22 сентября 2007 года
Heart1ess
84 / / 26.04.2007
Причём тут деревья??
Я просто никогда не сталкивался с такими программами...
А структуру деревьев и списков проходили и я даже понял чё к чему...


И ещё как программно нажимать на клавиши клавиатуры?
268
22 сентября 2007 года
Михаил
587 / / 25.06.2005
почитай про обратную польскую нотацию

http://algolist.ru/syntax/revpn.php
13K
23 сентября 2007 года
Heart1ess
84 / / 26.04.2007
СПАСИБО!!!!!! А про клавиатуру)?
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог