AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte himXML (gesprochen himix ML)
Thema durchsuchen
Ansicht
Themen-Optionen

himXML (gesprochen himix ML)

Ein Thema von himitsu · begonnen am 12. Mär 2009 · letzter Beitrag vom 11. Nov 2020
Antwort Antwort
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

AW: himXML (gesprochen himix ML)

  Alt 29. Jun 2010, 19:19
Wow, ich glaube ich lade mir doch die Version aus der Zukunft von 2020!

Du könntest ja evtl. beide Versionen nochmal neu hochladen mit einem besseren Namen
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#2

AW: himXML (gesprochen himix ML)

  Alt 28. Aug 2010, 15:56
Hallo himitsu,

ich wollte gerade Dein himXML ausprobieren unter Delphi 2006. Leider bekomme ich keine Daten aus meiner XML-Datei ausgelesen. Könntest Du mir da vielleicht weiterhelfen. Das erste ist, wenn ich Deine Datei himXML.pas öffne, dann bekomme ich schonmal die Meldungen aus dem Anhang. Dann probiere ich es trotzdem mit folgenden Code die XML-Datei zu öffnen und Werte auszulesen :
Delphi-Quellcode:
var
  FormalXML : TXMLFile;
begin
  FormalXML := TXMLFile.Create;
  try
    FormalXML.asXML := '"' + GetEnvVarValue('SystemRoot') + '\Performance\WinSAT\DataStore\2010-08-28 14.10.58.562 Formal.Assessment (Initial).WinSAT.xml"';
    with FormalXML.Node['WinSAT'].Node['WinSPR'] do
    begin
      Label30b.Caption := Node['CpuScore'].Text;
      Label112b.Caption := Node['MemoryScore'].Text;
      Label113b.Caption := Node['GraphicsScore'].Text;
      Label114b.Caption := Node['GamingScore'].Text;
      Label115b.Caption := Node['DiskScore'].Text;
    end;
  finally
    FormalXML.Free;
  end;
end;
Jedesmal bekomme ich eine AccessViolation in der Zeile with FormalXML.Node['WinSAT'].Node['WinSPR'] do . Das ganze führe ich unter Windows 7 x64 aus.

Edit:
Wenn ich das ganze so ausprobiere :
Delphi-Quellcode:
var
  FormalXML : TXMLFile;
begin
  FormalXML := TXMLFile.Create;
  try
    FormalXML.LoadFromFile('"' + GetEnvVarValue('SystemRoot') + '\Performance\WinSAT\DataStore\2010-08-28 14.10.58.562 Formal.Assessment (Initial).WinSAT.xml"');
    with FormalXML.Node['WinSAT'].Node['WinSPR'] do
    begin
      Label30b.Caption := Node['CpuScore'].Text;
      Label112b.Caption := Node['MemoryScore'].Text;
      Label113b.Caption := Node['GraphicsScore'].Text;
      Label114b.Caption := Node['GamingScore'].Text;
      Label115b.Caption := Node['DiskScore'].Text;
    end;
  finally
    FormalXML.Free;
  end;
end;
Bei dieser Variante wird noch der Pfad vom Arbeitsverzeichnis vor den übergebenen Pfad gesetzt. Somit funktioniert auch hier das Laden des XML-Files nicht.
Angehängte Grafiken
Dateityp: jpg Zwischenablage01.jpg (31,4 KB, 4x aufgerufen)
Rolf Warnecke
App4Mission

