Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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) = "&#205;&#207;&#207;" 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="<&#212;&#192;&#204;&#200;&#203;&#200;&#223;") or (S1="<&#200;&#204;&#223;") or (S1="<&#206;&#210;&#215;&#197;&#209;&#210;&#194;&#206;") or (S1="<&#203;&#200;&#214;&#197;&#194;&#206;&#201;&#209;&#215;&#197;&#210;") or (S1="<&#209;&#211;&#204;&#204;&#192;") then
         Str:=Str+S;
       s1:="";
     until Copy(TreeNode.Text,2,5)="&#209;&#211;&#204;&#204;&#192;";
     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.47 MB
Время: 0.032 c
2-1158408359
greengeneral
2006-09-16 16:05
2006.10.08
Как сделать чтобы в Edit1 можно было вводить только цифры?


15-1158049191
meister
2006-09-12 12:19
2006.10.08
Рассылка


8-1142340920
antoxa2005
2006-03-14 15:55
2006.10.08
Мастера. Подскажите, как "отрисовать" bmp изображение поверх TIma


15-1158611953
Евгений Р.
2006-09-19 00:39
2006.10.08
Позиционирование в RichEdit


8-1141039800
Новенький
2006-02-27 14:30
2006.10.08
Audio Capture