2010完美固定资产管理系统

完美(Perfection)固定资产管理系统

 系统概述

     完美固定资产管理系统是一款通用的固定资产管理系统软件,完善的固定资产档案管理,支持设备及资产的增加管理、变更管理、清理、借出管理、归还管理、修理管理等管理功能,支持固定资产折旧管理,自动生成固定资产台帐,提供多种查询及报表,是企业固定资产及设备管理的好帮手。完美固定资产管理系统支持多帐套操作,可以设立任意套帐。完美固定资产管理系统操作界面友好、灵活、易操作。网络版可以多台电脑联网使用,数据共享,同时操作各项软件功能。软件用户量庞大,遍及全国各地,用户群覆盖各行各业。
   完美小组固定资产管理系统对固定资产进行特定标识,实现了固定资产生命周期和使用状态的全程跟踪。标识后的资产在进行清查或巡检时显示出自定义编号代码技术最突出的特点:

方便、快速、准确,大大提高了清查工作的效率,同时保证了信息流和资产实物流的对应。有效解决企业固定资产的管理难题,使企业更轻松、更有效地管理固定资产。

 

固定资产管理是企业管理中的一个重要组成部分,固定资产具有数量大、种类多、价值高、使用周期长、使用地点分散等特点,管理难度大。很多单位目前仍然依赖手工记账的管理方式,

由于管理单据众多、盘点工作繁重,需占用大量的人力物力,而且固定资产的历史操作和资产统计工作异常困难,导致资产流失和资产重复购置。近些年出现了一些固定资产管理的软件,

虽然在很大程度上解决了手工记账方式的问题,但多数系统采用手工方式录入数据,不仅速度慢、易产生错误,而且存在资产管理中资产实物与帐务信息脱节的严重问题,难于满足现代企

业管理的需要。

在充分研究企业固定资产管理业务需求的基础上,完美小组(Perfection)开发了《完美小组(Perfection)固定资产管理系统》。系统采用特定标识对固定资产进行标识,实现了固定资产

生命周期和使用状态的全程跟踪。标识后的资产在进行清查或巡检时显示出条码技术最突出的特点:方便、快速、准确,大大提高了清查工作的效率,同时保证了信息流和资产实物流的对

应。有效解决企业固定资产的管理难题,使企业更轻松、更有效地管理固定资产。

 系统特点

1、系统借助条形码技术,针对固定资产管理中经常出现的实物与财务帐目不符的情况,以实物管理为特点,以化繁为简为目的。克服了传统管理模式下依赖纸面单据或通过手工方式录入

原始数据而带来的低效及错误,解决了固定资产管理过程中的实物管理的问题,实现了信息流和实物流的统一,并且大大降低库管人员的工作强度高,提高工作效率。

2、灵活的数据采集方式:系统不仅提供了通过扫描器扫描或手工录入采集资产信息,还提供了强大的数据导入导出功能。利用该项功能,用户可以从文件、手持数据采集终端中导入数据

,系统本身支持多种数据采集终端,用户也可以根据自身的需要,按照系统提供的数据导入导出规范,在其他类型数据采集终端上开发数据采集程序,极大地方便了用户的使用。本系统中

所有需要进行资产信息录入的环节都提供数据导入导出。

3、强大的资产标签制作功能:用户利用系统提供的标签制作功能,可以根据自身单位的要求,自行定义标签的格式和内容,同时支持一维条码标签和二维条码标签。根据资产类别的不同

,系统甚至可以为不同类别的资产定义不同类型的资产标签样式。

4、丰富易用的日常管理功能:本系统提供丰富的日常管理功能,包括资产卡片管理、录入、启用、转移、借用、维修、停用、退出等,各种功能操作都非常简单方便,操作员无须专门的

培训就可以使用,大大减少了误操作的几率。

5、所有单据、报表都提供预览和打印功能,并能导出生成pdf、xls、txt、rtf、jpg、html等多种格式的文件,便于用户日后处理。同时,所有报表的格式都是可以定制的,用户可以根据

本单位的需要队报表格式进行修改和定制。

6、系统采用面相对象技术开发,实现了数据层、业务层、用户表示层(用户界面)的分离,采用优秀的灵活的三层框架设计模式,可以挂接各种后台数据库。同时由于采用了多层架构,对于用户的特殊需求,通过很少的改动

