Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   www.boolean.name > Программирование игр для мобильных телефонов > MidletPascal

Ответ
 
Опции темы
Старый 03.03.2013, 11:40   #1
мацак
AnyKey`щик
 
Регистрация: 13.02.2013
Сообщений: 3
Написано 0 полезных сообщений
(для 0 пользователей)
помогите довести до ума программку

сделал сырую викторину на мидлет паскаль. почему-то программка в эмуляторе работает, а в телефонах не запускается.
у меня 4 вопроса:
1. почему в телефоне не запускается
2. подскажите как сделать чтобы вопросы программка выдавала в случайном порядке и без повторов
3. как сделать чтобы программка сохраняла в хранилище записей последний вопрос после закрытия программы и при следующем запуске выдавала его (это нужно чтобы не отвечать при каждом запуске на первый вопрос)
4. посоветуйте оптимизировать (уменьшить, упростить) ее. я дилетант многого не знаю.

я в тхт файле сделал пока 5 строчек и файл должен заканчиваться на цифру и последняя строчка в тхт файле дб пустой. планирую сделать файл с 1000 строк.
Вот текст ресурсного data.txt файла:

okno|window
dver|door
stena|wall
kniga|book
voda|water
1


вот сама программка:

Код:
program pr;//
var data: resource;//наш ресурс 
i,x,y,z,o,fName,fl,fm,fm2,r,q,v: integer; 
A: array[0..4] of string;
B,C,E: array[0..30] of string;
t,f,n,d,otv,w,g1,g2,g3,j,l,m: string;
cmd,cmd2: Command;
begin
i:=0;
data:= OpenResource('/data.txt');//открытие ресурса
if (resourceAvailable(data)) then // Если файл существует
begin 
repeat
t:=ReadLine(data);
x:=length(t);
if x>1 then
begin 
A[i]:=t;
i:=i+1;
end;
repaint;
until x<2;
CloseResource(data);
end;
repeat 
begin
y:=random(5);
n:=A[y];
z:=Pos(n,'|');
f:=Copy(n,0,z);
o:=length(n);
d:=Copy(n,z+1,o);
q:=length(d);
fl:=1;
for r:=0 to (q-1) do
begin 
C[r]:='*'; 
end;
repeat
showForm; 
cmd:=createCommand('enter',CM_OK,1) ;// Создаем
команду "ввод"
cmd2:=createCommand('exit',CM_STOP ,2);
addCommand(cmd);
addCommand(cmd2); 
fName:= formAddTextField(f,'',15,TF_ANY);
fl:=0;
for r:=0 to (q-1) do
begin
B[r]:=Copy(d,fl,fl+1);
fl:=fl+1;
end;
v:=random(q);
C[v]:=B[v]; 
l:=c[0]+c[1]+c[2]+c[3]+c[4]+c[5]+c[6]+c[7]+c[8]+c[9]+c[10]+c[11]+c[12]+c[13]+c[14]+c[15]+c[16]+c[17]+c[18]+c[19]+c[20]; 
fm:=formaddstring(l); 
while (getClickedCommand <> Cmd) do 
delay(100);//Ждем нажатия на кнопку enter 
otv:= formGetText(fName); // Помещаем в переменную otv значение, введенное в редактируемое
clearform;
until otv=d;
for r:=0 to (20) do
begin 
C[r]:=''; 
end;
clearform;
end; 
until otv='t'; 
Delay(5000);//задержка 
end.
(Offline)
 
Ответить с цитированием
Старый 03.03.2013, 17:16   #2
мацак
AnyKey`щик
 
Регистрация: 13.02.2013
Сообщений: 3
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: помогите довести до ума программку

на телефоне заработала прога!!!! через шнур закинул заработала, раньше чз карту памяти кидал и бт). так что 1 вопрос отпадает.
(Offline)
 
Ответить с цитированием
Старый 04.03.2013, 06:39   #3
Zhamalbek
AnyKey`щик
 
Регистрация: 10.05.2012
Сообщений: 10
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: помогите довести до ума программку

у тебя дольжен быть массыв чтоб сохрянять все номератьций вопроса каторые былый заданый и через рандом перепровериять нада это вопрос задовалсия
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +1, время: 04:38.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com