Anmelden

View Full Version : C++ struct anhand einer DB? Bildschirme in Java?



SourceCoder
28-01-19, 11:30
Hallo zusammen,

ich habe zwei Fragen und hoffe das mir jemand weiterhelfen kann.

1.
Ich würde gern wissen ob man eine Datenstruktur in C++ entsprechend einer Datei definieren kann, sodass ich nicht jedes Feld manuell eintippen muss.

Manuell:

typedef struct _XXX {
char X [2];

} XXX;

XXX sXXX;


So etwas wie Like was man von COBOL oder RPGLE kennt.

2.
Muss man bei der Erstellung von Java Anwendung mit einer GUI etwas besonders beachten wenn diese auf der AS400 aufgerufen werden. Müssen bestimmte Bibliotheken verwendet werden? Können nur bestimmte Fenstertypen dargestellt werden? (Bestimmte GUI-Elemente?)
Hat jemand ein Beispiel für eine GUI Anwendung auf der AS400?

Fuerchau
28-01-19, 12:21
Was du mit C/C++ auf der AS/400 machen kannst, erfährst du hier:
https://www.ibm.com/support/knowledgecenter/ssw_ibm_i_73/rzahg/rzahgcandcplus.htm

Java-Anwendungen mit GUI funktionieren auf der AS/400 generell nicht, da es keine grafischen Terminals auf der AS/400 gibt sondern nur Greenscreen 5250.
Dafür kannst du ja Java überall woanders laufen lassen und per JDBC mit der AS/400-DB kommunizieren.

SourceCoder
28-01-19, 13:05
Fuerchau die Doku ist mir bekannt doch mit meinen Schlüsselwörter konnte bis jetzt nichts finden, deswegen ist hier nachfragen wollte.

Edit -> gefunden?: https://www.ibm.com/support/knowledgecenter/ssw_ibm_i_73/rzarh/hmultrecfrm.htm

Fuerchau
28-01-19, 13:57
Korrekt:
Per #include wird die Datenstruktur der Tabelle importiert und per #pragma werden weitere Definitionen für den folgenden #include festgelegt.

Frage:
Wofür bemühst du noch C++ auf der AS/400?

SourceCoder
28-01-19, 14:16
#pragma mapinc("XXX","XXX(*ALL)","input","")#include "XXX"

#include <stdlib.h>
#include <stdio.h>

int main(void)
{
printf("Hello World\n");
return 0;
}


Soweit bin ich, muss nur noch hinbekommen wie ich aus der Datenstruktur ein Objekt erstellen kann.

Müsste ja XXX XXXS; sein aber klappt noch nicht richtig oder heißt die Datenstruktur anders?

PS: Sobald ich den TYP der Teildatei von C auf CPP umstelle, kann ich nicht wandeln weil er mir sagt das er XXX nicht finden kann.

PS: C++ auf der AS400 -> Aus neugier und Interesse.



Edit: </stdio.h></stdlib.h>OPTION(*SHOWUSR) kann sehr hilfreich sein :).

Fuerchau
28-01-19, 17:11
Der CPP-Compiler ist lizenzpflichtig. Der C-Compiler wird intern von SQL bei CREATE PROCEDURE/FUNCTION verwendet.
Und was dann so generiert wird sagt dir der Spool.

Wenn du "CODE" einfügst bleiben die "<" und ">" erhalten.

Es fehlt wohl noch der #include "XXX".