和定制就能满足要求,降低了用户的实施成本,具有极高的性能价格比。

 系统主要功能模块

1、日常管理 : 资产卡片管理、资产录入、资产转移、资产维修、资产借用、资产启用、资产停用、 资产退出
2、资产盘点 : 盘点单查询、盘点单录入、盘盈盘亏明细表、盘点汇总
3、折旧管理 : 计提折旧、折旧月报、折旧年报、资产减值准备、资产价值重估、累计折旧明细
4、报表管理 : 分类明细统计报表、部门明细统计报表、新增资产统计报表、退出资产统计报表
5、系统管理 : 操作员/权限、部门/人员信息、资产分类编码、资产属性信息
6、标签制作 : 标签定义、标签打印

 软件销售咨询

电话: 15335717425 13886665041 0718-8547562
EMAIL: yichi_123@126.com bywei@bywei.cn bywei@sohu.com
QQ: 联系客服 联系客服 联系客服

旺旺: 联系 联系

C#中DataGrid中的数据导入到Excel中-详细实例教程

C#中DataGrid中的数据导入到Excel中,网上的教程也很多,但是我找了大半天也没找到一个比较实用,能清晰解释的文档,今天我就整理一下我在网上搜集的教程。

1.首先引入Interop.Excel.dll 程序集  命名空间为using Microsoft.Office.Interop.Excel;

2.设计操作方法:

       public static void gSendGridInfoToExcel(DataGrid GridX)
{
    Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.ApplicationClass();
    Microsoft.Office.Interop.Excel._Workbook xBk = excel.Workbooks.Add(true);
    Microsoft.Office.Interop.Excel._Worksheet xSt = (Microsoft.Office.Interop.Excel._Worksheet)xBk.ActiveSheet;
    Microsoft.Office.Interop.Excel.Range excelCell = null;
try
{

//赋值对象
object[] objarr;
System.Data.DataTable dtTest = new System.Data.DataTable(); ;
int i,j;
int iRows,iCows;
int iVisable;
iVisable=0;
iCows=0;
ArrayList list=new ArrayList();
//如果绑定数据源是DataTable和DataSet,取得行数
if (GridX.DataSource is System.Data.DataSet || GridX.DataSource is System.Data.DataTable)
{
    dtTest = (System.Data.DataTable)GridX.DataSource;
iRows=dtTest.Rows.Count;
}
else if (GridX.DataSource is System.Data.DataView)
{
DataView dvTest=(DataView)GridX.DataSource;
iRows=dvTest.Count;
dtTest=dvTest.Table;
}
//如果是集合取得行数
else
{
System.Collections.CollectionBase ColTest;
ColTest=(System.Collections.CollectionBase)GridX.DataSource;
iRows=ColTest.Count;
}
//如果有TableStyles则根据TableStyles取得(标题行)
if (GridX.TableStyles.Count>0)
{
iCows=GridX.TableStyles[0].GridColumnStyles.Count;
for(i=0;i<iCows;i++)
{
if(GridX.TableStyles[0].GridColumnStyles[i].Width>0)
{
iVisable++;
list.Add(GridX.TableStyles[0].GridColumnStyles[i].HeaderText);
}

}
objarr = new object[iVisable];
objarr=list.ToArray();
excelCell = xSt.get_Range(excel.Cells[1,1],excel.Cells[1,iVisable]);
excelCell.Value2 = objarr;
//数据行
for(i=0;i<iRows;i++)
{
objarr = new object[iVisable];
list.Clear();

for(j=0;j<iCows;j++)
{
if(GridX.TableStyles[0].GridColumnStyles[j].Width>0)
{
list.Add("’"+GridX[i,j].ToString().Replace("\n",""));
}

}
if (list.Equals(System.DBNull.Value))
{
break;
}
objarr=list.ToArray();
excelCell = xSt.get_Range(excel.Cells[i+2,1],excel.Cells[i+2,iVisable]);
excelCell.Value2 = objarr;
}
}
else
{
iCows=dtTest.Columns.Count;
for(i=0;i<iCows;i++)
{
list.Add(dtTest.Columns[i].Caption);
}
objarr = new object[iCows];
objarr=list.ToArray();
excelCell = xSt.get_Range(excel.Cells[1,1],excel.Cells[1,iCows]);
excelCell.Value2 = objarr;

//数据行
for(i=0;i<iRows;i++)
{
objarr = new object[iCows];
list.Clear();

for(j=0;j<iCows;j++)
{
list.Add("’"+GridX[i,j].ToString().Replace("\n",""));
}
if (list.Equals(System.DBNull.Value))
{
break;
}
objarr=list.ToArray();
excelCell = xSt.get_Range(excel.Cells[i+2,1],excel.Cells[i+2,iCows]);
excelCell.Value2 = objarr;
}

}
dtTest.Dispose();

excel.Visible=true;

}
catch
{
}
finally
{
excelCell=null;
xBk=null;
xSt=null;
excel=null;
GC.Collect();
}

}

