这个东东上次发出来有很多问题, 也没太多时间,忙里偷闲, 修改了下.上次发时工具栏提示,还都是toolstripbutton1 , toolstripbutton2..... 这个改过了,呵呵!

主要的问题:

是文章发布时常会出现图片不能上传,还是本地图片地址.
先说下文章发布的步骤:
先找出文章中所有的图片地址->检查是不是本地图片->如果是本地图片测上传->将文章中的本地图片地址转为上传后图片的网络地址 -> 将文章发布.
本来是使用正则找出所有本地图片地址, 第一想到的是正测表达式有问题. 断点查看,正则没问题.

原来:
如:C:\Documents and Settings\Administrator\桌面\02asds.jpg本图片路径.   在html原文件中会是这样file:///C:/Documents%20and%20Settings/Administrator/桌面/02asds.jpg
程序找不本地路径.

解决:
除去 file:/// 及 %20

---------------------------------

介绍一下插件接口吧.

IPlugin:

/// <summary>
/// 所有插件接口基础.(所有插件接口都继承此接口)
/// </summary>
public  interface  IPlugin
        {
/// <summary>
/// 插件的基本信息
/// </summary>
                PlugBaseInfo  BaseInfo{get;}
/// <summary>
/// 插件应用的启动方法.加载插件时调用.
/// </summary>
/// <param name="FunctionMenuItem"></param>
void  Start();
        }

所有插件须实现此接口.
其中PlugBaseInfo是一个包含插件基本信息的结构体.

/// <summary>
/// 插件的基本信息结构体
/// </summary>
public  struct  PlugBaseInfo
        {
/// <summary>
/// 插件名称,将在BlogWrite 程序的功能菜单显示
/// </summary>
public string  Name;
/// <summary>
/// 插件的类型.宿主程序通过此属性确定插件类型
/// </summary>
public string  Type;
/// <summary>
/// 插件图标
/// </summary>
public  Image  Ico;
public string  Readme;
        }

IBlogAPI 接口:
IBlogAPI接口继承自IPlugin接口, 通过现实IBlogAPI接口,以扩展所有支持的博客API类型,目前仅支持MetaWeblog. IBlogAPI接口目前定义还不完善, 下次下说喽.

FunctionMenuService:
此类在BlogWriter.Interface.Service命名空间中.提供对宿主程序功能菜单的操作.

类App :
类App的静态成员Host提供宿主程序公开接口的访问.

插件Demo:

using  System;
using  System.Collections.Generic;
using  System.Text;
using  System.Windows.Forms;
//
using  BlogWriter.Interface;
using  BlogWriter.Interface.Service;
using  BlogWriter.Interface.BlogAPI;
namespace  Houfeng.BlogWriterPlugins
{
public class  PreBrowser:IPlugin
        {
public  PlugBaseInfo  BaseInfo
                {
get
                        {
                                BlogWriter.Interface.PlugBaseInfo  bi  =  new  BlogWriter.Interface.PlugBaseInfo();
                                bi.Name  =  "插件名字";
                                bi.Readme  =  "插件描述";
                                bi.Type  =  "FunctionMenu";
return  bi;
                        }
                }
public void  Start()
                {
                        FunctionMenuService  fm  =  new  FunctionMenuService();
                        ToolStripMenuItem  ti  =  new  ToolStripMenuItem("插件Demo(&B)");
                        ti.Click  +=  new  EventHandler(ti_Click);
                        fm.AddMenuItem("插件Demo",  ti);
                }
void  ti_Click(object  sender,  EventArgs  e)
                { 
// 菜单项事件处理
                }
        }
}

嘿嘿!注意添加对 BlogWriter.Interface.dll 的引用

附:http://www.cnblogs.com/houfeng/archive/2009/08/13/1544784.html

转载于:https://www.cnblogs.com/rainuu/archive/2010/01/05/1639365.html

