Я начинающий, подскажите пожалуйста, как...
Если вы только начинаете осваивать Delphi или считаете, что ваш вопрос простой для более опытных участников форума, то задавайте его здесь, не надо создавать для этого отдельные темы.
Если вы размещаете вопрос здесь, то , пожалуйста, прочтите следующее:
1. когда будете задавать свой вопрос, то делайте это нажимая на "ответ"(не путать с "быстрый ответ") и кратко указывайте в "заголовке" тему своего вопроса;
2. опишите чего вы хотели добиться.
3. если у вас возникла какая-то ошибка, и вы не знаете как её исправить, то обязательно приведите текст самой ошибки;
4. если это необходимо, приведите фрагмент вашего кода(ни в коем случае не надо писать весь код), также при добавлении кода пользуйтесь тегами([code ] и [ /code]);
5. укажите версию Delphi, которую используете и все настройки проекта;
6. если у вас возникли проблемы с нестандартными компонентами, то обязательно приведите ссылку, по которой их можно скачать.
7. соблюдайте правила форума
Удачи.
Модераторы форума Delphi & Kylix: Delpher, kosfiz & OlgaKr
Если вы с чем-то несогласны или у вас есть предложения обращайтесь к модераторам в приват.
тогда выполните код (Delphi7):
procedure TForm1.Button1Click(Sender: TObject);
var
R:single;
begin
R:=1/0;
Label1.Caption:=FloatToStr(R);
end;
Неа, не вываливается, спокойно в лабел пишет Inf (бесконечность) и все :cool: Мож это только у меня так?
R: Single;
begin
R := 1;
R := R / 0;
Label1.Caption := FloatToStr(R);
end;
Turbo Delphi - это какойто новый продукт от Борланд? Или от автора? :)
Если речь идет о Turbo Pascal - то отличий достаточно много - основное - Delphi использует VCL, реализует визуальную среду разработки и т.п.
Оба продукта фактически являются устаревшими. Turbo Delphi используется в основном только для обучения студиозусов, так как по мнению некоторых преподавателей, до сих пор фапающих на DOS, это якобы позволяет упомянутым студиозусам лучше понять алгоритмику.
На самом деле - демонстрирует глубину маразма постсоветской системы образования, и отдельных преподов.
D7 - удобная среда для работы с БД и создания интерфейсов. На сегодняшний день, как выше было сказано, морально устарела, но до сих пор активно используется.
Если речь идет о Turbo Pascal - то отличий достаточно много - основное - Delphi использует VCL, реализует визуальную среду разработки и т.п.
Оба продукта фактически являются устаревшими. Turbo Delphi используется в основном только для обучения студиозусов, так как по мнению некоторых преподавателей, до сих пор фапающих на DOS, это якобы позволяет упомянутым студиозусам лучше понять алгоритмику.
На самом деле - демонстрирует глубину маразма постсоветской системы образования, и отдельных преподов.
D7 - удобная среда для работы с БД и создания интерфейсов. На сегодняшний день, как выше было сказано, морально устарела, но до сих пор активно используется.
Спасибо за ответ! Но у меня снова вопрос! Можно ли на Delphi7 открывать уже существующие программы и редактировать их? :)
kot_, ты чего? Вполне себе нормальный продукт, основан на 2006 версии студии (хотя, тоже устарел, зато - халява).
хм. Да обшибся, виноват.
Но впрочем - Turbo Delphi is no longer available. Юзайте DelphiXE :)
По поводу TD сказать не могу ничего - ввиду того, что с ним не работал. Возможно оптимальнее использовать его - но тогда для многих теряется преимущество Delphi как такового - наличие компонентов на все случаи жизни. Но это ИМХО.
По поводу TD сказать не могу ничего - ввиду того, что с ним не работал.
Там вся хитрость в том, что это обычная Delphi 2006, только отрублена возможность установки компонент в палитру, но использование их же в runtime - только в путь :) Но в принципе, даже эта фича для многих... и далее по тексту ;)
написал следующий код
{
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;
}
}
}
родительское окно находится, дочернее - нет :(
а может я вообще не тем занимаюсь?
задача - получить текст из дочернего окошка.
может это как-то иначе можно сделать?
при том, что у чувака спам в подпесе.
Тоесть была у меня переменная k в unit1, а я хочу воспользоваться ее значением в unit2, чтобы вывести его на второй форме, к примеру. Как это реализовать? Заранее спасибо.
Тоесть была у меня переменная k в unit1, а я хочу воспользоваться ее значением в unit2, чтобы вывести его на второй форме, к примеру. Как это реализовать? Заранее спасибо.
Как вариант можно добавить метку label на первой форме и сделать ее невидимой, и её свойству Caption присвоить значение твоей переменной. А после во второй форме уже ссылаться как form1.label1.caption.
Пишу базу данных для транспортной компании. Система выдает отчеты по перевозкам. У каждого отчета есть поле ДАТА, содержащее дату заключения договора.
Я хочу чтобы можно было печатать отчеты за какой-либо определенный период (см. картинку во вложении).
То ли через SQL запрос как? Направьте меня в нужном направлении пожалуйста. Не пойму откуда копать...
Отчеты делаются через Rave Report. Т.е. я так полагаю нужно организовать новую таблицу, в которой будут содержаться записи, входящие в этот промежуток. Подскажите вобщем.
Пишу базу данных для транспортной компании. Система выдает отчеты по перевозкам. У каждого отчета есть поле ДАТА, содержащее дату заключения договора.
Я хочу чтобы можно было печатать отчеты за какой-либо определенный период (см. картинку во вложении).
То ли через SQL запрос как? Направьте меня в нужном направлении пожалуйста. Не пойму откуда копать...
Отчеты делаются через Rave Report. Т.е. я так полагаю нужно организовать новую таблицу, в которой будут содержаться записи, входящие в этот промежуток. Подскажите вобщем.
Есть кто живой?
Вот, держи:
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;
как я понимаю, нужно подключить какой то юнит к проекту, а какой именно и где он находится я не знаю. в помошнике информации об этом нету.
upd:
нашел в сети другой код, где так и написано
но у меня это не работает
искал *RpRenderRTF* в C:\Program Files\CodeGear - нету. значит у меня нет нужного компонента, его надо качать отдельно? если да то где его скачать?
...
как я понимаю, нужно подключить какой то юнит к проекту, а какой именно и где он находится я не знаю. в помошнике информации об этом нету.
По всей видимости не хватает не Юнита, а компонента TRvRenderRTF. Беглый поиск в гугле привел к тому, что у вашей сборки делфи скорее всего отсутствует вкладка Rave. Можете погуглить другую сборку, или установить этот компонент сам.
Если же она присутствует, то лучше переустановить делфи и молиться Аллаху, чтобы на этот раз все прошло складно.
можно подробней как это сделать? поиск в гугле по "TRvRenderRTF install" результатов не дал (
скажите, где мне его взять? уже обгуглился. может выложите нужный bpl файл на форум, буду очень благодарен. у меня delphi 2007. вот такая строка в хелпе о программе
Там в списке компонент при установке можно его убрать. Да и диалог установки у оного отдельный, нажмешь отмену - и не будет тебе Rave Reports. Возможно версия дельфи без него, ну короче флаг автору в руки - найти и поставить вряд ли сильно сложно, гугл в помощь.
нагуглил что вроде он не ставится в некоторых сборках. посмотрел еще раз - в моей сборке его нет точно. в гугле нашел сцылку на оффициальный источник для скачки для зарегеных поль-ей, но там 404 О_о.
скачал другую сборку дельфей - не ставится, вылетает на этапе установке дотнет фрейворк 3.5 (у меня ось хр на виртуалке)
может всё таки поделится кто нибудь нужным установочным файликом?
вот еще раз моя версия дельфей
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;
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;
Несколько странно, зачем вообще эта функция, и в чём прикол передаваемых в неё параметров. Ведь всё то же можно сделать в обработчике:
var a,b,c: real;
begin
a:=StrToFloat(Edit1.Text);
b:=StrToFloat(Edit2.Text);
c:=a+b/a-b;
end;
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.
спасибо :).
Еще один вопрос. есть ли бесплатные утилитки, или в составе самой дельфи, которые могли бы открыть ndr файл (это файл rave report) и конвертить его в нормальный формат, понятный мс-оффису? любопытно, в гугле нашел програмку называется вроде ravezilla и она стоит 26$, весь функционал-отобразить ndr файл и сохранить его в rtf. так же нагуглил код для перевода ndr в rtf - там метод из 30 строк:D
Еще один вопрос. есть ли бесплатные утилитки, или в составе самой дельфи, которые могли бы открыть ndr файл (это файл rave report) и конвертить его в нормальный формат, понятный мс-оффису? любопытно, в гугле нашел програмку называется вроде ravezilla и она стоит 26$, весь функционал-отобразить ndr файл и сохранить его в rtf. так же нагуглил код для перевода ndr в rtf - там метод из 30 строк:D
Сам Рэйв Репортс умеет отчет конвертировать в PDF (ждите проблемы с кириллицей), RTF (тоже проблемы могут быть, но решаются) и HTML. Посмотрите во вкладке Rave Reports компонента TvRenderPDF, TvRenderHTML, TvRenderRTF, и загуглите как ими пользоваться.
Вопросы:
1. Как сделать так, что бы при использовании PopupMenu можно было копировать выделенные ячейки.
2. Как в PopupMenu создать линию раздела между пунктами.
Огромная благодарность всем кто поможет.
Вопрос:
Используя компонент TExcelApplication создаю эксельную таблицу. Как мне присвоить свое имя книге, а не то, которое создается автоматически. Или хотя бы при первом сохранении или при вызове "Сохранить как", уже было прописано нужное мне имя. Требуется решение без использования файла шаблона.