دوست عزیز باز دوباره به یک مشکل برخوردم خواندن از فایلم را درست انجام می ده و در RMS ذخیره می کنه وقتی که تعداد رکوردها را می کیرم تعداد را درست بهم بر می گرداند پس مطمئنا تا این قسمت درست کار می کنه اما برای سرچ در RMS هیچی بهم بر نمی گرداند تکه کدی که برای سرچ نوشتم اینه (البته اگه این کد را جدا اجرا کنم درست جواب می ده ولی وقتی تو برنامه ام می ذارمش چیزی برنمی گرداند )
public class Search {
Display display;
private RecordStore recordstore = null;
private RecordEnumeration recordEnumeration = null;
private Filter filter = null;
TextBox text_print;
public Search(String name_daro) {
int num;
try
{
recordstore = RecordStore.openRecordStore("myRecordStore", false);
num=recordstore.getNumRecords();
}
catch (Exception error)
{
Alert alert = new Alert("Error Creating",error.toString(), null, AlertType.WARNING);
alert.setTimeout(Alert.FOREVER);
display.setCurrent(alert);
}
try
{
String inputString;
byte[] byteInputData = new byte[300];
ByteArrayInputStream inputStream = new ByteArrayInputStream(byteInputData);
DataInputStream inputDataStream = new DataInputStream(inputStream);
if (recordstore.getNumRecords() > 0)
{
filter=new Filter(name_daro);
recordEnumeration = recordstore.enumerateRecords(filter, null,false);
num1=recordEnumeration.numRecords(); while (recordEnumeration.hasNextElement()) {
recordstore.getRecord(recordEnumeration.nextRecordId(),byteInputData, 0);
inputString ="نام دارو:" + "\n" + inputDataStream.readUTF() + "\n" +"موارد مصرف :" + "\n" + inputDataStream.readUTF();
text_print.setString(inputString);
display.setCurrent(text_print);
}
}
inputStream.close();
}
catch (Exception error)
{
Alert alert = new Alert("Error Reading",error.toString(), null, AlertType.WARNING);
alert.setTimeout(Alert.FOREVER);
display.setCurrent(alert);
}
try
{
recordstore.closeRecordStore();
}
catch (Exception error)
{
Alert alert = new Alert("Error Closing",error.toString(), null, AlertType.WARNING);
alert.setTimeout(Alert.FOREVER);
display.setCurrent(alert);
}
}
}
class Filter implements RecordFilter
{
private String search = null;
private ByteArrayInputStream inputstream = null;
private DataInputStream datainputstream = null;
public Filter(String searchcriteria)
{
search = searchcriteria;
}
از شرط While می پره و اجرا نمی کنه باید چیکار کنم ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟
در ضمن دو تا متغیر num و num1 را برای این تعریف کردم که ببینم RMS رکورد داره یا نه ولی مقدار num درست برمی گردانه ولی num1 را صفر برمی گرداند .....
یه جاشو که درست می کنم یه جا دیگه اش خراب میشه شرمنده که باید دوباره سوالای من رو تحمل کنید .