Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на Delphi


Информационный Канал Subscribe.Ru


RusFAQ.ru: Программирование на C++ Builder / Delphi

Выпуск № 335
от 24.05.2004, 08:30

Администратор:
Имя: Калашников О.А.
URL: Информационный ресурс
ICQ: 68951340
Россия, Москва
О рассылке:
Задано вопросов: 1554
Отправлено ответов: 3591
Активность: 231.0 %
[Задать вопрос >>][Регистрация эксперта >>]
[Поиск в базе][Обсудить на форуме]


 Список экспертов, ответы которых опубликованы в данном выпуске

Boriss
Статус: Профессиональный
Общий рейтинг: 161.78
URL: Программирование на Паскале
[Подробней >>]
samum2000
Статус: Профессиональный
Общий рейтинг: 130.46
URL: Samums home page
[Подробней >>]
Pawel
Статус: Профессиональный
Общий рейтинг: 155.84
[Подробней >>]
 
THE_PRO
Статус: Профессиональный
Общий рейтинг: 136.08
URL: THE_PRO
Телефон: (994 +12) 989647
[Подробней >>]
CrackLab
Статус: Доверительный
Общий рейтинг: 153.84
[Подробней >>]
sir henry
Статус: Профессиональный
Общий рейтинг: 161.76
[Подробней >>]


 Краткий перечень вопросов

Вопрос № 1543. Доброе время суток Не подскажите как В DELPHI 6 реализовать добавление в RichEdit Строки из DB с соч... (ответов: 2)
Вопрос № 1544. Покажите, где здесь ошибка? program n18; uses crt; type man = record year: integer; s: str... (ответов: 5)
Вопрос № 1545. Здравствуйте, многоуважаемые эксперты! Я по поводу вопроса № 1539... В ScrollBox1 у меня находится г... (ответов: 3)
Вопрос № 1546. Пытаюсь установить dpk-шку с компонентами, написанными, как утверждает разработчик, под Delphi 6-7 и... (ответов: 5)
Вопрос № 1547. При работе с базами данных в Builder надо использовать псевдонимы. В псевдониме надо указывать путь... (ответов: 1)

Вопросов: 5, ответов: 16


 Вопрос № 1543

Доброе время суток
Не подскажите как В DELPHI 6 реализовать добавление в RichEdit Строки из DB с сочетанием жироного и обычного начертания в одной строке
Например ОДИН (ДВА Жирным) (ТРИ Курсивом)
ОДИН ДВА ТРИ



Вопрос отправлен: 19.05.2004, 09:15
Отправитель: Vajruz

[Следующий вопрос >>] [Список вопросов]

Отвечает Boriss

Доброе время суток, Vajruz!
Вряд ли это получится в простом RichEdit. Слышал я о RxRichEdit много хорошего, но не использовал :))
Взять можно на
http://www.torry.net/pages.php?id=499

Ответ отправлен: 19.05.2004, 18:49
Отправитель: Boriss


Отвечает samum2000


Приветствую Вас, Vajruz!
В примере я показал, как можно добавить строчку текста из edit'a в RichEdit жирным начертанием. Если его еще немножко изменить, то и строки из базы данных можно будет добавлять и не только жирным начертанием.

procedure TForm1.Button1Click(Sender: TObject);
begin
richedit1.SelText:=edit1.Text;
richedit1.SelStart:=richedit1.SelStart-length(edit1.Text);
richedit1.SelLength:=length(edit1.Text);
richedit1.SelAttributes.Style:=[fsBold];
end;
--------------------------
-=Experts helper: testmode=-

Ответ отправлен: 20.05.2004, 18:05
Отправитель: samum2000


 Вопрос № 1544

