Ĺadny brzuch
jak w jawie zrobić żeby o ustalonej godzinie wysłał jakiś syg. lub coś wydrukował na port Lpt 1
Zapis i odczty do/z portów w javie jest realizowany tak samo jak zapis i odczyt do/z plików. Stosuje się więc takie same metody i obiekty.
Port LPT jest traktowany podobnie zreszta jak port COM jako plik i odwołac się do niego można za pomocą stringu "LPT1" (dla COM'a = COM1, COM2...itd).
Sposobów zapisu wiadomo jest kilka, m.in. strumieniowy, bitowy, znakowy ..... Proponuje strumieniowy bo najefektywniejszy, czyli z wykorzystaniem obiektu typu BufferedWriter (dla zapisu):
import java.io.*; class Zapis { public static void main(String [] args) /*throws IOException*/ { try { BufferedWriter out=new BufferedWriter(new FileWriter("LPT1")); //lpt //BufferedWriter out=new BufferedWriter(new FileWriter("prn")); //drukarka //BufferedWriter out=new BufferedWriter(new FileWriter("COM1")); //com out.write("Tekst do zapisu"); out.close(); } catch (IOException e) { System.out.println("MSG: "+e.getMessage()); } } }
Ponadto chcąc bezpośrednio odwołac się do drukarki (nie wiedząc tak na prawdę gdzie jest podpięta stosuje się jako parametr nazwe "prn". dla COM'a i LPT tak jak w przykładzie.
można jeszcze skorzystać z obiektu File którym daje się posprawdzac kilka atrybutów pliku (m.in. czy istnieje).
Mozliwy jest równiez inny rodzaj zapisu tzw. strumieniowy bitowy. do tego celu wykorzystuje sie obiekt FileOutputStream i jego metode write().
Odczyt analogicznie wykorzystuje nastepujace obiekty: BufferedReader i FileReader albo FileInputStream w zalezności od potrzeb.
Wszystkie te klasy sa zdefiniowane w pakiecie java.io
Oczywiscie z obsługa io możesz sobie dac spokój w przypadku apletu z wiadomych względów :cheesy: - tylko pełnoprawne aplikacji.
KoDo
GG:3857769
A chcac wykonac zapis o okreslonym czasie skorzystaj z obiektu Date znajdującego się w pakiecie java.util (import java.util.*) posiada on szereg konstruktorów m.in. domyslny zwracający bieżącą datę
Date()
...oraz taki w ktorym mozesz mu podac z góry okrslona date czas
Date(rok, miesiac, dzien, godzina, minuta, sekunda)
Teraz chcac wykonac jakas czynnosc o okreslonym czasie musisz stworzyc dwa obiekty jeden reprezentujacy dana date o ktorej ma zostac wykonana czynnosc (nazwijmy go "oczekiwany") a drugi musisz kazdorazowo inicjowac w jakiejs petelce (najlepiej niech w niej bedzie rowniez zadeklarowany) za pomoca domyslnego konstruktora aby zwracal biezaca date. wewnatrz tej petelki porownujesz te obiekty: kiedy "biezacy" stanie sie wiekszy od "oczekiwanego" (na rownowazność nie masz co liczyc z racji wystepowania sekund) to sygnal ze wlasnie uplynal termin i czynnosc mozna wykonac. No to m/w tak. teraz tylko sobie to przełóz na kod javy :cheesy:
KoDo
GG:3857769
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
Zapis i odczty do/z portów w javie jest realizowany tak samo jak zapis i odczyt do/z plików. Stosuje się więc takie same metody i obiekty.
Port LPT jest traktowany podobnie zreszta jak port COM jako plik i odwołac się do niego można za pomocą stringu "LPT1" (dla COM'a = COM1, COM2...itd).
Sposobów zapisu wiadomo jest kilka, m.in. strumieniowy, bitowy, znakowy ..... Proponuje strumieniowy bo najefektywniejszy, czyli z wykorzystaniem obiektu typu BufferedWriter (dla zapisu):
import java.io.*; class Zapis { public static void main(String [] args) /*throws IOException*/ { try { BufferedWriter out=new BufferedWriter(new FileWriter("LPT1")); //lpt //BufferedWriter out=new BufferedWriter(new FileWriter("prn")); //drukarka //BufferedWriter out=new BufferedWriter(new FileWriter("COM1")); //com out.write("Tekst do zapisu"); out.close(); } catch (IOException e) { System.out.println("MSG: "+e.getMessage()); } } }
Ponadto chcąc bezpośrednio odwołac się do drukarki (nie wiedząc tak na prawdę gdzie jest podpięta stosuje się jako parametr nazwe "prn". dla COM'a i LPT tak jak w przykładzie.
można jeszcze skorzystać z obiektu File którym daje się posprawdzac kilka atrybutów pliku (m.in. czy istnieje).
Mozliwy jest równiez inny rodzaj zapisu tzw. strumieniowy bitowy. do tego celu wykorzystuje sie obiekt FileOutputStream i jego metode write().
Odczyt analogicznie wykorzystuje nastepujace obiekty: BufferedReader i FileReader albo FileInputStream w zalezności od potrzeb.
Wszystkie te klasy sa zdefiniowane w pakiecie java.io
Oczywiscie z obsługa io możesz sobie dac spokój w przypadku apletu z wiadomych względów :cheesy: - tylko pełnoprawne aplikacji.
KoDo
GG:3857769
A chcac wykonac zapis o okreslonym czasie skorzystaj z obiektu Date znajdującego się w pakiecie java.util (import java.util.*) posiada on szereg konstruktorów m.in. domyslny zwracający bieżącą datę
Date()
...oraz taki w ktorym mozesz mu podac z góry okrslona date czas
Date(rok, miesiac, dzien, godzina, minuta, sekunda)
Teraz chcac wykonac jakas czynnosc o okreslonym czasie musisz stworzyc dwa obiekty jeden reprezentujacy dana date o ktorej ma zostac wykonana czynnosc (nazwijmy go "oczekiwany") a drugi musisz kazdorazowo inicjowac w jakiejs petelce (najlepiej niech w niej bedzie rowniez zadeklarowany) za pomoca domyslnego konstruktora aby zwracal biezaca date. wewnatrz tej petelki porownujesz te obiekty: kiedy "biezacy" stanie sie wiekszy od "oczekiwanego" (na rownowazność nie masz co liczyc z racji wystepowania sekund) to sygnal ze wlasnie uplynal termin i czynnosc mozna wykonac. No to m/w tak. teraz tylko sobie to przełóz na kod javy :cheesy:
KoDo
GG:3857769