Seite 21 von 21 ErsteErste ... 789101112131415161718192021
Ergebnis 301 bis 315 von 361

Thema: Monitor mit Datenbank-Unterstützung

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Registriert seit
    12.05.2004
    Beiträge
    341
    Och menno, bleibt wohl doch nur ein Versprechen :/

  2. #2
    Registriert seit
    13.04.2004
    Beiträge
    47
    Nein bleibt es nicht.. bin eben aus nem 24 std dienst gekommen... werde gleich wenn ich wieder zu hause bin (bin gerade im büro...) endlich mal was vom Code posten. ist eh nur ne kleinigkeit.. abe rich arbeite dran ;-)

    Greets from the rhein... und der erft...

  3. #3
    Registriert seit
    07.09.2003
    Beiträge
    694
    Nun sind wieder 24h ins Land gegangen...
    Ob ihm wohl auf dem Heimweg etwas zugestoßen ist? Vielleicht sollten wir mal der grün-weißen Fraktion in seinem Kreis Kenntnis geben.
    ;-))

    LG und ein frohes neues Jahr noch einmal,
    Funkwart

  4. #4
    Registriert seit
    11.09.2003
    Beiträge
    460

    Zur Info

    Noch lebt er ;-)

  5. #5
    Registriert seit
    13.04.2004
    Beiträge
    47

    ja er lebt noch, er lebt, er lebt noch....

    So mädels...

    In der mon_mysql.c müsst ihr hinter der mon_mysql_store_dme funktion folgende einbauen(hab leider keine Zeilen zahlen, da ich zu viel schon in den Dateien rumgewurschtelt habe):

    int mon_mysql_update_dme(unsigned int ric, unsigned int subadresse, char * funktion, char* bezeichnung, char* text)
    {
    char sql_command[1000] ;
    char intbuffer[10] ;
    char escape_string[1000] ;
    char kurz[10];
    char short2[10];

    //Die ersten 3 zeichen des Textes zwischenspeichern
    unsigned int i = 0;
    for(i = 0; i < 3; i++)
    kurz[i] = text[i];

    memset(sql_command,0,1000) ;
    strcat(sql_command,"update ") ;
    strcat(sql_command,sql_poc_zvei_table) ;
    strcat(sql_command," SET text = ");


    // Text
    strcat(sql_command,"\"") ;
    mysql_real_escape_string(&mon_mysql, escape_string ,text,strlen(text)) ;
    strcat(sql_command,escape_string) ;
    strcat(sql_command,"\"") ;

    /* Suchen des alten Eintrags */
    strcat(sql_command," WHERE zeit BETWEEN (now()-interval 30 second) and now()");
    strcat(sql_command," AND adresse like \'\%");

    /* Adresse /RIC) */
    sprintf(intbuffer, "%d",ric) ;
    strcat(sql_command,intbuffer) ;

    strcat(sql_command,"\%\' AND text like \'\%");
    /*Textvergleich */
    sprintf(short2, "%s", kurz);
    strcat(sql_command,short2);
    strcat(sql_command,"\%\'");

    if (mysql_query(&mon_mysql, sql_command) != 0)
    {
    fprintf(stderr, "Failed to execute query: Error: %s\n",
    mysql_error(&mon_mysql));

    exit(0) ;
    return 0 ;
    }

    return 1 ;
    }

    Als nächstes müsst ihr in der pocsag.c im unteren Bereich der pocsag_printmassage funktion folgende fettgedruckte Zeile hinzufügen...

    if ((checklast = check_last())) {

    if (checklast == 2 && common.line != NULL) {
    /* reAusgabe: Suchen der zu ersetzenden Zeile */
    mon_mysql_update_dme((unsigned int) sql_ric, (unsigned int) sql_sub, sql_funktion, sql_bezeichnung, sql_text) ;

    mem = common.line;
    len = (MAXROW < len) ? MAXROW : len;

    if (mem->next == NULL) {
    /* sollte eigentlich nie vorkommen... */
    verbprintf(6, "Pocsag-Text nicht wiedergefunden: %s", out->string);
    return;
    }
    while (strncmp(out->string, mem->next->string, len) /* Text */
    || strstr(mem->string, alias) == NULL) { /* Header */
    mem = mem->next;
    if (mem->next == NULL) {
    /* sollte eigentlich nie vorkommen... */
    verbprintf(6, "Pocsag-Text nicht wiedergefunden: %s", out->string);
    return;
    }
    shift++;
    }
    while (sublines--) {
    Line *del;
    del = mem->next;
    mem->next = mem->next->next;
    len_list--;
    free(del);
    }
    update_file(outprint, LOG);
    }
    else {
    mon_mysql_store_dme((unsigned int) sql_ric, (unsigned int) sql_sub, sql_funktion, sql_bezeichnung, sql_text) ;
    /* 1: Text anders oder nach Timeout -> Ausgabe */
    if (txtmode == 1)
    strncat(outprint, out->string, MAXROW - strlen(outprint));

    if (!al->color && get_ric(s->l2.pocsag.color, set, rx->func, &ric) > 0){
    al->color = ric->val;
    };
    /* Header */
    update_view(outprint, al->color, FIRSTLINE, LOG);
    }


    Danach einfach neu kompilieren und gut... :-)

    Falls einer Denkfehler in meinen Funktionen findet einfach melden...
    Ich sage ja.. c basics :-) und einfach mal nebenbei mitten in der nacht gemacht

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •