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

Программирование. Форум !!!

За 2004-06-21

Почта из Делфи 7

Прив, comp!

Как отправить(получить) почту средствами Делфи 7.Или как сформировать
сообщение для отправки через компоненты Indy Client ?

   2004-06-21 22:07:37 (#175059)

Re: И еще раз о почте

Здоровеньки булы, bvb!

20 июня 2004 г., воскресенье, 18:12:26 (GMT+05:00), пришел ко мне
почтальон Почкин и всучил письмо с пометкой "И еще раз о почте",
в котором сообщалось следующее:

b> Переработал почтовую программу на базе CHtmlEditView. Html страницы
b> отображаются, однако все ссылки на рисунки ,типа
b> src="cid:advert/inso/4819/1.jpg" не отображаютя при просмотрею. Кто
b> в курсе подскажите где на локальном диске необходимо разместить
b> рисунок

b> Владимир

Есть идея что (если CHtmlEditView - оболочка InternetExplorer), что в
самом IE отключен показ рисунков - я сам тоже долго думал почему у
меня в html фон не показывает (рисунок).

   Томилов Александр 2004-06-21 21:24:50 (#175014)

Re: Delphi socket

Здоровеньки булы, monah!

20 июня 2004 г., воскресенье, 20:30:16 (GMT+05:00), пришел ко мне
почтальон Почкин и всучил письмо с пометкой "Delphi socket",
в котором сообщалось следующее:

m> Не подскажет ли кто. почему не работает следующая функция? В ComboBox1
m> IP адреса возможных серверов.
m> Если первый адрес коректен, все нормально, если нет то сплошные
m> ошибки.

Лень мне разбираться, так что просто посмотри (сканер портов):
unit Unit2;

interface

uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ComCtrls, StdCtrls, ScktComp, ExtCtrls;
type
TForm2 = class(TForm)
Memo1: TMemo;
Panel1: TPanel;
Panel2: TPanel;
Button1: TButton;
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Edit1: TEdit;
Edit2: TEdit;
GroupBox2: TGroupBox;
Edit3: TEdit;
GroupBox3: TGroupBox;
Label3: TLabel;
Label4: TLabel;
Edit4: TEdit;
Edit5: TEdit;
Panel3: TPanel;
ProgressBar1: TProgressBar;
ProgressBar2: TProgressBar;
GroupBox4: TGroupBox;
Edit6: TEdit;
ClientSocket1: TClientSocket;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Button1Click(Sender: TObject);
procedure ClientSocket1Error(Sender: TObject; Socket: TCustomWinSocket;
ErrorEvent: TErrorEvent; var ErrorCode: Integer);
procedure ClientSocket1Connect(Sender: TObject; Socket: TCustomWinSocket);
private
{ Private declarations }
public
{ Public declarations }
end;

var Form2: TForm2;
Rez11: Boolean = false;
Bool: Boolean = false;

implementation

{$R *.DFM}

//Close Scaner
procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
// если запущен, то прерываем процесс
if not Rez11 then exit;
Action := caNone;
Button1Click(Sender);
if not Rez11 then Action := caHide;
end;
// Включить/отключить сканер
procedure TForm2.Button1Click(Sender: TObject);
var I, J, K: Integer;
DopStr: String;
begin
if Rez11 then
begin
if Application.MessageBox('Прервать сканирование?', 'Сканер', mb_YesNo
+ mb_IconQuestion) = idYes then
begin
Rez11 := false;
Bool := false;
end;
end
else
begin
// запуск сканера
if StrToInt(Edit2.Text) < StrToInt(Edit1.Text) then
begin
Application.MessageBox('Неверно указан диапазон для портов', 'Сканер',
mb_Ok + mb_IconStop);
exit;
end;
if StrToInt(Edit5.Text) < StrToInt(Edit4.Text) then
begin
Application.MessageBox('Неверно указан диапазон IP-адресов', 'Сканер',
mb_Ok + mb_IconStop);
exit;
end;
Caption := 'Идет сканирование...';
Memo1.Lines.Clear;
try
DopStr := trim(copy(Edit3.Text, 1, length(Edit3.Text) - 2));
Rez11 := true;
Button1.Caption := 'Отмена';
Memo1.Lines.Add('-------------'#13#10'===========');
// начальные значения для порта и адреса
I := StrToInt(Edit1.Text);
J := StrToInt(Edit4.Text);
try
ProgressBar1.Max := StrToInt(Edit2.Text) - StrToInt(Edit2.Text) +
1;
ProgressBar1.Position := 0;
ProgressBar2.Max :=StrToInt(Edit5.Text) - StrToInt(Edit4.Text) + 2;
ProgressBar2.Position := 1;
// цикл по адресам
while I <= StrToInt(Edit2.Text) do
begin
J := StrToInt(Edit4.Text);
// цикл по портам
while J <= StrToInt(Edit5.Text) do
begin
Application.ProcessMessages;
if not Rez11 then break;
ClientSocket1.Active := false;
ClientSocket1.Port := I;
ClientSocket1.Address := trim(DopStr) + '.' + trim(IntToStr(J));
try
// попытка соедениться
ClientSocket1.Active := true;
Application.ProcessMessages;
// время ожидания
Bool := true;
K := round(StrToFloat(Edit6.Text) * 1000 / 5);
while K > 0 do
begin
Sleep(5);
Application.ProcessMessages;
dec(K);
end;
try
ClientSocket1.Active := false;
except
end;
except
end;
Application.ProcessMessages;
ProgressBar2.Position := ProgressBar2.Position + 1;
inc(J);
end;
inc(I);
Application.ProcessMessages;
if not Rez11 then break;
ProgressBar1.Position := ProgressBar1.Position + 1;
end;
ProgressBar2.Position := ProgressBar1.Position + 1;
ProgressBar1.Position := ProgressBar1.Position + 1;
except
Application.MessageBox('Ошибка выполнения операции', 'Сканер', MB_ok
+ mb_IconStop);
end;
Button1.Caption := 'Сканер';
ProgressBar1.Position := 0;
ProgressBar2.Position := 0;
Caption := 'Сканер по адресам и портам';
if Rez11 then
begin
Application.MessageBox('Процедура сканирования по адресам и портам
закончена.', 'Сканер', mb_Ok + mb_IconAsterisk);
Memo1.Lines.Add('-----------------'#13#10'ВСЕ АДРЕСА
И ПОРТЫ ОТСКАНИРОВАНЫ'#13#10#13#10);
Rez11 := false;
end
else Memo1.Lines.Add('------------'#13#10'ПРЕРВАНО
НА порт-' + IntToStr(I) + ', адрес-' + trim(DopStr) + '.' + IntToStr(J - 1) +
#13#10#13#10);
except
Application.MessageBox('Ошибка инициализации процесса.', 'Сканер', mb_Ok
+ mb_IconStop);
end;
Caption := 'Сканер по адресам и портам';
end;
end;
// Есть ответ сервера
procedure TForm2.ClientSocket1Connect(Sender: TObject; Socket: TCustomWinSocket);
begin
// если соеденились вывести сообщение
Memo1.Lines.Add('***'#13#10'Порт: ' + IntToStr(ClientSocket1.Port) + ' Адрес:
' + ClientSocket1.Address + ' - ЕСТЬ ОТВЕТ'#13#10);
Application.ProcessMessages;
// прервать время ожидания
try
ClientSocket1.Active := false;
except
end;
Bool := false;
end;
// Ошибка при соединении
procedure TForm2.ClientSocket1Error(Sender: TObject; Socket: TCustomWinSocket;
ErrorEvent: TErrorEvent; var ErrorCode: Integer);
begin
// прервать время ожидания если ошибка
ErrorCode := 0;
Bool := false;
end;

end.

   Томилов Александр 2004-06-21 21:24:14 (#175013)

Re: ping на PHP

Добрый день!

> Скажите, как пропинговать определенный IP?
> Спрашивал у гугля, ничего дельного не нашел.

Запустить ping и пропарсить результаты. Например, фукцией shell_exec(). ping
есть на всех машинах, так что проблемы не должно возникнуть.

За сим прощаюсь. Юрий Истомин.
Номер выпуска : 3302
Возраст листа : 273 (дней)
Количество подписчиков : 431
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/174582
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписать : mailto:comp.soft.prog.prog--unsub@subscribe.ru

http://subscribe.ru/ mailto:ask@subscribe.ru

   2004-06-21 14:14:16 (#174582)

Re: LED матрица

17-06-2004 в 22:57 -=[-B0u:MaN-]=- пишет:
> -=[ 17 июня 2004 г. # четверг # 20:52:29 # GMT+0200 ]=-
>Здрасте!
>
>Вот задаю вопрос в рассылках по железу и никто не может сказать ничего толкового.
>:( Теперь задам Вам ;)
>
>>Вот задумал такую штуку:
>Есть электронные "цыфры" (как в электронных часах :) ). Как заставить высвечиватся
>
Добророго ............
Насколько знаю 1.данные дисциплины преподают в инститтутах на факультетаф электроники
и автоматики. 2. В Киеве есть радио завод, попробуй найти человека от туда.
А вообще можно сделать данный "агрегат" многими способами (на транзисторах, на
операционных усилителях или на ТТЛ - логике). Что предпочитаешь?
Можно сделать через плату М1, которая может подключаеться напрямую к порту РС.
Самое главное, чтобы входы не висели, и поставить на порты РС усилители, иначе
можно порты спалить
с УВАЖЕНИЕМ Федор Евдокимов
mailto:fevdokim***@k*****.ru
Номер выпуска : 3301
Возраст листа : 273 (дней)
Количество подписчиков : 431
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/174500
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписать : mailto:comp.soft.prog.prog--unsub@subscribe.ru

http://subscribe.ru/ mailto:ask@subscribe.ru

   Федор 2004-06-21 12:51:45 (#174500)

Библиотеки перевода

Никто не встречал какую-нибудь простую библиотеку для перевода естественных языков?
Нужно для перевода с японского на русский, но желательно, чтобы
используемые алгоритмы подходили и для других языков.
Например, перевод с использованием UNL (Universal Networking Language), хотя
это все-таки сложно. Высокое качество перевода не обязательно.
Если нет библиотеки, может кто-нибудь видел статьи с описанием простых
алгоритмов перевода? Делать полномасштабную систему с
морфологическим, синтаксическим, семантическим
анализом не хочется, да и не нужно.
Номер выпуска : 3300
Возраст листа : 273 (дней)
Количество подписчиков : 431
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/174474
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписать : mailto:comp.soft.prog.prog--unsub@subscribe.ru

http://subscribe.ru/ mailto:ask@subscribe.ru

   2004-06-21 12:24:20 (#174474)

ping на PHP

Здравствуйте!
Скажите, как пропинговать определенный IP?
Спрашивал у гугля, ничего дельного не нашел.

   2004-06-21 08:28:24 (#174306)

Re[2]: округление чисел в PHP

Здравствуйте Юрий,

Saturday, June 19, 2004, 5:01:25 PM, вы писали:

ЮИ> В частности: round ($val, 2)

Спасибо!

   2004-06-21 08:28:17 (#174305)

Re[4]: Анго-русский словарь

Здравствуйте, Victor.

Вы писали 19 июня 2004 г., 12:45:43:

Нашел электронный словарь ARAdic www.aradic.narod.ru
Как раз то что я искал. С понятным форматом словарей, и к тому же
бесплатная.

   2004-06-21 07:54:55 (#174288)

Re: [Delphi] разделение строки на строки

Здравствуйте, keel.

Вы писали 20 июня 2004 г., 6:13:34:

k> Здравствуйте!
k> Существует ли в Дельфи аналог функции explode в PHP?
k> То есть есть ли финкция для разбиения строки на строки?

Да существует. Вот он:

function findstr(substr,str:string; n:integer=1):integer;
var i,j,f:integer;
begin
if (abs(length(str)-n))<length(substr) then
begin
findstr:=0;
exit;
end;
if n<1 then n:=1; f:=0;
for i:=n to length(str) do
begin
if str[i]=substr[1] then
for j:=1 to length(substr) do
begin
if str[i+j-1]=substr[j] then f:=i else
begin
f:=0;
break;
end;
end;
if f<>0 then
begin
findstr:=f;
exit;
end;
end;
findstr:=f;
end;

function explode(raz,str:string; var mas:array of string):integer;
var i,j,old:integer;
begin
j:=0; old:=1; i:=1;
if length(str)<i then
begin
result:=0;
exit;
end;
while true do
begin
i:=findstr(raz,str,i);
if high(mas)<j then break;
if i<>0 then mas[j]:=copy(str,old,i-old) else
begin
mas[j]:=copy(str,old,length(str));
break;
end;
i:=i+length(raz);
old:=i;
inc(j); inc(i);
end;
explode:=j;
end;

   2004-06-21 07:54:48 (#174286)