stringlist
#ifndef _STRINGLIST_HPP_
#define _STRINGLIST_HPP_
#include "../global.hpp"
#include <typeinfo>
#include "../hpasutils.hpp"
#include <sys/socket.h>
#include <netinet/in.h>
#include <sys/ioctl.h>
#include <algorithm>
enum TSeekOffset {soFromBeginning = 0, soFromCurrent = 1, soFromEnd = 2};
class TPersistent
{
private:
void AssignError(TPersistent* Source);
protected:
virtual void AssignTo(TPersistent* Dest);
virtual TPersistent* GetOwner();
public:
virtual ~TPersistent();
virtual void Assign(TPersistent* Source);
virtual string GetNamePath();
};
class TMemoryStream:public TPersistent
{
public:
pByte Memory;
int Position;
int Size;
void Clear();
int Seek(const int step, TSeekOffset mode);
void WriteBuffer(void* src, int len);
void ReadBuffer(void* dst, int len);
TMemoryStream();
virtual ~TMemoryStream();
};
//{ TStrings class }
class TStringList:public TPersistent
{
protected:
list<string> buf;
public:
string seperator;
int Add(const string s);
void AddStrings(TStringList& AStrings);
int Insert(const string s);
int IndexOf(const string s);
bool Delete(const string s);
void Delete(const int index);
void Clear();
int Count();
string Values(const string name);
string Values(const string name,const string seperator);
void SetValue(const string name, const string value);
string ValueFromIndex(int index);
string ValueFromIndex(int index, const string seperator);
string Names(int index,const string seperator= "=");
string Lines(int index);
void SetLines(int index, const string s);
bool SetLines(const string des,const string str);
string ReadString(const string name, const string value);
bool SaveToFile(const string filename);
bool LoadFromFile(const string filename);
string TimeFormate(void);
string Text();
void SaveToStream(TMemoryStream& m);
void SetText(const string src, const string sep = "");
void AssignTo(TStringList* Dest);
TStringList();
virtual ~TStringList();
};
extern void GetNets(TStringList& Nets);
extern void GetMACs(TStringList& MACs);
extern void GetIPs(TStringList& IPs);
extern string GetIP(const string if_name);
extern string GetMAC(const string if_name);
extern void Split(const string big, const string sep, TStringList& sl);
#endif /* HCLASSES_HPP_ */
stringlist的更多相关文章
- Delphi中stringlist分割字符串的用法
Delphi中stringlist分割字符串的用法 TStrings是一个抽象类,在实际开发中,是除了基本类型外,应用得最多的. 常规的用法大家都知道,现在来讨论它的一些高级的用法. 1.CommaT ...
- 利用StringList对象来管理这些动态生成的对象
如果程序需要动态创建大量的对象,那么我们可以利用StringList对象来管理这些动态生成的对象.1.创建StringList对象:OBJ := TStringList.Create; 2.保存动态生 ...
- StringList 自定义快速排序
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms ...
- Delphi TstringList Stringlist的特殊用法
procedure TForm1.btn1Click(Sender : TObject); var m : Integer; s : string; strlst ...
- Delphi Stringlist Delimiter如何区分TAB和空格
var st: TStrings; begin st := TStringList.Create; st.StrictDelimiter := True;//这个多少人用过? st.Delimiter ...
- delphi将字符串转换成stringlist
function StrToList(const sString, Token: string): TStringList;var sTmp: string; iPos: Integer; Tokle ...
- C#学习总结之集合
一.集合接口和类型 命名空间: 集合类型 命名空间 一般集合 System.Collections 泛型集合 System.Collections.Generic 特定类型集合 Syst ...
- Linux 平台静默安装 Oracle客户端
需求:Linux平台,安装完整版Oracle客户端 Tips:如果只是用到sqlldr,sqlplus功能,可以参考<Linux上oracle精简版客户端快速部署>快速部署精简版:如果需要 ...
- 基于trie树的具有联想功能的文本编辑器
之前的软件设计与开发实践课程中,自己构思的大作业题目.做的具有核心功能,但是还欠缺边边角角的小功能和持久化数据结构,先放出来,有机会一点点改.github:https://github.com/chu ...
随机推荐
- page59-一种能够累加数据的ADT(可视化版本) [可用于数据挖掘可视化工具]
public class VisualAccumulator VisualAccumulator() 创建一个累加器 void addDataValue(double val) 添加一个新的数据值 d ...
- asp.net for itextsharp 操作pdf
今天分享下昨天做的一个东西 asp.net 的文件 zip 批量下载,首先你需要去 到http://dotnetzip.codeplex.com这个站点下载zip 的包,在里面找到 Ionic.Zip ...
- 【CSS3】---盒模型margin、padding及border
盒模型--边框 盒子模型的边框就是围绕着内容及补白的线,这条线你可以设置它的粗细.样式和颜色(边框三个属性). 如下面代码为 div 来设置边框粗细为 2px.样式为实心的.颜色为红色的边框: div ...
- LINUX下查看php运行的用户
<?php echo shell_exec("id -a"); ?> 打开网页,显示 uid=2(daemon) gid=2(daemon) groups=2(daem ...
- ASP.NET XML与JSON
第一章 ASP.NET XML与JSON 本章学习目标:主要理解DOM和XML,掌握.NET操作XML,DOM,理解json对象,并掌握ASP.NET中JSON的序列化和反序列化. 下面是ASP.N ...
- 英特尔实感SDK 代码示例
原文地址 摘要 本套代码示例针对巴西英特尔实感动手实验室创建,旨在帮助参与人员了解如何使用英特尔® 实感™ 软件开发套件. 12 个示例使用 C# SDK 包装程序,提供了简单的基于控制台的应用,支持 ...
- sql 查询包含字符的数量统计
);); SELECT @word = 'I do not like to get the news, because there has never been an era when so many ...
- 检测是否支持HTML5中的Video标签
//检测是否支持HTML5 function checkVideo() { if (!!document.createElement('video').canPlayType) { var vidTe ...
- Mysql中使用FIND_IN_SET解决IN条件为字符串时只有第一个数据可用的问题
今天在使用Mysql的存储过程处理数据的批量删除时,遇到了WHERE条件中使用IN(strlist)时(strlist为逗号分隔的字符串),只有strlist的第一个元素才有效的问题,现在将问题和解决 ...
- 最新13个加速 Web 开发的框架和工具
我们为开发人员挑选了15个最新的Web开发框架,你肯定尝试一下这些新鲜的框架,有的可能略微复杂,有的提供了很多的配置选项,也有一些窗口小部件和界面交互的选择.他们将帮助你创建更优秀的网站,提供给用户更 ...