关于百味二次开发程序的声明

      回想这几个月以来,百味的二次开发程序也算是有个几十个了,好多的东西都是采用的来自互联网上的优秀的开放源码程序来做的二次开发,要说的话像这些程序原本就是作为共享的,所以所涉及的二次开发的版权问题也有了很大的争议。就像今天一个源码程序商找到我说我侵犯了他的版权。我就感觉非常的气氛,他不是作为开放的源码分享在网络上的吗?况且我也是在网上免费下载的,并且还是知名的软件提供商,这能怪我吗?

       还好我的程序没怎么卖钱,也是作为免费的二次开发程序赠送给朋友的,就像我的博客上发表的其中的有几个程序就是通过二次开发而形成的作品。这也是本着共享的原则嘛。

[实例]以xml读取方式操作ASP.NET中的配置文件app.config

昨天发布了一篇"ASP.NET开发中的配置文件app.config的详解教程",我们可以发现C#中的配置文件其实就是xml文件,这很容易让人想到使用xml操作app.cofig配置文件,今天我们就来学习xml操作配置文件的方法。在文章后面还有操作配置文件的实例教程。希望能给大家一些帮助!

 首先我们学习在C#中操作XML (增删改)的操作方式:

实例:XML文件(bywei.xml)如下:
<?xml version="1.0" encoding="gb2312"?>
<bywei>
<book genre="fantasy" ISBN="2-3631-4">
<title>Oberon’s Legacy</title>
<author>Corets, Eva</author>
<price>5.95</price>
</book>
</bywei>

1、往<bywei>节点中插入一个<book>节点:
XmlDocument xmlDoc=new XmlDocument();
xmlDoc.Load("bywei.xml");
XmlNode root=xmlDoc.SelectSingleNode("bywei");//查找<bywei>
XmlElement xe1=xmlDoc.CreateElement("book");//创建一个<book>节点
xe1.SetAttribute("genre","百味");//设置该节点genre属性
xe1.SetAttribute("ISBN","2-3631-4");//设置该节点ISBN属性

XmlElement xesub1=xmlDoc.CreateElement("title");
xesub1.InnerText="程序员百味编程教程";//设置文本节点
xe1.AppendChild(xesub1);//添加到<book>节点中
XmlElement xesub2=xmlDoc.CreateElement("author");
xesub2.InnerText="www.bywei.cn";
xe1.AppendChild(xesub2);
XmlElement xesub3=xmlDoc.CreateElement("price");
xesub3.InnerText="58.3";
xe1.AppendChild(xesub3);

root.AppendChild(xe1);//添加到<bywei>节点中
xmlDoc.Save("bywei.xml");
//===============================================
结果为:
<?xml version="1.0" encoding="gb2312"?>
<bywei>
<book genre="fantasy" ISBN="2-3631-4">
<title>Oberon’s Legacy</title>
<author>Corets, Eva</author>
<price>5.95</price>
</book>
<book genre="百味" ISBN="2-3631-4">
<title>程序员百味编程教程</title>
<author>www.bywei.cn</author>
<price>58.3</price>
</book>
</bywei>

