Zum Inhalt springen

Wegginho

Mitglieder
  • Gesamte Inhalte

    26
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von Wegginho

  1. Hallo lieber FI-Gemeinde, mein Problem ist ein nicht aktualisierendes ListBox-Feld mit Multiselection bzw. nicht aktualisierende Dropdownlist-Felder. Ich habe eine Usercontrol geschrieben, dass auf einer einfachen Website eingesetzt werden soll. Mein Usercontrol: 1. read Sammelt Daten von einem SQL-Server und belegt meine Labels 2. edit Sammelt Daten von einem Sharepoint-Server (Listen) und befüllt damit meine List-Boxen und Dropdown-Lists und macht die Labels unsichtbar, die Edit-Controls sichtbar 3. save Sollte eigentlich alle ausgewählten Werte aus dem gesamten Control einlesen, das heißt jedes einzelne Control (Textboxen funktionieren übrigens) wird ausgelesen und sollte den Wert zurückgeben, den es beinhaltet (UND AUCH ANZEIGT!!), tut es aber nicht! LG
  2. Hey Leute, hab n ganz normales Panel, eine JList und ein Button darin und möchte, sobald das Panel geöffnet wird den Fokus auf die Liste setzen. Bitte um Denkansätze! lg
  3. Wegginho

    Java Silent Crash

    FOR /F "eol=-" %%A in ('find /v "!" %ENV_VAR%') do set %%A Das ist die Lösung, find /vermeiden ;D
  4. Wegginho

    Java Silent Crash

    Der Befehl in der Batch-datei sieht im Moment so aus. Das ist quasi die zum Fehler führende Zeile. Ich habe ehrlich gesagt 0 Ahnung von Batch-Programmierung und werd wohl erstmal ne Weile googlen müssen bevor ich das verstehe. for /f "eol=#" %%l in (%ENV%) do set %%l Falls jemand lehrreiche Informationen zu For-Konstrukten unter Batch hat her damit ;D
  5. Wegginho

    Java Silent Crash

    Hallo Leute, erstmal mein Programm: Process p = pb.start(); OutputStream os = p.getOutputStream(); OutputStreamWriter osw = new OutputStreamWriter(os); BufferedWriter bw = new BufferedWriter(osw); try { bw.write("CMD-Datei.cmd"); } catch (Exception e) { System.out.println("Fehler!"); } bw.newLine(); bw.write("echo --- get Env ---"); bw.newLine(); bw.write("set"); bw.newLine(); bw.write("ENDE"); bw.newLine(); bw.write("exit"); bw.flush(); InputStream is = p.getInputStream(); InputStreamReader isr = new InputStreamReader(is); BufferedReader ibr = new BufferedReader(isr); String line; boolean boolLineEnv = false; while ((line = ibr.readLine()) != null) { if(line.contains("set !")) { continue; // [STELLE X] } else if(line.contains("ENDE")) { break; } else { if(line.contains("get Env")) { boolLineEnv = true; } if(boolLineEnv) { alEnvSet.add(line); } //System.out.println(line); } } Soweit so gut. Das funktioniert alles einwandfrei. Nun wird in der "CMD-Datei.cmd" leider eine andere CMD-Datei aufgerufen. Das an sich ist kein Problem, kommen wir aber mal dazu was die zweite Batch-Datei macht: Die Batch Datei ließt eine sogenannte EnvSet-Datei einer bestimmten Firma aus. Wir sind an diese EnvSet-Datei gebunden, sowie an den Kopf der Datei der ca. so aussieht: !---------------------------------------------------------- ! Name der Firma - Umgebungsvariablendatei !---------------------------------------------------------- ! Modus: ... ! Typ: ... ! Zeit: ... !---------------------------------------------------------- Danach folgen dann ein paar Umgebungsvariablen: EnvironmentVariableBeispiel1=C:\Temp EnvironmentVariableBeispiel2=C:\Temp EnvironmentVariableBeispiel3=C:\Temp So, die Batch Datei (No.2) ruft jetzt diese Datei auf und schreibt vor alles was in der Txt-Datei dieser gewissen Firma steht ein Set und schickt es zurück an die Konsole. Wenn ich die Batch-Datei selber unter einer Shell ausführe, passiert nichts, vielleicht wird die ErrorLevel-Variable gesetzt, das kann mir aber egal sein, weil das script weiterläuft. Wenn ich jetzt über Java eine Shell aufmache, und mein Java-Programm quasi alles durchläuft, was die shell auch macht, dann bekomme ich einen silent-Crash ca. an [sTELLE X]. Sobald Stelle X 3 mal durchlaufen wurde, crasht mein Java und es passiert nix mehr. Dann kann ich nur noch Über meine Entwicklungsumgebung (Eclipse) den roten Knopf drücken. Über output sind die letzten 3-4 Outputs: C:\WINDOWS>set !---------------------------------------------------------- C:\WINDOWS>set ! C:\WINDOWS>set !---------------------------------------------------------- C:\WINDOWS>set ! HILFE! Ich weis nicht, wie man mit einem Silent-Crash umgeht, da ich sowas nur aus C++ kenne und C++ bekanntlich öfter vor die Wand fährt bevor so etwas passiert. Hier ist keine Fehlerabfrage mehr möglich, weil das Programm einfach steckenbleibt. ("Stack Overflow"? "Buffer Underrun"?) mfg:(
  6. Also die Lösung war eigentlich ganz einfach. Mit einem ProcessBuilder einen Prozess erzeugen, per Map env= ProcessBuilder.environment() das Environment rausziehen, env.put mit den Environmentvariablen reinsetzen. Dann einen OutputStream (zum schreiben) und einen InputStream (zum lesen) auf die Konsole binden, per output die Befehle an die Konsole schicken und zack alles funktioniert. Hab dazu noch nen anderes Problem, aber da mach ich doch glatt nen neuen Thread auf, weil das fast n anderes Thema ist.
  7. Okay so langsam kommen wir der Lösung näher. Habe mich jetzt grade mit einem Kollegen darüber unterhalten ob das okay ist/wäre. Das geht schon in die Richtung. Wir wollen nur unter Windows und AIX eine shell quasi aufsetzen, über die ein Batch-Programm läuft, dass abhängig von gesetzten Variablen noch andere Variablen hinzufügt. Die komplette Umgebung wird nach der Batch datei mit System.getenv() einmal zwischengespeichert und dann in ein script geschrieben, dass später auch ohne mein Java-Tool funktioniert. Also um das ganze nochmal zu erläutern. gewünscht wäre: [1] ich starte das Java programm [B][2] das Java Programm setzt das Environment [3] eine Batch Datei wird gestartet, die das Environment anreichert [4] das Java Programm ließt alle Variablen aus[/B] [5] die shell wird geschlossen [6] das Java Programm startet eine selbst erzeugte Datei .... Bei 2-4 liegt also der Hase begraben. Ich habe bisher halt schon so einiges ausprobiert. Ich möchte auch kein fertig ausprogrammiertes Ding hier haben, sondern nur den Ansatz, bzw. die Denkweise verstehen die man dafür braucht. mfg
  8. Dann hätten wir ja den doppelten Pflegeaufwand für ein Programm, dass nur dafür da ist andere Programme zu starten. Es geht hier ja nicht nur um die 3 Variablen. Ich rede hier von über 30 verschiedenen Variablen, die auch gerne mal das Limit eines einzigen Aufrufs mit Parametern sprengen können. Gibt es vielleicht eine möglichkeit, ein shell (command) fenster zu öffnen und in dieses einzelne Befehle einfließen zu lassen? Das wäre dann ja quasi schon was ich bräuchte. Problem ist, wie ich vorhin schon erwähnte, dass man mit Runtime.getRuntime().exec() immer wieder eine neue shell öffnet, die unberührt von vorherigen Aufrufen ist.
  9. Ja, du hast das Problem schon richtig erkannt. Danke schonmal für deinen Beitrag. Nur würde ich gerne alles in einer shell abhandeln, da ich das Programm für Windows UND Unix (AIX) mache. Quasi: [1]Benutzer startet über cmd-Programm mein Java Programm [2]Benutzer wählt die gewünschte Einstellung aus [3]Programm startet eine cmd, gibt alle Env-Variablen durch, startet 5 Batch dateien [4]Finales-Programm startet Das Problem ist ja, dass ich wenn ich Runtime.getRuntime().exec("cmd /c set t1=DE") benutze, immer wieder eine neue shell bekomme, ungefähr so als würd ich für jeden Set Befehl ein eigenes Fenster benutzen.
  10. Hallo Leute, nach einem halben Tag googlen gestern und der ziemlich zermürbenden Suche in der Java Hilfe, würd ich einfach gerne mal wissen, wie man mit Hilfe von Java Umgebungsvariablen erzeugt. Hintergrund ist ein Programm innerhalb meiner Firma, das ersetzt werden muss, auf dessen Basis aber Umgebungsvariablen gesetzt wurden, die später in Batch dateien verwendet werden. Beispiel: Umgebungsvariablen: "t1=DE" "t2=location" "t3=department" usw. Dass man mit (Achtung code!) System.getenv() das gesamte Environment auslesen kann ist toll, hat mir auch wirklich weitergeholfen, nur andersherum habe ich bisher von Runtime.getRuntime().exec("cmd /c set t1=DE") bis System.setProperty alles ausprobiert, jedoch hat nichts weitergeholfen. MfG Basti
  11. Hey Leute, war am Freitag bei meiner Prüfung. Lasst euch bloß nicht verrückt machen, die Prüfer sind alle super harmlos und wollen eigentlich nie, dass jemand durchfällt. Ansonsten würden die die Berechnung nicht von 100 aus machen. Jeder hat am Anfang 100 Punkte und bekommt abzüge für kleinere Sachen. Nach meiner schriftlichen 3 bin ich ziemlich froh, noch auf 82 Punkte mit ner mündlichen 1 gekommen zu sein. Mittlerweile sitze ich in Velizy-Villacoublay in Frankreich und lasse die DEVCON09 (Overview - Dassault Systèmes) auf mich einwirken. Man sieht das alles ganz anders als als Azubi ^^. Ich drück allen die Daumen, die s noch nicht geschafft haben, macht euch bloß nicht verrückt. grüße!
  12. Ich glaub es ist sogar noch penibler geregelt. Bei uns in der Prüfung saßen nämlich auch 1-2 Leute die z.B. "nur GhA1" oder "nur GhA2" nochmal machen mussten. Also das, wo sie vorher halt durchgefallen sind schätz ich mal. lg e:
  13. Ich glaub das war die unqualifizierteste Antwort, die ich bisher in diesem Forum gelesen hab. Danke für diesen Beitrag weiteren Mülls im Universum! Natürlich meine ich die ASCII Version von Euro. Was die Liste angeht keine unbedingt schlechte Idee, wenn ich nicht eine Kontonummer als Listenindex nehmen müsste und somit eine Liste, in der über eine Millionen ungenutzter Argumente drinstehen.
  14. Ne, ich mein das ist doch ne relativ einfache Funktionalität oder? Ich möchte ein Programm haben, dass ich starte, 2 Konten erstelle, dann Quasi die Funktionen der Konten-Klassen aufrufen kann und fertig. Ungefähr so im command (also nur nen Consolenprogramm): Uebungen.exe create -> Neue Kontonummer: (automatisch)1000001 Neue Pinnummer: 12345 (kryptisch, mach ich selber) Name des Besitzers: (Eingabe)Max Mustermann Startguthaben: (Eingabe)200€ (Ausgabe:) Konto wurde erstellt ... (Eingabe:) Zugriff -> Bitte geben Sie die Kontonummer ein: (Eingabe)1000001 Bitte geben Sie nun die Pinnummer ein: (Eingabe) 12345 Aktuelles Guthaben: 200€ 1. Abheben 2. Einzahlen 3. Überweisen 4. blabla So, auch wenn's jetzt ne relativ lange Beschreibung geworden ist ... Ich glaub ich habs während meiner Beschreibung schon fast selber verstanden. Vorschläge werden natürlich dankend angenommen. Achja, wie mache ich überhaupt das €-Zeichen (Euro) ? MfG !
  15. Hey Leute, ich grab jetzt einfach nochmal das Thema aus. Ist zwar etwas verändert, hat mit dem Topic aber noch was zu tun . Ich verstehe im Moment nicht ganz, wie ich's hinbekommen soll, mehrere Konten hinzubekommen. Wahrscheinlich weil's grad einfach früh am Morgen ist oder so. Ich will keine Datenbankverbindung oder sowas machen, sondern einfach nur sagen wir 3 Konten machen: "Max Mustermann", 1000001, 200€ "Julia Mustermann", 1000002, 250€ "Oma Mustermann", 1000003, 1000€ Wenn ich jetzt ne einfache Schleife mache, dann überschreibe ich ja jedes Mal mein schönes Konto ^^. Naja, einfache Lösungsansätze sind sehr willkommen, komme nämlich grad ausm Karneval ! *g*:bimei
  16. Danke, war mir schon klar, dass die Funktion so nicht fertig ist. Aber irgendwie muss man das Ganze erstmal zum Laufen bekommen, bevor man an sowas wie Sicherheit denkt. Hab den halben morgen mit Time und Date Funktionen rumprobiert ... trotzdem danke für deine schnelle Hilfe. Auch irgendwie komisch, dass ich die komplizierte Programmierung von CATIA ohne weiteres verstehe und bei so einfachen Themen wie Date/Time nen Rappel bekomme :-D :old /edit: ach ganz vergessen, kann ich eigentlich alle Date/Time-Sachen (also die tm_mday Befehle) zusammen in einen String konvertieren? komischerweise kann ich die ja direkt über cout ausgeben, aber nicht mit einfachem append an einen String hängen.
  17. Hallo Leute, versuche grade Krampfhaft einfach nur eine Funktion für meine Konto-Verwaltungs-Aufgabe zu erstellen. void Konto::setLastModify() { time_t Zeitstempel; tm * Timereturn = new tm; Zeitstempel = time(0); localtime_s(Timereturn ,&Zeitstempel); _lastmodify = Timereturn; } Wie man sehen kann, versuche ich dem Konto dann quasi den Zeitstempel der letzten Änderung aufzudrücken, indem ich meine Klassenvariable _lastmodify mit dem tm struct Timereturn überschreibe. An der Stelle bekomm ich nen Fehler raus: "binary '=' : no operator found which takes a right-hand operand of time 'tm *'" Wie kann ich den da einfach reinkopieren? Copyconstructor? Gibts da sowas? MfG
  18. Wegginho

    C++: Objektliste

    Klar, habt ihr beide auf jeden Fall recht mit. Da ich ursprünglich aus der VB-Programmierung komme, ist es für mich vielleicht auch einfach ungewohnt, hier Code von von Externen zu bekommen und den nur relativ schwer zu verstehen, weil die Variablen irgendwo im Programm definiert werden. Danke für eure Beiträge
  19. Hallo Deniz, überleg dir 2 mal, ob du das wirklich machen willst. Überleg dabei vielleicht auch, wie du dich fühlen würdest, wenn jemand so etwas mit dir machen würde. Du versuchst da Kontrolle über jemanden zu erlangen, der das vielleicht gar nicht möchte, ich würd's schon als Erpressung bezeichnen. :mod:
  20. Damit klappts, danke danke danke !!!
  21. Gehen wir einfach mal davon aus, dass ich eine einfache Eingabe habe: cout << "Geben Sie eine Zahl ein :"; cin >> Zahl; Gehen wir davon aus, der Benutzer gibt 2000 ein, möchte ich eine Zuweisung eines Integers vollziehen. Sollte der Benutzer aber z.B. 70000, dann lieber ein Double. Bei 7.5 einen float etc. /edit: Void-zeiger hab ich schonmal versucht, aber der hat bei mir immer Fehler ausgespuckt :-(
  22. Vielleicht solltest du nicht jedes Wort meines Textes auf die Goldwage legen und krampfhaft versuchen eine Lösung für ein Problem zu finden, auf das du, wie es scheint, keine Antwort hast.
  23. Naja, aus meiner Sicht ist das ganze schon sehr sinnvoll. Wenn es nötig ist, kann ich meine Situation zu späterer Stelle nochmal genauer definieren. An dieser Stelle soll erstmal genügen, dass ich eine Eingabe empfangen möchte und diese direkt an die passende Variable übergeben will. Das ganze mindert Speicherverschwendung, da ich Anwendungen nicht nur für "ultra"-Systeme schreibe, ist es meiner Meinung nach nötig, immer den geringsten Aufwand an Speicher und Variablen zu haben, wie möglich. Dynamische Speicherzuweisung existiert. Mir hat ein externer Mitarbeiter mal kurz was darüber erzählt, kurz bevor er zurück in die Schweiz gereist ist. Ich hatte keine Zeit ihn nach Codebeispielen zu fragen, war aber sehr fasziniert von der Idee... :beagolisc MfG
  24. Wegginho

    C++: Objektliste

    Wieso wird denn in jedem Buch angepriesen, diese selber zu erstellen? Ich find's immer wieder lustig. Klar, ich glaub dir, dass die das richtige tun, aber das ist ja so als wenn in nem Mathebuch steht "Das Zeichen musst du hinschreiben", muss man aber gar nicht. Ich befinde mich im Moment in der Ausbildung, deshalb möchte ich jetzt nicht das Wort gegen einen erfahrenen C++ Programmierer erheben... :uli ...aber der Code wird um ein Vielfaches einfacher, wenn man die Variablendeklaration in den Kopf packt. Wenn du nach einem Monat auf dein Programm guckst, denkst du dir "okay ... so war das ... ja genau so !". Aber wenn du mal 2 Jahre später von einem Kunden die Anfrage bekommst, da etwas zu erweitern, musst du dich erst wieder 2-3 Stunden einarbeiten, bevor du das verstehst, was du damals gemacht hast. Ich kann jedem nur den Tipp geben, auch wenn's mühsam ist, seinen Code immer zu dokumentieren und "nützliche" Funktionen immer auf nem USB-Stick mit sich rumzuschleppen. Ich fahre mit dieser Strategie seit 3 Jahren super ! :mod:
  25. Hallo Leute, bin relativ neu hier im Forum, deshalb erstmal ein wenig zu mir. Ich Programmiere CATIA V5 CAA C++, was den wenigsten Leuten ein Begriff ist, für ein mittelständisches Unternehmen im Raum NRW (derzeit noch in der Ausbildung). Ich beschäftige mich seit knapp knapp 3 Monaten mit dem Thema C++ und nun seit eineinhalb Monaten ca. mit dem Thema CAA ( Dassault Systemes:Product Lifecycle Management PLM and 3D Simulation Software Solutions ). Bin noch relativ grün hinter den Ohren, da ich aber schon relativ viel Vorwissen im Bereich Programmierung besitze. Kommen wir nun zu meiner Frage: Ist es möglich, dynamisch Variablentypen zu initialisieren? Gehen wir einfach mal davon aus, dass ich eine einfache Eingabe habe: cout << "Geben Sie eine Zahl ein :"; cin >> Zahl; Gehen wir davon aus, der Benutzer gibt 2000 ein, möchte ich eine Zuweisung eines Integers vollziehen. Sollte der Benutzer aber z.B. 70000, dann lieber ein Double. Bei 7.5 einen float etc. Gibt es da eine gute Methode für ? Hab schon relativ viel im Internet gesucht, was das Thema angeht, aber bisher wenig gefunden. Würde mich über Antworten freuen, mfg

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...