AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Informationen aus einem ClientDataSet auslesen
Thema durchsuchen
Ansicht
Themen-Optionen

Informationen aus einem ClientDataSet auslesen

Ein Thema von ChristianG · begonnen am 10. Jul 2014 · letzter Beitrag vom 11. Jul 2014
Antwort Antwort
ChristianG

Registriert seit: 8. Jul 2014
97 Beiträge
 
Delphi XE6 Starter
 
#1

Informationen aus einem ClientDataSet auslesen

  Alt 10. Jul 2014, 14:42
Hallo DPler,
Ich schreibe gerade ein Programm, welches XML Daten herausliest.
Delphi-Quellcode:
 for u := 0 to XMLbezahlen.DocumentElement.ChildNodes.Count - 1 do begin
       bnode := XMLbezahlen.DocumentElement.ChildNodes.Get(i);

       cdsBezahlen.Append;
       cdsBezahlen.FieldByName('Position').asInteger := i;
       cdsBezahlen.FieldByName('ID').AsString := bnode.ChildNodes.FindNode('ID').Text;
       cdsBezahlen.FieldByName('Name').AsString := bnode.ChildNodes.FindNode('Name').Text;
       cdsBezahlen.FieldByName('Kosten').AsString := bnode.ChildNodes.FindNode('Price').Text;
       cdsBezahlen.Post;
Jetzt habe ich mehrere Buttons, womit ich die die Anzahl von einem Produkt ändern möchte. Jedoch hat jeder Name eigene Kosten, was dazu führt, dass ich den Namen,z.B 'Banane' mit einer If-Anweisung abfragen muss.
Ein Beispiel: Wenn der Name 'Banane' ist sollen die Kosten herausgelesen werden.
Ich weiß wie man dies in einer Schleife macht, aber nicht wie ich dies mit Buttons programmieren soll.

Kann mir jemand Tipps geben?

Mit freundlichen Grüßen
Christian
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#2

AW: Informationen aus einem ClientDataSet auslesen

  Alt 10. Jul 2014, 17:11
Jetzt habe ich mehrere Buttons, womit ich die die Anzahl von einem Produkt ändern möchte. Jedoch hat jeder Name eigene Kosten, was dazu führt, dass ich den Namen,z.B 'Banane' mit einer If-Anweisung abfragen muss.
Ein Beispiel: Wenn der Name 'Banane' ist sollen die Kosten herausgelesen werden.
Ich weiß wie man dies in einer Schleife macht, aber nicht wie ich dies mit Buttons programmieren soll.
Kofferklauen ging gerade im Verkehrslärm unter!
Könntest Du versuchen, das nochmals zu formulieren?
(Falls Deutsch nicht Deine Muttersprache ist, vllt. in Englisch?)

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
ChristianG

Registriert seit: 8. Jul 2014
97 Beiträge
 
Delphi XE6 Starter
 
#3

AW: Informationen aus einem ClientDataSet auslesen

  Alt 10. Jul 2014, 17:43
