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

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


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


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

Выпуск № 102
от 23.11.2002, 15:30

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


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

Vladimir
Статус: Опытный
Общий рейтинг: 110.4
Телефон: (08242) 43599 40099 раб 41255 дом
[Подробней >>]
Idle Sign
Статус: Опытный
Общий рейтинг: 149.07
URL: Blind Team
[Подробней >>]
Артём Шегеда
Статус: Профессиональный
Общий рейтинг: 116.21
URL: Пристанище неодинокого программиста
[Подробней >>]


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

Вопрос № 288. Здравствуйте глубоко уважаемые эксперты!!! Как можно сделать чтобы программа читала в файле Fail.Ini... (ответов: 2)
Вопрос № 289. Здравствуйте!!!!!!!!!!!!1 Артём Шегеда продолжаем вопрос №280 Вы писали: "Здравствуйте, lamacho... (ответов: 1)
Вопрос № 290. Приветствую вас, эксперты. Подскажите, пожалуйста, ссылочку на хороший учебник по дельфям. Есть ли... (ответов: 1)
Вопрос № 291. Здравствуйте, господа эксперты. Помогите, пожалуйста, реализовать следующее : 1)Запускается прога 2)... (ответов: 1)

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


 Вопрос № 288

Здравствуйте глубоко уважаемые эксперты!!!
Как можно сделать чтобы программа читала в файле Fail.Ini под параметром [ie] и заносила в переменную(Ini : string) текст что лежит после Path = C:ProgramFilesInternetExplorerie.exe
Заранее огромнейшее спасибо!!!!!!!!!!!!!!


Приложение:


Вопрос отправлен: 18.11.2002, 16:23
Отправитель: Elvis

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

Отвечает Vladimir

Приветствую Вас, Elvis!
Используй TIniFile.
uses IniFiles;
var
Ini:TiniFile;
str:string;
begin
Ini := TIniFile.Create('C:DirFile.ini');
str := Ini.ReadString('ie','path','Default');
Ini.Free;
end;
Подробнее в хелпе.


Ответ отправлен: 18.11.2002, 17:05
Отправитель: Vladimir


Отвечает Idle Sign

Доброе время суток, Elvis!
===== Pro bono publico, no bloody panico! =====
1) Создаем ини: MyINI: tIniFile.Create ('File.ini') (в uses'ах должен быть прописан модуль inifiles).
2) Читаем Ini := MyINI.ReadString ('ie', 'path', '');
3) Освобождаем MyINI.Free;
ПиС: При этом по умолчанию все ини файлы кладуться в системную директорию (типа C:WINNT), но это легко изменить...

Ответ отправлен: 19.11.2002, 11:21
Отправитель: Idle Sign


 Вопрос № 289

Здравствуйте!!!!!!!!!!!!1
Артём Шегеда
продолжаем вопрос №280
Вы писали:
"Здравствуйте, lamachok!
Что касается использования невизуальных компонент, то наличие формы для них необязательно. Форма нужна только для реализации интерфейса пользователя. Для невизуальных компонент достаточно выполнить конструктор и настроить свойства. При этом придётся вручную вставить имя используемого модуля (для TNMSMTP, например,
это - NMsmtp)."+ пример
Спасибо вам за пример, но когда его реализовал и увидел
размер проги =200кл, я офигел, но все же не теряю надежды зделать это на api вот код на который вы меня натолкнули
unit Email;
interface
uses Windows, mapi, SusUtils, Classes;
................
function SendEmail(const RecipName, RecipAddress, Subject, Attachment: string): Boolean;
function IsOnline: Boolean;
.....................
implementation
..................
function SendEmail(const RecipName, RecipAddress, Subject, Attachment: string): Boolean;
var
MapiMessage: TMapiMessage;
MapiFileDesc: TMapiFileDesc;
MapiRecipDesc: TMapiRecipDesc;
i: integer;
s: string;
begin
with MapiRecipDesc do begin
ulRecerved:= 0;
ulRecipClass:= MAPI_TO;
lpszName:= PChar(RecipName);
lpszAddress:= PChar(RecipAddress);
ulEIDSize:= 0;
lpEntryID:= nil;
end;
with MapiFileDesc do begin
ulReserved:= 0;
flFlags:= 0;
nPosition:= 0;
lpszPathName:= PChar(Attachment);
lpszFileName:= nil;
lpFileType:= nil;
end;
with MapiMessage do begin
ulReserved := 0;
lpszSubject := nil;
lpszNoteText := PChar(Subject);
lpszMessageType := nil;
lpszDateReceived := nil;
lpszConversationID := nil;
flFlags := 0;
lpOriginator := nil;
nRecipCount := 1;
lpRecips := @MapiRecipDesc;
if length(Attachment) > 0 then begin
nFileCount:= 1;
lpFiles := @MapiFileDesc;
end else begin
nFileCount:= 0;
lpFiles:= nil;
end;
end;
Result:= MapiSendMail(0, 0, MapiMessage, MAPI_DIALOG
or MAPI_LOGON_UI or MAPI_NEW_SESSION, 0) = SUCCESS_SUCCESS;
end;
function IsOnline: Boolean;
var
RASConn: TRASConn;
dwSize,dwCount: DWORD;
begin
RASConns.dwSize:= SizeOf(TRASConn);
dwSize:= SizeOf(RASConns);
Res:=RASEnumConnectionsA(@RASConns, @dwSize, @dwCount);
Result:= (Res = 0) and (dwCount > 0);
end;
end.
я бы мог написать все ошибки при компиляции,но их слишком много, не могли бы вы этот код реализоват и выслать в исходнике, пожалуйста
lamachok
шлите туды lamachok@mail.ru



