AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Mit IdHttp (Indy) Text in Feld auf Webseite eintragen
Thema durchsuchen
Ansicht
Themen-Optionen

Mit IdHttp (Indy) Text in Feld auf Webseite eintragen

Ein Thema von Ginko · begonnen am 10. Apr 2013 · letzter Beitrag vom 12. Apr 2013
 
Andreas L.

Registriert seit: 23. Mai 2011
Ort: Furth im Wald
308 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: Mit IdHttp (Indy) Text in Feld auf Webseite eintragen

  Alt 11. Apr 2013, 11:31
Leider steht mir nur Delphi 7 Pers. und Lazarus 1.0.8 zur verfügung. Deshalb versuche ich das ganze mit der XML-Schnittstelle von Lazarus. Mit XML hatte ich allerdings bis jetzt nix wirklich zu tun.
... Klappt hinten und vorne noch nicht.
Es gibt einige XML-Libs die du statt TXMLDocument in Delphi 7 verwenden kannst. Z. B. OmniXML, XML Library

Allerdings könntest du für dein aktuelles Vorhaben das XML auch einfach manuell erzeugen:

Delphi-Quellcode:
var
  xml: TStrings;
  response: String;
  TextToCheck: String;
begin
  TextToCheck := Edit1.Text; // das Wort welches geprüft / korrigiert werden soll

  xml := TStringList.Create;
  try
    xml.Add('<?xml version="1.0" encoding="UTF-8"?>');
    xml.Add('<spellrequest textalreadyclipped="0" ignoredups="0" ignoredigits="1" ignoreallcaps="1">');
    xml.Add(' <text>' + TextToCheck + '</text>');
    xml.Add('</spellrequest>');

   // idhttp erzeugen
   // properties setzen...
   response := Idhttp.Post(URL, xml);
   // in Response steht nun die Antwort vom Server und kann ausgewertet werden.
  finally
    FreeAndNil(xml);
  end;
end;
So wirds übrigens auch im von sx2008 verlinkten Artikel gemacht: http://stackoverflow.com/questions/1...ll-checker-api

Die Auswertung der XML-Response kannst du evtl. mit Pos, PosEx, Copy oder RegEx machen. Ein richtiger XML-Parser ist da aber in den meisten Fällen die bessere Lösung

EDIT: Ich habe gerade bemerkt, dass in oben verlinkten Thread die Response mittels der Regular Expression <(.|\n)*?> ausgewertet wird. Jetzt musst du nur noch eine RegEx-Klasse deiner Wahl darauf los lassen und brauchst dir keine Gedanken mehr um XML-Parser machen (bis zum nächsten Kontakt mit XML zumindest )

Code:
retValue = Regex.Replace(data, @"<(.|\n)*?>",    string.Empty).Split('\t')[0];
Andreas Lauß
Blog

Geändert von Andreas L. (11. Apr 2013 um 11:49 Uhr)
  Mit Zitat antworten Zitat
 


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 10:20 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