Zum Inhalt springen

wikki

Mitglieder
  • Gesamte Inhalte

    46
  • Benutzer seit

  • Letzter Besuch

Beiträge von wikki

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

  2. 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 :)

  3. 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! :)

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

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

  6. 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 :)

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

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

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

  10. 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 :)

  11. 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() ..

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

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

    post-59145-14430449018301_thumb.jpg

    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();
    
    
    	}
    
    
    }
    
    

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

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

  16. Du weißt aber hoffentlich, dass du zwar damit das Ping Kommando aufrufst, aber noch nicht auswertest ob der Ping nun erfolgreich durchgeführt wurde, oder nicht? ;)

    hehe, jap, habe ich auch gemerkt :)

    Was würdest du den machen ? Also wie fängt man Keine ServerAntworten auf?

    grüße

  17. also, dein Code sieht ja folgendermaßen aus:

    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
    
        			[COLOR="seagreen"]// Deinen Code hier einsetzen und die Variable 'list' durch 'array' ersetzen[/COLOR]
    
        			ProcessBuilder prozess = new ProcessBuilder(new String[] {"ping", [COLOR="red"]array[/COLOR].get(i) });
    
        			[COLOR="seagreen"]// TODO ProcessBuilder starten und InputStream anzapfen[/COLOR]
    
        			System.out.println( array.get( i ) );
    
        		}

    Du kannst ja schließlich nicht auf die Variable 'list' zugreifen, wenn es die gar nicht gibt. Die musst du schon durch die Variable ersetzen, wie du deine List benannt hast.

    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!

  18. 3. ProcessBuilder aufrufen mit "ping " + list.get(xy)

    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

  19. ich sagte nie euer vorschlag is falsch oder *******e oder sonst was ich hab ihm nur was andres vorgeschlagen.

    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!

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