2、修改节点:将genre属性值为“百味“的节点的genre值改为“update百味”,将该节点的子节点<author>的文本修改为“亚胜”。
XmlNodeList nodeList=xmlDoc.SelectSingleNode("bywei").ChildNodes;//获取bywei节点的所有子节点
foreach(XmlNode xn in nodeList)//遍历所有子节点
{
XmlElement xe=(XmlElement)xn;//将子节点类型转换为XmlElement类型
if(xe.GetAttribute("genre")=="百味")//如果genre属性值为“百味”
{
xe.SetAttribute("genre","update百味");//则修改该属性为“update百味”

XmlNodeList nls=xe.ChildNodes;//继续获取xe子节点的所有子节点
foreach(XmlNode xn1 in nls)//遍历
{
XmlElement xe2=(XmlElement)xn1;//转换类型
if(xe2.Name=="author")//如果找到
{
xe2.InnerText="亚胜";//则修改
break;//找到退出来就可以了
}
}
break;
}
}

xmlDoc.Save("bywei.xml");//保存。
//==================================================
最后结果为:
<?xml version="1.0" encoding="gb2312"?>
<bywei>
<book genre="fantasy" ISBN="2-3631-4">
<title>Oberon’s Legacy</title>
<author>Corets, Eva</author>
<price>5.95</price>
</book>
<book genre="update百味" ISBN="2-3631-4">
<title>程序员百味编程教程</title>
<author>亚胜</author>
<price>58.3</price>
</book>
</bywei>

3、删除 <book genre="fantasy" ISBN="2-3631-4">节点的genre属性,删除 <book genre="update百味" ISBN="2-3631-4">节点。
XmlNodeList xnl=xmlDoc.SelectSingleNode("bywei").ChildNodes;

foreach(XmlNode xn in xnl)
{
XmlElement xe=(XmlElement)xn;
if(xe.GetAttribute("genre")=="fantasy")
{
xe.RemoveAttribute("genre");//删除genre属性
}
else if(xe.GetAttribute("genre")=="update百味")
{
xe.RemoveAll();//删除该节点的全部内容
}
}
xmlDoc.Save("bywei.xml");
//===========================================
最后结果为:
<?xml version="1.0" encoding="gb2312"?>
<bywei>
<book ISBN="2-3631-4">
<title>Oberon’s Legacy</title>
<author>Corets, Eva</author>
<price>5.95</price>
</book>
<book>
</book>
</bywei>

4、显示所有数据。
XmlNode xn=xmlDoc.SelectSingleNode("bywei");

XmlNodeList xnl=xn.ChildNodes;

foreach(XmlNode xnf in xnl)
{
XmlElement xe=(XmlElement)xnf;
Console.WriteLine(xe.GetAttribute("genre"));//显示属性值
Console.WriteLine(xe.GetAttribute("ISBN"));

XmlNodeList xnf1=xe.ChildNodes;
foreach(XmlNode xn2 in xnf1)
{
Console.WriteLine(xn2.InnerText);//显示子节点点文本
}
}

根据以上操作xml(增删改)就可以使用同样的方法操作app.config了。

下载操作xml(增删改)实例教程:xml操作教程实例

ASP.NET开发中的配置文件app.config的详解教程

