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 himitsu
himitsu

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

AW: himXML (gesprochen himix ML)

  Alt 21. Sep 2011, 15:08
Jupp.

Du könntest (vermutlich) auch das normale Delphi-Referenz durchsuchenPos verwenden.

Diese Funkion war IMHO nur wegen älteren Delphis enthalten. (glaub ich)

Ich hoffe nur keiner heult, wenn ich die nächste Version nur für D2010/XE und Neuer rausbring.
(eigentlich ab D2009, aber für Compilerfehler und andere delphieigene Bugs, mach ich mir, auf Biegen und Brechen, keinen Buckel mehr krum)
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (21. Sep 2011 um 15:24 Uhr)
  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 22. Sep 2011, 10:52
Hallo himitsu,

ich folgende Zeile Quelltext, die nicht sauber funktionieren :
Delphi-Quellcode:
  XMLConfig := TXMLFile.Create(nil, False);
  stream := TRCxStreamDecorator.Create(
    TFileStream.Create(GetSpecialFolder(CSIDL_APPDATA) + '\VPN-Konfiguration\vpnconfig.xml', fmOpenRead), // der konkrete stream
    True, // ownsStream (auto-free)
    'password', // Passwort fur die SandBox
    emEncodeWriting ); // schreibend kodieren
  try
    (Stream as TRCxStreamDecorator).ReadSalt;
    XMLConfig.LoadFromStream(Stream);
  finally
    Stream.Free;
  end;
Ich verschlüssel eine XML-Datei mit RCx. Wenn ich die verschlüsselte Datei in ein Memo lade oder in eine StringList, dann funktioniert alles ganz wunderbar. Wenn ich es jetzt so mache, wie im obigen Quelltext, dann lande ich immer in der Funktion TRCStreamDecorator.Seek der Datei rcstreamdeco.pas. Die Dateien zum verschlüsseln habe ich aus diesem Beispiel. Ich habe dort alle Strings durch AnsiString ersetzt.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

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

AW: himXML (gesprochen himix ML)

  Alt 29. Sep 2011, 10:59
Hallo himitsu,

das Problem aus dem letzten Beitrag habe ich mit einem Workaround über eine TStringlist lösen können. Ich versuche gerade die interne Verschlüsselung zu nutzen. Ich habe Deine Beschreibung gelesen, kann diese aber nicht umsetzen. Hier mal ein Beispiel :
Delphi-Quellcode:
procedure TForm1.Btn_1Click(Sender: TObject);
var
  XML: TXMLFile;
  i: Integer;
  xmlnode: TXMLNode;
begin
  XML := TXMLFile.Create(nil);
  XML.CryptData['RC4'] := 'testen';
  For i := 0 to 10 do
  begin
    xmlnode := XML.RootNode.Nodes.Add('Node' + IntToStr(i));
    xmlnode.Text_S := 'Testnode_' + IntToStr(i);
  end;
  XML.SaveToFile('test.xml');
  XML.Free;
  M_1.Lines.LoadFromFile('test.xml');
end;
Habe ich da noch etwas vergessen oder was habe ich falsch gemacht ?
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: himXML (gesprochen himix ML)

  Alt 29. Sep 2011, 20:52
XML.CryptData['RC4'] := 'testen'; setzt nur den Schlüssel/Passwort für die Verschlüsselung.

Nun mußt du nur noch, bei den zu gewünschten Knoten noch sagen, daß sie damit verschlüsselt werden sollen.
Delphi-Quellcode:
    xmlnode := XML.RootNode.Nodes.Add('Node' + IntToStr(i));
    xmlnode.Crypted = 'RC4';
    xmlnode.Text_S := 'Testnode_' + IntToStr(i);
Eine integrierte Verschlüsselung über die gesammte Datei kommt erst in der nächsten Version. (solange kann man aber dennoch die XML-Datei streamen und diesen Stream verschlüsseln)
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
franktron

Registriert seit: 11. Nov 2003
Ort: Oldenburg
1.446 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#5

AW: himXML (gesprochen himix ML)

  Alt 26. Okt 2011, 16:48
Habt ihr das mit XE2 64Bit hingekrigt ?

Bei mir Kompiliert er aber stürzt dann beim erstellen von XML:=TXMLFile.Create(nil); mit Stack overflow ab.
Frank
Tux sein Lieblingsquellcode
While anzfische<TuxSatt do begin
Fisch:=TFisch.Create; Tux.EssenFisch(Fisch); Fisch.Free;inc(anzfische); end;
  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 26. Okt 2011, 17:12
Habt ihr das mit XE2 64Bit hingekrigt ?

Bei mir Kompiliert er aber stürzt dann beim erstellen von XML:=TXMLFile.Create(nil); mit Stack overflow ab.
Du musst doch nur die eine Position wo der Assemblercode die Position des Strings zurückgibt ändern in eine ganz normale Pos-Funktion. Dann hat es bei mir zumindest funktioniert.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
franktron

Registriert seit: 11. Nov 2003
Ort: Oldenburg
1.446 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#7

AW: himXML (gesprochen himix ML)

  Alt 26. Okt 2011, 17:58
Das habe ich auch gemacht aber er hat noch 2 stellen mit Linke Seite kann nicht zugewiesen werden angezeigt die habe ich ausgeremt
Frank
Tux sein Lieblingsquellcode
While anzfische<TuxSatt do begin
Fisch:=TFisch.Create; Tux.EssenFisch(Fisch); Fisch.Free;inc(anzfische); end;
  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 21:30 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz