AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte OnAir SDK (Internet Radio Programm)
Thema durchsuchen
Ansicht
Themen-Optionen

OnAir SDK (Internet Radio Programm)

Ein Thema von TillWe · begonnen am 24. Jul 2008
Antwort Antwort
TillWe
Registriert seit: 20. Apr 2005
Hallo Welt
Ich möchte hier mal mein OnAir SDK vorstellen. (Version 1, release heute)

Worum geht es?
Programm.Freizeitradio.de ist ein senderübergreifendes Programmagazin für Internetradios, indem die Programminformationen vieler Radios zusammenkommen sollen.

Mein Programm?
Im Prinzip nur eine bescheidene Klasse zum Absetzen eines Request an die OnAir API (Doku/Referenz).
Die Funktionen der API:
Sendung hinzufügen, Sendung löschen, individuellen Sendeplan (für die eigene Homepage) zusammenstellen.
Anbei liegt OnAir.exe (und Sourcecode) zum durchtesten.

Zugang zur API?
Kostenlos ( Anmeldung/Key: http://programm.freizeitradio.de/OnAir/mysettings.html )
Wer testen will, darf das gerne tun (Nur-TestSendungen bitte wieder löschen)
Der Account kann jederzeit wieder gelöscht werden.
http://programm.freizeitradio.de/API:API_KEY

Download:
24.90 Kb
http://www.webfan.de/v_downloads/OnAir_SDK_1_delphi.zip

php-Äquivalent:
http://www.webfan.de/Downloads-lid-SDK-1-php--30.html

Sourcecode:

Delphi-Quellcode:
unit SDK_1;

{*
by Webfan.de
Free, Public Domain
*}


interface
uses classes,
     sysutils,idhttp,dialogs;

const _API_URL_ = 'http://programm.freizeitradio.de/OnAir/api.php';

type
   TWebArrayElement = record
      key:string;
      value:string;
   end;

 type TRequestArray = array of TWebArrayElement;

type
   TOnAir = class(TObject)
     info:pointer;
    procedure start(user, key, APIfunction:string; sender:tobject;modus:boolean = false);
    procedure assignData(data:TRequestArray;sender:Tobject);
    procedure addData(data:TWebArrayElement;sender:Tobject);
    procedure clearquery;
    procedure clearquery_string;
    procedure CreateQueryString;
    procedure SendRequestIndy(client:tidhttp;sender:tobject);
  private
    { Private-Deklarationen }
    //AUTH
    api_user:string[255];
    api_key:string[255];
    
    SubuserApiUsername:string[255];
    SubuserApiKey:string[255];

  public

    { Public-Deklarationen }
    //API
    apifunction:string;
    query:TRequestArray;
    query_string:string;

    //RESULT
    error:integer;
    result:string;

    //RESULT CACHE
    cacheDir:string;
    CacheActivate:boolean;
    defaultExpire:integer;
    CacheFilename:string;


    testmodus:boolean;
   end;

implementation


procedure TOnAir.start(user, key, APIfunction:string; sender:tobject;modus:boolean = false);
begin
self.api_user := user;
self.api_key := key;
self.apifunction := apifunction;
self.testmodus :=modus;

end;


procedure TOnAir.assignData(data:TRequestArray;sender:Tobject);
begin
self.query :=data;
end;


procedure TOnAir.addData(data:TWebArrayElement;sender:Tobject);
begin
setlength(self.query, length(self.query) +1);
self.query[high(self.query)].key := data.key;
self.query[high(self.query)].value := data.value;
end;


procedure TOnAir.clearquery;
begin
setlength(self.query,0);
end;

procedure TOnAir.clearquery_string;
begin
self.query_string := '';
end;

procedure TOnAir.CreateQueryString;
var i:integer;
begin
self.query_string := '';
self.query_string := self.query_string + 'api_user='+self.api_user;
self.query_string := self.query_string + '&api_key='+self.api_key;
self.query_string := self.query_string + '&api_function='+self.apifunction;
  for i := 0 to length(self.query) - 1 do
            begin
              self.query_string := self.query_string
                + '&'+self.query[i].key + '='
                + self.query[i].value;
            end;
end;


{*   Stolen forom Easy Helper   *}
procedure TOnAir.SendRequestIndy(client:tidhttp;sender:tobject);
  //Ahttp: Die HTTP Komponente von Indy 8.0 bzw. 9.0
  //AtoURL: An diese URL werden die Informationen gesendet
  //Result: HTML-Ergebnis (Antwort des Scripts)
Var
  lStream: TMemoryStream; //HTML-Result des PHP-Scripts
  lParams: TStringStream;
  I: Integer;

  AtoURL: String;
begin

  atourl:= _API_URL_;
  Result:='';
  if not Assigned(client) then
    exit;
  lStream := TMemoryStream.create;
  lParams := TStringStream.create('');
  try
    client.Request.ContentType := 'application/x-www-form-urlencoded';

    //Dieser Stream wird letztendlich gesendet
    //Stream mit Werten füllen
      lParams.WriteString(self.query_string);

    try
      //Stream an das PHP-Script senden
      client.Post(AtoURL,
                 lParams,
                 lStream);
    except
      on E: Exception do
        showmessage('Fehler bei der Übertragung: ' + E.Message);
    end;
    SetLength(self.Result,lStream.Size);
    lStream.Position:=0;
    lStream.ReadBuffer(self.Result[1],lStream.Size);
  finally
    lParams.Free;
    lStream.Free;
  end;
end;




end.
Angehängte Dateien
Dateityp: zip onair_sdk_1_delphi_982.zip (24,9 KB, 19x aufgerufen)
mfg
 
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 00:20 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