Текущий архив: 2006.10.08;
Скачать: CL | DM;
Вниззагрузка из xml в Tlistview Найти похожие ветки
← →
korleonemike (2006-09-20 13:07) [0]есть файл xml, нужно данные из него поместить в Tlistview в нормальном виде. (есть программа которая делала это из текстового файла). есть другая программа со схожими функциями выгружающая xml. про xml я вообще ничего не знаю по этому прошу расшифровать кусок кода(что есть что) или дать ссылку на полезное для этого дела чтиво.....
Function FindTreeNode(FirstNode: TTreeNode; Const AText: String): TTreeNode;
Begin
Result:= FirstNode;
While Result <> Nil Do
Begin
If Copy(Result.Text,1,20) = AText Then Exit;
Result:= Result.GetNextSibling;
End;
End;
Var NewNode, TreeNode: TTreeNode;
Str,S:String;
F:TextFile;
FIO,Name,OT,Chet:string;
i:Integer;
S1: string;
begin
List := TStringList.Create;
TreeNode:= TreeView1.Items.GetFirstNode;
while TreeNode <> nil do
begin
if Copy(TreeNode.Text,1,3) = "ÍÏÏ" then
begin
Str:=""; S1:="";
repeat
TreeNode:= TreeNode.GetNext;
S:=TreeNode.Text;
while Copy(S,1,1)<>">" do begin S1:=S1+Copy(S,1,1);Delete(S,1,1);end;
while Copy(S,1,1)<>":" do Delete(S,1,1);
if (S1="<ÔÀÌÈËÈß") or (S1="<ÈÌß") or (S1="<ÎÒ×ÅÑÒÂÎ") or (S1="<ËÈÖÅÂÎÉÑ×ÅÒ") or (S1="<ÑÓÌÌÀ") then
Str:=Str+S;
s1:="";
until Copy(TreeNode.Text,2,5)="ÑÓÌÌÀ";
List.Add(Str);
end;
TreeNode:= TreeNode.GetNext;
end;
SetLength(A1,List.Count);
SetLength(A2,List.Count);
SetLength(A3,List.Count);
SetLength(A4,List.Count);
Summa:=0;
AssignFile(F, ExtractFilePath(Application.ExeName)+"GorSet.txt");
Rewrite(F);
for i:=0 to List.Count-1 do
begin
Str:=List.Strings[I];
FIO:="";Name:="";Ot:="";Chet:="";
while Copy(Str,1,1)=":" do Delete(Str,1,1);
while Copy(Str,1,1)<>":" do begin FIO:=FIO+Copy(Str,1,1);Delete(Str,1,1);end;
while Copy(Str,1,1)=":" do Delete(Str,1,1);
while Copy(Str,1,1)<>":" do begin Name:=Name+Copy(Str,1,1);Delete(Str,1,1);end;
while Copy(Str,1,1)=":" do Delete(Str,1,1);
while Copy(Str,1,1)<>":" do begin Ot:=Ot+Copy(Str,1,1);Delete(Str,1,1);end;
while Copy(Str,1,1)=":" do Delete(Str,1,1);
while Copy(Str,1,1)<>":" do begin Chet:=Chet+Copy(Str,1,1);Delete(Str,1,1);end;
while Copy(Str,1,1)=":" do Delete(Str,1,1);
S:=""; S1:="";
while Length(Str)>0 do
begin
S1:=S1+Copy(Str,1,1);
if Copy(Str,1,1)="." then S:=S+","
else S:=S+Copy(Str,1,1);Delete(Str,1,1);
end;
A1[i]:=IntToStr(i+1);A2[i]:=Fio+" "+Name+" "+Ot;
A3[i]:=Chet;
A4[i]:=S1;
Summa:=Summa+StrToFloat(S);
S:=Format("%-5d %-9s %-30s %-16s %-21s %11d",[i+1,Chet,Fio,Name,Ot,Trunc(StrToFloat(S)*100)]);
CharToOem(PChar(S), PChar(S));
Writeln(F,S);
end;
Или просто дайте дельный совет.
← →
ProgRAMmer Dimonych (2006-09-20 18:57) [1]Вот накатал чего-то. Правильные xml (хотя я очень слабо знаю этот формат) берёт.
http://webfile.ru/1114976
Пробовал на таком файле:
<?xml version="1.0"?>
<gameoptions>
<ingame autoscroll="true" timelimit="true"/>
<screen fullscreen="true" showfps="false" bitdepth="16" backbuffer="0" coloredcursors="true" showobjrgn="false" showfloorrgn="false" showwallrgn="false"/>
<sfx soundquality="1" mastermute="false" mastervolume="96" musicmute="false" musicvolume="64" dynamicmusic="false" logsound="false"/>
<system loggamelogic="false" logpaintserver="false" forcepaintserver="0" advancedpainter="0"/>
<capture fps="0"/>
<new>
<something/>
</new>
</gameoptions>
<something else/>
<1>
<2>
<3>
<4>
<Working hard/>
</4>
</3>
</2>
</1>
Страницы: 1 вся ветка
Текущий архив: 2006.10.08;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.061 c