![]() |
Zufalsgenerator mit schon gewählt funktion aus XML Datei
Hallo zusammen,
habe da ein Problem, ich will aus einer XML Datei...
XML-Code:
Einen zufalsgenerator machen, der mir zufällig einen Namen ausspuckt und dabei lernt ob jemand schon dran war oder nicht.
<?xml version="1.0" encoding="ISO-8859-1"?>
<Schülerdaten> <id><Name>D</Name><Vorname>Christian</Vorname><Note>1</Note><gewählt>Ja</gewählt><joker>Ja</joker></id> <id><Name>R</Name><Vorname>Andreas</Vorname><Note>6</Note><gewählt>Nein</gewählt><joker>Nein</joker></id></Schülerdaten> In Delphi habe ich das so gelöst...
Delphi-Quellcode:
Nur Leider bekomme ich wärend der Laufzeit ein Fehlermeldung like...Zugriffsverlezung bei Adresse...usw....hier
Function zufall():integer;
Var x,y,z:integer; begin z:=ID.length; y:=ID.length; ShowMessage(inttostr(ID.length)); x:=0; If x <> y Then Begin Randomize; result:=Random(z); ShowMessage(inttostr(result)); If xmldoc.documentElement.selectSingleNode('/Schülerdaten/id[ID="'+inttostr(result)+'"]/gewählt').Text = 'Ja' Then Begin x:=x+1; zufall; End Else xmldoc.documentElement.selectSingleNode('/Schülerdaten/id[ID="'+inttostr(result)+'"]/gewählt').Text:='Ja'; end else Showmessage('Alle Schüler wurden benotet!'); End;
Delphi-Quellcode:
If xmldoc.documentElement.selectSingleNode('/Schülerdaten/id[ID="'+inttostr(result)+'"]/gewählt').Text = 'Ja' Then
ich glaube da stimmt was nicht mit dem Aufruf der XML datei. Besten dank an alle. Cyberbob |
Re: Zufalsgenerator mit schon gewählt funktion aus XML Datei
Hallo,
Bist du sicher das xmldoc auch etwas korrekt zugewiesen ist? Mit dem bißchen Code kann man das nicht erkennen... |
Re: Zufalsgenerator mit schon gewählt funktion aus XML Datei
Ja habe die Komplette Datei per ListView anzeigen lassen, da gibt er mir dir werte super aus.
Delphi-Quellcode:
ID:=xmlDoc.documentElement.selectNodes('id');//Node ID selektieren
For i:= 0 to ID.length -1 do Begin //von Anfang bis Ende ID subNode:=ID.item[i].selectSingleNode('Name'); // Elemente von ID durchgehen Schuelerliste.Items.Add; Schuelerliste.Items[i].Caption:=subnode.text; |
Re: Zufalsgenerator mit schon gewählt funktion aus XML Datei
Liste der Anhänge anzeigen (Anzahl: 1)
Ich komme einfach nicht weiter Jungs,
habe es so eigentlich fast feritg, nur wenn ich auf die eingelesene XML datei zugreigen will bekomme ich nen Speicherfehler! habe das Programm mal komplett angehangen! wer mal Zeit und LUst hat mir zu helfen! BESTEN DANK! |
Re: Zufalsgenerator mit schon gewählt funktion aus XML Datei
Mal abgesehen von deiner Art, Quellcode zu formatieren, hast du dir da mal Gedanken über diese Konstruktion gemacht:
Delphi-Quellcode:
:shock:
Function explode(const Separator,S: string;Limit:Integer = 2):TStringDynArray;
var Form1: TForm1; xmlDoc:IXMLDOMDocument2; ID: IXMLDOMNodeList; //Enthällt alle Schüler db:Textfile; zaehler:integer=0; fAppPath:string; x:integer=0; subNode:IXMLDOMNode; //enthält alle Daten der Schüler zahl:integer; Const DATABASE_FNAME= 'db.xml'; implementation {$R *.dfm} //######################################################### //########### Funktion zum auseinanderbringen des Strings # //######################################################### //Funktion by Delphi-Praxis.net Function explode(const Separator,S: string;Limit:Integer = 2):TStringDynArray; var SepLen: Integer; F, P:PChar; ALen, Index: Integer; Begin SetLength(result,0); If (S='') or(Limit<0) then Exit; If Separator=''Then Begin {...} Das beste dürfte ein kompletter Neuanfang sein. Wenn ich die Zeit finde (heute nicht mehr, sorry) schau ich´s mir morgen mal an. Aber versprechen kann und will ich nichts. |
Re: Zufalsgenerator mit schon gewählt funktion aus XML Datei
Liste der Anhänge anzeigen (Anzahl: 1)
Ich habe nun den Fehler mal eingegrenzt, müßte was an der Deklaration oder dem Zugriff auf die XML datei zu tun haben.
wie kann ich direkt auf ein Datensatz zugreifen ? Bild liegt bei! |
Re: Zufalsgenerator mit schon gewählt funktion aus XML Datei
Habe den Fehler nun gefunden,
die Angabe zu der Note war falsch! Ist schwer sich am anfang da reinzudenken finde ich! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:05 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