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

Ваш аккаунт

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

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

Подписчиков: -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 ответов / показаны 1041 - 1079

Страницы:
26K
13 октября 2010 года
Kliper
47 / / 02.11.2007
Цитата: George
Исключение будет.



тогда выполните код (Delphi7):

Цитата:

procedure TForm1.Button1Click(Sender: TObject);
var
R:single;
begin
R:=1/0;
Label1.Caption:=FloatToStr(R);
end;

6
13 октября 2010 года
George
4.1K / / 05.01.2007
У меня нет дельфи 7. На строке R := 1/0 должно вывалиться исключение EDivisionByZero, ну а потом выход из процедуры, поэтому, думаю, Label1.Caption не должен измениться.
26K
13 октября 2010 года
Kliper
47 / / 02.11.2007
Цитата: George
У меня нет дельфи 7. На строке R := 1/0 должно вывалиться исключение EDivisionByZero, ну а потом выход из процедуры, поэтому, думаю, Label1.Caption не должен измениться.



Неа, не вываливается, спокойно в лабел пишет Inf (бесконечность) и все :cool: Мож это только у меня так?

7
13 октября 2010 года
@pixo $oft
3.4K / / 20.09.2006
Может,у вас настройки такие?Например,некоторые исключения не обрабатываются(ибо на низком уровне деление на ноль ошибкой не является,только лишь ставится соответствующий флаг сопроцессора)
10
14 октября 2010 года
Freeman
3.2K / / 06.03.2004
Всё верно. Предложенный вариант - вырожденный. Переменная инициализируется константным выражением, и компилятор тупо пишет в R бесконечность. Вот так валится:
 
Код:
var
  R: Single;
begin
  R := 1;
  R := R / 0;
  Label1.Caption := FloatToStr(R);
end;
63K
17 октября 2010 года
skate.soso
3 / / 15.10.2010
Подскажите ,пожалуйста, на чем лучше и удобнее работать на Turbo Delphi или Delphi 7 ???:) И какое их главное отличие !?
1
17 октября 2010 года
kot_
7.3K / / 20.01.2000
Цитата: skate.soso
Подскажите ,пожалуйста, на чем лучше и удобнее работать на Turbo Delphi или Delphi 7 ???:) И какое их главное отличие !?


Turbo Delphi - это какойто новый продукт от Борланд? Или от автора? :)
Если речь идет о Turbo Pascal - то отличий достаточно много - основное - Delphi использует VCL, реализует визуальную среду разработки и т.п.
Оба продукта фактически являются устаревшими. Turbo Delphi используется в основном только для обучения студиозусов, так как по мнению некоторых преподавателей, до сих пор фапающих на DOS, это якобы позволяет упомянутым студиозусам лучше понять алгоритмику.
На самом деле - демонстрирует глубину маразма постсоветской системы образования, и отдельных преподов.
D7 - удобная среда для работы с БД и создания интерфейсов. На сегодняшний день, как выше было сказано, морально устарела, но до сих пор активно используется.

63K
17 октября 2010 года
skate.soso
3 / / 15.10.2010
Цитата: kot_
Turbo Delphi - это какойто новый продукт от Борланд? Или от автора? :)
Если речь идет о Turbo Pascal - то отличий достаточно много - основное - Delphi использует VCL, реализует визуальную среду разработки и т.п.
Оба продукта фактически являются устаревшими. Turbo Delphi используется в основном только для обучения студиозусов, так как по мнению некоторых преподавателей, до сих пор фапающих на DOS, это якобы позволяет упомянутым студиозусам лучше понять алгоритмику.
На самом деле - демонстрирует глубину маразма постсоветской системы образования, и отдельных преподов.
D7 - удобная среда для работы с БД и создания интерфейсов. На сегодняшний день, как выше было сказано, морально устарела, но до сих пор активно используется.



Спасибо за ответ! Но у меня снова вопрос! Можно ли на Delphi7 открывать уже существующие программы и редактировать их? :)

7
17 октября 2010 года
@pixo $oft
3.4K / / 20.09.2006
Нельзя
303
18 октября 2010 года
makbeth
1.0K / / 25.11.2004
Цитата: kot_
Turbo Delphi - это какойто новый продукт от Борланд? Или от автора? :)


kot_, ты чего? Вполне себе нормальный продукт, основан на 2006 версии студии (хотя, тоже устарел, зато - халява).

1
18 октября 2010 года
kot_
7.3K / / 20.01.2000
Цитата: makbeth
kot_, ты чего? Вполне себе нормальный продукт, основан на 2006 версии студии (хотя, тоже устарел, зато - халява).


хм. Да обшибся, виноват.
Но впрочем - Turbo Delphi is no longer available. Юзайте DelphiXE :)
По поводу TD сказать не могу ничего - ввиду того, что с ним не работал. Возможно оптимальнее использовать его - но тогда для многих теряется преимущество Delphi как такового - наличие компонентов на все случаи жизни. Но это ИМХО.

