![]() |
AW: Indy für Dummies
Worauf beziehst Du Dich jetzt?
|
AW: Indy für Dummies
Moin moin,
falls ich mich nicht verlesen habe, dann willst du die Daten (Text) an dich und einen Server schicken, um sie vorerst manuell zu sichten/zu speichern was auch immer. Was spricht dagegen, dies per Mail zu machen? Um Mail(s) zu verschicken, wirst du schon fertige Funktionen finden. Später kannst du diese Sachen dann immer noch mit anderen Protokollen auf deinen Server/zu dir befördern. |
AW: Indy für Dummies
Ich habe dir doch bereits eine fertige Version angegeben (in meinem letzten Post)
Den PHP-Code kopierst du in deinen Windows-Editor und speicherst ihn als "irgendwas.php" (im Speichern-Fenster des Editors dabei "Dateityp:" auf "Alle Dateien" stellen) Dann lädst du "irgendwas.php" auf deinen Server. Die Delphi-Funktion kopierst du einfach in dein Delphi Projekt (den Link darin nicht vergessen entsprechend zu ändern) und rufst dann in einem Abschicken-Button oder so "sendeDatenAnServer(Memo1.Text);" auf. Bei den Uses (ganz oben) schreibst du:
Delphi-Quellcode:
Da sind jetzt auch ein paar für dich Überflüssige dabei (aus einem von meinen Programmen kopiert), aber ich hab jetzt keine Lust die Richtigen rauszusuchen :-D
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, IdHttp, StdCtrls, Menus, ComCtrls, IdComponent; |
AW: Indy für Dummies
@fui-tak
wenn ich das so mache
Delphi-Quellcode:
kommen die fehlermeldungen
function sendeDatenAnServer(datenString: string):string;//Rückgabewert ist die Ausgabe des PHP-Scriptes
var Strings: TStringList; //Zusammengesetze Post-Daten Stream: TStringStream;//Ausgabe der Aufgerufenen Seite begin Result := ''; Stream := TStringStream.Create('');//Rückgabe-Stream erstellen Strings := TStringList.Create; //Post-Daten-StringList erstellen try Strings.Add('daten=' + datenString);//Memo1.Text (= datenString) soll im PHP-Script über $_POST['daten'] erreichbar sein try idHTTP.Post("http://#Die Adresse#.dyndns.org/upload.php?Dir=", Strings, Stream);//Datei abrufen Result := Stream.DataString; //dem Ausgabe-String die zurückgegebenen Daten zuweisen (alles was im PHP Script z.B. mit echo "..."; ausgegeben wurde) except //Fehlerbehandlung on E: Exception do ShowMessage('Error encountered during POST: ' + E.Message); end; finally Strings.Free; Stream.Free; end; end; [Fehler] Chartrans.pas(123): Undefinierter Bezeichner: 'Post' [Fehler] Chartrans.pas(124): Der linken Seite kann nichts zugewiesen werden //Bei ,,Result := Stream.DataString;'' [Fehler] Chartrans.pas(124): Anweisung erforderlich, aber Ausdruck vom Typ 'String' gefunden //nochmal bei ,,Result := Stream.DataString;'' [Fataler Fehler] Chartransfer.dpr(5): Verwendete Unit 'Chartrans.pas' kann nicht compiliert werden :?:?:shock: |
AW: Indy für Dummies
Ups, in dem Code fehlt die Erzeugung und Deklarierung der IdHTTP-Komponente
Neuer Code:
Delphi-Quellcode:
function sendeDatenAnServer(datenString: string):string;//Rückgabewert ist die Ausgabe des PHP-Scriptes
var Strings: TStringList; //Zusammengesetze Post-Daten Stream: TStringStream;//Ausgabe der Aufgerufenen Seite IdHttp: TIdHttp;//Vorher vergessene Deklaration begin IdHttp:=TIdHttp.Create(nil);//Vorher vergessene Erzeugung Result := ''; Stream := TStringStream.Create('');//Rückgabe-Stream erstellen Strings := TStringList.Create; //Post-Daten-StringList erstellen try Strings.Add('daten=' + datenString);//Memo1.Text (= datenString) soll im PHP-Script über $_POST['daten'] erreichbar sein try idHTTP.Post('http://#Die Adresse#.dyndns.org/upload.php?Dir=', Strings, Stream);//Datei abrufen Result := Stream.DataString; //dem Ausgabe-String die zurückgegebenen Daten zuweisen (alles was im PHP Script z.B. mit echo "..."; ausgegeben wurde) except //Fehlerbehandlung on E: Exception do ShowMessage('Error encountered during POST: ' + E.Message); end; finally Strings.Free; Stream.Free; end; end; |
AW: Indy für Dummies
Zitat:
|
AW: Indy für Dummies
Zitat:
Ich hab anscheinend in letzter Zeit zu viel in Java gemacht... Natürlich brauchen wir am Ende der Funktion noch das Freigeben:
Delphi-Quellcode:
Jetzt sollte es das aber gewesen sein :lol:
...
finally Strings.Free; Stream.Free; IdHttp.Free; end; ... |
AW: Indy für Dummies
Erst einmal vielen Dank an alle
Ich hab immer noch net so ganz den durchblick. Aber mein Programm macht jetz ETWAS (was ja schon eine steigerung zu vorher ist) aber wie, wo, wann, was hab ich immer noch net 100%ig gerafft. |
AW: Indy für Dummies
nur zur Info :
--------------- falls demos zu INDY10 und Delphi 2010 benötigt werden : ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:55 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