Вопрос № 44347: Здраствуйте уважаемые эксперты.
У меня соществует БД -> существует мной написанный сервер который берет данные с БД -> Мне требуется на уже созданную HTML страницу закидывать таблицы для просмотра, а также для добавления, удалени, и т.п.<b...Вопрос № 44359: Здравствуйте, уважаемые эксперты! Подскажите, пожалуйста. Мне нужно сделать класс-пункт меню, и к нему дочерний класс-пункт подменю. Очевидно, нужно наследовать делфишные стандартные классы. А я не знаю, какие и как с помощью этих классов
организовыв...Вопрос № 44377: Доброе время суток эксперты!
Скажите как мне по простому сохранить record ф файл?
У меня просто есть объявление типа
TClient = packed record
IP: String;
Port: Integer;
Relay: Boolean;
BroadCast: Boolean;
end;
...Вопрос № 44382: Есть такая чудесная ф-ия в Delphi - LineDDA. Поскольку в Delphi она просто импортирована из gdi32.dll, то никакой хелпы по ней нет.
Функции предаются 6 параметров: начальные и конечные координаты для линии (это уже 4шт.), указатель на ф-ию и...Вопрос № 44398: Уважаемые эксперты!. Появилось необходимость написания программы для автоматического обзванивания по телефону абонентов. Есть БД с необходимой информацией ( номер телефона, фио, адрес, и т.д.) У ментя модем Zyxel omni 56k. Подскажите пожалюйста с чег...
Вопрос № 44.347
Здраствуйте уважаемые эксперты.
У меня соществует БД -> существует мной написанный сервер который берет данные с БД -> Мне требуется на уже созданную HTML страницу закидывать таблицы для просмотра, а также для добавления, удалени, и т.п.
Примерно как делается я знаю, т.е. через TDataSetPageProducer, одно понять не могу, как сделать там чтобы таблица формировалась? А может что нибудь еще есть, расмотрю все варианты, мне нужно это очень срочно.
Отправлен: 27.05.2006, 00:59
Вопрос задала: GidraIRi (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: chikanok
Здравствуйте, GidraIRi!
Я использовал компонент PageProducer.
В событие OnHTMLTag компонета TPageProducer проверить какой нашёлся тэг и в переменную ReplaceText послать ответ! В приложенни пример формирования таблицы! В данном примере в Html странице должен быть тег <#table> который замениться на таблицу.Все парамерты таблицы добавите сами.Для удаления надо обработать команду Delete с параметром id (Это всё в моём случае),а для добавления на станицу добавить форму для введения данных. Будут вопросы или что-то где-то непонятно пишите на внутреннию почту! Может вам
подойдёт компонент TDataSetTableProducer или TQueryTableProducer с ними будет проше всего,но невсегда удобно!
Удачи!
Приложение:
--------- Главное желание,а там разберёмся!
Ответ отправил: chikanok (статус: 2-ой класс)
Ответ отправлен: 27.05.2006, 12:28 Оценка за ответ: 5 Комментарий оценки: Большое спасибо
Вопрос № 44.359
Здравствуйте, уважаемые эксперты! Подскажите, пожалуйста. Мне нужно сделать класс-пункт меню, и к нему дочерний класс-пункт подменю. Очевидно, нужно наследовать делфишные стандартные классы. А я не знаю, какие и как с помощью этих классов организовывать меню. Заранее спасибо!!!
Отвечает: Проходящий Мимо
Здравствуйте, Андрющенко Вячеслав Васильевич!
Я когда-то реализовал динамическое создание главного меню и подпунктов на основе информации из базы данных, что позволяет использовать права доступа к фонкциям программы, динамически изменять надписи, изображения, привязку к коду и т.д. Для этого я создал свой клас, который происходит от TMenuItem:
TExecuteMenuItem = class(TMenuItem)
private
//можем добавить свои служебные поля
FParam: string;
FExec: string;
//или произвольные методы, которые должны быть реализованы в классе
function SetEventMenuClick(vParam: string): TNotifyEvent;
procedure OnAddBitmap(Sender: TObject);
procedure OnDelSelectRecords(Sender: TObject);
public
published
property Param: string read FParam write SetParam;
property Exec: string read FExec write SetExec;
end;
implementation
...
procedure LoadMenuFromDB(vForm: TForm);
var
//переменная нашего класса
vNewItem: TExecuteMenuItem;
//главное меню
vMainMenu: TMainMenu;
begin
//создаем главное меню, владелец - форма, переданная в качестве параметра,
//в проекте много форм, для каждой свое уникальное меню
vMainMenu := TMainMenu.Create(vForm);
vMainMenu.Name := 'MainMenu' + vForm.Name;
vMainMenu.Images := ImageList1;
//создаем в цикле пункты меню
//QMenu - компонент доступа к базе данных, в котором описаны пункты
//меню, можно заполнять програмно, если все известно
while not QMenu.EOF do
begin
//название пункта-владельца
vParent := trim(QMenu.FieldByName('PARENT').AsString);
//собственно создание пункта
vNewItem := TExecuteMenuItem.Create(vForm);
vNewItem.Caption := trim(QMenu.FieldByName('CAPTION').AsString);
//заполнение своих полей, если нужно
vNewItem.SetParam(trim(QMenu.FieldByName('PARAMS').AsString));
vNewItem.SetExec(trim(QMenu.FieldByName('EXEC').AsString));
//имя берем с базы
vNewItem.Name := trim(QMenu.FieldByName('CTRL').AsString);
vNewItem.Visible := true;
vNewItem.Enabled := true;
//номер иконки также с базы
vNewItem.ImageIndex := QMenu.FieldByName('IMAGE').AsInteger;
//комбинация клавиш
vNewItem.ShortCut := QMenu.FieldByName('SHORTKEY').AsInteger;
//здесь нужно сделать привязку к процедуре OnClick
vNewItem.OnClick := nil
//если нет владельца, создам основной пункл
//else - как подпункт
if (vParent = chNull) or
(TMenuItem(vForm.FindComponent(vParent)) = nil) then
vMainMenu.Items.Add(vNewItem)
else
TMenuItem(vForm.FindComponent(vParent)).Insert(0, vNewItem);
QMenu.Next;
end;
...
end;
В основному все, полный текст могу переслать на мыло
--------- Carpe diem!
Ответ отправил: Проходящий Мимо (статус: 4-ый класс)
Ответ отправлен: 29.05.2006, 09:31
Вопрос № 44.377
Доброе время суток эксперты!
Скажите как мне по простому сохранить record ф файл?
У меня просто есть объявление типа
TClient = packed record
IP: String;
Port: Integer;
Relay: Boolean;
BroadCast: Boolean;
end;
а потом
var
Clients : array of TClient;
Можно ли по простому сохранить?
А то перебирая и сохраняя каждый не уобно. И если появлеются новый поля, то надо переписывать пару кусков кода. А у меня таких объявлений целая куча :-(
Отправлен: 27.05.2006, 11:35
Вопрос задал: Delphin (статус: Студент)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 5)
Отвечает: Решетник Д
Здравствуйте, Delphin!
сделайте так:
var f: file of TClient;
tcl: TClient;
и если не ошибаюсь, читать так:
blockread(f, tcl, 1);
--------- Жизнь коротка, чтобы писать на ассемблере
Ответ отправил: Решетник Д (статус: 6-ой класс)
Ответ отправлен: 27.05.2006, 11:52 Оценка за ответ: 2 Комментарий оценки: [Error] u_frm_main.pas(143): E2155 Type 'TClient' needs finalization - not allowed in file type На строке f: file of TClient;
Вопрос № 44.382
Есть такая чудесная ф-ия в Delphi - LineDDA. Поскольку в Delphi она просто импортирована из gdi32.dll, то никакой хелпы по ней нет.
Функции предаются 6 параметров: начальные и конечные координаты для линии (это уже 4шт.), указатель на ф-ию и некий LParam для передачи дополнительных данных.
Почему ф-ия DrawSpot не срабатывает?
AddPixel (моя процедура) точно работает - проверял.
Отвечает: sir henry
Здравствуйте, Сухомлин Кирилл Владимирович!
Вот здесь есть небольшой примерчик, как пользоваться LineDDA:
http://www.delphimaster.ru/books/978531800297/fragment.html
Ответ отправил: sir henry (статус: Академик) Россия, Красноярск ---- Ответ отправлен: 27.05.2006, 17:34
Вопрос № 44.398
Уважаемые эксперты!. Появилось необходимость написания программы для автоматического обзванивания по телефону абонентов. Есть БД с необходимой информацией ( номер телефона, фио, адрес, и т.д.) У ментя модем Zyxel omni 56k. Подскажите пожалюйста с чего начать и что для этого нужно.
Спасибо !!!
Отправлен: 27.05.2006, 14:52
Вопрос задал: Rdomr (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: chikanok
Здравствуйте, Rdomr!
Начинать надо с изучения TAPI(Telephony Application Programming Interfase), а также изучения принципов работы со звуковыми адаптерами. TAPI в Delphi посвяшена целая глава книги "Программирование Win32 API в Delphi",эту книгу можно скачать с сайта "www.natahaus.ru" или его зеркала "http://www.natahaus.biblioteka.ws", но лучше приобрести т.к с книгой идёт диск с примерами , а без них плохо!(если вы найдёте диск то напишите пожалуйста,я его давно ищу). По работе со звуковыми адаптерами
в интернете много статей!Например"http://rsdn.ru/article/multimedia/winsnd.xml" или "http://rsdn.ru/article/multimedia/winmix.xml" ,они к сожелению для VC++,но основной принцип понятен! В статье "http://progg.net.ru/dir11/p3199.htm" написана почти готовая программа для дозвона и воспроизведения звука ,но опять же на С++. А также вам понадобиться генерировать голос (windows xp умеет разговаривать,но только по английский) здесь опять же инт
ернет,может найдёте компоненту (для Visual Basic`a есть такой ActiveX, наверное можно перенести!).
Пишите мне на емаил, хочу поучаствовать в создании данного приложения!
Rusfaq@74mail.ru
--------- Главное желание,а там разберёмся!
Ответ отправил: chikanok (статус: 2-ой класс)
Ответ отправлен: 28.05.2006, 12:00