Запись m

Запись 1

Filek

Запись n

Запись 1

File1 имя объекта хранилища

.......

......

........

 

Пример работы с хранилищем:

 

методы работы с хранилищем:

 

openRecStore – открыть хранилище для чтения/записи

closeRecStore – закрыть хранилище

writeRecord - добавить запись

readRecord - прочитать запись

deleteRecStore – удалить хранилище

 

import javax.microedition.midlet.*;

import com.sun.lwuit.*;

import com.sun.lwuit.events.*;

import javax.microedition.rms.*;

public class lab9 extends MIDlet

{

Form form;

String fName; // имя хранилища

RecordStore rs1; // хранилище

float Dt[]=new float[20]; // данные для записи

int Nc; // количество элементов при чтении

public void startApp()

{

Display.init(this);

form = new Form();

form.setTitle("Лабораторная 9");

fName="test.txt"; // имя хранилища

form.show();

Create(); // создание пустого хранилища

Save(); // запись данных в хранилище

Load(); // загрузка данных из хранилища

deleteRecStore(fName); // удаление хранилища

}

public void Create()

{

int i;

rs1=openRecStore(fName);

closeRecStore(rs1);

for(i=0;i<10;i++)

{

Dt[i]=(float)1.5+i; // тестовый массив для сохранения

}

}

public void Save()

{

int i;

String s;

rs1=openRecStore(fName);

for(i=0;i<10;i++)

{

s=Double.toString(Dt[i]);

writeRecord(rs1,s); // добавление записи

}

closeRecStore(rs1);

}

 

public void Load()

{

int n,i;

String s;

String[] namesRec = RecordStore.listRecordStores(); // массив строк имен всех хранилищ

n=namesRec.length; // количество хранилищ

rs1=openRecStore(fName);

try

{

n=rs1.getNumRecords(); // количество записей в хранилище

}

catch (Exception ee)

{

}

for(i=1;i<=10;i++) // записи нумеруются с 1 !!

{

s=readRecord(rs1,i); // чтение строки записи с номером i

Dt[i-1]=Float.parseFloat(s); // перевод в вещественное

}

closeRecStore(rs1);

}

// методы работы с хранилищем

 

public RecordStore openRecStore(String Name)

{

RecordStore rs;

rs=null;

try

{

// true означает,если хранилища нет -создать

rs=RecordStore.openRecordStore(Name, true);

}

catch (Exception e)

{

}

return rs;

}

 

public void closeRecStore(RecordStore rs)

{

try

{

rs.closeRecordStore();

}

catch (Exception e)

{

}

}

 

public void writeRecord(RecordStore rs,String str)

{

byte rec[]=new byte[200];

int k;

try

{

rec = str.getBytes("UTF-8");

}

catch(Exception e)

{

}

try

{

rs.addRecord(rec, 0, rec.length);

}

catch (Exception e)

{

}

}

 

public String readRecord(RecordStore rs,int n)

{

byte[] recData = new byte[200];

int len;

String Rec;

Rec="";

try

{

len=rs.getRecord(n, recData, 0);

Rec=new String(recData,0,len,"UTF-8");

}

catch (Exception e)

{

}

return Rec;

}

 

public void deleteRecStore(String Name)

{

if (RecordStore.listRecordStores() != null)

{

try

{

RecordStore.deleteRecordStore(Name);

}

catch (Exception e)

{

}

}

}

 

public void pauseApp()

{

}

public void destroyApp(boolean unconditional)

{

}

}

 

7)Использование listbox и comobox в Visual C++

 

Для listBox установить selection mode one (выбор одного элемента)

и Scroll always visible true

В comboBox установить свойство Text: “Выбор строки”

 

а) Добавление элементов и последующий выбор мышкой одной строки:

 

private: System::Void Form1_Load(System::Object^ sender, System::EventArgs^ e)

{

// добавка элементов в listBox

String ^ s =gcnew String("");

s="первый";

listBox1->Items->Add(s);

s="второй";

listBox1->Items->Add(s);

s="третий";

listBox1->Items->Add(s);

// добавка элементов в comboBox

s="четвертый";

comboBox1->Items->Add(s);

s="пятый";

comboBox1->Items->Add(s);

}

 

 

б) Программный выбор элемента:

 

listBox1->SelectedIndex=2;

k=listBox1->SelectedIndex; // нумерация с нуля k=2

comboBox1->SelectedIndex = 1;

k=comboBox1->SelectedIndex;

 

 

в) Вставка элемента:

 

listBox1->Items->Insert(1, "шестой");

comboBox1->Items->Insert(0,"седьмой");

 

 

г) Удаление элемента:

 

listBox1->Items->RemoveAt(1);

comboBox1->Items->RemoveAt(0);

 

 

Удаление всех записей:

 

comboBox1->Items->Clear();

listBox1->Items->Clear();

 

д) Получение строки в данной позиции:

 

s=listBox1->Items[2]->ToString(); // s – “второй”

s=comboBox1->Items[1]->ToString(); // s- «четвертый”

 

 

е) Отклик на выбор элемента пользователем:

 

private: System::Void listBox1_Click(System::Object^ sender, System::EventArgs^ e)

{

int k;

k=listBox1->SelectedIndex; // k=1

}

private: System::Void comboBox1_Click(System::Object^ sender, System::EventArgs^ e)

{

int k;

k=listBox1->SelectedIndex;

}

 

8) Использование List и ComoBox в Java SE

 

а) Добавление элементов и последующий выбор мышкой одной строки:

 

 

import java.awt.event.ItemEvent;

import java.awt.event.ItemListener;

 

import javax.swing.*;

import javax.swing.event.ListSelectionEvent;

import javax.swing.event.ListSelectionListener;

public class lab9

{

JFrame form;

DefaultListModel lm; // модель списка

JList jl;

JComboBox cb;

lab9()

{

form = new JFrame();

form.setBounds (10,20,500,400);

form.setTitle ("Лабораторная 9");

form.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

form.setLayout(null);

// параметры JList

lm=new DefaultListModel();

jl=new JList(lm);

jl.setBounds(20,10,140,90);

jl.setVisibleRowCount(5); // количествовидимыхстрок

jl.setSelectionMode(1); // сколькоможноодновременновыбрать

jl.setSelectedIndex(-1); // индексвыбранного

jl.addListSelectionListener(new ListSelectionListener()

{

public void valueChanged(ListSelectionEvent e) // отклик на выбор

{

int k;

k=jl.getSelectedIndex();

}

});

form.add(jl);

cb=new JComboBox();

cb.setBounds(200,10,140,60);

cb.addItemListener(new ItemListener()

{

public void itemStateChanged(ItemEvent e) // отклик на выбор

{

int k;

k=cb.getSelectedIndex();

}

});

form.add(cb);

form.show();

lm.addElement("первый");

lm.addElement("второй");

lm.addElement("третий");

cb.addItem("четвертый");

cb.addItem("пятый");

}

public static void main (String args[])

{

lab9 f;

f= new lab9();

}

}

 

 

В JList автоматиеского скролинга нет. JList нужно размещать а JPanel.

 

б) Программный выбор элемента:

 

lm.addElement("первый");

lm.addElement("второй");

lm.addElement("третий");

cb.addItem("четвертый");

cb.addItem("пятый");