Zum Inhalt springen

wikki

Mitglieder
  • Gesamte Inhalte

    46
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von wikki

  1. wikki

    Batch oder Java Problem?

    Auch wenn ich immernoch nicht weiß woran es genau lag...ich habe nun mit dem Advanced Installer meine Registryeinträge mitgegeben und es funktioniert einwand frei Case Closed!
  2. Hallo Mein Programm (das Virenscanner Tool da) ist nun fertig... ich habe mit InnoSetup die Jar, paar Dokuemente eingepackt... nun brauch mein Programm leider ne Datenbank und diese wird über Verwaltung -> Datenquellen hinzugefügt. Es handelt sich btw um eine .accdb Datenbank. Um dies zu erreichen hab ich bei mir den Registry Key aus der RegEdit geholt. Dann habe ich ne Batch geschrieben welche zuerst das Inno Setup setup aufruft, anschließend gibt man in die Batch einen Pfad an, dort wird dann die Datenbank abgelegt.. Außerdem wird der Pfad noch genutzt um damit den Pfad in der Registry zu setzen. Wenn ich das nun so ausführe läuft es tadellos. Wenn ich es aber auf einen Testrechner installiere, findet er die Datenbank nicht... Heut ist mein letzter Tag im Praktikum, und das ganze Programm steht und fällt mit eben dieser Datenbank...ich hoffe ihr könnt mir da helfen? Kann man nicht auch mit Inno Setup Reg einträge schreiben? Werde ich gleich mal googlen... Hier ist meine Batch-Datei: @ECHO OFF ::Set Up Batch für Virenscanner-Tools ECHO Diese BATCH installiert das Virenscanner Tool mit Datenbank Echo. ECHO BITTE druecken Sie eine Taste um die Programminstallation auszufuehren pause >1 start "SETUP" "batch_ausfuehren!" ECHO Nach Programminstallation bitte eine beliebige Taste bestaetigen pause >1 ECHO Nun folgt die Datenbank Implementierung . . . Echo. SET /P PFAD=Bitte Pfand fuer die Datenbank angeben: COPY virenscanner-tools.accdb "%PFAD%" Echo Die Datenbank wurde nach %PFAD% Kopiert! regedit /s virenscanner-tools.reg REG ADD "HKEY_CURRENT_USER\SOFTWARE\ODBC\ODBC.INI\virenscanner-tools" /v DBQ /d "%PFAD%\virenscanner-tools.accdb" /f ECHO. Echo. ECHO. Echo !Die Datenbank wurde erfolgreich eingerichtet! echo. echo Bitte beachten Sie folgendes: echo bevor Sie das Programm über die CMD aufrufen, legen Sie bitte echo im Hauptprogramm zuerst entsprechende IP Bereiche an! Echo Taste drucken zum Beenden pause >1 Vielen Dank im Vorraus! Edit: Hab natürlich die Reg Datei vergessen, sorry!: Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\virenscanner-tools] "Driver"="C:\\PROGRA~1\\GEMEIN~1\\MICROS~1\\OFFICE12\\ACEODBC.DLL" "DBQ"="" "Description"="IP-Bereichs Datenbank" "DriverId"=dword:00000019 "FIL"="MS Access;" "PWD"="123" "SafeTransactions"=dword:00000000 "UID"="admin" [HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\virenscanner-tools\Engines] [HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\virenscanner-tools\Jet] "ImplicitCommitSync"="" "MaxBufferSize"=dword:00000800 "PageTimeout"=dword:00000005 "Threads"=dword:00000003 "UserCommitSync"="Yes"
  3. Um die Weltherrschaft zu erlangen =D Nein Spaß, es ist einfach nur ein kleines Praktikums Projekt was einfach viele Bereiche abdeckt... hatte nun schon Swing, Datenbank abfragen, Netzwerkprogrammierung, JavaMail, ausgaben in Dateien... Ich lern im Moment echt unheimlich viel dazu und dank eurer Hilfe verschwinden auch offene Lücken schnell Sprich man kann ne CSV auch einfach mitm BufferedWriter schreiben, da muss ich ja nicht mal so viel abändern
  4. wikki

    Mails mit Java versenden?

    Was o.o? Also ob z.B. javax.swing, javamail usw. mit Fat Jar benutzt werden dürfen? ohjee
  5. Hehe, nicht streiten, alles gut Wie gesagt, funktioniert einwand frei! Eine Frage hätte ich dennoch noch...ist ein wenig was anderes aber es ist mir peinlich andauernd neue Threads zu eröffnen. Ich habe ein wenig gegoogelt und leider nichts wirklich brauchbares gefunden, aber da euer Fachwissen so enorm ist, hoffe ich das Ihr mal wieder etwas mehr wisst Allso das da oben ist ja schon perfekt. Aber ich musste aufgrund der Unübersichtlichkeit die Ausgabe ein wenig ändern, leider wurds nicht übersichtlicher <.<. Und zwar sollte es Quasi Tabellenartig ausgegeben, aber da die IP immer anders "lang" ist (ich will den hostnamen ausgeben), rutscht das ganze wild durcheinander... Daher ist nun meine Frage ob man entweder in ne CSV Datei schreiben kann oder ggf. sogar bei ner normalen Ausgabe das entsprechend...sortiert anordnen könnte? Ich danke wie immer viel viel mals im vorraus!
  6. wikki

    Mails mit Java versenden?

    Sehr cool, für mich würde da ein Bash-Script doch reichen... da müsst ich also nur die JavaMail jar Dateien mit ins Setup packen... Ich probiere jetzt mal fatjar aus, das hört sich noch komfortabler an... Vielen Dank! Edit: Einwandfrei, Fat Jar ist echt Gold wert Danke nochmals für den Tipp und die super Hilfe!
  7. wikki

    Mails mit Java versenden?

    Ja, also JavaMail ist echt ein Traum in der Bedienung, erste Tests liefen auf anhieb. @etreu Vielen Dank für deine Antwort, könnte mir jemand noch genauer erklären wie das mit den Classpaths funktioniert? Oder das mit dem Shellscript? Wäre echt GENIAL wenn ich mit JavaMail arbeiten könnte, da es optimal für mich ist...wenn ich das dann mit eurer Hilfe hinbekomme das auf anderen Rechnern gleich mit zu implementieren mach ichn Freudensprung Danke nochmal!
  8. Huhu Ich habe mal eine Frage. Gibt es möglichkeiten mit Java Mails zu versenden? Etwas standardmässiges wäre genial, da das Programm evt. auf anderen Rechnern laufen würde... ansonsten hab ich die Idee gehabt über die CMD "Blat" zu nutzen, oder JavaMail, wobei man da ja die Lib herunterladen muss ? Wie kann ich das dann auf anderen Rechner aufspielen oder passiert das automatisch wenn man ein Programm fertig stellt? Vielen Dank im Vorraus
  9. Das mit dem 2. Parameter hört sich echt gut an! Leider gehts immer noch nicht..auch nicht wenn ich bw übergebe...manno EDIT: Doch, es geht! Habe jetzt den Boolean und die übergabe genutzt, es geht =D=D=D 1000DANK leute! Seid echt ne Hilfe gewesen!!
  10. Hiho, danke für eure Antworten! Leider läufts bei mir immernoch nicht, aber ich habe da so anhaltspunkte...vielleicht könnnt ihr mir da helfen: Die Methode wird ja oft aufgerufen, es ist ja nicht nur eine IP die geprüft wird. Wenn ich daher den BufferedWriter und den FileWriter in der Methode erst anlege, wird er ja auch immer wieder neu aufgerufen, daher überschreibt der bestimmt das File immer wieder oder so... Nun wäre mein Frage wie ich das ändern kann? Ich kann ja nicht das bw an die Methode übergeben oder? Nochmals vielen Dank!
  11. Woa, immer wenn ich was mit direkt Antworten schreibe (und das war nich wenig eben-.-) isses nachm Absenden weg....anyway: Also ich poste euch mal die Methode, port und inetaddress wird übergeben alles weitere seht ihr hier: //Variablen, 2 Windowsports, 4 Schalter für If-Bestimmungen int winport1 = 135; int winport2= 445; boolean check = false; boolean check2 = false; boolean check3 = false; boolean check4 = false; String hostname = ia.getHostName(); // Der BuffedWriter und FileWriter BufferedWriter bw = null; FileWriter fw = new FileWriter("Portprüfung_ausgabe.txt"); bw = new BufferedWriter(fw); //Erste Zeile im Dokument bw.append("<----------------- Ausgabe des Virenscanner Portprüfers! ----------------->"); bw.newLine(); //Wenn erreichbar, setze Check auf Wahr, ansonsten nächste IP anpingen try { if (ia.isReachable(1000)){ check = true; System.out.println("IP Erreichbar"); } else { System.out.println("IP ist nicht erreichbar!"); check =false;} } catch (IOException e) { e.printStackTrace(); } //Wenn Check wahr ist, schaue nach ob die IP mit dem übergebenen Port erreichbar ist if (check == true){ try { Socket s = new Socket(ia,port); System.out.println("Gegenstelle hat Port Nummer: " + port+ ". IP Adresse: " + hostname); bw.write("IP Adresse: "+ia+" hat den gesuchten Port: " + port); bw.newLine(); s.close();} catch (IOException e2) { check2 =true;} } //Wenn nicht, schaue ob die die 2 Windowsports da sind if (check2 == true){ try { Socket s = new Socket(ia,winport1); System.out.println("Gegenstelle hat Port Nummer: " + winport1+ ". IP Adresse: " + hostname); bw.append("IP Adresse: "+ia+" ist anpingbar, läuft jedoch auf den Windowsport: " + winport1 ); s.close();} catch (IOException e2) { check3 =true;} } if ( check3 == true){ try { System.out.println("Gegenstelle hat Port Nummer: " + winport2+ ". IP Adresse: " + hostname); Socket s = new Socket(ia,winport2); bw.append("IP Adresse: "+ia+" ist anpingbar, läuft jedoch auf den Windowsport: " + winport2); s.close();} catch (IOException e2) { check4 =true;} } //Wenn auch nicht, dann gib einfach aus das keiner der fälle oben eingetroffen ist if (check4 == true){ { try { bw.append("IP Adresse: "+ia+" ist anpingbar, läuft jedoch weder auf den Windowsports: " + winport1 + "+" +winport2+ " Noch auf den gesuchten Port: " + port+" >>>ER IST DAHER UNSICHER!<<<"); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } bw.close(); } Das Programm pingt eine IP an, schaut ob sie da ist, wenn ja ob der Port da ist, wenn nein ob 2 winports da sind, wenn nein einfach ausgeben das nichts von oben funktioniert hat. Ich will nochmal BETONEN & BITTEN nicht über den Code an sich zu diskutieren. ich weiß das er weder schön, noch evt. elegant, noch die Problemstellung optimal löst, noch(...). Ich möchte einfach nur das ganze in die Datei schreiben Nochmals 1000 Dank!
  12. Danke schonmal Also vorab, ich möchte KEINE Diskussion wie sinnvoll oder richtig oder sonstiges mein Programm ist! Also: BufferedWriter bw = null; FileWriter fw = new FileWriter("Portprüfung_ausgabe.txt"); bw = new BufferedWriter(fw); bw.append("<----------------- Ausgabe des Virenscanner Portprüfers! ----------------->"); bw.newLine(); bw.flush(); try { if (ia.isReachable(1000)){ check = true; System.out.println("IP Erreichbar"); } else { System.out.println("IP ist nicht erreichbar!"); check =false;} } catch (IOException e) { e.printStackTrace(); } if (check == true){ try { Socket s = new Socket(ia,port); System.out.println("Gegenstelle hat Port Nummer: " + port+ ". IP Adresse: " + hostname); bw.write("IP Adresse: "+ia+" hat den gesuchten Port: " + port); bw.newLine(); bw.flush(); s.close();} catch (IOException e2) { check2 =true;} } if (check2 == true){ try { Socket s = new Socket(ia,winport1); System.out.println("Gegenstelle hat Port Nummer: " + winport1+ ". IP Adresse: " + hostname); bw.append("IP Adresse: "+ia+" ist anpingbar, läuft jedoch auf den Windowsport: " + winport1 ); bw.flush(); s.close();} catch (IOException e2) { check3 =true;} } if ( check3 == true){ try { System.out.println("Gegenstelle hat Port Nummer: " + winport2+ ". IP Adresse: " + hostname); Socket s = new Socket(ia,winport2); bw.append("IP Adresse: "+ia+" ist anpingbar, läuft jedoch auf den Windowsport: " + winport2); bw.flush(); bw.close(); s.close();} catch (IOException e2) { check4 =true;} } if (check4 == true){ { try { bw.append("IP Adresse: "+ia+" ist anpingbar, läuft jedoch weder auf den Windowsports: " + winport1 + "+" +winport2+ " Noch auf den gesuchten Port: " + port+" >>>ER IST DAHER UNSICHER!<<<"); bw.flush(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } } } 10000 Dank im Vorraus
  13. Hallo Ich möchte gern in eine txt Datei schreiben: BufferedWriter bw = null; bw = new BufferedWriter(new FileWriter("bla")); Dann mache ich: bw.append("<----------------- Ausgabe ----------------->"); bw.newLine(); Das klappt soweit wunderbar! Nun habe ich verschiedene Fälle welche in try - catch Blöcken stehen, also z.b. wenn a = a gib "blabla" aus usw. Leider geht das aber nicht. Er zeigt mir zwar oben die Ausgabe an, aber dann hört er auf... Habt Ihr Ideen woran das liegen könnte? Ich würd euch auch meinen Code zeigen, aber der Sorgt sicher nur wieder für Aufregung, die will ich nicht herrauf beschwören ;D Danke im Vorraus! Edit: Ich habe übrigens alles wie oben also bw.append("") geschrieben, und dannach ein bw.flush() ..
  14. Da hast du natürlich recht. jedoch tu ich momentan nix anderes als Tutorials zu durchforsten...mir fehlt total die PRaxis in diesem Thema, weshalb ich eben auch über eure Hilfe dankbar bin... Die Anweisungen da oben sind schon recht komplex und ich habe keine Ahnung wieso getByName nicht funktionieren sollte?..
  15. ... danke... Nun kennt er nur noch nicht .getByName
  16. Hey, danke dir, sieht schon richtig gut aus. Er sagt mir nur das List<Integer> ports = new ArrayList<Integer>(); List<String> ips = new ArrayList<String>() Was bedeutet das wieder? <.<
  17. Mal wieder ein DICKES Dankeschön an euch. Jetzt erschlage ich euch mal mit meinen Swing Code, da ich absolut keine Idee habe wie ich oberes da einsetzen soll? Der Code is am Ende des Posts... ich will vorher nochmal kurz erklären was passieren muss... Hier mal ein Bild von der Oberfläche: Drückt man den Button "Port Auswahl", so kann man den Standard deffinierten Port anwählen und neue Hinzufügen. Das geht schonmal - check ;D Drückt man den Button IP Liste öffnen, so kann man die IP Liste einbinden... das öffnen klappt schonmal... - check Drückt man nun auf Überprüfen...wirds abartig kompliziert.... Er soll nun die Auswahl aus beiden vorherigen Gebieten einholen, dann die IP´s überprüfen ob sie anpingbar sind ...dann das ganze wie da oben schon steht, aber erstmal würde mir reichen ihn einfach mal checken zu lassen ob die IP´s anpingbar sind.... Könnt Ihr mir da wieder helfen? :confused: Hier nun der Programmcode: import java.awt.Adjustable; import java.awt.BorderLayout; import java.awt.GridLayout; import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; import javax.swing.*; public class gui extends JFrame { //Alle Buttons private JButton ports = new JButton ("Port Auswahl"); private JButton ipListe = new JButton ("IP Daten öffnen.."); private JButton pruefen = new JButton ("Überprüfen"); //JMenu private JMenuBar menubar = new JMenuBar(); private JMenu datei = new JMenu("Datei"); private JMenuItem exit = new JMenuItem("Beenden"); private JMenuItem reset = new JMenuItem("Reset"); //Textfelder private JTextArea ausgabe = new JTextArea("Ausgabe \n ------------------------", 20,60); private JTextField tf = new JTextField(20); //Auswahlboxen DefaultListModel listModel = new DefaultListModel(); private JList auswahlports = new JList(listModel); //JFrame für die auswahl der Ports private JFrame portframe = new JFrame(); //JPanels private JPanel anleitung = new JPanel (); private JPanel auswertung = new JPanel(); private JPanel schaltfläche = new JPanel(); private JPanel anleitungport = new JPanel(); private JPanel portunten = new JPanel(); //JLabels private JLabel anleitung1 = new JLabel("How-To"); private JLabel erstens = new JLabel("1. Zuerst über den Button 'Port Auswahl' die Entsprechenden Ports wählen"); private JLabel zweitens = new JLabel("2. Anschließend die IP Bereichs-Liste laden"); private JLabel drittens = new JLabel("3. Überprüfen Klicken und es geht los!"); private JLabel portanlegen = new JLabel ("Bitte einen Port auswählen!"); private JLabel portanlegentf = new JLabel ("Neuer Eintrag: "); //öffnet eine Datei public void load() { JFileChooser fc = new JFileChooser(); int returnVal = fc.showOpenDialog(ipListe); if (returnVal == JFileChooser.APPROVE_OPTION) { File file = fc.getSelectedFile(); } } public gui () { //Frame einstellungen setDefaultCloseOperation(EXIT_ON_CLOSE); setSize(800,500); setResizable(false); setLocationRelativeTo(null); setLayout(new BorderLayout()); //Menü datei.add(reset); datei.add(exit); menubar.add(datei); setJMenuBar(menubar); //Anleitung auf JPanel platzieren und dies wiederum auf den JFrame setzen anleitung.setBorder(BorderFactory.createEtchedBorder()); anleitung.setSize(800,200); anleitung.setLayout(new GridLayout (4,2)); anleitung.add(anleitung1); anleitung.add(erstens); anleitung.add(zweitens); anleitung.add(drittens); add(anleitung, BorderLayout.PAGE_START); //Buttons auf Schaltfläche anordnen schaltfläche.setBorder(BorderFactory.createEtchedBorder()); schaltfläche.setSize(800,200); schaltfläche.setLayout(new GridLayout (1,2)); schaltfläche.add(ports); schaltfläche.add(ipListe); schaltfläche.add(pruefen); add(schaltfläche, BorderLayout.CENTER); //Auswertung auswertung.setBorder(BorderFactory.createEtchedBorder()); auswertung.setSize(800,200); auswertung.setLayout(new GridLayout (0,1)); ausgabe.setEditable(true); auswertung.add(ausgabe); add(auswertung, BorderLayout.PAGE_END); //Vorbereitung ComboBox auswahlports.setFixedCellHeight(27); auswahlports.setFixedCellWidth(150); listModel.addElement("47711"); tf.addActionListener( new ActionListener() { public void actionPerformed( ActionEvent e ) { String text = ((JTextField)e.getSource()).getText(); listModel.addElement( text ); ((JTextField)e.getSource()).setText( "" ); } } ); //JFrame für die Auswahl der ports portframe.setDefaultCloseOperation(DISPOSE_ON_CLOSE); portframe.setSize(700,200); portframe.setLocationRelativeTo(anleitungport); portframe.setLayout(new BorderLayout()); //Anleitung IM neuem Fenster anleitungport.setBorder(BorderFactory.createEtchedBorder()); anleitungport.setLayout(new GridLayout (1,1)); anleitungport.add(portanlegen); portframe.add(anleitungport, BorderLayout.PAGE_START); portframe.add(auswahlports, BorderLayout.CENTER); portunten.setBorder(BorderFactory.createEtchedBorder()); portunten.add(portanlegentf); portunten.add(tf); portframe.add(portunten, BorderLayout.PAGE_END); //Port Button ruft portframe auf ports.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { portframe.setVisible(true); } }); //Üperprüfen Button... pruefen.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { } }); //Exit Button .. exit.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { System.exit(0); } }); //Reset reset.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { ausgabe.setText("Ausgabe \n ------------------------"); } }); //IP Liste ipListe.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { load(); } }); setVisible(true); } public static void main(String[] args) { new gui(); } }
  18. Juhu würde mich riesig über deine Beispiele freuen! Zu den Exceptions, ich dachte halt das man damit die Meldungen vom Pingtest irgendwie auslesen kann und dann sagen kann "okay ip ist erreichbar, geb ich mal so zurück" ... aber da war ich mal wieder aufm holz weg-.-
  19. Heyho! Funktioniert schonmal ganz gut: ProcessBuilder prozess = new ProcessBuilder(new String[] {"ping", array.get(i) }); // TODO ProcessBuilder starten und InputStream anzapfen Process process = prozess.start(); BufferedReader bufferedReader = new BufferedReader( new InputStreamReader(process.getInputStream())); String line1; try { while ((line1 = bufferedReader.readLine()) != null) { System.out.println(line1); } } catch (IOException e) { e.printStackTrace(); } bufferedReader.close(); System.out.println( array.get( i ) ); nun Pingt er es einwandfrei an. Nun versteh ich nur net wie ich die Exceptions richtig abfange? Eigentlich besteht da folgende Aufgabe dahinter; Das Programm pingt eine Liste mit IP Adresse der Reihe nach an. Ist die IP Adresse NICHT erreichbar -> ignorieren und nächste IP anfragen --------------------------------------------------------------------------- Ist IP erreichbar -> schauen ob Port 47711 Wenn nicht -> Port == 135 oder 445? wenn ja -> als Windows makieren & ausgeben(später in Swing) wenn nicht -> angeben (ip + port) --------------------------------------------------------------------------- Ist Port 47711 -> information vergessen --------------------------------------------------------------------------- möglichkeit IP Adressen für die Zukunft zu verbergen / ignorieren Ich zermürbe mir echt schon ein paar Tage den Kopf.... Ich hoffe ihr könnt mir mal wieder helfen Danke!
  20. hehe, jap, habe ich auch gemerkt Was würdest du den machen ? Also wie fängt man Keine ServerAntworten auf? grüße
  21. perfekt! Tausend Dank, funktioniert einwandfrei Ich mach mich nun die Tage an die nächste Baustelle und werd wohl sicherlich wieder eure Hilfe benötigen... Danke nochmals!
  22. Danke! Leider spuckt Eclipse das aus:
  23. Hmm, ich bekomms doch net hin....wie ruf ich die Liste den auf? ProcessBuilder prozess = new ProcessBuilder(new String[] {"ping", list.get(array(i)) }); So geht das iwie nicht <.< Danke nochmals
  24. o.O Ganz ruhig, das hatt nämlich auch keiner von deinem gesagt^^ Ehrlich gesagt habe ich deinen Post noch nicht gesehen zu dem Zeitpunkt!
  25. Danke nochmals! Hier mal aktuell mein einlesen Code...der sollte wesentlich besser zu verarbeiten sein. public static void main(String [] args){ String line; ArrayList<String> array = new ArrayList<String>(); try{ FileReader test = new FileReader("/ip.txt"); //öffnet meine ip.txt Datei BufferedReader in = new BufferedReader(test); //benutzt den BufferedReader um jede Zeile Einzeln aus zu werten for(int i = 0;(line = in.readLine())!=null; i++){ //bügelt also mit einer Schleife drüber array.add(line); //welche solange läuft bis das ende meiner Datei erreicht ist } //die Ergebnisse werden in array.add(line) gespeichert } catch(IOException e){ System.out.println("Pfadangabe Falsch?!"); //falls der Datei-Pfad falsch ist wird hier eine Fehlermeldung ausgegeben } for(int i=0; i < array.size(); i++) //schleife um zu testen ob der Inhalt angekommen ist System.out.println( array.get( i ) ); Nun muss ich nur noch das mit den Pingen hinbekommen... aber ich glaub das bekomm ich hin...meld mich bald wieder

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...