Ich versuche es einmal richtig zu formulieren.
Ich schreibe mit Delphi XE6 eine APP für ein Kino, welches schon die Images und die Titel mithilfe eines Grids ausgibt. Danach wird man weitergeleitet.Dies geschieht mit einem Tabcontrol und mehreren Tabitems. In dem neuen TabItem werden alle Vorstellungen mit Datum und Uhrzeit in einem Grid ausgegeben. Wenn man auf das Grid klickt wird man in ein Login weitergeleitet, wo man sich regestrieren oder einloggen kann.Wenn man auf den Button Anmelden klickt soll mithilfe eines Clientdatasets eine ID,der Name der Kosten,die Position und die Kosten geladen werden. Die Daten bekomme ich aus dem Internet. Mein Problem besteht jetzt darin, dass wenn ich auf ein neues Tabcontrol weitergeleitet werde, mithilfe eines Buttons die Kosten ermitteln möchte, die im Client DataSet vorhanden sind. Dafür brauche ich den Namen(z.B 'standard'), mit dem ich diese Kosten für eine Standartkarte herauslesen kann.Dies soll alles Dynamisch verlaufen,bzw. wenn ich auf den Button klicke.Ich schicke einfach den Quelltext mit, den ich für die Anmeldung geschrieben habe.
Delphi-Quellcode:
procedure TAppseite1.btnAnmeldenClick(Sender: TObject);
var
login : Boolean;
lURL,bURL : String;
lOutput,bOutput: String;
i,u : Integer;
lnode,bnode : IXMLNode;
lbenutzername : String;
lpasswort : String;
benutzername : String;
passwort : String;
postdata : TStringlist;
SessionID : String;
begin
  XMLlogin := NewXMLDocument;
  postdata := TStringList.Create;
  passwort := edPasswort.Text;
  benutzername := edBenutzername.Text;
   lURL := 'http://kinobox.net:11800/1.0/logins?apikey=2013dolphinV8';

   postdata.Add('loginname=' + benutzername);
   postdata.Add('password=' + passwort) ;

   try
    lOutput := idHTTP1.Post(lURL,postdata);
   except
    on e:exception do begin
     showmessage('Login fehlgeschlagen' );
     exit;
    end;
   end;

   XMLlogin.XML.Text := lOutput;
   XMLlogin.Active := true;

   IdHTTP1.ConnectTimeout := 3000;
   IdHTTP1.Request.UserAgent := 'Mozilla/5.0 (Windows NT 6.2; rv:9.0.1) Gecko/20100101 Firefox/9.0.1';

   lnode := XMLlogin.DocumentElement.ChildNodes.FindNode('SessionID');
   SessionID := lnode.Text;

  showmessage('Login erfolgreich');
  postdata.Free;

    XMLbezahlen := newXMLDocument;
    bURL := 'http://kinobox.net:11800/1.0/shows/' + InttoStr(ShowID) + '/tickets?apikey=2013dolphinV8';
    bOutput := idHTTP1.Get(bURL);

    XMLbezahlen.XML.Text := bOutput;
    XMLbezahlen.Active := true;

    IdHTTP1.ConnectTimeout := 3000;
    IdHTTP1.Request.UserAgent := 'Mozilla/5.0 (Windows NT 6.2; rv:9.0.1) Gecko/20100101 Firefox/9.0.1';

     for u := 0 to XMLbezahlen.DocumentElement.ChildNodes.Count - 1 do begin
       bnode := XMLbezahlen.DocumentElement.ChildNodes.Get(u);

       cdsBezahlen.Append;
       cdsBezahlen.FieldByName('Position').asInteger := u;
       cdsBezahlen.FieldByName('ID').AsString := bnode.ChildNodes.FindNode('ID').Text;
       cdsBezahlen.FieldByName('Name').AsString := bnode.ChildNodes.FindNode('Name').Text;
       cdsBezahlen.FieldByName('Kosten').AsString := bnode.ChildNodes.FindNode('Price').Text;
       cdsBezahlen.Post;
     end;

  TabItem5.Visible := true;
  TabItem5.Enabled := true;
  TabItem2.Visible := false;
  TabItem2.Enabled := false;
  Tabcontrol1.ActiveTab := TabItem5;
  Tabcontrol1.TabIndex := TabItem5.Index;
  lblSessionID.Text := SessionID;
end;
Bis hierhin läuft alles.
Jetzt stelle ich mir auch noch die Frage, wie ich es realisieren soll,dass mein Programm automatisch die 'Namen' generieren soll. Dies brauche ich zum Beispiel, wenn die Seite ein Angebot macht. (Beispiel: Alle 8 Jährigen kommen für 6 Euro in diesen Film: Name:'spezialangebot',u:7,Kosten:8,ID:...). Es sollen 2 Buttons und ein label erstellt werden. (Button1:zurück,Label1:0,Button2:vor)Wenn ich auf Button 2 gehe, soll Label1 auf 1 gehen, der Name lokalisiert werden und der Preis herausgelesen werden. Wie bekomme ich dies hin
Ich hoffe das reicht dir an Informationen
Mit freundlichen Grüßen
Christian

Geändert von ChristianG (10. Jul 2014 um 17:48 Uhr)
  Mit Zitat antworten Zitat
ChristianG

Registriert seit: 8. Jul 2014
97 Beiträge
 
Delphi XE6 Starter
 
#4

AW: Informationen aus einem ClientDataSet auslesen

  Alt 10. Jul 2014, 17:51
Was ich noch vergessen habe ist, dass die beiden Buttons und das label automatisch generiert werden sollen. Weiß jemand wie ich dies realisiert bekomme?
Christian
  Mit Zitat antworten Zitat
ChristianG

Registriert seit: 8. Jul 2014
97 Beiträge
 
Delphi XE6 Starter
 
#5

AW: Informationen aus einem ClientDataSet auslesen

  Alt 11. Jul 2014, 08:53
Hat niemand die Antwort auf mein Problem??
Christian
  Mit Zitat antworten Zitat
Benutzerbild von Jasocul
Jasocul

Registriert seit: 22. Sep 2004
Ort: Delmenhorst
1.367 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Informationen aus einem ClientDataSet auslesen

  Alt 11. Jul 2014, 09:23
Ich habe mir dein Problem jetzt mehrere male durchgelesen und verstehe das Problem nicht.
Ich schreibe mal, was ich bisher meine verstanden zu haben.

Du hast ein ClientDataSet. Das wird von dir selbst gefüllt.
Dort stehen alle Daten drin, die du benötigst.
Du willst auf einen Button klicken und dann einen bestimmten Datensatz bekommen.

Was hindert dich daran, diesen Datensatz im ClientDataSet zu finden?
Das hat nichts mit Schleifen zu tun. Man muss nur wissen, wie man mit einem ClientDataSet umgeht. Oder habe ich immer noch nichts von dem verstanden, was du eigentlich möchtest?
Peter
  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:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:14 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 by Thomas Breitkreuz