Покажите, где здесь ошибка?
program n18;
uses crt;
type man = record
year: integer;
s: string;
end;
tman = array [1..65520 div sizeof(man)] of man;
tcmp = function (a,b: pointer): integer;
procedure qs(l,r: integer; A: pointer; f: tcmp; size: integer);
type tarr = array [1..65520] of byte;
var i,j,h: integer;
x,y,d: pointer;
begin
getmem(x,size);
getmem(y,size);
i:=l;
j:=r;
for h:=1 to size do
tarr(x^)[h]:=tarr(A^)[(l+r) div 2+h];
repeat
d:=@tarr(a^)[i*size];
while (f(d,x)=1) do
begin
inc(i);
d:=@tarr(a^)[i*size];
end;
d:=@tarr(a^)[j*size];
while (f(x,d)=1) do
begin
dec(j);
d:=@tarr(a^)[j*size];
end;
if (i<=j) then
begin
for h:=1 to size do
tarr(y^)[h]:=tarr(A^)[i*size+h];
for h:=1 to size do
tarr(a^)[i*size+h]:=tarr(a^)[j*size+h];
for h:=1 to size do
tarr(a^)[j*size+h]:=tarr(y^)[h];
inc(i);
dec(j);
end;
until i>j;
if (l if (lend;
procedure sort(A: pointer; n: integer; f: tcmp; size: integer);
begin
qs(0,n-1,a,f,size);
end;
function compare(a,b: pointer): integer; far;
begin
это вызывает ошибку, как сделать правильно
if ((man(a^)).year < (man(b^)).year) then
compare:=1
else
compare:=0;
end;
var a: ^tman;
n,i: integer;
begin
read(n);
getmem(A,N*sizeof(man));
for i:=1 to n do
read(A^[i].year,A^[i].s);
sort(A,N,compare,sizeof(man));
for i:=1 to n do
writeln(A^[i].year,A^[i].s);
end.



Вопрос отправлен: 19.05.2004, 18:36
Отправитель: Стас (stas3@belnet.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает Boriss

Добрый день, Стас!
Да хотя бы здесь :)) Такого быть не может
if (l if (lend;
procedure sort(A: pointer; n: integer; f: tcmp; size: integer);
Вывод: нужно повторить вопрос и пример положить в приложение.


Ответ отправлен: 19.05.2004, 19:18
Отправитель: Boriss


Отвечает Pawel

Здравствуйте, Стас!
if (l if (lend; - что это за запись????
Что за ошибку выдаёт прога?


Ответ отправлен: 19.05.2004, 19:59
Отправитель: Pawel


Отвечает THE_PRO

Приветствую Вас, Стас!
a qde "then"?

Ответ отправлен: 20.05.2004, 17:49
Отправитель: THE_PRO


Отвечает CrackLab

Доброе время суток, Стас!
Вся программа сплошная ошибка.
Программу писал не ты и совершенно не понимаешь в чем тут ошибка. За тебя всю программу править никто не будет тем более тут не понятно как ее править.

Ответ отправлен: 20.05.2004, 00:43
Отправитель: CrackLab


Отвечает sir henry

Приветствую Вас, Стас!
А что, сообщение компилятора об ошибках влом было написать?
1) Ошибка в строке 2. В Дельфи нет стандартного модуля CRT. Да и зачем он Вам, просто для того чтобы был? Бессмыслица.
2) У Вас ошибок очень много именно синтаксических, поэтому пройдитесь по всем сообщениям компилятора и исправьте синтаксические ошибки, тогда программа наверняка заработает.
4) Зачем Вы pointer приводите к типу если и так ясно с каким типом будет работать программа? Это бессмыслица. Видимо недостаточно подумали на этапе проектирования.
3) Про такие мелочи как {$APPTYPE CONSOLE} в начале проги я уж и не говорю :).

Ответ отправлен: 20.05.2004, 04:25
Отправитель: sir henry


 Вопрос № 1545

Здравствуйте, многоуважаемые эксперты!
Я по поводу вопроса № 1539...
В ScrollBox1 у меня находится графика. Поэтому просто поменять шрифт не совсем подходит. Но я попробовал сделать так, как посоветовал Samum2000, но, к сожалению, это тоже не работает :( (печатается всё равно мелко). Может кто-то знает другие пути решения данной проблемы?



Вопрос отправлен: 20.05.2004, 05:33
Отправитель: UKY

[Следующий вопрос >>] [Список вопросов]

Отвечает samum2000


Приветствую Вас, UKY!
Так с этого и надо было начинать :)
В приложении пример того, как распечатать картинку на принтере, при этом верно её отмасштабировав. Я думаю, что его можно будет применить и к ScrollBox без особых изменений. Если будут вопросы - пиши на samum2000@mail15.com
--------------------------
-=Experts helper: testmode=-

Приложение:

Ответ отправлен: 20.05.2004, 13:07
Отправитель: samum2000


Отвечает sir henry

Доброе время суток, UKY!
Скопировать изображение из ScrollBox (текст и графику), а потом увеличить и распечатать как рисунок.

Ответ отправлен: 20.05.2004, 06:23
Отправитель: sir henry


Отвечает Boriss

Добрый день, UKY!
0) нет лазерного под рукой, так что проверить не могу :((
1) В Rave Reports, коей есть в D7, есть средства для предварительного просмотра, настройки и печати. Почему бы не воспользоваться стандартным VCL?
Кстати именно этот путь рекомндуют авторы учебников (например, Архангельский).
2) У форм есть метод Print и свойство PrintScale = (poNone - без масштабирования, poPrintToFit - того же размера, что на экране, poProportional - подгонка под размер страницы, установленной на принтере). А тут можно разместить рисунок на всю форму, установить Stretch:=True;
3) Есть ф-я API - GetDeviceCaps, которая возвращает значения масштаба, есть SetDIBitsToDevice - для работы с DIB-форматом, DeviceCapabilities - определяет возможности
принтера
4) И еще нашел для печати расторвых: в приложении (но опять же, под руками только матричный)

Приложение:

Ответ отправлен: 20.05.2004, 16:17
Отправитель: Boriss


 Вопрос № 1546

Пытаюсь установить dpk-шку с компонентами, написанными, как утверждает разработчик, под Delphi 6-7 и получаю сообщение, что не найден файл DsgnIntf.pas. Его и впрямь нигде нет - как быть?



