hogat_sh
دوشنبه 17 فروردین 1388, 16:30 عصر
سلام من کلا فهم سيستم ورودي خروجي جاوا برام سخته زيادم مطلب خوندم اما هنوز برام جا نيفتاده من البته استفاده کردم مثلا يه برنامه داشتم که کاربر بايد رشته اي رو وارد ميکرد برنامه بعد از تشخيص صحت ورودي روش یه سری کار انجام ميداد تو اون از بافرريدر استفاده کردم يا برا يه برنامه ساده وروديي رو از فايل خوندم
اما هنوز ...
دوم اينکه در مورد جستجو يا مقايسه متن فارسي نکته اي وجود نداره؟ کلا اگه بتونيد اين مثال رو بديد فک کنم به يه جايي برسم يعني من چيزي رو که خودم نوشتم رو ميدم شما تکميلش کنيد تو برنامه ي من کاربر در يوزرنيم و فيلد پسورد مقاديري رو وارد ميکنه اين محتويات با مقادير داخل فايلهاي passText.txt , usrText.txt
مقايسه ميشه اگه درست بود پنجرهاي با عنوان ok وگرنه با عنوان no باز ميشه البته شما فايلها رو در همون شاخه خودتون ايجاد کنيد و در هر کدومش يه کلمه وارد
کنيد.تا اجرای برنامه رو ببینید من چون نميدونستم چطور ميشه کلاس با مثلا دو متغيير استرينگ يا آرايه با دو عضو رو چطور ميشه روي فايل ذخيره کرد و از اون خوند مجبور شدم از دو فايل و اون هم فقط به منظور خوندن استفاده کنم حالا شما همين برنامه رو اگه ميشه تکميل کنيد يه تابع براي ذخيره يوزر و پسورد به صورت اعضاي آرايه يا کلاس روي فايل و ديگر اينکه برنامه آرايه يا کلاس رو فايل را بخواند و با فيلدهايي که کاربر پر ميکند مقايسه و در صورت درست بودن و يا اشتباه پيغام مناسب ارايه بشه دوم نکته اگه بشه اين برنامه طوري باشه که بشه از کلمات فارسي هم براي ذخيره يوزر و پسورد استفاده بشه تقريبا تمام سوالم حل شده در پايان بايد بگم اين برنامه ي فرضی رو فقط براي يادگيري گرافيک و ورودي خروجي در جاوا برا خودم در نظر گرفته بودم و اميدوارم که با تکميلش نمونه اي برا ساير تازه کاران باشه
import java.io.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class My2PasswordGUI extends JFrame {
File fp = new File("passText.txt");
FileInputStream fosp = new FileInputStream(fp);
File fu = new File("usrText.txt");
FileInputStream fosu = new FileInputStream(fu);
JLabel l1 = new JLabel("Enter Your Username");
JLabel l2 = new JLabel("Enter Your Password");
JLabel l3 = new JLabel("");
JButton b1 = new JButton(" ok ");
JButton b2 = new JButton(" cancel ");
JTextField t1 = new JTextField("");
JPasswordField t2 = new JPasswordField("");
public static void main(String args[])throws IOException{
new My2PasswordGUI().show();
}
My2PasswordGUI()throws IOException {
setTitle("Password Validation");
Dimension screenSize;
screenSize = Toolkit.getDefaultToolkit().getScreenSize();
setSize(screenSize.width/3,screenSize.height/3);
setBounds((int) (0.5 * (screenSize.width - getWidth())),
(int) (0.5 * (screenSize.height - getHeight())),
getWidth(), getHeight()
);
setResizable(false);
getContentPane().setLayout(new GridBagLayout());
GridBagConstraints gbc = new GridBagConstraints();
gbc.gridy=0;
gbc.gridx=0;
gbc.insets = new Insets(10, 10, 10, 10);
getContentPane().add(l1,gbc);
gbc.gridy=0;
gbc.gridx=1;
t1.setColumns(10);
gbc.insets = new Insets(10, 10, 10, 10);
getContentPane().add(t1,gbc);
gbc.gridy=1;
gbc.gridx=0;
gbc.insets = new Insets(10, 10, 10, 10);
getContentPane().add(l2,gbc);
gbc.gridy=1;
gbc.gridx=1;
t2.setColumns(10);
gbc.insets = new Insets(10, 10, 10, 10);
getContentPane().add(t2,gbc);
gbc.gridy=2;
gbc.gridx=0;
gbc.insets = new Insets(10, 10, 10, 10);
getContentPane().add(l3,gbc);
gbc.gridy=3;
gbc.gridx=0;
gbc.insets = new Insets(10, 10, 10, 10);
getContentPane().add(b1,gbc);
b1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
{okButtonEvent(e);}
}
}
);
gbc.gridy=3;
gbc.gridx=1;
gbc.insets = new Insets(10, 10, 10, 10);
getContentPane().add(b2,gbc);
b2.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
cancelButtonEvent(e);
}
}
);
pack();
}
public void okButtonEvent(ActionEvent e) {
String su,sp;
char c,d;
char[] a = new char[3];
int l,b,i=0,j=0;
boolean bu=false,bp=false;
su = t1.getText();
l = su.length();
//-----------------------------------------------
for(b=0;b<l;b++){
try {
c = (char) fosu.read();
if(su.charAt(b) == c){
a[b]=c;
i++;
if(i==2){
bu=true;
}
}
else{
break ;
}
}
catch(IOException z){
}
}
//---------------------------------
sp = t2.getText();
l = sp.length();
for(b=0;b<l;b++){
try {
c = (char) fosp.read();
if(sp.charAt(b) == c){
a[b]=c;
j++;
if(j==2){
bp=true;
}
}
else{
break ;
}
}
catch(IOException z){
}
}
//-----------------------------------------------
if(bp&&bu){
JFrame jf = new JFrame("ok");
this.setVisible(false);
jf.setSize(400,400);
jf.show();
}
else{
JFrame jf = new JFrame("error");
this.setVisible(false);
jf.setSize(400,400);
jf.show();
}
}
public void cancelButtonEvent(ActionEvent e){
System.exit(0);
}
}
ممنون
اما هنوز ...
دوم اينکه در مورد جستجو يا مقايسه متن فارسي نکته اي وجود نداره؟ کلا اگه بتونيد اين مثال رو بديد فک کنم به يه جايي برسم يعني من چيزي رو که خودم نوشتم رو ميدم شما تکميلش کنيد تو برنامه ي من کاربر در يوزرنيم و فيلد پسورد مقاديري رو وارد ميکنه اين محتويات با مقادير داخل فايلهاي passText.txt , usrText.txt
مقايسه ميشه اگه درست بود پنجرهاي با عنوان ok وگرنه با عنوان no باز ميشه البته شما فايلها رو در همون شاخه خودتون ايجاد کنيد و در هر کدومش يه کلمه وارد
کنيد.تا اجرای برنامه رو ببینید من چون نميدونستم چطور ميشه کلاس با مثلا دو متغيير استرينگ يا آرايه با دو عضو رو چطور ميشه روي فايل ذخيره کرد و از اون خوند مجبور شدم از دو فايل و اون هم فقط به منظور خوندن استفاده کنم حالا شما همين برنامه رو اگه ميشه تکميل کنيد يه تابع براي ذخيره يوزر و پسورد به صورت اعضاي آرايه يا کلاس روي فايل و ديگر اينکه برنامه آرايه يا کلاس رو فايل را بخواند و با فيلدهايي که کاربر پر ميکند مقايسه و در صورت درست بودن و يا اشتباه پيغام مناسب ارايه بشه دوم نکته اگه بشه اين برنامه طوري باشه که بشه از کلمات فارسي هم براي ذخيره يوزر و پسورد استفاده بشه تقريبا تمام سوالم حل شده در پايان بايد بگم اين برنامه ي فرضی رو فقط براي يادگيري گرافيک و ورودي خروجي در جاوا برا خودم در نظر گرفته بودم و اميدوارم که با تکميلش نمونه اي برا ساير تازه کاران باشه
import java.io.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class My2PasswordGUI extends JFrame {
File fp = new File("passText.txt");
FileInputStream fosp = new FileInputStream(fp);
File fu = new File("usrText.txt");
FileInputStream fosu = new FileInputStream(fu);
JLabel l1 = new JLabel("Enter Your Username");
JLabel l2 = new JLabel("Enter Your Password");
JLabel l3 = new JLabel("");
JButton b1 = new JButton(" ok ");
JButton b2 = new JButton(" cancel ");
JTextField t1 = new JTextField("");
JPasswordField t2 = new JPasswordField("");
public static void main(String args[])throws IOException{
new My2PasswordGUI().show();
}
My2PasswordGUI()throws IOException {
setTitle("Password Validation");
Dimension screenSize;
screenSize = Toolkit.getDefaultToolkit().getScreenSize();
setSize(screenSize.width/3,screenSize.height/3);
setBounds((int) (0.5 * (screenSize.width - getWidth())),
(int) (0.5 * (screenSize.height - getHeight())),
getWidth(), getHeight()
);
setResizable(false);
getContentPane().setLayout(new GridBagLayout());
GridBagConstraints gbc = new GridBagConstraints();
gbc.gridy=0;
gbc.gridx=0;
gbc.insets = new Insets(10, 10, 10, 10);
getContentPane().add(l1,gbc);
gbc.gridy=0;
gbc.gridx=1;
t1.setColumns(10);
gbc.insets = new Insets(10, 10, 10, 10);
getContentPane().add(t1,gbc);
gbc.gridy=1;
gbc.gridx=0;
gbc.insets = new Insets(10, 10, 10, 10);
getContentPane().add(l2,gbc);
gbc.gridy=1;
gbc.gridx=1;
t2.setColumns(10);
gbc.insets = new Insets(10, 10, 10, 10);
getContentPane().add(t2,gbc);
gbc.gridy=2;
gbc.gridx=0;
gbc.insets = new Insets(10, 10, 10, 10);
getContentPane().add(l3,gbc);
gbc.gridy=3;
gbc.gridx=0;
gbc.insets = new Insets(10, 10, 10, 10);
getContentPane().add(b1,gbc);
b1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
{okButtonEvent(e);}
}
}
);
gbc.gridy=3;
gbc.gridx=1;
gbc.insets = new Insets(10, 10, 10, 10);
getContentPane().add(b2,gbc);
b2.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
cancelButtonEvent(e);
}
}
);
pack();
}
public void okButtonEvent(ActionEvent e) {
String su,sp;
char c,d;
char[] a = new char[3];
int l,b,i=0,j=0;
boolean bu=false,bp=false;
su = t1.getText();
l = su.length();
//-----------------------------------------------
for(b=0;b<l;b++){
try {
c = (char) fosu.read();
if(su.charAt(b) == c){
a[b]=c;
i++;
if(i==2){
bu=true;
}
}
else{
break ;
}
}
catch(IOException z){
}
}
//---------------------------------
sp = t2.getText();
l = sp.length();
for(b=0;b<l;b++){
try {
c = (char) fosp.read();
if(sp.charAt(b) == c){
a[b]=c;
j++;
if(j==2){
bp=true;
}
}
else{
break ;
}
}
catch(IOException z){
}
}
//-----------------------------------------------
if(bp&&bu){
JFrame jf = new JFrame("ok");
this.setVisible(false);
jf.setSize(400,400);
jf.show();
}
else{
JFrame jf = new JFrame("error");
this.setVisible(false);
jf.setSize(400,400);
jf.show();
}
}
public void cancelButtonEvent(ActionEvent e){
System.exit(0);
}
}
ممنون