Вопрос отправлен: 18.11.2002, 19:14
Отправитель: lamachok (lamachok@mail.ru)

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

Отвечает Артём Шегеда

Доброе время суток, lamachok!

Опять-таки, это MAPI, то есть использование установленных в системе менеджеров, одним из которых является почтовый менеджер, а тот, как известно, уведомляет пользователя об отправке сообщения. Кроме того, в системе может не существовать почтового менеджера (нонсенс, конечно, но всякое бывает...)
Поэтому настоятельно рекомендую поковырять QMail. Там писано на чистом API, реализован SMTP протокол.
А вот я проверил интересный набор (просто, но со вкусом):
http://www.torry.net/vcl/internet/packs/synapse.zip
EXE-файл имеет размер 95К (если без BPL) или 44К (если с использованием BPL)
Вот исходник моей программы:

program simple;
uses
SysUtils,
Classes,
SMTPsend;
{$R *.RES}
var
SMTP : TSMTPSend;
t : TStringList;
begin
{you must create object for SMTP session}
SMTP:=TSMTPSend.Create;
t:=TStringList.Create;
try
t.Text := 'Subject: Probe'#13#13'Hello!'#13'It is a probe message.';
{set address of SMTP server, throw you can send e-mails}
SMTP.TargetHost := 'servername';
SMTP.TargetPort := '25';
{begin SMTP session with server}
if not SMTP.login then {error connecting to server}
Abort;
{send e-mail address of sender.}
if not SMTP.mailfrom('yourmail@yourhost.com',0) then {server not allow e-mails from this sender}
Abort;
{send e-mail address of receiver. You may run this line multiply, if e-mail for multiple receivers}
if not SMTP.mailto('yourmail@yourhost.com') then {server not allow send e-mail to this receiver from sender address}
Abort;
// if not SMTP.mailto(EMailOfSecondFirstReceiver) then {server not allow send e-mail to this receiver from sender address} ;
{now send raw data of e-mail stored as text in Stringlist.}
{Remember, text data must have headers lines. Practical headers is FROM, TO, DATE and SUBJECT}
{If you can send MIME e-mails, you must code it to stringlist first}
if not SMTP.maildata(t) then {this e-mail body is not accepted}
Abort;
{closing session and disconnect from SMTP server}
SMTP.logout;
finally
{destroy SMTP object}
t.Free;
SMTP.Free;
end;
end.

Как видишь, очень просто.

Ответ отправлен: 19.11.2002, 13:45
Отправитель: Артём Шегеда


 Вопрос № 290

Приветствую вас, эксперты.
Подскажите, пожалуйста, ссылочку на хороший
учебник по дельфям. Есть ли вообще такие в инете, или надо только реальную книгу покупать?



Вопрос отправлен: 19.11.2002, 10:35
Отправитель: Zlo

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

Отвечает Idle Sign

Здравствуйте, Zlo!
===== Pro bono publico, no bloody panico! =====
1) Лично мне импонирует книга (у нее есть электронный вариант, только нужно поискать) KENT REISDORPH "Teach Yourself Borland Delphi 4 in 21 Days". Это серия книг, к примеру есть под C++ Builder и тоже за 21 день (основы за этот период как раз вдалбливаются).
2) Из печатных вариантов ничего советовать не стану - очень уж их много.
3) Ну и, наконец, книга всех времен и народов - строенная справка, а также документация MSDN (январьский выпуск, помнится занимал 3 диска).


Ответ отправлен: 20.11.2002, 07:50
Отправитель: Idle Sign


 Вопрос № 291

Здравствуйте, господа эксперты.
Помогите, пожалуйста, реализовать следующее :
1)Запускается прога
2)Просматриваются все файлы в каталоге C:somedir на наличие в файле ключевого слова keyword
3)Если слово найдено - удалить этот файл и искать в следующем файле
4)Если слово не найдено - искать в следующем файле
Заранее спасибо.



Вопрос отправлен: 19.11.2002, 12:10
Отправитель: Nick

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

Отвечает Idle Sign

Приветствую Вас, Nick!
===== Pro bono publico, no bloody panico! =====
1) это уж как-нибудь сам
2) для поиска всех файлов в каталоге используй FindFirst, FindNext и TSearchRecord, далее читаешь содержимое файла, к примеру, в TStingList.LoadFromFile. Для поиска используй TStingList.Find и/или TStingList.IndexOf.
3) используй DeleteFile и FindNext
4) опять FindNext

Ответ отправлен: 21.11.2002, 12:58
Отправитель: Idle Sign



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

Внимание!
Форма может работать некорректно в почтовых программах "Microsoft Outlook" и "Microsoft Outlook Express". В программе The Bat! подобные формы не работают вообще!
После нажатия на кнопку "Отправить", будет открыто второе окно. Заметьте, что в некоторых браузерах могут стоять запреты на открытие других окон, а также "чрезмерное" кэширование данных, при этом факт отправки Вашего вопроса стоит под сомнением.
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.

© 2002 Команда RusFAQ.ru.

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

Ваше имя:

Ваш e-mail:

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


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

Ваш вопрос:


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


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


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

Программисту
Assembler (41)
C / C++ (28)
Perl (8)
Delphi (13)
Pascal (22)
Basic / VBA (11)
Java / JavaScript (13)
PHP (9)
MySQL / MSSQL (8)
Пользователю
Windows 95/98/Me (32)
Windows NT/2000/XP (22)
"Железо" (27)
Поиск информации (17)
Администратору
Windows NT/2000/XP (11)
Linux / Unix (16)
Юристу
Гражданское право (7)
Семейное право (2)
Трудовое право (3)
КоАП (2)

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




Яндекс цитирования

© 2002 Россия, Москва. Авторское право: RusFAQ.ru

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

В избранное