Welche Programmiersprache fuer Folgendes Projekt



  • Unter linux mit nem wget in ner Script-Schleife und
    anschließend ein diff auf datei alt und datei neu
    Bei differenz piep piep
    Ach ja sleep irgenwas im Loop nicht vergessen.
    Pseudocode
    hole:
    hole seite
    sleep
    hole seite
    pruefe
    piepe
    verboten aber trotzdem goto hole
    oder für die goto-Hasser das ganze in ein do forever packen.
    Ist ja das gleiche, steht nur nicht goto da...



  • Hallo und danke fuer Eure Hilfen bisher.

    Ich habe zusaetzlich ueberlegt nicht einen Piepton auszugeben sondern, wenn sich
    die Liste aendert, mir einfach eine SMS zugesendet wird. Somit muss ich nicht in der Naehe des PCs sein.

    Ich habe schon eine Seite von einem Freund erfahren von der aus ich bis zu 10 SMS
    pro Tag kostenlos senden kann (leider nur in Griechenland). Dieses habe ich auch schon getestet und es funktioniert.

    Jetzt will ich das Ganze automatisieren. Eignet sich auch dafuer AJAX am besten oder sollte ich doch besser was anderes nutzen?

    Vielen Dank fuer weitere Hilfen.

    P.S. ich habe auch schon als Standalone Anwendung an C# und Java gedacht. Was halltet Ihr davon?



  • Wenn es sowieso auf einem "großen" Rechner läuft, würde ich das mit JavaScript im Browser machen. Ansonsten vielleicht Python oder Ruby. Java und C# wären mir zu schwergewichtig dafür.



  • Bilde von den Daten ein Hash und speicher diesen. Sobald der Hash abweicht gibst du ein Piepton aus und setzt einen neuen Hash fest.

    Ob sich das mit JavaScript realisieren lässt, weiß ich nicht so genau. In C++ könnte man das aber mit libcurl plattformunabhängig lösen können. Nur die Sache mit dem Piepton könnte ein Problem darstellen. Dazukönnte man sich aber noch eine weitere Lib für Sounds ins Boot holen, welches ein geeignetes Soundfile abspielt.

    Der Programmieraufwand wäre nicht sonderlich groß. Aber ich habe mit diese Libs auch schon öfter gearbeitet und wüsste sofort, wie ich es anstellen muss.



  • ,,, schrieb:

    Bilde von den Daten ein Hash und speicher diesen. Sobald der Hash abweicht gibst du ein Piepton aus und setzt einen neuen Hash fest.

    Ob sich das mit JavaScript realisieren lässt, weiß ich nicht so genau. In C++ könnte man das aber mit libcurl plattformunabhängig lösen können. Nur die Sache mit dem Piepton könnte ein Problem darstellen. Dazukönnte man sich aber noch eine weitere Lib für Sounds ins Boot holen, welches ein geeignetes Soundfile abspielt.

    Der Programmieraufwand wäre nicht sonderlich groß. Aber ich habe mit diese Libs auch schon öfter gearbeitet und wüsste sofort, wie ich es anstellen muss.

    Korrektur: Lass das PHP-Script den MD5 Hash generieren!

    Oder sogar noch besser: Arbeite mit Sessions und lass das PHP Script überprüfen, ob der Client bereits die neuen Daten erhalten hat. In dem Fall erhält er die gesamte Liste, ansonsten eine leere Seite. Spart auch Bandbreite 🙂 Und wenn eh in gewissen Intervallen nachgefragt wird, dann bleibt die Session auch in jedem Fall erhalten.

    Hash<Leerzeile>
    <Eigentliche Daten>





  • JavaScript



  • Der Update Scanner ist eine gute Idee aber leider nach gewissen minuten gibt es ein auto logout auf dem entfernten Server und somit muss ich Login Requests schicken um mich wieder einzuloggen. Somit kommt demnach fuer mich die Idee mit AJAX am besten in Frage.



  • mike2003 schrieb:

    Der Update Scanner ist eine gute Idee aber leider nach gewissen minuten gibt es ein auto logout auf dem entfernten Server und somit muss ich Login Requests schicken um mich wieder einzuloggen. Somit kommt demnach fuer mich die Idee mit AJAX am besten in Frage.

    Warum nicht bei jeder Abfrage einloggen?
    🙂



  • Naja ich werde ja erst nach ca. 10 Minuten aus dem Server geschmissen und da muss ich mich ja nicht immer einloggen.

    Ich habe mich jetzt mal mit AJAX beschaeftigt (mit Hilfe von Video2Brain und W3C) und auch eine Klasse erstellt mit der ich Anfragen an den Server senden kann.

    Das Ganze sieht so aus:

    var AjaxRequest = function(u, m, s)
    {
      this.url     = u;
      this.method  = m || "GET";
      this.async   = s || true;
      this.body    = null;
      this.head    = false;
    
      var _this = this;
    
      try 
      {
        // for IE7+, Chrome, Opera, Safari
        if(window.XMLHttpRequest)
          this.request = new XMLHttpRequest;
        else
          this.request = new ActiveXObject("Microsoft.XMLHTTP");  // for IE6, IE5
      }
      catch(e) { 
        this.request = false;
      }
    
      this.doRequest = function()
      {
        if(!this.url)
          this.onError("No url available!");
    
        if(!this.method)
          this.method = "GET";
        else
          this.method = this.method.toUpperCase();
    
        if(!this.request) {
          this.onError("No connection object available!");
          return false;
        }
    
        this.request.open(this.method, this.url, this.async);
    
        if(this.method == "POST")
          this.request.setRequestHeader("Content-Type", "application/x-www-form-  urlencoded")
    
        if(this.head) {
          for(var i=0; i<this.head.length; i+=2)
    	this.request.setRequestHeader(this.head[i], this.head[i+1]);
        }	
    
        this.request.onreadystatechange = this.checkState;
        this.request.send(this.body);*/
      }
    
      this.onSuccess = function()
      {
    
      }
    
      this.onError = function(msg)
      {
        alert("Error: "+msg);
      }
    
      this.checkState = function()
      {
        if(_this.request.readyState == 4)
       {
         // alert(_this.request.responseText);
       }
      }
    }
    

    Wenn ich lokal eine xml-Datei (die ich erstellt habe) mit folgenden HTML-Code:

    ...
    <script type="text/javascript" src="ajax_request.js"></script>
    <script type="text/javascript">
    
    window.onload = function()
    {
      var ajax = new AjaxRequest("mitarbeiter.xml");
      ajax.doRequest();
    }
    ...
    

    abfrage, dann erhallte ich bei der Ausgabe alert(_this.request.responseText);
    auch meinen Inhalt der xml-Datei.

    Wenn ich aber anstatt der lokalen xml-Datei http://test.de/login.php (test.de ist hier willkuerlich gewaehlt) uebergebe, dann erhallte ich nix zurueck.

    Ich moechte hier aber den Inhalt der HTML-Seite haben welches das login.php Script zurueckliefert. Weis jemand wie ich das machen muss?

    Ausserdem wuerde ich gerne wissen wie ich dem Server Login Daten also User und Pass zusenden kann?

    Vielen Dank fuer weitere Hilfen

    P.S. Die Implementierung der php-Scripte auf dem Server kenne ich nicht.



  • Hallo ich habe erfahren das soetwas Aufgrund der (Same Origin Policy) gar nicht
    mit Client-Scripts wie JavaScript (somit auch AJAX) oder Actionscript moeglich
    ist, da sich ja nicht Client und Server in derselben Domain befinden:

    http://de.wikipedia.org/wiki/Same_Origin_Policy

    Koennte ich das dann nicht mit PHP umgehen also im Prinzip ein PHP-Script
    schreiben, das lokal auf meinen Rechner laeuft. Dieses Script erfasst die
    HTML-Daten der PHP-Seite (Login Seite) welche vom entfernten Server
    zurueckgegeben wurde. Somit koennte ich den HTML-Code dann auswerten.

    Geht das ueberhaupt?

    Vielen Dank fuer weitere Hilfen.



  • Hallo nochmal,

    ich habe jetzt mal das Update Scanner Plugin fuer Firefox ausprobiert und finde es gar nicht mal schlecht. Dennoch wuerde ich wenn die Seite abgedated wird ein
    Programm starten, aber ich finde keine Einstellung wo das geht.

    Kann da jemand helfen ?

    Danke



  • Grüße alle zusammen!

    ich habe hier 3 Aufgaben, die ich unbedingt bis Wochenende lösen muss, sonst werd ich die Klausur nicht schaffen und die wir nächste Woche geschrieben. Habe mich hier angemeldet mit der Hoffnung ihr könnt mir weiterhelfen! Wir programmieren in C mit dem Programm visual c++ (zuhause habe ich die 2008 express edition)
    Es ist nicht so, dass mir alles fremd ist, nur bei den folgenden Aufgaben liegt es immer an Kleinigkeiten die mich aufhalten. Ihr werdet bestimmt über die Aufgaben lachen, denn das ist eher was für Anfänger, aber ich selbst tue mir dabei sehr schwer. Schön wäre wenn ihr mir wenigstens eine Lösung für die 1 Aufgabe geben könntet, dann werd ich das analysieren und hoffentlich lösen sich dann meine Probleme. Hier die 3 Aufgaben, wenn mir jemand helfen könnte wäre das super!

    1. Entwickeln Sie Analyse, Struktogramm und C-Programm:
    Füllen Sie ein Datenfeld, das auf 35 mal 4 mal 6 Fließkommawerte dimensioniert ist, irgendwie Zahlen zwischen 1 und 100. Das Programm soll dann ermitteln und ausdrucken, wie viele Zahlen kleiner als 50 sind. Alle Zahlen kleiner als 50 sollen dann mit 30 multipliziert werden. Drucken Sie zum Schluss das Datenfeld in 140 Zeilen zu je 6 Daten mit jeweils 2 Nachkommastellen aus.

    2. Entwickeln Sie Analyse, Struktogramm und C-Programm:
    (a) eine Funktion, die wahlweise ein Rechteck oder ein Dreieck aus Kreuzchen malt. Als Argumente bekommt sie die Information aus wie vielen Reihen die Grafik besteht und ob ein Rechteck (=1) oder ein Dreieck (=2) gemalt werden sollen (Reihenfolge beachten). Außerdem soll die Funktion berechnen und zurückmelden, wie viele Kreuzchen insgesamt gemalt wurden.
    (b) Ein Testprogramm mit Eingabe der Argumente, das die Funktion (a) testet und die Zahl der Kreuzchen ausdruckt.

    3. Entwickeln Sie Analyse, Struktogramm und C-Programm:
    (a) eine Funktion, die zwei Fließkommazahlen a und b bekommt und in die gleichen Variablen die beiden Ergebnisse von (a+b)² zurückgibt.
    (b) ein Testprogramm mit einem Fließkommazahlen-Feld aus 20 mal 2 Werten. Da Datenfeld ist zunächst mit Zahlen zu füllen; der erste Wert beginnt bei 100 und läuft in 5er-Schritten hoch, der zweite Wert beginnt bei 10 und läuft in 2er Schritten hoch. Das Feld ist in 20 Zeilen auszugeben. Danach sind die zwei Werte eines jeden Datensatzes mit Hilfe der Funktion zu ersetzen. Das Feld ist zum Schluss noch einmal auszugeben.

    vielen Dank!!!

    gruss tyskisergio



  • vielen Dank für eure Antworten!!
    ja die Aufgaben sind umständlich formuliert, dass ist eine Eigenart des Profs... 🙂
    bei der ersten Aufgabe bin ich noch dran. bei der 2 komme ich nicht weiter, weil ich nicht überprüfen kann was ich bis jetzt programmiert habe. Jedenfalls ist es noch nicht komplett, bitte prüft das was ich bis jezt gemacht habe. hier nochmal die Aufgabenstellung für Aufgabe2:

    2. Entwickeln Sie Analyse, Struktogramm und C-Programm:

    (a) eine Funktion, die wahlweise ein Rechteck oder ein Dreieck aus Kreuzchen malt. Als Argumente bekommt sie die Information aus wie vielen Reihen die Grafik besteht und ob ein Rechteck (=1) oder ein Dreieck (=2) gemalt werden sollen (Reihenfolge beachten). Außerdem soll die Funktion berechnen und zurückmelden, wie viele Kreuzchen insgesamt gemalt wurden.

    (b) Ein Testprogramm mit Eingabe der Argumente, das die Funktion(a) testet und die Zahl der Kreuzchen ausdruckt.

    mein Programm....

    // Klausuraufgabe 2 - WS 2010

    #include <stdio.h>
    #include <math.h>

    void RechteckOderDreieck(int, int); // Funktionsprototyp

    void main()
    {
    int re,auswahl; // re=Reihen

    printf("Wie viele Reihen?:");
    scanf("%i",&re);
    printf("für Rechteck bitte 1 druecken, für Dreieck bitte 2 druecken!");
    scanf("%i",&auswahl)

    RechteckOderDreieck(auswahl, re); //Funktionsaufruf
    }

    int RechteckOderDreieck (int auswahl, int re) // Funktionskopf
    {
    int i,j // Zähler

    if (auswahl==1) // Rechteck
    {
    for(i=1; i<=re; i++) // Schleife für Reihen
    {
    for(j=1; j<=re; j++) // Zähler für ,
    {
    printf("
    ");
    }
    printf("\n");
    }
    }
    else if (auswahl==2) // Dreieck
    {
    for (i=1; i<=re; i++) // Schleife für Reihen
    {
    for (j=1; j<=i; j++) // Zähler für , Abbruch muss j<=i sein, sonst kein Dreieck
    {
    printf("
    ");
    }
    printf("\n");
    }
    }
    else
    printf("Falsche Auswahl bei Eingabe!");
    }

    ich weiß nicht ob ich die Parameter an die Funktion so übergebendarf, denn es soll ja die Reiheneingabe an die Funktion gegeben werden und dann mit der Auswahl ( 1 oder 2) das Rechteck bzw. Dreieck ausgegeben werden.

    Wie man die * dann zählt???
    für Rechteck noch ne math. Funktion unten einführen -

    AnzahlStern=re*re (also Reihe*Reihe würde ja die Summe ausgeben)

    für dreieck - AnzahlStern=((re*re)/2)

    wäre schön wenn einer von euch sich die Mühe macht und mein Mist zum Laufen bringt 🙂

    gruss



  • so dachtwe ich das mir mit der Summe der Kreuzchen

    // Klausuraufgabe 2 - WS 2010

    #include <stdio.h>
    #include <math.h>

    void RechteckOderDreieck(int, int); // Funktionsprototyp

    void main()
    {
    int re,auswahl; // re=Reihen

    printf("Wie viele Reihen?:");
    scanf("%i",&re);
    printf("für Rechteck bitte 1 druecken, für Dreieck bitte 2 druecken!");
    scanf("%i",&auswahl)

    RechteckOderDreieck(auswahl, re); //Funktionsaufruf
    }

    int RechteckOderDreieck (int auswahl, int re) // Funktionskopf
    {
    int i,j,y //

    if (auswahl==1) // Rechteck
    {
    for(i=1; i<=re; i++) // Schleife für Reihen
    {
    for(j=1; j<=re; j++) // Zähler für ,
    {
    printf("
    ");
    }
    printf("\n");
    }
    y=re*re; // Summe der Kreuzchen im Rechteck!!!
    printf("insgesamt sind es %i Kreuzchen",y);

    }
    else if (auswahl==2) // Dreieck
    {
    for (i=1; i<=re; i++) // Schleife für Reihen
    {
    for (j=1; j<=i; j++) // Zähler für , Abbruch muss j<=i sein, sonst kein Dreieck
    {
    printf("
    ");
    }
    printf("\n");
    }
    y=((re*re)\2); // Summe der Kreuzchen im Rechteck!!
    printf("insgesamt sind es %i Kreuzchen",y);
    }
    else
    printf("Falsche Auswahl bei Eingabe!");
    }



  • oh ich hatte jede Menge Sytaxfehler oben gehabt, deswegen konnte ich das nicht starten!

    habe das jetzt korregiert und zum Laufen gebracht, allerdings weiss ich noch nicht wie die Summe der Sternchen von der Funktion zurückgemeldet werden soll.

    hier das Programm (korregiert), läuft

    // Klausuraufgabe 2 - WS 2010

    #include <stdio.h>
    #include <math.h>

    void RechteckOderDreieck(int, int); // Funktionsprototyp

    void main()
    {
    int re,auswahl; // re=Reihen

    printf("Wie viele Reihen?:");
    scanf("%i",&re);
    printf("für Rechteck bitte 1 druecken, für Dreieck bitte 2 druecken!");
    scanf("%i",&auswahl);

    RechteckOderDreieck(auswahl, re); //Funktionsaufruf
    }

    void RechteckOderDreieck (int auswahl, int re) // Funktionskopf
    {
    int i,j,y;//

    if(auswahl==1) // Rechteck
    {
    for(i=1; i<=re; i++) // Schleife für Reihen
    {
    for(j=1; j<=re; j++) // Zähler für ,
    {
    printf("
    ");
    }
    printf("\n");
    }

    }
    else if (auswahl==2) // Dreieck
    {
    for (i=1; i<=re; i++) // Schleife für Reihen
    {
    for (j=1; j<=i; j++) // Zähler für , Abbruch muss j<=i sein, sonst kein Dreieck
    {
    printf("
    ");
    }
    printf("\n");
    }

    }
    else
    printf("Falsche Auswahl bei Eingabe!");
    }


Anmelden zum Antworten