Geändert von RWarnecke (28. Aug 2010 um 16:18 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.202 Beiträge
 
Delphi 12 Athens
 
#3

AW: himXML (gesprochen himix ML)

  Alt 28. Aug 2010, 16:30
asXML ist der Inhalt der XML-Datei ... also der XML-Code selber.

Eine Datei laden kannst du über LoadFromFile
Delphi-Quellcode:
var
  FormalXML : TXMLFile;
begin
  FormalXML := TXMLFile.Create(;
  try
    FormalXML.LoadFromFile(GetEnvVarValue('SystemRoot')
      + '\Performance\WinSAT\DataStore\2010-08-28 14.10.58.562 Formal.Assessment (Initial).WinSAT.xml');
    with FormalXML.Node['WinSAT'].Node['WinSPR'] do
    begin
      Label30b.Caption := Node['CpuScore'].Text;
      Label112b.Caption := Node['MemoryScore'].Text;
      Label113b.Caption := Node['GraphicsScore'].Text;
      Label114b.Caption := Node['GamingScore'].Text;
      Label115b.Caption := Node['DiskScore'].Text;
    end;
  finally
    FormalXML.Free;
  end;
end;
oder direkt beim Create
Delphi-Quellcode:
var
  FormalXML : TXMLFile;
begin
  FormalXML := TXMLFile.Create(nil, GetEnvVarValue('SystemRoot')
    + '\Performance\WinSAT\DataStore\2010-08-28 14.10.58.562 Formal.Assessment (Initial).WinSAT.xml'), False);
  try
    Label30b.Caption := FormalXML['WinSAT\WinSPR\CpuScore'].Text;
    Label112b.Caption := FormalXML['WinSAT\WinSPR\MemoryScore'].Text;
    ...
Wie sieht denn die XML-Datei aus?
Wenn "WinSAT" der Name des RootNode/Hauptknoten ist, dann kannst/mußt du .Node['WinSAT'] weglassen, da der Hauptknoten über XML.Node schon direkt angesprochen wurde.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#4

AW: himXML (gesprochen himix ML)

  Alt 28. Aug 2010, 16:50
Hallo Himitsu,

danke erstmal für Deine prompte Antwort.

Wie sieht denn die XML-Datei aus?
Wenn Du Windows VISTA oder Windows 7 als Betriebssystem installiert hast, kann Du Dir die XML-Datei in dem angegebenen Pfad anschauen.

Wenn "WinSAT" der Name des RootNode/Hauptknoten ist, dann kannst/mußt du .Node['WinSAT'] weglassen, da der Hauptknoten über XML.Node schon direkt angesprochen wurde.
Die Node WinSAT ist die RootNode.

Wenn ich Dein Beispiel übernehme, bekomme ich folgende Fehlermeldung :
Zitat:
---------------------------
Debugger Exception Notification
---------------------------
Project SystemInfo.exe raised exception class EXMLException with message 'EXMLException (TXMLFile.ParsingTree):
unknown encoding

error at byte position 2 ("" on line 1)'.
---------------------------
Break Continue Help
---------------------------
Diese Meldung taucht auf in der Zeile FormalXML.LoadFromFile.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.202 Beiträge
 
Delphi 12 Athens
 
#5

AW: himXML (gesprochen himix ML)

  Alt 28. Aug 2010, 17:02
Nein, solche Dateien gibt es nicht.
Und auf die Schnelle bekomm ich die gefundene WinSAT.exe nicht zum laufen.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#6

AW: himXML (gesprochen himix ML)

  Alt 28. Aug 2010, 17:10
Und auf die Schnelle bekomm ich die gefundene WinSAT.exe nicht zum laufen.
In Windows 7 oder Windows Vista die Tastenkombi Windows-Taste+Pause drücken und dann kannst Du den Leistungsindex von Deinem Betriebssystem abfragen. Ich schicke Dir zuästzlich noch die angegebene Datei per PN.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.202 Beiträge
 
Delphi 12 Athens
 
#7

AW: himXML (gesprochen himix ML)

  Alt 28. Aug 2010, 17:29
Ohhh, das böse UTF-16

OK, da müßtest du mal ein bissl "hacken".
- in der himXML.pas nach xeUTF16 suchen und diese beiden/drei Funde entkommentieren
- in TXReader.ReadData und und TXWriter.WriteDataX gibt es jeweils ein Case _Encoding of ,
dort bei den Werten xeUnicode, xeUnicodeBE noch das xeUTF16 mit hinzufügen.

Dann sollte es "nutzbar" sein.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (28. Aug 2010 um 17:35 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

(?)

LinkBack to this Thread

Erstellt von For Type Datum
xml - MSXML alternative - Stack Overflow This thread Refback 28. Jun 2011 15:34

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:59 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz