(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 ausein 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 ausein 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