[转]制作BlogWriter 博客客户端相关推荐

  1. Android应用开发-小巫CSDN博客客户端UI篇

    Android应用开发-小巫CSDN博客客户端UI篇 上一篇是给童鞋们介绍整个项目的概况,从这篇博文开始,后续也会详细介绍整个客户端的开发,但不会贴很多代码,我会贴核心代码然后提供实现思路,想看里面更 ...

  2. Android应用开发-小巫CSDN博客客户端之获取评论列表

    Android应用开发-小巫CSDN博客客户端之获取评论列表 上一篇博客介绍了博文详细内容的业务逻辑实现,本篇博客介绍小巫CSDN博客客户端的最后一项功能,获取评论列表,这个功能的实现跟前面获取文章列 ...

  3. Android应用开发-小巫CSDN博客客户端之嵌入有米广告

    Android应用开发-小巫CSDN博客客户端之嵌入有米广告 上一篇博客给大家介绍如何集成友盟社会化组件,本篇继续带来干货,教大家如何嵌入广告到应用中去.小巫自称专业对接30年,熟悉各大渠道SDK的接 ...

  4. Android应用开发-小巫CSDN博客客户端之显示博文详细内容

    Android应用开发-小巫CSDN博客客户端之显示博文详细内容 上篇博文给大家介绍的是如何嵌入有米广告并且获取收益,本篇博客打算讲讲关于如何在一个ListView里显示博文的详细信息,这个可能是童鞋 ...

  5. Android应用开发-小巫CSDN博客客户端之嵌入有米广告,android音视频开发面试

    然而横幅广告有两种形式,一种是以XML形式布局,另一种是以代码形式布局. 配置有米权限: 有米必要的配置: <activity android:name="net.youmi.andr ...

  6. Android应用开发-小巫CSDN博客客户端UI篇,kotlin安卓开发教程视频

    ** ** (图5-博文评论列表) 以上给大家展示的是小巫CSDN博客客户端的主要界面效果,下面来讲解如何布局这样的界面: 启动界面布局 /BlogClient/res/layout/splash.x ...

  7. Android应用开发-小巫CSDN博客客户端之集成友盟社会化分享组件,2021最新Android框架体系架构面试题

    下面是详细的集成过程: 首先来到官网:http://www.umeng.com/ 选择社会化分享,进入查看这个产品的介绍,下载对应平台的SDK,笔者这里自然是选择Android平台: 笔者集成友盟社会 ...

  8. Android应用开发-小巫CSDN博客客户端Jsoup篇

    Android应用开发-小巫CSDN博客客户端Jsoup篇 距上一篇博客已经过去了两个星期,小巫也觉得非常抱歉,因为在忙着做另外一个项目,几乎抽不出空来,这不小巫会把剩下的博文全部在国庆补上.本篇博客 ...

  9. 天正建筑lisp编程接口_用lisp开发博客客户端

    博客客户端如何实现 像我们这种基本没接触过Web开发的人,可能完全没有思路去实现一个博客客户端.事实上 实现起来非常简单. 使用过其他博客客户端(例如Windows Live writer)的人肯定知 ...

最新文章

  1. 等于x分之a的平方的导数_数学漫谈导数
  2. ios UIScrollView 中控件自动增加间隔
  3. Entity Framework Core 生成跟踪列
  4. linux ntp软件下载,Linux_Linux时区同步问题(安装ntp软件过程),下载了一个windows的NTP服务程序 - phpStudy...
  5. 零值比较--BOOL,int,float,指针变量与零值比
  6. 19套最新的免费图标字体集
  7. 【Python】简单实现显示图片的高斯和中值滤波效果
  8. HDU 4379 水题,大水,但我WA了很多次,做了很久
  9. 【开源毕设】一款精美的家校互动APP分享——爱吖校推 [你关注的,我们才推](持续开源更新2)...
  10. matlab solve 矩阵方程,用solve函数能求解带有未知数的矩阵方程组吗
  11. 电子书下载:MySQL Stored Procedure Programming
  12. 常用软件的静默安装参数
  13. 通信原理(张祖凡)知识点归纳【持续更新】
  14. java计算机毕业设计基于安卓/微信小程序的健身房健身管理系统
  15. 基于JAVA汽车租赁系统计算机毕业设计源码+系统+lw文档+部署
  16. ECMAScript6面对大于0xFFFF的Unicode字符如何正确返回长度
  17. mysql存储过程之循环语句(五)
  18. 《牧羊少年的奇幻之旅》-保罗 柯艾略
  19. php微创手术价格,膝盖疼困扰大半年,终于做了关节镜微创手术
  20. tp-wdr5620 创建虚拟服务器,TP-Link TL-WDR5620路由器怎么设置? | 192路由网

热门文章

  1. 网站优化之交换友情链接应注意什么?
  2. 企业官网营销,网站建设是第一步
  3. 智慧树插件会被发现吗_输尿管也会得肿瘤?能早期发现吗?
  4. opennms mysql_MySQL用户工具
  5. latex hyperref_LaTeX 使用心得
  6. 开发日记-20190813 关键词 读书笔记《Linux 系统管理技术手册(第二版)》DAY 22
  7. packettotal.com - PacketTotal - A Free Online PCAP Analysis Engine
  8. ssh跳板登陆太麻烦,使用expect每次自动登录 利用expect 模拟键盘动作,在闲置时间之内模拟地给个键盘响应...
  9. go语言笔记——调试还很弱,用gdb来做?可用panic和defer。格式化代码使用gofmt,貌似我的vim插件是自带...
  10. python 公钥解密