掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ファイル化したメールを表示するには? (ID:1878)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
前回までの所でUIDLのリストを保存しましたが、UIDLを比較するには メモリ上に新しいUIDLを取り込んで過去に取り込んだUIDLのリストと 比べなくてはならないのですが、その部分でどうやって一時的に メモリに新しいUIDLを引き込んで過去のUIDLのリストと比べて 同じメールは取り込まずに新規メールだけを取り込んで、その上 UIDLのリストを更新すれば良いのかが分からないんです。 一度同じ位置付近にTMemoryStreamを使いメモリ上に新しい UIDLを展開しようと思ったのですが失敗してしまいました。(>_<) ちなみに考えてみたリストです。 var // 追加変数 strMUIDL: array [0..HEADER_MAX] of Char; // メモリ用UIDL引き込み変数 UIDLMs: TMemoryStream; // メモリストリーム // メモリ上に新しいUIDLを読み込む // 現在UIDL.lstを生成している所に記述? NMailPop3GetUidl(S, NMAIL_GET_UIDL_ALL, strMUIDL, Length(strMUIDL)); UIDLMs := TMemoryStream.Create; UIDLMs.WriteBuffer(strMUIDL, Length(strMUIDL)); // メモリ上の新しいUIDLと過去のUIDL.lstと比較して古いメールは // POP3サーバから読み込まない処理が入る(分からないため×) // ループ内記述? // メール受信終了後メモリ上のUIDLをUIDL.lstに書き込む // UIDL.lstはここで生成する? UIDLFs := nil; UIDLFs := TFileStream.Create('uidl.lst', fmCreate); // uidl.lstを開く try UIDLFs.WriteBuffer(strMUIDL, Length(strMUIDL)); // リストの更新 finally if UIDLFs <> nil then UIDLFs.Free; // ファイルの解放 end;
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.