Вопрос № 34547: Здравствуйте Уважаемые Эксперты! Сегодня у меня такой вопрос подскажите пожалуйсто как можно написать свой интернет браузер с нуля или нахудой конец где можно скачать ядро браузера например Opera или Mozilla FireFox. Компонент WebBrowser от IE6 не ус...Вопрос № 34565: Здравствуйте уважаемые эксперты.
Помогите пожалуйста. В моей программе используеться отправка почтовых сообщений, отпрвляеться сообщение нормально, но при приеме в Outlook сообщения принимаються в "непонятной" кодировке, приходиться по...Вопрос № 34571: Здравствуйте господа эксперты! У меня тут такая проблемка нарисовалась! Есть табличка в которую попадает результат запроса. Там отображаются только названия. Проблема состоит в том как сделать что бы можно было отмечать каждое название
и ли несколько...Вопрос № 34585: Здравствуйте, эксперты.
Пользуюсь компонентом Indy Clients -- IdFTP. Нужно поставить время задержки поменьше. Только нет свойства timeout. Может кто подскажет как или покажет какую-нить ссылку на пример FTP клиента. За все буду благодарен. Заране...
Вопрос № 34.547
Здравствуйте Уважаемые Эксперты! Сегодня у меня такой вопрос подскажите пожалуйсто как можно написать свой интернет браузер с нуля или нахудой конец где можно скачать ядро браузера например Opera или Mozilla FireFox. Компонент WebBrowser от IE6 не устраивает.
Заранее Спасибо!
Ответ отправил: Bochvarov NikB (статус: 5-ый класс)
Отправлен: 01.02.2006, 15:14
Отвечает: sir henry
Здравствуйте, Шишкин М.А.!
Полностью с нуля - задача очень долгая. Попробуйте скачать с сайта разработчиков мозилы нужную документацию и инструмент. Так дело намного ускорится:
http://www.mozdev.org/
Ответ отправил: sir henry (статус: Академик)
Отправлен: 01.02.2006, 16:17
Отвечает: Rusland
Здравствуйте, Шишкин М.А.!
Исходники мозилы можно скачать с ftp://ftp.mozilla.org/pub/mozilla.org/firefox/releases/1.5/source/. Но паскаль там не поможет.
--------- Пресловутое недостающее звено между обезьяной и цивилизованным человеком - это как раз мы. (Конрад Лоренц)
Ответ отправил: Rusland (статус: Специалист)
Отправлен: 01.02.2006, 16:45
Отвечает: Лучников Юрий Владимирович
Здравствуйте, Шишкин М.А.!
Как написать с нуля? Брать спецификацию HTML и писать свой парсер кода (в сильно упрощенном варианте). На деле вам придется включать поддержку Java и подобного... Дело не стоит потраченного времени;)
Насчет Opera - это проект с закрытым исходным кодом - соответственно ядро никак не получить, Mozilla FireFox - продукт OpenSource, исходники можете поискать на mozilla.org
Здравствуйте уважаемые эксперты.
Помогите пожалуйста. В моей программе используеться отправка почтовых сообщений, отпрвляеться сообщение нормально, но при приеме в Outlook сообщения принимаються в "непонятной" кодировке, приходиться постоянно в каждом письме выбирать "Кодировка"--> "Кирилица "Windows"; а TheBat нормально принимает, т.е он видимо сам конвертирует... Но мне обязательно нужно чтобы сообщения пользователям приходили пользователям Outlook сразу на русском языке. При отправке использую IdSMTP,
IdMessage. (Delphi7, WinXP).
Отвечает: Лучников Юрий Владимирович
Здравствуйте, Пепеляев Александр Павлович!
Для указания кодировки используйте поле объекта TIdMessage TIdMessage.CharSet
Успехов!!!
Ответ отправил: Лучников Юрий Владимирович (статус: Студент)
Отправлен: 01.02.2006, 19:38 Оценка за ответ: 5
Отвечает: sir henry
Здравствуйте, Пепеляев Александр Павлович!
Либо настройте в Outlook Express шрифт по умолчанию (поставьте "Кирилица(Windows)", либо при заполнении письма используйте кодировку KOI-8R, которая, по всей видимости, стоит у Вас по умолчанию в Outlook Express.
Можно попробовать явно указать нужную кодировку в свойстве IdMessage.CharSet, но у меня с оутлуком это почему-то не срабатывало.
Ответ отправил: sir henry (статус: Академик)
Отправлен: 01.02.2006, 20:16
Вопрос № 34.571
Здравствуйте господа эксперты! У меня тут такая проблемка нарисовалась! Есть табличка в которую попадает результат запроса. Там отображаются только названия. Проблема состоит в том как сделать что бы можно было отмечать каждое название и ли несколько названий и потом чтобы они были результатами следующего запроса.по сути как в ней сделать что-то наподобие CheckBox. Вот я и хочу выбрать название и чтобы оно ушло в качестве параметра для запроса.
type
TForm1 = class(TForm)
StringGrid1: TStringGrid;
procedure StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
const
cell_x = 2;
cell_y = 2;
var
Form1: TForm1;
CheckBox1: TCheckBox;
implementation
{$R *.DFM}
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
var
r:trect;
begin
if(cell_x>=StringGrid1.LeftCol) and
(cell_x<=StringGrid1.LeftCol+StringGrid1.VisibleColCount) and
(cell_y>=StringGrid1.TopRow) and
(cell_x<=StringGrid1.TopRow+StringGrid1.VisibleRowCount) then
CheckBox1.Visible:=true
else
CheckBox1.Visible:=false;
if (acol=cell_x) and (arow=cell_y) then
begin
r:=stringgrid1.CellRect(cell_x,cell_y);
r.Left:=r.left+stringgrid1.left+2;
r.right:=r.right+stringgrid1.left+2;
r.top:=r.top+stringgrid1.top+2;
r.bottom:=r.bottom+stringgrid1.top+2;
CheckBox1.BoundsRect:=r;
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
CheckBox1:=TCheckBox.Create(form1);
CheckBox1.parent:=form1;
CheckBox1.Caption:='proba';
end;
procedure TForm1.clean_previus_buffer;
var
NewCheckBox: TCheckBox;
i: Integer;
begin
for i := 1 to StringGrid1.RowCount do
begin
NewCheckBox := (StringGrid1.Objects[4, i] as TCheckBox);
if NewCheckBox <> nil then
begin
NewCheckBox.Visible := false;
StringGrid1.Objects[4, i] := nil;
end;
end;
end;
procedure TForm1.AddCheckBoxes;
var
i: Integer;
NewCheckBox: TCheckBox;
begin
clean_previus_buffer; //удаляем неиспользуемые чекбоксы...
for i := 1 to 4 do
begin
StringGrid1.Cells[0, i] := 'a';
StringGrid1.Cells[1, i] := 'b';
StringGrid1.Cells[2, i] := 'c';
StringGrid1.Cells[3, i] := 'd';
StringGrid1.Objects[4, i] := NewCheckBox;
StringGrid1.RowCount := i;
end;
set_checkbox_alignment; // расположение чекбоксов в ячейках таблицы...
end;
procedure TForm1.set_checkbox_alignment;
var
NewCheckBox: TCheckBox;
Rect: TRect;
i: Integer;
begin
for i := 1 to StringGrid1.RowCount do
begin
NewCheckBox := (StringGrid1.Objects[4, i] as TCheckBox);
if NewCheckBox <> nil then
begin
Rect := StringGrid1.CellRect(4, i); // получаем размер ячейки для чекбокса
NewCheckBox.Left := StringGrid1.Left + Rect.Left + 2;
NewCheckBox.Top := StringGrid1.Top + Rect.Top + 2;
NewCheckBox.Width := Rect.Right - Rect.Left;
NewCheckBox.Height := Rect.Bottom - Rect.Top;
NewCheckBox.Visible := True;
end;
end;
end;
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
begin
if not (gdFixed in State) then
set_checkbox_alignment;
end;
end.
--------- "Будущее принадлежит тем, кто верен своей мечте" - Элеонора Рузвельт
Ответ отправил: Ujin Antikvar (статус: 5-ый класс)
Отправлен: 01.02.2006, 22:51
Отвечает: sir henry
Здравствуйте, Кныш Александр Александрович!
У DBGrid, в параметре Options, есть свойство dgMultiSelect. Поставьте его в TRUE, тогда сможете в таблице выбирать несколько записей стандартным для винды способом. После этого, в SelectedRows, у Вас будут выбранные строки, значения из которых можно получить в цикле:
For i:=0 To DBGrid1.SelectedRows.Count-1 Do
DBGrid1.SelectedRows.Items[i] <- вот это значение можно засунут в следующий запрос
Ответ отправил: sir henry (статус: Академик)
Отправлен: 02.02.2006, 07:33
Вопрос № 34.585
Здравствуйте, эксперты.
Пользуюсь компонентом Indy Clients -- IdFTP. Нужно поставить время задержки поменьше. Только нет свойства timeout. Может кто подскажет как или покажет какую-нить ссылку на пример FTP клиента. За все буду благодарен. Заранее спасибо
Отправлен: 02.02.2006, 02:31
Вопрос задал: Repose (статус: 1-ый класс)
Всего ответов: 3 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Лучников Юрий Владимирович
Здравствуйте, Repose!
Воспользуйтесь компонентом TIdTrivialFTP с вкладки Indy Clients.
Пример использования лежит по адресу: {Program Files}BorlandDelphiExamplesIndyTrivialFTPClient
Тайм-аут: TIdTrivialFTP.ReceiveTimeout в Инспекторе объектов.
Отвечает: sir henry
Здравствуйте, Repose!
Процедура соединения:
procedure Connect(AAutoLogin: boolean = True; const ATimeout: Integer = IdTimeoutDefault); reintroduce;
Выставляете в параметре ATimeout нужное Вам время.
Ответ отправил: sir henry (статус: Академик)
Отправлен: 02.02.2006, 07:18
Отвечает: Ерёмин Андрей
Здравствуйте, Repose!
Я могу ошибаться, но по-моему таймаут устанавливается хостером на сервере и изменить его нельзя, т.е. это вообще к FTP-клиенту не относится. Хотя, повторюсь, я могу ошибаться. Пример FTP-клиента в прикреплённом файле.
Прикреплённый файл: Загрузить >> Срок хранения файла на сервере RusFAQ.ru составляет 30 суток с момента отправки ответа. --------- Работа - не волк, а произведение силы на расстояние!
Ответ отправил: Ерёмин Андрей (статус: Профессионал)
Отправлен: 02.02.2006, 13:50
Отправить вопрос экспертам этой рассылки
Приложение (если необходимо):
* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.
Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!
Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.
Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.