Архив метки: lazarus

Получение кода html страницы по заданному URL (Lazarus, FreePascal)

Lazarus_IDE_GTK2_Linux Без сторонних компонентов обойтись к сожалению не удалось.  Модуль который рекомендуют использовать в интернетиках fphttpclient — заставить работать не удалось — падал в access violation… Поэтому пришлось подключать компоненты synaptic:

var httpsend;
function GetWebPageContent(const Url: string): String;
var fs: TStringList; HTTP: THTTPSend;
begin
   fs := TStringList.Create;
   HTTP := THTTPSend.Create;
   try
      HTTP.HTTPMethod('GET', Url);
      fs.LoadFromStream(Http.Document);
      Result := fs.Text;
   finally
      fs.Free;
      http.Free;
   end;
end;

 

Установка Synapse и отправка письма с вложением..

  • Скачиваем исходники с http://synapse.ararat.cz/doku.php/download
  • Копируем папку lib в расположение вашего проекта
  • В свойствах проекта Lazarus: Проект-Параметры проекта-Пути-Другие модули добавляем путь куда положили содержимое lib.

На этом все. Теперь достаточно после uses добавлять необходимые для использования компоненты. Вот так например выглядит простейший пример отправки письма с вложением.

function SendMail (Host, Subject, pTo, From , TextBody,
                HTMLBody, login,password,filename : string) : boolean;
var Msg : TMimeMess; // сообщение
    StringList : TStringList; // содержимое письма
    MIMEPart : TMimePart; // части сообщения (на будущее)
begin
    Msg := TMimeMess.Create; // создаем новое сообщение
//      IdealCharsets:=[CP1251];
//      Msg.Header.CharsetCode:='CP1251';
      StringList := TStringList.Create;
      try
        // Добавляем заголовки
        Msg.Header.Subject := Subject;// тема сообщения
        Msg.Header.From := From; // имя и адрес отправителя
        Msg.Header.ToList.Add(pTo); // имя и адрес получателя
        // создаем корневой элемент
//        MIMEPart := Msg.AddPartMultipart('alternative', nil);
          Msg.AddPartMultipart('', nil);
        if length(TextBody)=0 then
        // если формат HTML
          begin
            StringList.Text := HTMLBody;
            Msg.AddPartHTML(StringList, Msg.MessagePart);
          end
        else
        // если текстовый формат
          begin
            StringList.Text := TextBody;
            Msg.AddPartText(StringList, Msg.MessagePart);
          end;
          if filename<>'' then
            Msg.AddPartBinaryFromFile(filename,Msg.MessagePart);

        // Кодируем и отправляем
        Msg.EncodeMessage;
        // Отправляем.
        if smtpsend.SendToRaw(From,pTo,Host,Msg.Lines,login,password) then
            SendMail:=true
        else
            SendMail:=false;

     finally
       Msg.Free;
       StringList.Free;
     end;
end;

 

Работа с Ini файлами.

Короткий пример,  лучше всего..

uses INIFiles;
procedure TForm1.Button1Click(Sender: TObject);
Var
   IniF:TINIFile;
begin
    Inif := TINIFile.Create('getmailconf.ini');
    INiF.WriteString('config','email',form1.emailto.text);
end;
procedure TForm1.FormCreate(Sender: TObject);
Var
   IniF:TINIFile;
begin
    Inif := TINIFile.Create('getmailconf.ini');
   form1.emailto.text:=INiF.ReadString('config','email','testmail@yartelecervice.ru');

end;

 

Учет оргтехники (закрыто)

Кроссплатформенное Linux/Windows приложение позволяющее вести учет оргтехники на небольшом предприятии. Возможности: приход, списание, перемещение, инвентаризация, печать штрихкодов, ремонты, заправки, отчеты.

44

Изображение 1 из 8

Обсуждение здесь: http://www.freepascal.ru/forum/viewtopic.php?f=10&t=7429

Исходники здесь: https://sourceforge.net/projects/orguse/files/

Лицензия: GPL

Состояние: заморожено, т.к. текущий функционал меня устраивает.

Читалка для Windows CE на Lazarus

Читает кодировки utf8.windows-1251,DOS. Управляется исключительно пальцами или стилусом (адаптировано для работы без клавиатуры).

Состояние: недоделанное. Распространяется по лицензии GPL.

Скачать можно здесь:https://sourceforge.net/projects/bkrlaz/