هذا البرنامج لوضع كلمة سر لبرنامج معين بحيث يتم ادخالها من المستخدم مع انني اكره مثل هذه الامور وهي وضع اكواد جاهزة ولكنني لا ارى تفاعل موجود. لعل وعسى ان تحدث هذه الاكواد شئا ما طبعا بامكان المطور وضع Command Ok ثم القيام بعمل ما
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class Save_Profile extends MIDlet {
private Profile mProfile;
private Form mForm;
private TextField mUserField, mPasswordField, mNameField;
public void startApp() {
// Try to load the user and password from a recordstore.
mProfile = Profile.getInstance();
if (mForm == null) {
mForm = new Form("Login");
mUserField = new TextField("UserID",
mProfile.getUser(), 8, 0);
mPasswordField = new TextField("Password",
mProfile.getPassword(), 8, 0);
mNameField = new TextField("Name",
mProfile.getName(), 15, 0);
mForm.append(mUserField);
mForm.append(mPasswordField);
mForm.append(mNameField);
mForm.addCommand(new Command("Exit", Command.EXIT, 0));
mForm.setCommandListener(new CommandListener() {
public void commandAction(Command c, Displayable s) {
if (c.getCommandType() == Command.EXIT) {
destroyApp(true);
notifyDestroyed();
}
}
});
}
Display.getDisplay(this).setCurrent(mForm);
}
public void pauseApp() {}
public void destroyApp(boolean unconditional) {
// Save the user name and password.
mProfile.setUser(mUserField.getString());
mProfile.setPassword(mPasswordField.getString());
mProfile.setName(mNameField.getString());
mProfile.store();
}
}
+++++++++++++++++++++++++++++++++++++++++++++++++
import javax.microedition.rms.*;
public class Profile {
private static Profile sInstance;
public static Profile getInstance() {
if (sInstance == null)
sInstance = new Profile("", "","");
RecordStore rs = null;
try {
rs = RecordStore.openRecordStore("Profile", true);
}
catch (RecordStoreException rse) {
return null;
}
String user, password, name;
user = password = name = "";
try {
byte[] b_user = rs.getRecord(1);
byte[] b_password = rs.getRecord(2);
byte[] b_name = rs.getRecord(3);
user = new String(b_user);
password = new String(b_password);
name = new String(b_name);
}
catch (RecordStoreException rse) {}
catch (NullPointerException npe) {}
try { rs.closeRecordStore(); }
catch (RecordStoreException rse) {}
sInstance.setUser(user);
sInstance.setPassword(password);
sInstance.setName(name);
return sInstance;
}
private String mUser, mPassword, mName;
private Profile(String user, String password, String name) {
setUser(user);
setPassword(password);
setName (name);
}
public String getUser() { return mUser; }
public String getPassword() { return mPassword; }
public String getName() { return mName; }
public void setUser(String user) { mUser = user; }
public void setPassword(String password) { mPassword = password; }
public void setName(String name) { mName = name; }
public void store() {
RecordStore rs = null;
try {
rs = RecordStore.openRecordStore("Profile", false);
}
catch (RecordStoreException rse) { return; }
try {
byte[] b_user = mUser.getBytes();
byte[] b_password = mPassword.getBytes();
byte[] b_name = mName.getBytes();
int n = rs.getNumRecords();
if (n == 0) {
rs.addRecord(b_user, 0, b_user.length);
rs.addRecord(b_password, 0, b_password.length);
rs.addRecord(b_name, 0, b_name.length);
}
else {
rs.setRecord(1, b_user, 0, b_user.length);
rs.setRecord(2, b_password, 0, b_password.length);
rs.setRecord(3, b_name, 0, b_name.length);
}
}
catch (RecordStoreException rse) {}
try { rs.closeRecordStore(); }
catch (RecordStoreException rse) {}
}
}