![](https://www.fachinformatiker.de/uploads/set_resources_14/84c1e40ea0e759e3f1505eb1788ddf3c_pattern.png)
screamboy14
-
Gesamte Inhalte
120 -
Benutzer seit
-
Letzter Besuch
Inhaltstyp
Profile
Forum
Downloads
Kalender
Blogs
Shop
Beiträge von screamboy14
-
-
eure meinung
in Java
huhu ich bin gerade damit fertig geworden ein kleines Programm zum berechnen des korrelationskoefizenten zu schreiben und wollte mal eure Meinung dazu wissen auch im punkto programmierstil ... ich hab das progi auf 2 verschiedene arten geschrieben einmal innerhalb der gui und einmal mit dem versuch gui und logik zu trennen
bin für jede positive und auch negative
Kretik offen
also hier einmal das Projekt
-
huhu liebe forum gemeinde
ich hab folgendes wesshalb ich mich an euch wende ich habe ein programm wo man über 2 txt felder die Anzahl der spalten und zeilen meiner JTable angibt um diese dann später via knopfdruck zu inizialisieren/erstellen
nun sind dort aber die spaltennamen bereits vorgegeben und die möchte ich editierbar machen z.b. durch einen doppelklick
über google bin ich auf einen tableheader gestoßen allerdings wenn ich das richtig verstanden habe muss man diesen von anfang an für die erstellung der tabelle verwendet haben bei mir ist es aber so das die tabelle durch den user erst per knopfdruck und eingabe erstellt wird
dessweiteren konnte ich in der headerklasse auch keine namentlich passente methode wie z.b. isEditable finden...
und wenn ich den Table header so implementiere wie es in einem der google beitrage steht erscheint bei mir die fehlermeldung das das spaltenarray bei mir KEIN tableheatertyp ist (ist es auch nicht es ist vom typ string) desswegen auch meine frage würde ungern jetzt den gesammten source ummodeln nur wegen dem heater ...
villeicht könnt ihr mir da ja helfen auf wunsch kann ich auch einmal den source anhefeten (3 klassen die für dieses problem relevant währen)
lg und danke schon einmal im vorraus
hier nocheinmal zum verdeutlichen die relevantesten passagen
das frame
package tabelleAuslesen; import java.awt.EventQueue; import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.JLabel; import javax.swing.JTextField; import javax.swing.JButton; import javax.swing.ScrollPaneConstants; import java.awt.event.ActionListener; import java.awt.event.ActionEvent; public class Auslesen extends JFrame { static JTable table; static JScrollPane scrollPane; static String bezeichnung[]; static String inhalte[][]; static JTextField txtfSpalten; static JTextField txtfZeilen; static JButton btnAuslesen; static JButton btnInizialisieren; public static void main(String[] args) { EventQueue.invokeLater ( new Runnable() { public void run() { try { JFrame frame = new Auslesen(); frame.setVisible(true); } catch (Exception e) { e.printStackTrace(); } } } ); } /** * Create the frame. */ public Auslesen() { //----------------------------------------EIGENSCHAFTEN setVisible(true); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setResizable(false); setBounds(100, 100, 450, 300); getContentPane().setLayout(null); //----------------------------------------KOMPONENTE scrollPane = new JScrollPane(); scrollPane.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS); scrollPane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS); scrollPane.setBounds(10, 54, 424, 132); getContentPane().add(scrollPane); //----------------------------------------LABEL JLabel lblAnzahlSpalten = new JLabel("Anzahl Spalten:"); lblAnzahlSpalten.setBounds(26, 22, 93, 21); getContentPane().add(lblAnzahlSpalten); JLabel lblAnzahlZeilen = new JLabel("Anzahl Zeilen:"); lblAnzahlZeilen.setBounds(169, 22, 89, 21); getContentPane().add(lblAnzahlZeilen); //----------------------------------------TEXTFELDER txtfSpalten = new JTextField(); txtfSpalten.setBounds(129, 22, 30, 20); getContentPane().add(txtfSpalten); txtfSpalten.setColumns(10); txtfZeilen = new JTextField(); txtfZeilen.setColumns(10); txtfZeilen.setBounds(253, 22, 30, 20); getContentPane().add(txtfZeilen); //--------------------------------------Knöpfe btnInizialisieren = new JButton("Inizialisieren"); btnInizialisieren.setBounds(298, 21, 106, 23); btnInizialisieren.addActionListener(new BtnInizial()); getContentPane().add(btnInizialisieren); btnAuslesen = new JButton("Auslesen"); btnAuslesen.addActionListener(new BtnAuslesen()); btnAuslesen.setBounds(150, 211, 89, 23); btnAuslesen.setEnabled(false); getContentPane().add(btnAuslesen); } }
und der inizialisieren buttenpackage tabelleAuslesen; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JTable; import javax.swing.JTextField; import javax.swing.table.TableCellEditor; public class BtnInizial implements ActionListener { String txtSpalten; String txtZeilen; int spalten; int zeilen; BtnInizial() { } // @Override public void actionPerformed(ActionEvent e) { zeilen = Getter.GetTextZeilen(txtZeilen); IsOk(zeilen); if (zeilen >0 ) { spalten = Getter.GetTextSpalten(txtSpalten); Auslesen.inhalte = new String [zeilen][spalten]; Auslesen.bezeichnung = new String[spalten]; Auslesen.table = new JTable(zeilen , spalten ); // TabelleVorfüllen(); Auslesen.table.setAutoResizeMode(Auslesen.table.AUTO_RESIZE_OFF);//zellen größe minimal wie überschrift Auslesen.table.setRowSelectionAllowed(false); //blaumarkierung über die reihe ausschalten Auslesen.table.getTableHeader().setReorderingAllowed(false);// spalten unverschiebbar Auslesen.table.putClientProperty("terminateEditOnFocusLost", Boolean.TRUE);//zell editierung beenden //bei verlassen der tabellenopjektes Auslesen.scrollPane.setViewportView(Auslesen.table);//tabelle auf scrollPane implementieren Auslesen.btnAuslesen.setEnabled(true);//butten anklickbar machen } } public static void IsOk(int wert) { if (wert <=0) { FalscherDatentyp fehler = new FalscherDatentyp(); fehler.setVisible(true); } } public static void TabelleVorfüllen() { for (int i = 0; i < Auslesen.table.getRowCount(); i++) { for (int j = 0; j< Auslesen.table.getColumnCount(); j++) { Auslesen.table.setValueAt("", i, j); } } } }
-
huhu folgendes ich habe einen JTable mit zeilen und spalten (wahnisinn nech
)
jedenfalls hab ich folgendes problem wenn ich eine zelle anklicke und einen text eingeben möchte und vorher bereits ein text in besagter zelle war dann wird mein text einfach nur angehangen ... ich möchte aber das der alte text wie z.b. bei Excel überschrieben wird und NUR der neue txt zu sehen ist kann mir da jemand helfen
danke im vorraus
-
hallo
ich habe folgendes rpg Problem
ich habe auf der i5 ein notenprogramm geschrieben wo unter anderen der notendurchschnitt berechnet werden soll mit 1ner Nachkommerstelle allerdings zeigt das programm zwar den durchschnitt an rundet diesen aber nicht
bsp aus 2,45 wird 2,4 anstatt 2,5
meine frage: gibt es für das freeformat eine Runden methode ?
-
hier das DSPF
A*%%TS DD 20110906 141302 m10vocke REL-V5.0.1 WDSc
A*%%EC
A DSPSIZ(24 80 *DS3)
A REF(QGPL/QINVREC INVREC)
A R KOPF
A*%%TS DD 20110906 141302 m10vocke REL-V5.0.1 WDSc
A CF03(03 'Verlassen')
A OVERLAY
A 1 71SYSNAME
A 2 71TIME
A 1 2DATE
A EDTCDE(Y)
A 1 28'Artikelauskunft_2'
A 10 21'Artikelnummer:'
A B_ARTNR R B 10 38REFFLD(ART/ARTNR BENUTZERF/ARTI)
A 30 ERRMSG('Datensatz nicht vorhanden' +
A 30)
A*%%GP SCREEN1 01
A R RUMPF
A*%%TS DD 20110906 141302 m10vocke REL-V5.0.1 WDSc
A OVERLAY
A 12 21'Menge:'
A 13 21'Preis:'
A B_PREIS R Y O 13 38EDTCDE(N)
A REFFLD(ART/PREIS BENUTZERF/ARTI)
A B_ME R O 12 38REFFLD(ART/ME BENUTZERF/ARTI)
A B_BEZ R O 11 38REFFLD(ART/BEZ BENUTZERF/ARTI)
A 11 21'Beschreibnung:'
A*%%GP SCREEN1 02
A R FUSS
A*%%TS DD 20110906 141302 m10vocke REL-V5.0.1 WDSc
A 24 2'F3 = Verlassen'
A*%%GP SCREEN1 03
-
erstmal ein danke an WWetterwachs für seine echt professionelle Hilfe
und zu deiner frage wie weit wir sind, wir haben dieses schuljahr erst mit rpg angefangen .... also mehr als 3 schuleinheiten (18 schulstunden) waren es noch nicht
und das war auch erst das 2te Programm was wir geschrieben haben und es sollte eine normale artikelausgabe aus einer bestehenden Tabelle sein
dennoch danke für die gute Hilfe
ps da das programm jetzt ja funktioniert wie es soll und falls daran interesse besteht, könnte ich den queltext der rpgle und der dspf datei einmal posten (bei interesse) ein kurzes stadement ob es gewünscht ist fände ich gut
-
Hi
Es gibt zum einen das "alte" Code 400, mit welchem man auch ohne I5 Sourcen anzeigen und bearbeiten kann.
Der ebenfalls etwas betagtere WDSC erlaubt dies ebenfalls. Das neueste Tool(NachNachfolger des WDSC) wäre dann der RDP, der ADTS(also auch SEU) ablösen wird(SEU support ist ab V6R1 eingestellt). Mit diesem ist zum einen die Speicherung der Sourcen auf dem Client PC als auch die Bearbeitung möglich. Syntaxprüfungen sind in allen enthalten.
????? irgendwie versteh ich hierbei nur bahnhof sorry ....
btw : Deine 1. Frage ist so schwerlich zu beantworten. Es fehlen Infos. Sollte bild1 dein auszugebener Screen sein, so löscht oder initialisiert(Bezugszahlen) "clear bild1" alles im DDS definierte, eben auch deine Fehlermeldung. Ich erkenne so jedoch nicht ob die Bezugszahl 30 in einem Bezug zu deiner Fehlermeldung steht oder eben nur zu einer Kennzeichnung (blinken/invertieren) des Feldes.
Natürlich kannst Du den Schirm aufteilen, wie du es bei Subfiles ja auch machst, ist aber grundsätzlich unnötig.
Das Löschen des Feldinhaltes halte ich für suboptimal. Der Cursor wird auf das Feld mit dem fehlerhaften Eintrag positioniert und dieses wird invers/kennzeichnet. Bei längeren Feldinhalten ist es für den Anwender ungünstig nicht zu wissen was er eingab.
genau so wie du es beschrieben hast meinte ich es auch
und das programm an sich ist erstmal das erste was ich in dieser sprache im Unterricht geschrieben habe und es ist eine schlichte anzeige aus einer Tabelle die den Zusatz haben soll fals man eine falsche kundennummer eingibt, das alle felder wieder gelöscht werden da es im normalen betriebsablauf sonst passieren könnte das man einen artikel mit der falschen artikelnummer notiert etc.. so hat es zumindest der Lehrer erklährt
ps ich hoffe ja mal das das mit dem zitat funktioniert hat wie es sollte ^^
-
Heißt das, wenn du keine clear-operation machst, erscheint die Fehlermeldung?
Du könntest mal probieren, nach dem clear ein write auf das FMT01 zu machen.
Grund: Es könnte sein, das das clear erst mit dem exfmt an das DSPF "festgeschrieben" wird und daher der IN30 verloren geht.
PRobier das mal bitte aus, und schreib ob es funktioniert hat.
hab es ausprobiert hat aber leider nicht funktioniert durch den Lehrer bin ich nun auf die Lösung gekommen, den bildschirm einfach in mehrere teile aufzuteilen was auch funktioniert hat und das programm läuft
aber ich hätte da nocheinmal eine Frage und zwar gibt es eine as/400 ähnliche emulation bzw irgend ein open source program mit dem man rpg/dds geschriebene Programme anzeigen und bearbeiten kann ??? ist ein wenig doof das man dafür immer in der schule sein muss sonst ...
-
ich muss ja mal sagen ... TOll wenn die links funktionieren ......
-
ja genau das mein ich
ohne clear kommt die Fehlermeldung..
ok ich probier es aus, sobald ich wieder zugrif auf die i5 habe (auszubildender schüler) das wird frühestens dienstag sein, aber ich werd mich dann nochmal melden vielen dank bis jetzt für die Hilfe
-
hallo und zwar ich habe ein programm in rpg geschrieben was an sich eigentlich auch funktioniert wie es soll...
danach dachte ich mir wenn eine falsche artikelnummer eingegeben wird sollen die felder gecleart werden dies habe ich mit clear gemacht was auch funktioniert ... nur ab diesen moment wurde die fehlermeldung das die artikelnummer nicht vorhanden ist NICHTMEHR mit angezeigt. kann mir einer helfen ??
Farta001b CF E WORKSTN
Farti IF E K DISK
/free
dou *in03 = *on;
exfmt bild1;
if *in03 = *on;
else;
chain artnr arti;
if %FOUND;
else;
clear bild1;
*in30 = *on;
ENDIF;
ENDIF;
ENDDO;
*inlr = *on;
/end-free
-
verdammt stimmt wieso hat der kein framework haha danke für dden tip
-
Und was hältst du von selber erarbeiten?
Und was soll am Ende dabei herauskommen?
Keylogger, in Datei speichern, per Mail versenden?
Üblicherweise nennt man so was Virus.
das war jetz größtenteils scherzhaft gemeint ichdachte das is aus dem txt hervorgekommen ^^
das mit dem txt dateien hab ich im c# gesehen deswegen nur die informationsfrage das mit dem senden hab ich mir dazugedichtet ^^ man darf bei solchen videos doch mal auf solche gedanken kommen
abgesehen davon das ich sowieso davon ausgehe, das bei sowas wie nem mail versenden auch das älteste virenprogie reagieren würde ^^ macht meins ja sogar schon bei dem keylogger ^^ zummindest zeigt der ne meldung an das er ähnlichkeiten mit irgendeinem andern progi hat ^^
wie gesagt war nicht wirklich ernst gemeint der letzte teil aber thx für die hilfe
ps ich setze bestimmt nciht meine ausbilung aufs spiel und mach nen virus (zumindest keinen echten ) ^^
-
Also...
3. Hier der richtige Code
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Integer) As Short
Viel spaß damit
Radprog
PS: Hab mir für diese Frage extra ein account zugelegt
'
hihi danke das du das extra gemacht hast aber ich hab es ja dank der hir bereits registrierten user den fehler ja auch entdeckt ^^ mit dem int
danke nochmal =)
jetz müsste ich nurnoch wissen, wie man es in eine externe datei speichern kann und per email verschicken xD
ok spaß mir reicht das in externe txt datei speichern das bietet youtube nur für c# ^^
wer mag kann mir den rest auch schreiben xPP
ps manche toturials sind auch nicht zu gebrauchen aber wenn man sich mal z.b. das für java ansieht das ist relativ alles das selbe was ich am Anfang meiner Ausbildung hatte ^^ ich finde es kommt immer darauf an von wen das Toturial is
-
danke sehr
-
nein ich mein das ich statt in vb in c# programiere ind der debugger mir da dann auch dementsprechend fehler anzeigt ^^
-
danke für eure hilfe
eine frage hätte ich noch und zwar wenn man visual studio instaliert beim ersten start muss man ja einstellen in welcher sprache man schreiben möchte wie kann man dierse wiederum im nachhinein wieder umändern z.b. in C#
-
MSDNAA oder was?
Function GetAsyncKeyState Lib "User32" (ByVal vKey As Long) As Integer ^ ^ Rückgabetyp Parametertyp
ja ^^ MSDNAA
danke ich hab an der falschen stelle nach der signatur gesucht danke dur den tip es geht
-
Was bitte hast du heruntergeladen?
Windows 2010 gibt es nicht - 7 ist das aktuelle System.
^^ sry verständnissfehler xD
visual basic studio 2010 ultimate meine ich (hätte man aber aus meinem darauffolgendem beitrag lesen können
)
-
Die Professional-Edition hätte für deine Zwecke sicher auch ausgereicht
Der Parameter muss vom Typ Int32 sein, und der Rückgabewert Int16.
naja ich bekomm die software gratis mit originalkey von daher ^^
und wie mache ich das in ein int32 bzw 16 ??? ich kenn nur normal int
-
Ich sagte doch, das Programm funktioniert bei mir.
ja bei mir nicht ^^ ich dachte zuerste das es an win 7 liegt und hab mir 2010 ultimate gedownloaddet wil dies angeblich abhilfe schaffen soll ...
aber das einzige was anders is is das jet diese fehlermeldung kommt
Ein Aufruf an die PInvoke-Funktion "keylogger!WindowsApplication1.Form1::GetAsyncKeyState" hat das Gleichgewicht des Stapels gestört. Wahrscheinlich stimmt die verwaltete PInvoke-Signatur nicht mit der nicht verwalteten Zielsignatur überein. Überprüfen Sie, ob die Aufrufkonvention und die Parameter der PInvoke-Signatur mit der nicht verwalteten Zielsignatur übereinstimmen.
-
wie muss ich denn meine signatur verändern, damit es geht ??
-
Nicht alles, was sich im Internet findet, ist richtig. Das gilt insbesondere auch für irgendwelche Youtube-Videos von Kindern, die selbst nicht genau wissen, was sie da tun.
ja das stimmt aber ich kann an der signatur kein fehler sehen (naja vill kenn ich mich mit der asinc.... auch nur nicht gut genug aus ) aber das is doch nur die eingabe der befehl was muss ich da denn ändern damit es funktioniert
-
Der Code funktioniert bei mir. Die Signatur für GetAsyncKeyState ist falsch, aber es läuft auch so.
.
also im video isdie signatur genauso beschreiben
eure meinung
in Java
Geschrieben
huhu erstmal ein danke das du dir die Zeit genommen hast, dir das program einmal anzuschauen und diesen txt zu schreiben![:)](https://www.fachinformatiker.de/uploads/emoticons/default_smile.png)
wo kann man das denn einstellen ich war ehrlichgesagt ein wenig verwundert das da sofort Fehler bei dir angezeigt worden![:)](https://www.fachinformatiker.de/uploads/emoticons/default_smile.png)
ja stimmt ich habs leider nicht so gut mit der englischen sprache und hab eig auch meist deutsch benutzt und wollte jetzt halt englisch schreiben weils halt so festgesetzt ist ....
dazu muss ich sagen das ich erst dabei bin so richtig ins OO einzusteigen, vorher hab ich eher immer nur runterprogrammiert und muss mich da erst hineinarbeiten. zu der doku hast du da mal ein paar beispiele ich kann mir da gerade nichts drunter vorstellen ...
ich wusste garnicht das man befehle in eigene variablen speichern kann wie funktioniert das denn genau ?
zu dem umschreiben die möglichkeit kenne ich bereits allerdings irritiert diese mich persönlich wesswegen ich diese schreibweise ungern verwende.
na das hör ich doch mal gerne vorallem den teil mit den übersichtlichen und vielen kleinen Methoden wo man mir schon öfters sagte das man soetwas nicht macht (z.b. buttons als eigene methode etc ...) Die einrückfunktion hab ich irgendwann mal von gehört hab sie aber bis jetzt NIE gebraucht da ich beim programmieren schon versuche eine gewisse ordnung und übersichtlichkeit zu erreichen ..
so ein großes danke nochmal an dich und deine mühe zumal wenn ich mir mal die uhrzeit deines postes ansehe![:)](https://www.fachinformatiker.de/uploads/emoticons/default_smile.png)