在Asp.Net(C#)中提供了配置文件App.Config,让我们可以很方面的处理配置信息,应用程序配置文件是标准的 XML 文件XML 标记和属性是区分大小写的。它是可以按需要更改的,开发人员可以使用配置文件来更改设置,而不必重编译应用程序。在.Net中已经提供了一些访问这个文件的功能。配置文件的根节点是 configuration。我们经常访问的是appSettings.下面让我们一起来研究C#中的配置文件问题。
1、读取配置信息
下面是一个配置文件的具体内容:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <appSettings>
    <add key="ConnenctionString" value="*" />
    <add key="TmpPath" value="C:\Temp" />
  </appSettings>
</configuration>
 

.net提供了可以直接访问<appsettings>(注意大小写)元素的方法,在这元素中有很多的子元素,这些子元素名称都是“add”,有两个属性分别是“key”和“value”。一般情况下我们可以将自己的配置信息写在这个区域中,通过下面的方式进行访问:

string ConString=System.Configuration.ConfigurationSettings.AppSettings["ConnenctionString"];

在appsettings后面的是子元素的key属性的值,例如appsettings["connenctionstring"],我们就是访问<add key="ConnenctionString" value="*" />这个子元素,它的返回值就是“*”,即value属性的值。

2、设置配置信息
如果配置信息是静态的,我们可以手工配置,要注意格式。如果配置信息是动态的,就需要我们写程序来实现。在.Net中没有写配置文件的功能,我们可以使用操作XML文件的方式来操作配置文件。下面就是一个写配置文件的例子。 

private void SaveConfig(string ConnenctionString)
        {
            XmlDocument doc=new XmlDocument();
            //获得配置文件的全路径
            string strFileName=AppDomain.CurrentDomain.BaseDirectory.ToString()+"Code.exe.config";
            doc.Load(strFileName);
            //找出名称为“add”的所有元素
            XmlNodeList nodes=doc.GetElementsByTagName("add");
            for(int i=0;i<nodes.Count;i++)
            {
                //获得将当前元素的key属性
                XmlAttribute att=nodes[i].Attributes["key"];
                //根据元素的第一个属性来判断当前的元素是不是目标元素
                if (att.Value=="ConnectionString") 
                {
                    //对目标元素中的第二个属性赋值
                    att=nodes[i].Attributes["value"];
                    att.Value=ConnenctionString;
                    break;
                }
            }
            //保存上面的修改
            doc.Save(strFileName);
        } 
App.Config,.NET,配置文件

 

扩展知识:

[实例]以xml读取方式操作ASP.NET中的配置文件app.config

关于C#程序设计最常见的几个问题

C# 框架是什么?
MVC是什么 ?
工厂模式是什么?
设计模式是什么?
三层架构是什么?
如果要学我该从何学起???

  好多初学C#的人都在思考着这几个问题

C# 框架看这里

http://download.csdn.net/source/2578425
MVC是三个单词的缩写,分别为: 模型(Model),视图(View)和控制(Controller)。 MVC模式的目的就是实现Web系统的职能分工。 Model层实现系统中的业务逻辑,通常可以用JavaBean或EJB来实现。 View层用于与用户的交互,通常用JSP来实现。 Controller层是Model与View之间沟通的桥梁,它可以分派用户的请求并选择恰当的视图以用于显示,同时它也可以解释用户的输入并将它们映射为模型层可执行的操作。

http://baike.baidu.com/view/31.htm

工厂模式定义:提供创建对象的接口.工厂模式是我们最常用的模式了,著名的Jive论坛 ,就大量使用了工厂模式,工厂模式在Java程序系统可以说是随处可见。 工厂模式如此常用,因为工厂模式就相当于创建实例对象的new,我们经常要根据类Class生成实例对象,如A a=new A() 工厂模式也是用来创建实例对象的,所以以后new时就要多个心眼,是否可以考虑使用工厂模式,虽然这样做,可能多做一些工作,但会给你系统带来更大的可扩展性和尽量少的修改量。

http://baike.baidu.com/view/1306799.htm

设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样。

http://baike.baidu.com/view/66964.htm

三层架构,通常意义上的三层架构就是将整个业务应用划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。区分层次的目的即为了“高内聚,低耦合”的思想。

http://baike.baidu.com/view/687468.htm

三层框架
 

百搜使用聚合搜索,能综合搜索您想要的信息

Google搜索引擎、百度搜索引擎,网页搜索引擎、mp3搜索引擎、电影搜索引擎、图片搜索引擎、音乐搜索引擎、新闻搜索引擎、搜索引擎资源、搜索引擎目录、搜索引擎。只需要使用百搜一次全部搞定!

     百搜地址:http://so.bywei.cn

 

java学习阶段和各个java学习阶段推荐的书

java学习阶段和各个java学习阶段推荐的书

目前Java方向有 web开发和无线开发这两种。WEB应用是主流,也比较好找工作。关于java学习的流程,一般都是按照下面的这个java学习阶段来学习的:

1.java的语法学习
2.面向对象观念的建立
3.java基本类库的学习
4.学习设计模式
5.应用设计模式
6.经过大量的实践,可以设计模式

       以上六个阶段,其中前三个阶段是针对java基础的,但java基础学习中,还有很多设计模式的应用,同时有很多功能都支持设计模式,所以不懂设计模式的人是不会很好的应用java做开发的。第45个阶段的学习在前三个阶段的基础上,学习、应用成功的经验。从而进入第六个阶段,在软件设计这个领域尽情发挥。学习好java大众推荐了以下的书目,可以作为学习java的参考。

一、入门
《java 2从入门到精通》- 推荐
《Thinking in java》- 强烈推荐*
O’reilly的java编程基础系列 - 参考*

二、进阶
《java Cook Book》- 非常推荐* (包含了java编程的Tips,适合当做手册来查阅)
《O’reilly-java IO》- 推荐* (包含java IO编程的各个方面)
《O’reilly-Database Programming with JDBC》- 推荐* (JDBC编程)
《O’reilly-java Programming with Oracle JDBC》- 参考*

三、java Web编程
《O’reilly-java Server Pages》- 强烈推荐*
《O’reilly-java Servlet Programming》- 非常推荐*
《O’reilly-Jakarta Struts》- 推荐* (java Web编程的一个MVC实现框架Struts的书)

四、EJB编程
《J2EE应用与BEA Weblogic Server》- 强烈推荐
《Mastering EJB 2.0》- 非常推荐*
《Enterprise java Bean》- 推荐*

五、java XML编程
《O’reilly-java and XML》- 推荐*
《O’reilly-java and SOAP》- 参考* (java的SOAP编程)

六、设计模式
《Core J2EE Patterns》- 强烈推荐* (J2EE设计模式,设计企业应用软件必备参考书)
《EJB Design Patterns》- 推荐*

七、其它
《O’reilly Ant – The Definitive Guide》- 推荐* (Ant是一种功能非常强大的java工具)

Note:
强烈推荐书籍:建议购买,重点学习
非常推荐书籍:建议花时间学习
推荐书籍:在学有余力的情况下,建议学习
参考书籍:有兴趣的情况下学习

 

java学习阶段中,自学的能力非常重要。加油吧! 让我们共同努力!java学习阶段

实例桌面视频录制工具开发和Camtasia Studio下载

实例:桌面视频录制工具 虽然没有软件 Camtasia Studio这个桌面录像工具强大,但他更小巧,C#编程实例,此处也介绍一下Camtasia StudioCamtasia Studio可以在录制视频的时候做绘画教程可以转换各种视频格式 、还可以把录制的视频做成图片!这个软件我用了很长一段时间,直到自己能制作相同的软件之后才罢手,Camtasia Studio现在已经出了6.0版本的了汉化的不是很完整建议大家去百搜搜索下5.0版本的!

Camtasia Studio简介:

Camtasia 是一款专门捕捉屏幕音影的工具软件。它能在任何颜色模式下轻松地记录屏幕动作,包括影像、音效、鼠标移动的轨迹,解说声音等等,另外,它还具有及时播放和编辑压缩的功能,可对视频片段进行剪接、添加转场效果。它输出的文件格式很多,有常用的AVI及GIF格式,还可输出为RM、WMV及MOV格式,用起来极其顺手。
Camtasia还是一款视频编辑软件,可以将多种格式的图像、视频剪辑连接成电影,输出格式可是是 GIF 动画、AVI、RM、QuickTime 电影(需要 QucikTime 4.0 以上)等,并可将电影文件打包成 EXE 文件,在没有播放器的机器上也可以进行播放,同时还附带一个功能强大的屏幕动画抓取工具,内置一个简单的媒体播放器

Camtasia Studio版本有

Camtasia StudioV3.0下载地址 http://www.511xx.com/soft/Camtasia301.rar

Camtasia StudioV4.0下载地址 http://soft.syue.com/soft/62/2007/2007072724826.html

Camtasia StudioV5.0下载地址 http://down.chinaz.com/soft/8066.htm

Camtasia StudioV6.0下载地址 http://duote.com/soft/1424.html

 视频教程给大家

选项设置 404编辑视频剪辑 403导入与管理素材 402时间线概述 401编辑软件工作界面 309屏幕录制操作详解 301录像器工作界面

实例:桌面视频录制工具下载地址:http://down.qiannao.com/space/file/bywei/-4e0a-4f20-5206-4eab/2010/1017/byweiOfenUse/-684c-9762-89c6-9891-5f55-5236-5de5-5177.rar.rar/.page