303
18 октября 2010 года
makbeth
1.0K / / 25.11.2004
Цитата: kot_
хм. Да обшибся, виноват.
По поводу TD сказать не могу ничего - ввиду того, что с ним не работал.


Там вся хитрость в том, что это обычная Delphi 2006, только отрублена возможность установки компонент в палитру, но использование их же в runtime - только в путь :) Но в принципе, даже эта фича для многих... и далее по тексту ;)

29K
27 октября 2010 года
professor-cos
14 / / 08.08.2007
Всем привет! Не могу справиться с поиском дочернего окна в MDI-программе :(

написал следующий код

Код:
public partial class Thief : Form
    {
        public Thief()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }

        // Get a handle to an application window.
        [DllImport("USER32.DLL", CharSet = CharSet.Unicode)]
        public static extern IntPtr FindWindow(string lpClassName, string lpWindowName);

        [DllImport("user32.dll", SetLastError = true)]
        public static extern IntPtr FindWindowEx(IntPtr hwndParent, IntPtr hwndChildAfter, string lpszClass, string lpszWindow);

        private void button1_Click(object sender, EventArgs e)
        {
            foreach (Process p in Process.GetProcessesByName("V12"))
            {
                if (p.MainWindowTitle.Contains("Моя прога") == true)
                {

                    IntPtr mHandle = p.Handle;
                    if (mHandle == IntPtr.Zero)
                    {
                        MessageBox.Show("Основное окно не найдено.");
                        return;
                    }

                    IntPtr cHandle = FindWindowEx(mHandle, (IntPtr)null, "V12Wnd", "Сообщения");
                    if (cHandle == IntPtr.Zero)
                    {
                        MessageBox.Show("Дочернее окно не найдено.");
                        return;
                    }
                }
            }


родительское окно находится, дочернее - нет :(
а может я вообще не тем занимаюсь?
задача - получить текст из дочернего окошка.
может это как-то иначе можно сделать?
303
28 октября 2010 года
makbeth
1.0K / / 25.11.2004
А при чем здесь Delphi?
6
28 октября 2010 года
George
4.1K / / 05.01.2007
Цитата: makbeth
А при чем здесь Delphi?


при том, что у чувака спам в подпесе.

61K
02 ноября 2010 года
77sega77
10 / / 14.10.2010
Здравствуйте. Добавил в свой поект вторую форму. Как мне сделать пренос значений некоторых переменных из unit1 в unit2?

Тоесть была у меня переменная k в unit1, а я хочу воспользоваться ее значением в unit2, чтобы вывести его на второй форме, к примеру. Как это реализовать? Заранее спасибо.
40K
07 ноября 2010 года
themusicman
15 / / 18.11.2008
Цитата: 77sega77
Здравствуйте. Добавил в свой поект вторую форму. Как мне сделать пренос значений некоторых переменных из unit1 в unit2?

Тоесть была у меня переменная k в unit1, а я хочу воспользоваться ее значением в unit2, чтобы вывести его на второй форме, к примеру. Как это реализовать? Заранее спасибо.


Как вариант можно добавить метку label на первой форме и сделать ее невидимой, и её свойству Caption присвоить значение твоей переменной. А после во второй форме уже ссылаться как form1.label1.caption.

40K
07 ноября 2010 года
themusicman
15 / / 18.11.2008
У меня вот вопрос назрел.
Пишу базу данных для транспортной компании. Система выдает отчеты по перевозкам. У каждого отчета есть поле ДАТА, содержащее дату заключения договора.
Я хочу чтобы можно было печатать отчеты за какой-либо определенный период (см. картинку во вложении).
То ли через SQL запрос как? Направьте меня в нужном направлении пожалуйста. Не пойму откуда копать...
Отчеты делаются через Rave Report. Т.е. я так полагаю нужно организовать новую таблицу, в которой будут содержаться записи, входящие в этот промежуток. Подскажите вобщем.
40K
10 ноября 2010 года
themusicman
15 / / 18.11.2008
Цитата: themusicman
У меня вот вопрос назрел.
Пишу базу данных для транспортной компании. Система выдает отчеты по перевозкам. У каждого отчета есть поле ДАТА, содержащее дату заключения договора.
Я хочу чтобы можно было печатать отчеты за какой-либо определенный период (см. картинку во вложении).
То ли через SQL запрос как? Направьте меня в нужном направлении пожалуйста. Не пойму откуда копать...
Отчеты делаются через Rave Report. Т.е. я так полагаю нужно организовать новую таблицу, в которой будут содержаться записи, входящие в этот промежуток. Подскажите вобщем.



Есть кто живой?

66K
05 декабря 2010 года
sreg001
1 / / 05.12.2010
.....
303
06 декабря 2010 года
makbeth
1.0K / / 25.11.2004
Ахренеть. Экзорцизм прям какой-то :) За такое руки отрубать по самую ж... эээ... уши надобно.

Вот, держи:
Код:
function GetBitState(bitNumber: byte, num: DWord): boolean;
begin
    Result := (num and (1 shl bitNumber)) <> 0;
end;

procedure SetBitState(bitNumber: byte, var num: DWord, state: boolean);
begin
    if state then
    begin
        num := num or (1 shl bitNumber);
    end else begin
        num := num and not (1 shl bitNumber);
    end;
end;
65K
29 декабря 2010 года
cimouptut
4 / / 28.11.2010
Вобщем мне надо что бы прога подключилась к БД другой проги, обе проги мои, но одна проблема как найти куда установлена первая прога, я так понима. что это где-то в реестре д.б. прописано, вот только вопрос где?
62K
29 декабря 2010 года
ob.server
12 / / 29.12.2010
добрый день. делаю тут одну халтурку, скачал дельфи 2007, нашел нужный код в сети, но он не работает. ошибка такая:
Цитата:
[DCC Error] Unit1.pas(31): E2003 Undeclared identifier: 'TRvRenderRTF'



как я понимаю, нужно подключить какой то юнит к проекту, а какой именно и где он находится я не знаю. в помошнике информации об этом нету.

upd:
нашел в сети другой код, где так и написано

Цитата:
uses RpRenderRTF


но у меня это не работает

Цитата:
[DCC Error] Unit1.pas(7): F1026 File not found: 'RpRenderRTF.dcu'


искал *RpRenderRTF* в C:\Program Files\CodeGear - нету. значит у меня нет нужного компонента, его надо качать отдельно? если да то где его скачать?

33K
29 декабря 2010 года
hivewarrior
205 / / 16.11.2010
Цитата: ob.server
добрый день. делаю тут одну халтурку, скачал дельфи 2007, нашел нужный код в сети, но он не работает. ошибка такая:
...
как я понимаю, нужно подключить какой то юнит к проекту, а какой именно и где он находится я не знаю. в помошнике информации об этом нету.



По всей видимости не хватает не Юнита, а компонента TRvRenderRTF. Беглый поиск в гугле привел к тому, что у вашей сборки делфи скорее всего отсутствует вкладка Rave. Можете погуглить другую сборку, или установить этот компонент сам.
Если же она присутствует, то лучше переустановить делфи и молиться Аллаху, чтобы на этот раз все прошло складно.

62K
29 декабря 2010 года
ob.server
12 / / 29.12.2010
Цитата: hivewarrior
или установить этот компонент сам.


можно подробней как это сделать? поиск в гугле по "TRvRenderRTF install" результатов не дал (

6
29 декабря 2010 года
George
4.1K / / 05.01.2007
Установите RaveReports и будет вам счастье.
62K
30 декабря 2010 года
ob.server
12 / / 29.12.2010
Цитата: George
Установите RaveReports и будет вам счастье.



скажите, где мне его взять? уже обгуглился. может выложите нужный bpl файл на форум, буду очень благодарен. у меня delphi 2007. вот такая строка в хелпе о программе

Цитата:
CodeGear™ Delphi® for Microsoft® Windows™ Version 11.0.2627.5503 Copyright © 2007 CodeGear™. All Rights Reserved.

6
30 декабря 2010 года
George
4.1K / / 05.01.2007
Оно, как правило, в комплекте с дельфи идет. Поройтесь в дистрибутиве.
8
30 декабря 2010 года
mfender
3.5K / / 15.06.2005
Он вроже как default устанавливается. У меня D7 - так он и там сам как-то ставится…
6
30 декабря 2010 года
George
4.1K / / 05.01.2007
Цитата: mfender
Он вроже как default устанавливается. У меня D7 - так он и там сам как-то ставится…


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

62K
30 декабря 2010 года
ob.server
12 / / 29.12.2010
Цитата: George
Там в списке компонент при установке можно его убрать. Да и диалог установки у оного отдельный, нажмешь отмену - и не будет тебе Rave Reports. Возможно версия дельфи без него, ну короче флаг автору в руки - найти и поставить вряд ли сильно сложно, гугл в помощь.



нагуглил что вроде он не ставится в некоторых сборках. посмотрел еще раз - в моей сборке его нет точно. в гугле нашел сцылку на оффициальный источник для скачки для зарегеных поль-ей, но там 404 О_о.
скачал другую сборку дельфей - не ставится, вылетает на этапе установке дотнет фрейворк 3.5 (у меня ось хр на виртуалке)
может всё таки поделится кто нибудь нужным установочным файликом?
вот еще раз моя версия дельфей

Цитата:
CodeGear™ Delphi® for Microsoft® Windows™ Version 11.0.2627.5503 Copyright © 2007 CodeGear™. All Rights Reserved.

6
31 декабря 2010 года
George
4.1K / / 05.01.2007
Блин, вчера хотел выложить к Д2010 на работе, но не успел. Сегодня, если не забуду - выложу. :) Или завтра.
6
04 января 2011 года
George
4.1K / / 05.01.2007
Выложил инсталлер, если нужно, качать тут. Может и поможет.
67K
06 января 2011 года
Ragnotek
1 / / 06.01.2011
Плиз помогите надо созданную функцию привизать к кнопке
function TForm2.sum(a, b, c: real): real;
begin
a:=StrToFloat(Edit1.Text);
b:=StrToFloat(Edit2.Text);
c:=a+b/a-b;

end;

procedure TForm2.Button1Click(Sender: TObject);
begin

end;
8
06 января 2011 года
mfender
3.5K / / 15.06.2005
Цитата: Ragnotek
Плиз помогите надо созданную функцию привизать к кнопке
function TForm2.sum(a, b, c: real): real;
begin
a:=StrToFloat(Edit1.Text);
b:=StrToFloat(Edit2.Text);
c:=a+b/a-b;

end;

procedure TForm2.Button1Click(Sender: TObject);
begin

end;



Несколько странно, зачем вообще эта функция, и в чём прикол передаваемых в неё параметров. Ведь всё то же можно сделать в обработчике:

 
Код:
procedure TForm2.Button1Click(Sender: TObject);
var a,b,c: real;
begin
a:=StrToFloat(Edit1.Text);
 b:=StrToFloat(Edit2.Text);
 c:=a+b/a-b;
end;
а уж если очень хочется её использовать, то это будет примерно так:
 
Код:
function TForm2.sum(a, b: real): real;
begin
 Result := a+b/a-b;
end;

procedure TForm2.Button1Click(Sender: TObject);
var c: real;
begin
  c := sum(StrToFloat(Edit1.Text), StrToFloat(Edit2.Text));
end;


UPD. Кстати, имя функции sum выбрано неудачно: таковая функция уже есть, если мне что-то не изменяет, в SysUtils.
62K
08 января 2011 года
ob.server
12 / / 29.12.2010
Цитата: George
Выложил инсталлер, если нужно, качать тут. Может и поможет.



спасибо :).
Еще один вопрос. есть ли бесплатные утилитки, или в составе самой дельфи, которые могли бы открыть ndr файл (это файл rave report) и конвертить его в нормальный формат, понятный мс-оффису? любопытно, в гугле нашел програмку называется вроде ravezilla и она стоит 26$, весь функционал-отобразить ndr файл и сохранить его в rtf. так же нагуглил код для перевода ndr в rtf - там метод из 30 строк:D

8
08 января 2011 года
mfender
3.5K / / 15.06.2005
Решил поинтересоваться, что за чудо такое этот Embarcadero XE. Так Rave Reports даже спросил дефолтом, нужно-ли его устанавливать и установился.
6
08 января 2011 года
George
4.1K / / 05.01.2007
Цитата: ob.server
спасибо :).
Еще один вопрос. есть ли бесплатные утилитки, или в составе самой дельфи, которые могли бы открыть ndr файл (это файл rave report) и конвертить его в нормальный формат, понятный мс-оффису? любопытно, в гугле нашел програмку называется вроде ravezilla и она стоит 26$, весь функционал-отобразить ndr файл и сохранить его в rtf. так же нагуглил код для перевода ndr в rtf - там метод из 30 строк:D

Сам Рэйв Репортс умеет отчет конвертировать в PDF (ждите проблемы с кириллицей), RTF (тоже проблемы могут быть, но решаются) и HTML. Посмотрите во вкладке Rave Reports компонента TvRenderPDF, TvRenderHTML, TvRenderRTF, и загуглите как ими пользоваться.

49K
26 января 2011 года
FAVORIT
16 / / 14.06.2009
Есть StringGrid (goEditing=False), и установлена связь с PopupMenu. В PopupMenu есть несколько пунктов.

Вопросы:
1. Как сделать так, что бы при использовании PopupMenu можно было копировать выделенные ячейки.
2. Как в PopupMenu создать линию раздела между пунктами.

Огромная благодарность всем кто поможет.
26K
15 марта 2011 года
Kliper
47 / / 02.11.2007
FAVORIT, по второму вопросу: создай пункт с введенным в поле Caption знаком минус.

Вопрос:
Используя компонент TExcelApplication создаю эксельную таблицу. Как мне присвоить свое имя книге, а не то, которое создается автоматически. Или хотя бы при первом сохранении или при вызове "Сохранить как", уже было прописано нужное мне имя. Требуется решение без использования файла шаблона.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог