Вопрос № 29287: Есть программа по подсчёту премии. Но она врёт на копейки. Вопрос такой
как информацию из DBGrid перенести в ворд, вместо Фаст Репорта, для дальнейшего редактирования, посредством Делфи? И вообще возможно ли это?
P.S.Высылаю исходник программ...Вопрос № 29298: Приветствие уважаемые эксперты!!
подскажите пажалуйста как в делфи делается явное приведение типов.
в часности проблема возникла в том что при задании в edit ip-адресса для функции bind несовпадают типы данных String и PAnsiChar как можн...
Вопрос № 29.287
Есть программа по подсчёту премии. Но она врёт на копейки. Вопрос такой
как информацию из DBGrid перенести в ворд, вместо Фаст Репорта, для дальнейшего редактирования, посредством Делфи? И вообще возможно ли это?
P.S.Высылаю исходник программы.
Приложение:
Отправлен: 10.11.2005, 07:27
Вопрос задал: Vbhjndjhtw (статус: 1-ый класс)
Всего ответов: 3 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: sir henry
Здравствуйте, Vbhjndjhtw!
Чтобы расчеты не врали на копейку, надо сделать 3 или 4 знака после запятой. У Вас, скорее всего, ошибка в последнем разряде, поэтому этот последний разряд надо отодвинуть, чтобы его ошибки не влияли на результат.
Дальше, зачем Вам пересылать данные в Word, чтобы все равно редактировать в Дельфи? Бессмыслица. Может быть Вы поясните, зачем это?
Ответ отправил: sir henry (статус: Академик)
Отправлен: 10.11.2005, 08:18 Оценка за ответ: 5 Комментарий оценки: :-) , посредством Делфи, --- заключено в запятые. Может я неправильно выразился? Надо было написать: для дальнейшего представления в бухгалтерию :-) Я попробую как Вы сказали. Ведь я только начинаю программировать в Делфи и эту прогу чирканул мне один мой хорощий знакомый. Хотя дареному коню в зубы несмотрят я могу на сегодня написать программу попроще,
без таких наворотов.
Отвечает: Архангельский Андрей Германович
Здравствуйте, Vbhjndjhtw!
Я использую "Ek RTF Report for Delphi". Простой компонент, позволяет выводить таблицы в шаблон в формате rtf. Это позволяет конечному пользователю создавать свои шаблоны (формы документов).
Хотя раньше я генерировал файл RTF впрямую, это тоже достаточно просто
Приложение:
Ответ отправил: Архангельский Андрей Германович (статус: 7-ой класс)
Отправлен: 10.11.2005, 09:53 Оценка за ответ: 5 Комментарий оценки: Ух ты млин, спасибо!
Отвечает: Vadim Vitomsky
Здравствуйте, Vbhjndjhtw!
Высылаю исходник модуля, упрощающего работу автоматизации M$ Word.
Необходимые константы можно взять в самом Ворде (я их выделил в отдельный файл, слишком большой для аттача)
Приложение:
--------- оЕ ЧУЕ ФП Windows, ЮФП ЧЙУЙФ!
Ответ отправил: Vadim Vitomsky (статус: 2-ой класс)
Отправлен: 10.11.2005, 14:54 Оценка за ответ: 5 Комментарий оценки: Огромное СПАСИБО!
Вопрос № 29.298
Приветствие уважаемые эксперты!!
подскажите пажалуйста как в делфи делается явное приведение типов.
в часности проблема возникла в том что при задании в edit ip-адресса для функции bind несовпадают типы данных String и PAnsiChar как можно решить эту проблему ?? .. Заранее спасибо.
Отправлен: 10.11.2005, 11:03
Вопрос задал: Александер (статус: Посетитель)
Всего ответов: 8 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Lector
Здравствуйте, Александер!
если s имеет тип string, то преобразовать её к типу PAnsiChar можно так: PAnsiChar(s).
--------- Хочешь помочь старику - сделай вместо него. Хочешь помочь новичку - сделай вместе с ним. Хочешь помочь мастеру - отойди и не мешай, а хочешь помочь дураку - сам дурак.
Ответ отправил: Lector (статус: 9-ый класс)
Отправлен: 10.11.2005, 11:13 Оценка за ответ: 5
Отвечает: Маренич Владимир
Здравствуйте, Александер!
Приведение типа на паскале делается как вызов функции:
a: byte;
b: integer;
...
b:=Integer(a);
А вот строку в число и наоборот приведением типа не сделаешь. Нужно использовать специальные функции, которые это делают: StrToInt и IntToStr.
В вашем примере можно сделать приведение типов: PChar(Edit1.Text).
Ответ отправил: Маренич Владимир (статус: 5-ый класс)
Отправлен: 10.11.2005, 11:22 Оценка за ответ: 5
Отвечает: Татьяна
Здравствуйте, Александер!
Обычно, если нужно передевать строку в качестве параметров помогает преобразование типа
PAnsiChar(str) (у меня это PChar(str) - суть дела не меняет)
Ну а если делать правильно, см. приложение
Желаю удачи
Приложение:
--------- Нет ничего невозможного!!!
Ответ отправила: Татьяна (статус: 7-ой класс)
Отправлен: 10.11.2005, 11:27 Оценка за ответ: 5
Отвечает: sir henry
Здравствуйте, Александер!
Если говорить вообще, то типы должны быть похожи и значения нового типа не должно выходить за пределы, задаваемые этим типом.
Если взять Ваш случай, то тут вообще все просто.
PAnsiChar - это PChar:
var
s: string;
pch: PAnsiChar;
Begin
s:='192.168.1.1';
pch:=PChar(s);
End;
Ответ отправил: sir henry (статус: Академик)
Отправлен: 10.11.2005, 11:48
Отвечает: Romodos
Здравствуйте, Александер!
Ну, наверное, надо использовать явное приведение типов, как вы и говорили
var x:pansichar;
begin
x:=pchar(edit1.text);
end;
--------- FAQ me off!
Ответ отправил: Romodos (статус: Студент)
Отправлен: 10.11.2005, 14:02
Отвечает: Schmak
Здравствуйте, Александер!
Приводятся посредством функций с одноимёнными названиями (почти всегда). Например: Byte(), Char(), PChar().
Соответственно в Вашем случае функция PAnsiChar(s:string):PAnsiChar
--------- Не всё то Windows, что висит!
Ответ отправил: Schmak (статус: 7-ой класс)
Отправлен: 10.11.2005, 19:33
Отвечает: nimoid
Здравствуйте, Александер!
//--------------------
...
var
IP: PAnsiChar;
begin
IP := ChPAnsiChar(Edit1.Text);
...
//--------------------
--------- А так все хорошо начиналось...
Ответ отправил: nimoid (статус: 4-ый класс)
Отправлен: 10.11.2005, 19:58
Отвечает: Ataman N. N.
Здравствуйте, Александер!
Явное приведение делается таким образом:
если надо привести из s: String в PAnsiChar -> PAnsiChar(s);
Сначала пишите тип к которому нужно привести, а в скобках переменную, приводимую к данному типу.
Ответ отправил: Ataman N. N. (статус: 1-ый класс)
Отправлен: 13.11.2005, 14:00