(Borland C++...) Ausgabeprobleme



  • Hallo liebe Gemeinde,

    ich habe mit meinem Programm ein kleines Problem. Ich versuche an eine Serverapplikation einen
    Auftrag zu senden. Dieser Auftrag wird abgearbeitet und anschliessend frage ich das Ergebniss ab.
    Dieses Ergebnis liegt in Form verschiedener Variablen vor. Nun sollen die einzelnen Werte in einem
    Memofeld ausgegeben werden. Leider zeigt mir mein Programm nicht alle werte an.

    Woran kann das liegen???

    Anbei mein kleiner Quelltext.

    void __fastcall TMostWindow::IdentClick(TObject *Sender)
    {
    int i=0;

    char askParameter, *Name;

    //es müssen nicht die API-Formate verwendet werden. Diese bauen auf den normalen Werten auf.
    //Das Ergebnis ist gleich.

    // APIBYTE buffer_byte=0;
    unsigned char buffer_byte;
    // APICHAR buffer_char=0;
    char buffer_char;
    // APIDWORD buffer_dword=0;
    unsigned long buffer_dword;
    // APIINTEGER buffer_int=0;
    short buffer_int;
    // APILONG buffer_long=0;
    long buffer_long;
    // APIREAL buffer_real=0;
    double buffer_real;
    // APITEXT buffer_text[32];
    char buffer_text[32];
    // APIWORD buffer_word=0, SatzZahl=0, SatzZahlMax=0, ErgebnisZahl=0, ErgebnisZahlMax=0;
    unsigned short buffer_word, SatzZahl=0, SatzZahlMax=0, ErgebnisZahl=0, ErgebnisZahlMax=0;

    APIRESULTFORMAT format;

    //Job senden
    apiJob(
    "ASK_E65",
    "ident",
    "",
    ""
    );

    //Job OK???
    if (apiErrorCode() == EDIABAS_ERR_NONE)
    { // if-anweisung job ok

    //Abfragen des Datenformates -> wenn Text, dann ausgeben
    apiResultFormat(&format, "JOB_STATUS", 1);

    //Darstellung eines Ergebnisses zur Kontrolle -> Funktioniert
    if (format == APIFORMAT_TEXT) //if-anweisung format Kontrolle
    {
    apiResultText(
    buffer_text,
    "JOB_STATUS",
    1,
    ""
    );
    apiResultName(Name, 1, 1);
    Memo1->Text=Name;
    Memo1->Lines->Add(buffer_text);
    } // ende if Format

    //Ermitteln der Anzahl Ergebnissätzen
    apiResultSets(&SatzZahlMax);
    for (SatzZahl=0; SatzZahl<=SatzZahlMax; SatzZahl++)
    { // ergebnissätze ermittlen
    MemoSatzZahl->Text=SatzZahlMax;

    //Ermitteln der Anzahl von Ergebnisen pro Ergebnissatz
    apiResultNumber(&ErgebnisZahlMax, SatzZahl);
    for (ErgebnisZahl=1; ErgebnisZahl<=ErgebnisZahlMax; ErgebnisZahl++)
    { // ergebnisse pro satz

    //Darstellung der Ergebnissätze (Hilfsfunktion)
    if (SatzZahl == 0)
    { // if ergebnis1
    MemoErgebnis1->Text=ErgebnisZahlMax;
    } // ende ergebnis1
    if (SatzZahl == 1)
    { // if ergebnis2
    MemoErgebnis2->Text=ErgebnisZahlMax;
    } // ende ergebnis2

    //Ermitteln der Ergebnisnamen zur automatischen Darstellung
    apiResultName(Name, ErgebnisZahl, SatzZahl);

    //Ermitteln des Datenformates
    apiResultFormat(&format, Name, SatzZahl);
    Memo2->Text=format;

    //Switchanweisung zur Formatierung
    // if (format == APIFORMAT_TEXT)
    // {
    switch (format)
    { // beginn switch
    case APIFORMAT_BINARY :
    { // Funktion1
    } // ende funktion1
    break;
    case APIFORMAT_BYTE :
    { // funktion2
    apiResultByte(
    &buffer_byte,
    Name,
    SatzZahl
    );
    // IntToStr (buffer_byte);
    Memo3->Lines->Add(AnsiString(buffer_byte));
    Memo4->Lines->Add(AnsiString(Name));
    } // ende funktion2
    break;
    case APIFORMAT_CHAR :
    { // funktion3
    apiResultChar(
    &buffer_char,
    Name,
    SatzZahl
    );
    Memo3->Lines->Add(AnsiString(buffer_char));
    Memo4->Lines->Add(AnsiString(Name));
    // IntToStr (buffer_long);
    } // ende funktion3
    break;
    case APIFORMAT_DWORD :
    { // funktion4
    apiResultDWord(
    &buffer_dword,
    Name,
    SatzZahl
    );
    Memo3->Lines->Add(AnsiString(buffer_dword));
    Memo4->Lines->Add(AnsiString(Name));
    } // ende funktion4
    break;
    case APIFORMAT_INTEGER :
    { // funktion5
    apiResultInt(
    &buffer_int,
    Name,
    SatzZahl
    );
    Memo3->Lines->Add(AnsiString(buffer_int));
    Memo4->Lines->Add(AnsiString(Name));
    } // ende funktion5
    break;
    case APIFORMAT_LONG :
    { // funktion6
    apiResultLong(
    &buffer_long,
    Name,
    SatzZahl
    );
    Memo3->Lines->Add(AnsiString(buffer_long));
    Memo4->Lines->Add(AnsiString(Name));
    } // ende funktion6
    break;
    case APIFORMAT_REAL :
    { // funktion7
    apiResultReal(
    &buffer_real,
    Name,
    SatzZahl
    );
    Memo3->Lines->Add(AnsiString(buffer_real));
    Memo4->Lines->Add(AnsiString(Name));
    } // ende funktion7
    break;
    case APIFORMAT_TEXT :
    { // funktion8
    apiResultText(
    buffer_text,
    Name,
    SatzZahl,
    ""
    );
    Memo3->Lines->Add(AnsiString(buffer_text));
    Memo4->Lines->Add(AnsiString(Name));
    }
    break; // ende funktion8
    case APIFORMAT_WORD :
    { // funktion9
    apiResultWord(
    &buffer_word,
    Name,
    SatzZahl
    );
    Memo3->Lines->Add(AnsiString(buffer_word));
    Memo4->Lines->Add(AnsiString(Name));
    } // ende funktion9
    break;
    } // ende switch

    /* apiResultLong(
    &buffer,
    &Name,
    SatzZahl
    );
    */
    // FloatToStr(buffer);

    //Darstellung der Inhalte eines Ergebnisses

    // RichEdit1->Lines->Add(buffer_long);

    //Kurze Wartezeit
    for (i=1;i<1000;i++);
    // }

    // RichEdit1->Lines->Add("\n");
    // RichEdit1->Lines->Append(Name);
    // RichEdit1->Lines->Add("\n");
    // RichEdit1->Lines->Append("Test");
    } // ende ergebnis pro satz
    } // ende ergebnisse ermitteln
    } // ende if job ok
    else
    { // jobfehler
    MessageBox(
    NULL,
    "Job konnte nicht ausgeführt werden",
    "ERROR",
    MB_OK | MB_ICONWARNING
    );

    } // ende jobfehler

    }



  • Das ist kein Standard-C++, lies bitte das hier.



  • stimmt!

    soviel ich weiss, ist dass c++ (OOP... wie man das immer nennen mag 😉 ). darum habe ich es nicht bei ansi c gepostet sondern hier. Wenn ich da falsch lag, bitte ich um entschuldigung. wo soll das dann hin???



  • hmm sieht ja verdammt nach dem borland builder aus



  • Original erstellt von elise:
    hmm sieht ja verdammt nach dem borland builder aus

    ein grandioses Beispiel für eine total sinnlose Antwort! 😡 😡 😡

    (Ja, ich _weiß_ dass meine Antwort auch nicht dem Thread dient, aber dem Forum allgemein!)



  • Borland spezifische Fragen (normalerweise 99,99% der fragen, die VCL code enthalten) haben ein eigenes forum!
    des weiteren bitte code tags benutzen, kennt sich ja kein mensch aus, und auch nur fehler/problemrelevante ausschnitte, nicht die ganze datei



  • Original erstellt von <:mad_>:
    [quote]Original erstellt von elise:
    [qb]hmm sieht ja verdammt nach dem borland builder aus

    ein grandioses Beispiel für eine total sinnlose Antwort! 😡 😡 😡

    (Ja, ich _weiß_ dass meine Antwort auch nicht dem Thread dient, aber dem Forum allgemein!)[/QB][/QUOTE]

    lol..

    lies genau und du siehst einen sinnvollen hinweis auf ein richtiges forum, in dem gepostet werden sollte.. oh mann, menschen jibts, die jibts garnicht


Anmelden zum Antworten