AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Ideen für spezielle Stringbearbeitung

Ein Thema von toyoman · begonnen am 21. Jul 2008 · letzter Beitrag vom 6. Aug 2008
Antwort Antwort
Seite 4 von 8   « Erste     234 56     Letzte »    
toyoman

Registriert seit: 2. Jun 2003
323 Beiträge
 
Delphi 2010 Enterprise
 
#31

Re: Ideen für spezielle Stringbearbeitung

  Alt 22. Jul 2008, 16:45
Zitat von RavenIV:
Zitat von toyoman:
jetzt lass mir doch meine geile funktion. die geb ich nicht her.
die kommt aus meiner spezial unit mit den ganzen gesammelten werken....
...welche vermutlich alle irgendwoher kopiert sind.

Ausserdem sind die meisten Delphi-Funktionen sehr optimiert und tausendfach im Einsatz.
Ich such lieber ne halbe Stunde in der Delphi-Hilfe, bevor ich was selber in Angriff nehme.
Wenn ich dann nichts finde, kann ich immernoch woanderst suchen oder mir die Finger wundtippen.
ja das rad neu erfinden macht ja keinen sinn.
aber viele funktionen sind auf meine bedürfnisse abgestimmt und keine standard dinger. so dass ich sie halt dennoch selber hingetippt hab.
ich tipp eigentlich gerne....
  Mit Zitat antworten Zitat
toyoman

Registriert seit: 2. Jun 2003
323 Beiträge
 
Delphi 2010 Enterprise
 
#32

Re: Ideen für spezielle Stringbearbeitung

  Alt 22. Jul 2008, 16:52