Вопрос отправлен: 20.05.2004, 11:25
Отправитель: MikeAD (mikead@mail.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает samum2000


Доброго времени суток, MikeAD!
Попробуй связаться с автором и все выяснить. Но кажется, что компонента писалась точно не под 7-ю версию. Попробуй подсунуть ему DesignIntf.pas - может будет работать?
--------------------------
-=Experts helper: testmode=-

Ответ отправлен: 20.05.2004, 18:05
Отправитель: samum2000


Отвечает THE_PRO

Добрый день, MikeAD!
V sedmoy versii on nazivayetsya DesignIntf.pas

Ответ отправлен: 20.05.2004, 17:47
Отправитель: THE_PRO


Отвечает Boriss

Приветствую Вас, MikeAD!
Стреляться, мой друг, только стреляться с автором, разумеется.
Такой файл у меня нашелся в D5. Пробую выслать, если не получится (у меня), то напишите на surin_bp@mail.ru

Ответ отправлен: 20.05.2004, 11:59
Отправитель: Boriss


Отвечает sir henry

Добрый день, MikeAD!
Если имя файла написано Вами правильно, то поискать в исходниках компонента или самом Дельфи. Если не найдено и там, то связаться с разработчиками компонента.
Как альтернативу можно предложить поиск файла в поисковиках интернет.

Ответ отправлен: 21.05.2004, 04:21
Отправитель: sir henry


Отвечает Pawel

Приветствую Вас, MikeAD!
Застрелиться!!!
Такой фаил есть толко в D 3-5.

Ответ отправлен: 21.05.2004, 13:59
Отправитель: Pawel


 Вопрос № 1547

При работе с базами данных в Builder надо использовать псевдонимы. В псевдониме надо указывать путь к базе данных. При переносе приложения, работающего с базой на другой компьютер, приходится постоянно прописывать путь к базе. Хорошо, что на них есть BDE Administrator или SQL Explorer. Подскажите, пожалуйста, как прописывать путь в псевдонимах для приложений, работающих с базами данных на компьютерах, где нет приложений типа BDE Administrator или SQL Explorer. Может быть надо сделать так: в качестве рабочего каталога указать тот каталог, в котором идет разработка приложения, затем использовать для базы не открытый псевдоним, псевдоним проекта (он вроде бы должен сохраняться в раб. кат. в файле IDAPI.CFG ). И уже после переноса приложения что-либо (например, сам путь к БД, если он там естьJ) изменить как раз в файле IDAPI.CFG?



Вопрос отправлен: 21.05.2004, 01:15
Отправитель: Andrey

[Следующий вопрос >>] [Список вопросов]

Отвечает sir henry

Доброе время суток, Andrey!
Проблема здесь в следующем. Когда Вы пишете приложение, работающее с БД, Вы используете еще одно приложение, которое называется BDE. Именно BDE и организует для Вас доступ к данным на физическом уровне. Следовательно, если Вы не установите на компьютер, где будет работать Ваша программа, еще и BDE, то доступа к данным не будет. Т.е. проблема здесь отнюдь не в псевдонимах и путях, а в том способе доступа к БД, который Вы выбираете для своего приложения.
Способов может быть несколько:
1. BDE. самый легки в использовании и поэтому самый распространенный. Недостатки - нужно на компе клиента устанавливать BDE (9,5 МБ).
2. ADO. Там где есть MS Office, есть и ADO. Следовательно Вам ничего дополнительно, кроме своего приложения, устанавливать не придется.
Это самые распространенные. Есть еще и экзотические. Например использовать специальные компоненты, в которых реализован собственный алгоритм доступа к данным.
-----
Теперь о псевдонимах и путях. Есть специальная функция, которая добавляет псевдоним из программы. Например, в компоненте TSession - TSession->AddAlias(). Или функция DbiAddAlias(). Надо только чтобы было куда добавлять :)).

Ответ отправлен: 21.05.2004, 05:28
Отправитель: sir henry



Форма отправки вопроса

Внимание!
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.

(C) 2002-2003 Команда RusFAQ.ru.

 Персональные данные

Ваше имя:

Ваш e-mail:

Опубликовать мой e-mail в рассылке


 Вопрос и дополнение

Ваш вопрос:


Приложение (если необходимо):


Получить ответов:


 Выбор рассылки

Программисту
Assembler (24)
C / C++ (15)
Perl (2)
Builder / Delphi (16)
Pascal (20)
Basic / VBA (2)
Java / JavaScript (4)
PHP (12)
Криптография (5)
WinAPI (7)
Радиоэлектроника (7)
Пользователю
Windows 95/98/Me (35)
Windows NT/2000/XP (47)
"Железо" (29)
Поиск информации (16)
Администратору
Windows NT/2000/XP (24)
Linux / Unix (9)
Юристу
Гражданское право (9)
Семейное право (7)
Трудовое право (8)
КоАП (6)

Отправить вопрос всем экспертам выбранной рассылки.




Задать вопрос | Регистрация эксперта | Поиск в базе | Чат | Форумы | Новости
Проект экспертов RusFAQ.ru | Фотоальбом | Virus.RusFAQ.ru | Администрирование
Профессиональная WEB-Студия B.I.T.


Яндекс цитирования
© 2001-2004 Россия, Москва. Авторское право: Калашников О.А.

http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу


В избранное