首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

急多谢!(新手)

2012-03-19 
急!!!!在线等!谢谢!(新手)varf:TextFileheadpnt,endpnt:Tpointkind:stringdata1:TDatacolor:TColorSe

急!!!!在线等!谢谢!(新手)
var
    f:TextFile;
    headpnt,endpnt:Tpoint;
    kind:string;
    data1:TData;
    color:TColor;
    SepChar:string;

///////////////////////////////////////////////////////////////////////////
Readln(f,kind,SepChar,headpnt.x,SepChar,headpnt.y,SepChar,endpnt.x,SepChar,endpnt.y,SepChar,data1.DataBaseName,SepChar,data1.TableName,SepChar,data1.FieldName,SepChar,data1.Key,SepChar,color,SepChar);


我这样读出来的各变量的类型没改变吧?那我下边要用到除了SepChar外的各量,直接应用可以不?不知道我表诉清楚没

[解决办法]
Readln 你知道Read出来的是个什么样类型的数据吗 中间的参数必须为字符窜类型的

也就是说你前面定义的var
f:TextFile;
headpnt,endpnt:Tpoint;
kind:string;
data1:TData;
color:TColor;
SepChar:string;

只要类型不是string类型的都需要转换
[解决办法]
Readln每次读出一行文本字符

按你的要求要用BlockRead来按字节读
var
f:TextFile;
headpnt,endpnt:Tpoint;
kind:string[255]; //必须定义字段长度
data1:TData;
color:TColor;
SepChar:string[255];
//////////
begin
...
...
BlockRead(f,kind,length(kind)); //读string
BlockRead(f,headpnt,sizeof(headpnt)) //读其他类型
...
...
end

热点排行