Zitat von RavenIV:
Zitat von toyoman:
getpath ist eine funktion von mir welche den aktuellen programmpfad zurückgibt (getestet und funktioniert 100pro)
Warum immer so kompliziert?
Dies ist auch nicht viel länger und funktioniert auf jeden Fall:
ExtractFilePath(ParamStr(0)
übrigens meine getpath funktion:


Delphi-Quellcode:
function getPath: TFileName;
begin
   result:= ExtractFilePath(ParamStr(0));
end;
für mich ist es einfach einfacher getpath zu schreiben ... darum hab ich das so gemacht.
die unit mit meinen funktionen und prozeduren bind ich eh in jedes programm ein daher kann ich immer überall alles gleich machen und habe somit meinen eigenen standard in der programmierung.
  Mit Zitat antworten Zitat
Morphie

Registriert seit: 27. Apr 2008
Ort: Rahden
630 Beiträge
 
#33

Re: Ideen für spezielle Stringbearbeitung

  Alt 22. Jul 2008, 16:58
Zitat von toyoman:
Zitat von Morphie:
Zeig mal deinen jetzigen Code, du hast den ja sicher ein wenig abgewandelt...
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  anzahl: integer;
  wnode: IXMLNode;
  i: integer;

begin
   XMLDocument1.LoadFromFile(getpath+'test.xml');
   anzahl:=XMLDocument1.DocumentElement.Attributes['totalNumber'];
   for i := 0 to anzahl-1 do
   begin
     showmessage(XMLDocument1.DocumentElement.ChildNodes.Nodes[i].Attributes['path'])
   end;

end;
getpath ist eine funktion von mir welche den aktuellen programmpfad zurückgibt (getestet und funktioniert 100pro)

hab mir den code nun 1:1 kopiert und getpath durch ExtractFilePath(ParamStr(0)) ersetzt. Sollte also eig. alles übereinstimmen...

klappt ohne Probleme...
Zeig doch nochmal den Inhalt der test.xml, da ist garantiert der Wurm drinne
  Mit Zitat antworten Zitat
toyoman

Registriert seit: 2. Jun 2003
323 Beiträge
 
Delphi 2010 Enterprise
 
#34

Re: Ideen für spezielle Stringbearbeitung

  Alt 22. Jul 2008, 17:02
hab mir den code nun 1:1 kopiert und getpath durch ExtractFilePath(ParamStr(0)) ersetzt. Sollte also eig. alles übereinstimmen...

klappt ohne Probleme...
Zeig doch nochmal den Inhalt der test.xml, da ist garantiert der Wurm drinne[/quote]

der string ist riesengross und auf einer zeile im file drin...
gibt das evtl. probleme? so ist es halt nunmal in der DB drin.... ich kann das nicht ändern.

kann dir das file von hier auch nicht raufladen weil das hier nicht möglich ist (in der firma).

das file fängt so an:

DWUser version="5.1.0.1" uid="10" oid="1"

mittendrin kommt dann das mit den baskets und am schluss:

startDocuWareMinimized="false" /></DWUser>

mach jetzt auch feierabend, und mach morgen weiter!

danke erstmal
  Mit Zitat antworten Zitat
Morphie

Registriert seit: 27. Apr 2008
Ort: Rahden
630 Beiträge
 
#35

Re: Ideen für spezielle Stringbearbeitung

  Alt 22. Jul 2008, 17:20
Na da musst du den Code auch deiner XML-Datei anpassen... Mein Beispiel war eben nur für den kurzen Ausschnitt aus deinem 1. Post gedacht...

Deine Meldung
Zitat:
Variante des Typs (Null) konnte nicht in Typ (Integer) konvertiert werden
kommt dadurch zustande, dass das Attribute "path" im DocumentElement (Also dem 1. Element / dem Root / dem Parent der Child-elemente ) gar nicht existiert und es deswegen Null zurückliefert.

An deiner Stelle würde ich vorher mit XMLDocument1.DocumentElement.HasAttribute('') und XMLDocument1.DocumentElement.nodename usw. erstmal überprüfen, WO du dich grad überhaupt in deiner XML-Struktur befindest...
  Mit Zitat antworten Zitat
toyoman

Registriert seit: 2. Jun 2003
323 Beiträge
 
Delphi 2010 Enterprise
 
#36

Re: Ideen für spezielle Stringbearbeitung

  Alt 23. Jul 2008, 10:03
Zitat von Morphie:
Na da musst du den Code auch deiner XML-Datei anpassen... Mein Beispiel war eben nur für den kurzen Ausschnitt aus deinem 1. Post gedacht...

Deine Meldung
Zitat:
Variante des Typs (Null) konnte nicht in Typ (Integer) konvertiert werden
kommt dadurch zustande, dass das Attribute "path" im DocumentElement (Also dem 1. Element / dem Root / dem Parent der Child-elemente ) gar nicht existiert und es deswegen Null zurückliefert.

An deiner Stelle würde ich vorher mit XMLDocument1.DocumentElement.HasAttribute('') und XMLDocument1.DocumentElement.nodename usw. erstmal überprüfen, WO du dich grad überhaupt in deiner XML-Struktur befindest...
und wo muss ich das einbauen? - in die schlaufe?
  Mit Zitat antworten Zitat
toyoman

Registriert seit: 2. Jun 2003
323 Beiträge
 
Delphi 2010 Enterprise
 
#37

Re: Ideen für spezielle Stringbearbeitung

  Alt 23. Jul 2008, 10:42
hier noch der ganze XML String:

<DWUser version="5.1.0.1" uid="10" oid="1" dw4uid="username" guid="094ae9eb-3f39-42e6-a33e-6f2658f8468e" oguid="6d807b13-1ecf-47a9-b31f-1b1134bd35e5" name="username" active="true" eMail="mailadresse" distribution="NetworkStartup" oldIniSettingsForDw="[bibl_00995018.184_RESULT]&#xD;&#xA;COLFIXED=0&#xD;&#xA;COLUMNWIDTHS=0026000129001730006800034002230007500036&#xD;&#xA;[0ablage]&#xD;&#xA;DISPLAYMODE=0&#xD;&#xA;[4126528203dw5waste]&#xD;&#xA;DISPLAYMODE=0&#xD;&#xA;[banken_00963233.089_RESULT]&#xD;&#xA;COLFIXED=0&#xD;&#xA;COLUMNWIDTHS=00039000610003400036000360018100148001320003300036000360003600036000130003600036000360003600036000360003600036&#xD;&#xA;[687238641test]&#xD;&#xA;DISPLAYMODE=0&#xD;&#xA;[personal_12841424.261_RESULT]&#xD;&#xA;COLFIXED=0&#xD;&#xA;COLUMNWIDTHS=00053000510003100029000610005800097000380005800093&#xD;&#xA;[projekt_12841424.368_RESULT]&#xD;&#xA;COLFIXED=0&#xD;&#xA;COLUMNWIDTHS=001210006300061000320003200013&#xD;&#xA;[780170000dw5waste]&#xD;&#xA;DISPLAYMODE=0&#xD;&#xA;[0scanner]&#xD;&#xA;DISPLAYMODE=0&#xD;&#xA;[504390781papierkorb]&#xD;&#xA;DISPLAYMODE=0&#xD;&#xA;[85362843user]&#xD;&#xA;DISPLAYMODE=0&#xD;&#xA;[1950194user]&#xD;&#xA;DISPLAYMODE=1&#xD;&#xA;" oldIniSettingsForViewer="[Dacs4]&#xD;&#xA;LastOCRSetting=&#xD;&#xA;LastBarcodeSetting=&#xD;&#xA;" securityLevel="Normal"><Registered><FileCabinets totalNumber="5"><FileCabinet guid="1d8ea7b5-977c-4c08-b809-3ce0c67b9157" dbdatetime="00995018.184" path="C:\Documents and Settings\username\Local Settings\Temp\CtSCache\ContentServer\username\1d8ea7b5-977c-4c08-b809-3ce0c67b9157\Bibl.ADF" opened="true" isUserAssigned="false" /><FileCabinet guid="abcd0060-e615-4703-a0e2-a07ed99b13b0" dbdatetime="12841424.261" path="C:\Documents and Settings\username\Local Settings\Temp\CtSCache\ContentServer\username\abcd0060-e615-4703-a0e2-a07ed99b13b0\Personal.ADF" opened="true" isUserAssigned="false" /><FileCabinet guid="8e1e9306-d756-434e-ba64-dce190f8ba6e" dbdatetime="12841424.368" path="C:\Documents and Settings\username\Local Settings\Temp\CtSCache\ContentServer\username\8e1e9306-d756-434e-ba64-dce190f8ba6e\Projekt.ADF" opened="true" isUserAssigned="false" /><FileCabinet guid="c339340c-43ed-4769-b463-7ada38d8ba3e" dbdatetime="12841424.549" path="C:\Documents and Settings\username\Local Settings\Temp\CtSCache\ContentServer\username\c339340c-43ed-4769-b463-7ada38d8ba3e\Interess.ADF" opened="true" isUserAssigned="false" /><FileCabinet guid="b4a87a2f-c6ed-46a8-9d7c-91b619fc0050" dbdatetime="00963233.089" path="C:\Documents and Settings\username\Local Settings\Temp\CtSCache\ContentServer\username\b4a87a2f-c6ed-46a8-9d7c-91b619fc0050\banken.ADF" opened="true" isUserAssigned="false" /></FileCabinets><Baskets totalNumber="3"><Basket path="c:\temp\user\" opened="false" isUserAssigned="true" /><Basket path="c:\temp\user\" opened="false" isUserAssigned="true" /><Basket path="c:\daten\Docuware\Ablage\" opened="false" isUserAssigned="false" /></Baskets></Registered><MainWindow archivesVisible="true" basketsVisible="true" hierarchiesVisible="true" destBasketMdiState="false" defaultExportMode="0" exportMultiPageTiff="false" exportMergeOverlay="false" defaultImportMode="0" toolbarSize="false" activeImport="false" pendingBox="false" /><Login useDwLogin="true" /><Misc pathOfTrashCan="c:\daten\Docuware\Papierkorb" startDocuWareMinimized="false" /></DWUser>
  Mit Zitat antworten Zitat
Morphie

Registriert seit: 27. Apr 2008
Ort: Rahden
630 Beiträge
 
#38

Re: Ideen für spezielle Stringbearbeitung

  Alt 23. Jul 2008, 11:39
Sehen alle XML-Strings in deiner Datenbank in etwa so aus, oder gibt es da unterschiede?
Ich meine von der Struktur her...
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#39

Re: Ideen für spezielle Stringbearbeitung

  Alt 23. Jul 2008, 11:53
Hallo,

hier eine kleine Starthilfe:

Delphi-Quellcode:
uses
  MSXML2;

function CreateDocument(var doc: IXMLDOMDocument2; const markup: string): Boolean;
begin
  doc := CoDomDocument.Create;
  doc.async := False;
  Result := doc.loadXML(markup);
end;

procedure TDemoForm.TestButtonClick(Sender: TObject);
const
  MARKUP
    = '<Baskets totalNumber="3">'
    + '<Basket path="W:\briefkorb\test\" opened="false" isUserAssigned="true" />'
    + '<Basket path="W:\briefkorb\test1\" opened="false" isUserAssigned="true" />'
    + '<Basket path="H:\daten\Docuware\Ablage\" opened="false" isUserAssigned="false" />'
    + '</Baskets> '
    ;
  XPATH = '//Basket[%d]/@path';
var
  doc: IXMLDOMDocument2;
  n: IXMLDOMNode;
begin
  if CreateDocument(doc, MARKUP) then
  begin
    n := doc.selectSingleNode(Format(XPATH, [1]));
    ShowMessage(VarToStr(n.nodeValue));
    n.nodeValue := ExtractFilePath(ParamStr(0));
    ShowMessage(doc.xml);
  end else ShowMessage(doc.parseError.reason);
end;
Statt MARKUP kann auch der Text aus der Datenbank eingesetzt werden.

Grüße vom marabu
  Mit Zitat antworten Zitat
toyoman

Registriert seit: 2. Jun 2003
323 Beiträge
 
Delphi 2010 Enterprise
 
#40

Re: Ideen für spezielle Stringbearbeitung

  Alt 23. Jul 2008, 16:12
Zitat von Morphie:
Sehen alle XML-Strings in deiner Datenbank in etwa so aus, oder gibt es da unterschiede?
Ich meine von der Struktur her...
sollte immer gleich sein, denk ich.. hab aber nicht alle durchgesehen.
was sicher variert ist die anzahl von baskets z.b....
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 4 von 8   « Erste     234 56     Letzte »    


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:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:30 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