Вопрос № 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