Lib_MidletPascal

КАША ИЗ ТОПОРА ШКОЛА ВОЛШЕБСТВА

приложение написано на java и некоторые браузеры не качают их, архив проверено скачивается эксплорером или даулоундером. Или заявка на f60@ya.ru все ошибки по загрузке и устоновке приложения публиковать на СТЕНЕ

СПРОС на товар

Краткое описание открытого кода приложения с подробными пояснениями и рекомендациями

program FileManager;

используемые подключенные модули

uses  media, fsafm, parse, canvas, beta, safeload, proweb, rms,
 font32, gui32, line32, png3, im, vscroll, memclean, resloader;

 

media

Lib_media библиотека для захвата видео ифото с камеры телефона

 

fsafm

доступ к чтению файловой системы в текстовом виде

 

parse

Lib_parse разборка данных по шаблону в массив


canvas

Lib_canvas помещение изображения в канву и манипуляция им

 

beta

Lib_beta Перенаправление вывода [в картинку] или [на дисплей]

 

safeload

Lib_safeload Безопасная загрузка изображений извне в приложение

 

proweb

Lib_proweb доступ к веб связи вся

 

rms

Lib_rms манипулирование ресурсами удаление и модийфикация

 

font32

Lib_font32 загрузка шрифтов из графических файлов

 

gui32

Lib_gui32 формирование всплывающих окон с набором полей

 

line32

Lib_line32 горизонтальное виндовое меню

 

png3

Lib_png3 запись в файл принятого или сформированного изображения

 

im

Lib_im Загрузка прямая изображений по HTTP

 

vscroll

Lib_vscroll скролинг боковой вертикальный в окне gui32

 

memclean

Lib_memclean оценка выделяемой памяти

 

resloader

Lib_resloader Экономная загрузка ресурсов

 

 

Const

url='http://aviatablo.orgfree.com/baton.php';
key_sensitivity = 10; // Чувствительность клавиш принажатии

 

массив вида

aaa='arbuz*Арбуз*1кг*50**#arbuz*Арбуз*1кг*50**#.....#chaiR*Чай ';

Функция удаления мусор если он подцепился при выводе из ресурса

////////////////////////////////////////////////////////////
Function bbb(name:string):string;
var ss,a,aa:string;
i,n:integer;
Begin
aa:='~@^.,_-#1234567890*qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM';
n:=length(name)-1;
ss:='';
for i:= 0 to n do
begin
a:=getChar(name,i);
if (pos(aa,a)>-1) then
ss:=ss+a;
end;
bbb:=ss;
//bbb:=copy(name,2,length(name));
End;

Еще одна Функция удаления мусор если он подцепился при выводе из ресурса

////////////////////////////////////////////////////////////
Function bb22(name:string):string;
var ss,a,aa:string;
i,n:integer;
Begin
aa:='#1234567890.,_-*qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM';
n:=length(name)-1;
ss:='';
for i:= 0 to n do
begin
a:=getChar(name,i);
if (pos(aa,a)>-1) then
ss:=ss+a;
end;
bb22:=ss;
//bbb:=copy(name,2,length(name));
End;
////////////////////////////////////////////////////////////



Остановка пока клавишу не отпустишь
procedure stop_none; // Остановка пока клавишу не отпустишь
Begin   
while ((key<>GA_NONE) and (GetKeyPressed<>-6) and (GetKeyPressed<>-7)) do begin key:=KeyToAction(GetKeyPressed); delay(50); end;
End;

 

////////////////////////////////////////////////////////////

 

Пример очистки экрана

procedure blak_scrin; // Очистка экрана
Begin   
SetColor(0, 0, 0); FillRect(0, 0, GetWidth, GetHeight); // Очистка экрана

{
    // ------------------------------- Установка шрифтов  --------------------------------
    font32.init(1);
    Font(0); LoadFont('Verdana_7b');
   
DrawString('<-забой', 5, (getHeight-30));    

    // ------------------------------- Установка окна (не пластикового :-D ) --------------------------------
    gui32.init;
    SetSkin(LoadImage('/main.png')); // Загружаем скин
    CaptionAlign(1); // Выравнивание заголовка окна
    SetWindow(0, 0, GetWidth, GetHeight, 'Блокнот'); // Задаем окно
    ShowWindow; // Отрисовка окна
   
    i:=Format('Привет', 0); // Вывод текста в окно (заметьте, мы его не задаем)
    DrawTextWindow; // Отрисовка текста
}
end;
////////////////////////////////////////////////////////////
procedure blak_scrin_2; // Очистка экрана
Begin   
//SetColor(0, 0, 0); FillRect(0, 0, GetWidth, GetHeight); // Очистка экрана

{
    // ------------------------------- Установка шрифтов  --------------------------------
    font32.init(1);
    Font(0); LoadFont('Verdana_7b');
    }   
    // ------------------------------- Установка окна (не пластикового :-D ) --------------------------------
    gui32.init;
    SetSkin(LoadImage('/main4.png')); // Загружаем скин
    CaptionAlign(1); // Выравнивание заголовка окна
    SetWindow(0, 0, GetWidth, GetHeight, 'Карзина'); // Задаем окно
    ShowWindow; // Отрисовка окна
   
//    i:=Format('Привет', 0); // Вывод текста в окно (заметьте, мы его не задаем)
//    DrawTextWindow; // Отрисовка текста

    drawImage(loadImage('/cube.png'), 5, GetHeight-25);
    drawImage(loadImage('/error.png'), GetWidth-30, GetHeight-25);
   

end;

Общая пауза перед выполнением

////////////////////////////////////////////////////////////
procedure repaint_delay; Begin repaint; delay(key_sensitivity); end;
////////////////////////////////////////////////////////////

Вид кнопки стартового и другоро меню

procedure key_start_menu(text:string; xx,yy,col:integer);
var w:integer;
Begin     // Полукруглые кнопки стартового меню
//w:=GetWidth;
w:=110;

  SetColor(col, col, col);
  fillRoundRect(xx, yy, (w-xx*2), 20, 18, 18);
  SetColor(0, 0, 250);
  fillEllipse(xx+3, yy+3, 16, 16);
  drawRoundRect(xx, yy, (w-xx*2), 20, 18, 18);
    SetColor(250, 250, 250);
    {
        font32.init(1);
    Font(0); LoadFont('Verdana_7b');
    }
  DrawString(text, (xx+30), (yy+4));
 
end;
////////////////////////////////////////////////////////////

Моя удобная функция парсинга

Function parser_mayn(str,aaa:string;n:integer):string;
var str2:string;
iii, iiii, nn :integer;
begin
//////
nn:=(length(str)-1);
str2:='';
iiii:=0;
for iii:= 0 to nn do
begin

if getChar(str,iii)=aaa then iiii:=iiii+1;
else
begin
if iiii=n then str2:=str2+getChar(str,iii);
end;

end;
//////
parser_mayn:=str2;
end;
////////////////////////////////////////////////////////////

Стартовое меню

procedure start_menu; //Стартовая страница
var w,h:integer; img:image;
dos,zakaz,con:integer;
s1,name,tel:string;
rs:RecordStore;
const dy=40;
Begin     // Переключалка стрелки

    rs:=OpenRecordStore('dostavka');
  dos:=getRecordStoreSize(rs);
    CloseRecordStore(rs);

    rs:=OpenRecordStore('zakaz');
  zakaz:=getRecordStoreSize(rs);
    CloseRecordStore(rs);

    rs:=OpenRecordStore('contakt');
  con:=getRecordStoreSize(rs);
    CloseRecordStore(rs);

  rs:=OpenRecordStore('autor');
  s1:=readRecordStoreEntry(rs,1);
    CloseRecordStore(rs);

  blak_scrin;

  img:=loadImage('/win.png');
  w:=getImageWidth(img);
    drawImage(img, (GetWidth-w)/2, 5);

    if i>4 then i:=-1;
    if i<-1 then i:=4;
   
  if i=-1 then key_start_menu('АВТОР',5,   (40+dy+25*(-1)),150); else key_start_menu('АВТОР',5,   (40+dy+25*(-1)),50);
    if i=0 then key_start_menu('КАТАЛОГ',5, (40+dy+25*0),150); else key_start_menu('КАТАЛОГ',5, (40+dy+25*0),50);
    if i=1 then key_start_menu('ЗАКАЗЫ           '+zakaz,5,  (40+dy+25*1),150); else key_start_menu('ЗАКАЗЫ           '+zakaz,5,  (40+dy+25*1),50);  
    if i=2 then key_start_menu('КОНТАКТЫ      '+con,5,(40+dy+25*2),150); else key_start_menu('КОНТАКТЫ      '+con,5,(40+dy+25*2),50);
    if i=3 then key_start_menu('ДОСТАВКА      '+dos,5,(40+dy+25*3),150); else key_start_menu('ДОСТАВКА      '+dos,5,(40+dy+25*3),50);
  if i=4 then key_start_menu('СВЯЗЬ',5,   (40+dy+25*4),150); else key_start_menu('СВЯЗЬ',5,   (40+dy+25*4),50);

      name:=parser_mayn(s1,'*',0);
      tel:=parser_mayn(s1,'*',1);
      DrawString(name,115,50);
      DrawString(tel,115,70);

      DrawString('http://aviatablo.orgfree.com',5,getHeight-30);     
     
     
  drawImage(loadImage('/arrow.png'), 15, (22+25+dy+i*25));

    repaint_delay;

end;
////////////////////////////////////////////////////////////

Управление кнопками стартового меню

procedure start_menu_2; //Стартовая страница
Begin     // бесконечный цикл стартовой страницы
i:=0;
ii:=0;
    repeat
    start_menu;
        key:=KeyToAction(GetKeyPressed);
        if key=GA_NONE  then begin ii:=0;  end;
        if (key=GA_DOWN) and (ii=0)  then begin   i:=i+1; ii:=1;  end;
        if (key=GA_UP)   and (ii=0)  then begin   i:=i-1; ii:=1;  end;
    delay(50);
    until key=GA_FIRE;   
  regim:=i;
end;

////////////////////////////////////////////

Вывод одной единици товара на экран

procedure xxyy(name1:string;ix,iy:integer;y,z:string); //Поквадратный вывод
var yy:integer;im,imsss:image;name:string;
w,h:integer;
zak,a1,a2:string;
const dy=10;
Begin
w:=GetWidth;
h:=GetWidth;

name:=parser_mayn(name1,'*',0);

im:=loadImage('/'+name+'.png');

if z='n' then
imsss:=loadImage('/darkredIcon.png');
else
imsss:=loadImage('/greenIcon.png');

yy:=getImageWidth(im)/2;

if (y='y') then
drawImage(imsss, (ix*(w-80)/2), (5+dy+iy*(h-80)/2));
else
drawImage(loadImage('/darkBlueIcon.png'), (ix*(w-80)/2), (5+dy+iy*(h-80)/2));

drawImage(loadImage('/'+name+'.png'), ((ix*(w-80)/2)+(40-yy)), (20+dy+iy*(h-80)/2));

{
    font32.init(1);
    Font(0); LoadFont('Verdana_7');
}
    //a1:=''+pos(zakaz, name);
    zak:='0';
    if pos(zakaz, name)>-1 then
    begin
    a2:=copy(zakaz,pos(zakaz,name),length(zakaz));
    a1:=parser_mayn(a2,'*',1);
    a2:=parser_mayn(a1,'#',0);
    zak:=a2;
    end;

if (y='y') then
begin
SetColor(59, 59, 59);
fillRect(0, (GetHeight-50), GetWidth, 15);
DrawString(parser_mayn(name1,'*',1)+' '+parser_mayn(name1,'*',2)+' '+parser_mayn(name1,'*',3)+' рублей', 5, (GetHeight-50));
end;

if z='y' then
begin  
DrawString(name+' '+zak, ((ix*(w-80)/2)+(40-20)), (35+dy+iy*(h-80)/2));
end;
else
begin 
if stringToInteger(zak)>0 then
begin 
SetColor(250, 0, 0);
fillEllipse(((ix*(w-80)/2)+(40-25)), (55+dy+iy*(h-80)/2), 18, 18);
DrawString(''+zak, ((ix*(w-80)/2)+(40-20)), (57+dy+iy*(h-80)/2));
end;
end;

if length(parser_mayn(name1,'*',4))>1 then
begin
im:=loadImage('/'+parser_mayn(name1,'*',4)+'.png');
drawImage(im, ((ix*(w-80)/2)+(40-26)), (17+dy+iy*(h-80)/2));
end;

end;
////////////////////////////////////////////

Накрутка цифр при заказе

procedure zakk(aa:string;kk:integer); //ПЛЮС МИНУС
var name:string;
a1,a2,a22,a24:string;
Begin
name:=parser_mayn(aa,'*',0);
    if pos(zakaz, name)>-1 then
    begin
      a1:=copy(zakaz,0,pos(zakaz,name)+length(name));
      a2:=copy(zakaz,pos(zakaz,name)+length(name),length(zakaz));
      a22:=copy(a2,1,pos(a2,'#'));
      if (stringToInteger(a22)+kk)>-1 then a22:=''+(stringToInteger(a22)+kk);
     
      a24:=copy(a2,pos(a2,'#'),length(a2));
     
      zakaz:=a1+'*'+a22+a24;
    end;
    else
    begin
      zakaz:=zakaz+name+'*1#'
    end;

end;
////////////////////////////////////////////

Управление накруткой цифр


procedure plus_minus(a3,a4,a5:string); //ПЛЮС МИНУС
var aa:string;
www:integer;
Begin
{
    font32.init(1);
    Font(0); LoadFont('Verdana_7b');
    }
  //DrawString('text'+iii, 30, 40);
 
if iii=0 then  aa:=a3;
if iii=1 then  aa:=a4;
if iii=2 then  aa:=a5;



xxyy(aa,1,iii,'y','y');
repaint_delay;

// СТОП ПОКА НЕ ОТПУСТИШ КЛАВИШУ
//while (key<>GA_NONE) do begin key:=KeyToAction(GetKeyPressed); delay(50); end;
delay(500);
key:=KeyToAction(GetKeyPressed);

// СТОП ПОКА НЕ ПОДТВЕРДИШ ЗАКАЗ
www:=1;
//while (key<>GA_FIRE) do
while (www=1) do
begin
key:=KeyToAction(GetKeyPressed);

        if (key=GA_DOWN) then begin zakk(aa,-1); xxyy(aa,1,iii,'y','y'); repaint_delay; end;
        if (key=GA_UP)   then begin zakk(aa,1);  xxyy(aa,1,iii,'y','y'); repaint_delay; end;
    if (key=GA_FIRE) or (key=GA_RIGHT) or (key=GA_LEFT) then begin www:=0; end;

delay(50);
end;


End;
////////////////////////////////////////////

Полный каталог товаров из каталога

procedure katalog; //КАТАЛОГ
var a0,a1,a2,a3,a4,a5,a6,a7,a8,name:string;
Begin     //
blak_scrin_2;


   

//SetColor(250, 250, 250);

line(aaa,'#');
i:=0;
ii:=0;
iii:=0;


repeat

a0:=parse.get(0+i);
a1:=parse.get(1+i);
a2:=parse.get(2+i);
a3:=parse.get(3+i);
a4:=parse.get(4+i);
a5:=parse.get(5+i);
a6:=parse.get(6+i);
a7:=parse.get(7+i);
a8:=parse.get(8+i);

xxyy(a0,0,0,'n','n');
xxyy(a1,0,1,'n','n');
xxyy(a2,0,2,'n','n');

if(iii=0) then xxyy(a3,1,0,'y','n'); else xxyy(a3,1,0,'n','n');
if(iii=1) then xxyy(a4,1,1,'y','n'); else xxyy(a4,1,1,'n','n');
if(iii=2) then xxyy(a5,1,2,'y','n'); else xxyy(a5,1,2,'n','n');

xxyy(a6,2,0,'n','n');
xxyy(a7,2,1,'n','n');
xxyy(a8,2,2,'n','n');

// СТОП ПОКА НЕ НАЖМЕШ КЛАВИШУ
key:=KeyToAction(GetKeyPressed);
//while (key=GA_NONE) do begin key:=KeyToAction(GetKeyPressed); delay(50); end;
       
        //if key=GA_NONE  then begin ii:=0;  end;
        if (key=GA_RIGHT) and (ii=0) then begin   i:=i+3; ii:=0; if(i>(kolas)) then i:=0; end;
        if (key=GA_LEFT)  and (ii=0) then begin   i:=i-3; ii:=0; if(i<0) then i:=(kolas); end;

        if (key=GA_DOWN) and (ii=0) then begin   iii:=iii+1; ii:=0; if(iii>2) then iii:=0; end;
        if (key=GA_UP)   and (ii=0) then begin   iii:=iii-1; ii:=0; if(iii<0) then iii:=2; end;
       
        if (key=GA_FIRE) then begin plus_minus(a3,a4,a5); end;
        if (GetKeyPressed=-7) then regim:=5;
        if (GetKeyPressed=-6) then regim:=6;

repaint_delay;

//while (key=GA_NONE) do begin key:=KeyToAction(GetKeyPressed); delay(50); end;
//while (key<>GA_NONE) do begin key:=KeyToAction(GetKeyPressed); delay(50); end;

until regim<>0;   




end;

////////////////////////////////////////////////////////////

Просмотр набранного или выбранного заказа


procedure zakaz_nabr(ih:integer); //НАБРАННЫЙ ЗАКАЗ
var
n,nn,sum,sum_all:integer;
a1,a2,a3,a4,a5,a6,a7,a8:string;
im:image;
Begin     //
  sum_all:=0;
  nn:=0;
 
    //gui32.init;
    //SetSkin(LoadImage('/main4.png')); // Загружаем скин
    //CaptionAlign(1); // Выравнивание заголовка окна
    SetWindow(0, 0, GetWidth, GetHeight, 'Набранный заказ'); // Задаем окно
    ShowWindow; // Отрисовка окна
   
   
    a1:=zakaz;
    //a1:=copy(zakaz,0,(length(zakaz)-1));
    //DrawString(zakaz, 5, 30);

  while length(a1)>1 do
  begin
  //DrawString(a1, 5, 30+nn);
  a2:=parser_mayn(a1,'#',0);
  a3:=parser_mayn(a2,'*',0);
  a4:=parser_mayn(a2,'*',1);
 
  //if(length(a4)>0) then
  if(stringToInteger(a4)>0) then
begin 
  a5:=copy(aaa,pos(aaa,a3),length(aaa));
  a6:=parser_mayn(a5,'*',1);
  a7:=parser_mayn(a5,'*',2);
  a8:=parser_mayn(a5,'*',3);

  im:=loadImage('/'+a3+'.png');

  sum:=stringToInteger(a4)*stringToInteger(a8);
  sum_all:=sum_all+sum;
 
 
  if ((25+nn+ih)>0) and ((25+nn+ih+50)<GetHeight) then
  begin
  DrawString(a6+' '+a4+'*'+a7+'*'+a8+'р='+sum+'р', 5, (25+nn+ih));
 
 
  for n:= 0 to stringToInteger(a4)-1 do
  drawImage(im, (5+n*30), (40+nn+ih));
 
  end;

  nn:=nn+65;
end;
 
  if((pos(a1,a2)+length(a2)+1+2)<length(a1)) then
  begin
    a1:=copy(a1,(pos(a1,a2)+length(a2)+1),length(a1)); 
  end;
  else
  a1:='';
 
 
  end;


if (prok<>0) and (ih>-5) then begin prok:=-prok; speed:=90; end;



  if((25+nn+ih)>GetHeight-35) then iii:=10; else begin iii:=0; if (prok<>0) then begin prok:=-prok; speed:=90; end; end;


    DrawString('Сумма: '+sum_all+'руб.', 5, (25+nn+ih));
   
    drawImage(loadImage('/cube.png'), 5, GetHeight-25);
    drawImage(loadImage('/error.png'), GetWidth-30, GetHeight-25);
   
//       if (GetKeyPressed=-7) then regim:=5;
end;
////////////////////////////////////////////////////////////

Переползание и управление листом набранного товара

procedure zakaz_nabr_2; //НАБРАННЫЙ ЗАКАЗ
Begin
ih:=0;
speed:=0;
prok:=0;

while (GetKeyPressed<>KE_NONE) do begin key:=KeyToAction(GetKeyPressed); delay(50); end;

repeat   

    key:=KeyToAction(GetKeyPressed);
    if (key=GA_FIRE) then prok:=1;
    if (prok=1) or (prok=-1) then begin ih:=ih+prok*(20+speed); speed:=speed+15; if speed>90 then speed:=90;  if ih>0 then ih:=0; end;
        if (key=GA_UP) then begin ih:=ih+20+speed; speed:=speed+15; if speed>90 then speed:=90;  if ih>0 then ih:=0; end;
        if (key=GA_DOWN) and (iii=10) then begin prok:=0; ih:=ih-20+speed; speed:=speed-15; if speed<-90 then speed:=-90; end;
        if (GetKeyPressed=KE_NONE)then begin if (prok=0) then speed:=0; end;
       
     zakaz_nabr(ih);

       if (GetKeyPressed=-7) then regim:=5;
       if (GetKeyPressed=-6) then regim:=7;

     repaint_delay;   

until regim<>6;      


      
end;
////////////////////////////////////////////////////////////


Сохранение заказа в ресурсный файл

procedure save_zakaz; //Сохранение заказа
var rs:RecordStore;
Begin
{
    gui32.init;
    SetSkin(LoadImage('/main4.png')); // Загружаем скин
    CaptionAlign(1); // Выравнивание заголовка окна
    SetWindow(0, 0, GetWidth, GetHeight, 'Сохранение заказа'); // Задаем окно
    ShowWindow; // Отрисовка окна
}   
    rs:=OpenRecordStore('zakaz');
    //i:=AddString(rs, bbb(zakaz));
    i:=AddString(rs, '!'+zakaz+'!');
    CloseRecordStore(rs); // Закрываем хранилище
    //stop_none;
    while (GetKeyPressed=-6) do begin delay(1000); end;
    //regim:=5;
    regim:=1;
  
end;
////////////////////////////////////////////////////////////

Список сохраненных заказов


procedure zakaz_spisok; //Список заказов
var rs:RecordStore;
dy:integer;
s1,s2:string;
Begin

dy:=0;

  stop_none;
   
repeat
    gui32.init;
    SetSkin(LoadImage('/main4.png')); // Загружаем скин
    CaptionAlign(1); // Выравнивание заголовка окна
    SetWindow(0, 0, GetWidth, GetHeight, 'Список заказов'); // Задаем окно
    ShowWindow; // Отрисовка окна
   
  rs:=OpenRecordStore('zakaz');
  num:=getRecordStoreSize(rs);
  for i:= 1 to num do
  begin
  s2:=readRecordStoreEntry(rs,i);
  s1:=parser_mayn(s2,'!',1);
  //s1:=bbb(readRecordStoreEntry(rs,i));
  DrawString(s1, 5, 20+i*15);
  if pos(s1,'~')>0 then
begin
setColor(0,250,0);
fillEllipse(GetWidth-40, (20+i*15), 10, 10);

  if pos(s1,'^')<0 then setColor(250,0,0);
fillEllipse(GetWidth-20, (20+i*15), 10, 10);

end;
  end;
    CloseRecordStore(rs); // Закрываем хранилище

    key:=KeyToAction(GetKeyPressed);
        if (key=GA_UP)   then begin dy:=dy-1; if dy<0 then dy:=0; end;
        if (key=GA_DOWN) then begin dy:=dy+1; if dy>(num-1) then dy:=(num-1); end;

      if (GetKeyPressed=-7) then begin regim:=5; zakaz:=''; end;
      if (GetKeyPressed=-6) then begin regim:=8; i:=0; iii:=dy+1; end;
{
      if (key=GA_FIRE) then
begin
rs:=OpenRecordStore('zakaz');
//zakaz:=bbb(readRecordStoreEntry(rs,(dy+1)));
zakaz:=parser_mayn(readRecordStoreEntry(rs,(dy+1)),'!',1);
CloseRecordStore(rs); // Закрываем хранилище

regim:=0;

DrawString(zakaz, 5, 60);
stop_none;


end;
}

  drawImage(loadImage('/arrow.png'), 15, (40+15*dy));

  //кнопки
    drawImage(loadImage('/about.png'), 5, GetHeight-25);
    //drawImage(loadImage('/foto.png'), GetWidth/2-12, GetHeight-25);
  drawImage(loadImage('/error.png'), GetWidth-30, GetHeight-25);
  repaint_delay;

  stop_none;
 
until regim<>1;       

    //кнопки
  
end;
////////////////////////////////////////////////////////////

что делать с выбранным сохраненным заказом

procedure zakaz_vopros; //Список заказов
var
s1,s2:string;
rs:RecordStore;
const dy=40;
Begin

stop_none;

repeat

    gui32.init;
    SetSkin(LoadImage('/main4.png')); // Загружаем скин
    CaptionAlign(1); // Выравнивание заголовка окна
    SetWindow(0, 0, GetWidth, GetHeight, 'Что делать с заказом '+iii); // Задаем окно
    ShowWindow; // Отрисовка окна

    if i>3 then i:=0;
    if i<0 then i:=3;
   
    if i=0 then key_start_menu('ОТПР. SMS',5,(15+dy+25*0),150);  else key_start_menu('ОТПР. SMS',5,(15+dy+25*0),50);
    if i=1 then key_start_menu('ОТПР. WEB',5,(15+dy+25*1),150);  else key_start_menu('ОТПР. WEB',5,(15+dy+25*1),50);
    if i=2 then key_start_menu('УДАЛИТЬ',5,  (15+dy+25*2),150);  else key_start_menu('УДАЛИТЬ',5,  (15+dy+25*2),50);
    if i=3 then key_start_menu('ПРОСМОТР',5, (15+dy+25*3),150);  else key_start_menu('ПРОСМОТР',5, (15+dy+25*3),50);

  drawImage(loadImage('/arrow.png'), 15, (22+dy+i*25));

    key:=KeyToAction(GetKeyPressed);
        if (key=GA_UP)   then begin i:=i-1; end;
        if (key=GA_DOWN) then begin i:=i+1; end;
        if (GetKeyPressed=-7) then begin regim:=5; zakaz:=''; end;
       
    if (key=GA_FIRE) then
begin

if i=0 then regim:=9; //Отрпавка СМС
if i=1 then regim:=10; //Отрпавка ВЕБ+СМС
if i=2 then regim:=11; //Удаление заказа
if i=3 then
begin

rs:=OpenRecordStore('zakaz');
  s1:=readRecordStoreEntry(rs,iii);
  s2:=parser_mayn(s1,'!',1);
  zakaz:=s2;
CloseRecordStore(rs);

regim:=6;
end;//Просмотр заказа

end;
       
        stop_none;

  //кнопки
  drawImage(loadImage('/error.png'), GetWidth-30, GetHeight-25);    
    repaint_delay;   

until regim<>8;

end;
////////////////////////////////////////////////////////////

Удаление выбранного заказа

procedure zakaz_del; //Удаление заказа
var rs,rs1:RecordStore;
s1,s2:string;
Begin

  deleteRecordStore('text');
  rs1:=OpenRecordStore('text');
    rs:=OpenRecordStore('zakaz');

  num:=getRecordStoreSize(rs);
 
  for i:= 1 to num do
  begin
  s1:=readRecordStoreEntry(rs,i);
  s2:=parser_mayn(s1,'!',1);
  ii:=AddString(rs1, '!'+s2+'!');
  //ii:=AddString(rs1, bbb(readRecordStoreEntry(rs,i)));
  end;

    CloseRecordStore(rs);
    CloseRecordStore(rs1);

/////

  deleteRecordStore('zakaz');
  rs1:=OpenRecordStore('text');
    rs:=OpenRecordStore('zakaz');

  num:=getRecordStoreSize(rs1);
 
  for i:= 1 to num do
  begin
  if(i<>iii) then
  begin
  s1:=readRecordStoreEntry(rs1,i);
  s2:=parser_mayn(s1,'!',1);
  ii:=AddString(rs, '!'+s2+'!');
  //ii:=AddString(rs, bbb(readRecordStoreEntry(rs1,i)));
  end;
  end;

    CloseRecordStore(rs);
    CloseRecordStore(rs1);



{
DrawString(''+iii, 5, 60);
repaint_delay;   
stop_none;
delay(5000);
}

regim:=1;
end;
////////////////////////////////////////////////////////////

Отправка выбранного заказа по смс


procedure zakaz_sms; //regim=9 отправказаказа смс
var rs,rs1:RecordStore;
a1,a2,a3,a4,a5,a6,a7,a8,rrr,nomer:string;
sum,sum_all:integer;
s1,s2:string;
Begin

rrr:='';

    rs:=OpenRecordStore('zakaz');
    s1:=readRecordStoreEntry(rs,iii);
  s2:=parser_mayn(s1,'!',1);
  a1:=s2;
    //a1:=bbb(readRecordStoreEntry(rs,iii));
    CloseRecordStore(rs);   
   



  while length(a1)>1 do
  begin

  a2:=parser_mayn(a1,'#',0);
  a3:=parser_mayn(a2,'*',0);
  a4:=parser_mayn(a2,'*',1);

  if(stringToInteger(a4)>0) then
begin 
 
  a5:=copy(aaa,pos(aaa,a3),length(aaa));
  a6:=parser_mayn(a5,'*',1);
  a7:=parser_mayn(a5,'*',2);
  a8:=parser_mayn(a5,'*',3);

  sum:=stringToInteger(a4)*stringToInteger(a8);
  sum_all:=sum_all+sum;

rrr:=rrr+a6+' '+a4+'*'+a7+'*'+a8+'р='+sum+'р#';
 
end;
 
  if((pos(a1,a2)+length(a2)+1+2)<length(a1)) then
  begin
    a1:=copy(a1,(pos(a1,a2)+length(a2)+1),length(a1)); 
  end;
  else
  a1:='';
 
  end;

rrr:=rrr+' Сумма: '+sum_all+'руб.';   

ii:=0;



    DrawString('###'+rrr, 5, 25);


////// ВЫБОР ПОЛУЧАТЕЛЯ обьединть в процедуру   
   
    rs:=OpenRecordStore('contakt');
  num:=getRecordStoreSize(rs);
 
repeat

    gui32.init;
    SetSkin(LoadImage('/main4.png')); // Загружаем скин
    CaptionAlign(1); // Выравнивание заголовка окна
    SetWindow(0, 0, GetWidth, GetHeight, 'Выбор получателя'); // Задаем окно
    ShowWindow; // Отрисовка окна   

  drawImage(loadImage('/arrow.png'), 15, (22+ii*15));

  for i:= 1 to num do
  begin
  DrawString(bbb(readRecordStoreEntry(rs,i)),5,20+(i-1)*15);
  end;

    key:=KeyToAction(GetKeyPressed);
        if (key=GA_UP)   then begin ii:=ii-1; if ii<0 then ii:=0; end;
        if (key=GA_DOWN) then begin ii:=ii+1; if ii>(num-1) then ii:=(num-1); end;
       

  //кнопки
    drawImage(loadImage('/cube.png'), 5, GetHeight-25);
//    drawImage(loadImage('/foto.png'), GetWidth/2-12, GetHeight-25);
//  drawImage(loadImage('/error.png'), GetWidth-30, GetHeight-25);
//  repaint_delay;

repaint_delay;    //delay(5000);

stop_none;

until GetKeyPressed=-6;


a1:=bbb(readRecordStoreEntry(rs,(ii+1)));
nomer:=parser_mayn(a1,'*',1);
DrawString(nomer,5,60);
DrawString('длина СМС'+length(rrr)+'сим',5,105);
repaint_delay;    delay(5000);

    CloseRecordStore(rs);
   
////// ВЫБОР ПОЛУЧАТЕЛЯ обьединть в процедуру   
   
   
   
   
   
   
{
  if smsStartSend('sms://89199610491:0000',rrr) then
      begin
            while smsIsSending do delay(100);
      end;
}

  if smsStartSend('sms://'+nomer+':0000',rrr) then
      begin
            while smsIsSending do delay(100);
      end;


stop_none;

regim:=5;

end;
////////////////////////////////////////////////////////////

Контакты на которые можно отправить заказ

procedure zakaz_kontakt;
var dy,num:integer;
rs:RecordStore;
s1,s2,s3:string;
Begin
 
  dy:=0;
  stop_none;
     
repeat

    gui32.init;
    SetSkin(LoadImage('/main4.png')); // Загружаем скин
    CaptionAlign(1); // Выравнивание заголовка окна
    SetWindow(0, 0, GetWidth, GetHeight, 'Список контактов'); // Задаем окно
    ShowWindow; // Отрисовка окна     


  rs:=OpenRecordStore('contakt');
  num:=getRecordStoreSize(rs);
 
  for i:= 1 to num do
  begin
  drawImage(loadImage('/men.png'), 5, 20+25*i);
  s1:=readRecordStoreEntry(rs,i);
  s2:=parser_mayn(s1,'*',0);
  s3:=parser_mayn(s1,'*',1);
  DrawString(s2,30,20+25*i);
  DrawString(s3,30,30+25*i);
  end;
 
  //drawImage(loadImage('/men.png'), 5, 20+25*(num+1));
  //DrawString('КУРЬЕР JAVA ПРИЛОЖЕНИЯ',30,25+25*i);
 
    CloseRecordStore(rs);
   


   
  drawImage(loadImage('/arrow.png'), 15, (55+25*dy));

  //кнопки
    drawImage(loadImage('/about.png'), 5, GetHeight-25);
    drawImage(loadImage('/error.png'), GetWidth/2-12, GetHeight-25);
  drawImage(loadImage('/cube.png'), GetWidth-30, GetHeight-25);


key:=KeyToAction(GetKeyPressed);
        if (key=GA_FIRE) then begin regim:=13; iii:=dy+1; end;
        if (GetKeyPressed=-7) then begin regim:=5; end;
        if (GetKeyPressed=-6) then begin regim:=12; end;
        if (key=GA_UP)   then begin dy:=dy-1; if(dy<0) then dy:=0; end;
        if (key=GA_DOWN) then begin dy:=dy+1; if(dy>(num-1)) then dy:=(num-1); end;
       

  repaint_delay;
  stop_none;
 
until regim<>2;   
   

end;
////////////////////////////////////////////////////////////


добавить контакт

procedure kontakt_add;
var dy:integer;
rs:RecordStore;
str:string;
  clicked, c: command;
  yd : integer;
     itemId : integer;
     cmdNext : command;
     cmdQuit : command;
Begin
     
   
begin
  ShowForm;
  itemId := FormAddTextField('Добавление контакта', '', 20, TF_URL);
  ii := FormAddTextField('Телефон оповещения', '', 20, TF_PHONENUMBER);
  i:=0;
  cmdQuit := CreateCommand('Ok!', CM_OK, 1);
  cmdNext := CreateCommand('Exit', CM_EXIT, 1);
  AddCommand(cmdQuit);
  AddCommand(cmdNext);
  repeat
  clicked := GetClickedCommand;
  if clicked = cmdNext then begin i:=1; clicked := cmdQuit; end;
  until clicked = cmdQuit;


if (length(FormGetText(itemId))>0) and (i=0) then
begin
    str:=FormGetText(itemId)+'*'+FormGetText(ii);
    rs:=OpenRecordStore('contakt');    // Открываем хранилище
    i:=AddString(rs, bbb(str)); // Пишем туда русскую строчку
  CloseRecordStore(rs); // Закрываем хранилище
end; 
 
  //stop_none;
  //while (GetKeyPressed=-6) do begin delay(1000); end;
  regim:=5;
   
  clearForm;    
  ShowCanvas;
end;



end;
////////////////////////////////////////////////////////////

Удаление контакта

procedure kontakt_del; //Удаление заказа
var rs,rs1:RecordStore;
Begin

  deleteRecordStore('text');
  rs1:=OpenRecordStore('text');
    rs:=OpenRecordStore('contakt');

  num:=getRecordStoreSize(rs);
 
  for i:= 1 to num do
  begin
  ii:=AddString(rs1, bbb(readRecordStoreEntry(rs,i)));
  end;

    CloseRecordStore(rs);
    CloseRecordStore(rs1);

/////

  deleteRecordStore('contakt');
  rs1:=OpenRecordStore('text');
    rs:=OpenRecordStore('contakt');

  num:=getRecordStoreSize(rs1);
 
  for i:= 1 to num do
  begin
  if(i<>iii) then
  ii:=AddString(rs, bbb(readRecordStoreEntry(rs1,i)));
  end;

    CloseRecordStore(rs);
    CloseRecordStore(rs1);

  deleteRecordStore('text');


{
DrawString(''+iii, 5, 60);
repaint_delay;   
stop_none;
delay(5000);
}

regim:=5;
end;
////////////////////////////////////////////////////////////

Удаление принятого заказа в разделе доставка

procedure dostavka_del; //Удаление заказа
var rs,rs1:RecordStore;
s1,s2:string;
Begin

  deleteRecordStore('text');
  rs1:=OpenRecordStore('text');
    rs:=OpenRecordStore('dostavka');

  num:=getRecordStoreSize(rs);
 
  for i:= 1 to num do
  begin
  s1:=readRecordStoreEntry(rs,i);
  s2:=parser_mayn(s1,'!',1);
  ii:=AddString(rs1, '!'+s2+'!');
  //ii:=AddString(rs1, bbb(readRecordStoreEntry(rs,i)));
  end;

    CloseRecordStore(rs);
    CloseRecordStore(rs1);

/////

  deleteRecordStore('dostavka');
  rs1:=OpenRecordStore('text');
    rs:=OpenRecordStore('dostavka');

  num:=getRecordStoreSize(rs1);
 
  for i:= 1 to num do
  begin
  if(i<>iii) then
  begin
  s1:=readRecordStoreEntry(rs1,i);
  s2:=parser_mayn(s1,'!',1);
  ii:=AddString(rs, '!'+s2+'!');
//  ii:=AddString(rs, bbb(readRecordStoreEntry(rs1,i)));
  end;
  end;

    CloseRecordStore(rs);
    CloseRecordStore(rs1);

  deleteRecordStore('text');


{
DrawString(''+iii, 5, 60);
repaint_delay;   
stop_none;
delay(5000);
}

regim:=5;
end;


////////////////////////////////////////////////////////////     

Список заказов на доставку

procedure dostavka; //Что просят доставить
var
rs:RecordStore;
dy,num:integer;
ad:string;
s1,s2:string;
Begin
repeat

    gui32.init;
    SetSkin(LoadImage('/main4.png')); // Загружаем скин
    CaptionAlign(1); // Выравнивание заголовка окна
    SetWindow(0, 0, GetWidth, GetHeight, 'Заказы на достаку'); // Задаем окно
    ShowWindow; // Отрисовка окна     

rs:=OpenRecordStore('dostavka');
  num:=getRecordStoreSize(rs);
    for i:= 1 to num do
    begin
    s1:=readRecordStoreEntry(rs,i);
    s2:=parser_mayn(s1,'!',1);
    ad:=s2;
    //ad:=bbb(readRecordStoreEntry(rs,i));
    DrawString(ad,5,25+15*i);
 
    end;
    CloseRecordStore(rs); 

   
  drawImage(loadImage('/arrow.png'), 15, (40+15*dy));

  //кнопки
    drawImage(loadImage('/cube.png'), 5, GetHeight-25);
//    drawImage(loadImage('/cube.png'), GetWidth/2-12, GetHeight-25);
  drawImage(loadImage('/error.png'), GetWidth-30, GetHeight-25);


key:=KeyToAction(GetKeyPressed);
    //    if (key=GA_FIRE) then begin regim:=13; iii:=dy+1; end;
        if (GetKeyPressed=-7) then begin regim:=5; end;
        if (GetKeyPressed=-6) then begin regim:=15; iii:=dy; end;
        if (key=GA_UP)   then begin dy:=dy-1; if(dy<0) then dy:=0; end;
        if (key=GA_DOWN) then begin dy:=dy+1; if(dy>(num-1)) then dy:=(num-1); end;
       
  repaint_delay;
  stop_none;
 
until regim<>3;   
end;
//////////////////////////////////////////////////////////// 


отправка на сервер данных

procedure too_web; //Отправка заказа на сервер
var rs:RecordStore;
a1,a11,str,ddd,ttt,ad,add:string;
n,iw:integer;
s1,s2:string;
s11,s22:string;
Begin

  rs:=OpenRecordStore('autor');    // Открываем хранилище
    a11:=bbb(readRecordStoreEntry(rs,1)); // Пишем туда русскую строчку
  CloseRecordStore(rs); // Закрываем хранилище
 
    gui32.init;
    SetSkin(LoadImage('/main4.png')); // Загружаем скин
    CaptionAlign(1); // Выравнивание заголовка окна
    SetWindow(0, 0, GetWidth, GetHeight, 'Отправка заказа на сервер'); // Задаем окно
    ShowWindow; // Отрисовка окна    
   
    if regim<>4 then
    begin
    rs:=OpenRecordStore('zakaz');
    s1:=readRecordStoreEntry(rs,iii);
    s2:=parser_mayn(s1,'!',1);
    a1:=s2;
    //a1:=bbb(readRecordStoreEntry(rs,iii));
    CloseRecordStore(rs);   
    end;
    else
    begin
   
    /////////////////////// ВЫБОР первого попавшегося неподтвержденного
    rs:=OpenRecordStore('zakaz');
    num:=getRecordStoreSize(rs);
  for i:= 1 to num do
  begin
  s1:=readRecordStoreEntry(rs,i);
  if (pos(s1,'^')<0) and (pos(s1,'~')>0) then
  begin
  s2:=parser_mayn(s1,'!',1);
  a1:=s2;
  end;
  /////////////////////// ВЫБОР первого попавшегося неподтвержденного
 
  end;


    CloseRecordStore(rs);   
    end;
   
   
   
   

DrawString(a1,5,40);
DrawString(a11,5,70);




////// ВЫБОР ПОЛУЧАТЕЛЯ обьединть в процедуру   
   
    rs:=OpenRecordStore('contakt');
  num:=getRecordStoreSize(rs);

if regim<>4 then 
repeat

    gui32.init;
    SetSkin(LoadImage('/main4.png')); // Загружаем скин
    CaptionAlign(1); // Выравнивание заголовка окна
    SetWindow(0, 0, GetWidth, GetHeight, 'Выбор получателя'); // Задаем окно
    ShowWindow; // Отрисовка окна   



  for i:= 1 to num do
  begin
  DrawString(bbb(readRecordStoreEntry(rs,i)),5,20+(i-1)*15);
  end;

  drawImage(loadImage('/men.png'), 5,20+(num)*15);
  DrawString('ИНТЕРНЕТ ДОСТАВКА',30,20+(num)*15);


  drawImage(loadImage('/arrow.png'), 15, (22+ii*15));


    key:=KeyToAction(GetKeyPressed);
        if (key=GA_UP)   then begin ii:=ii-1; if ii<0 then ii:=0; end;
        if (key=GA_DOWN) then begin ii:=ii+1; if ii>(num-0) then ii:=(num-0); end;
       

  //кнопки
    drawImage(loadImage('/cube.png'), 5, GetHeight-25);
//    drawImage(loadImage('/foto.png'), GetWidth/2-12, GetHeight-25);
//  drawImage(loadImage('/error.png'), GetWidth-30, GetHeight-25);
//  repaint_delay;

repaint_delay;    //delay(5000);

stop_none;

until GetKeyPressed=-6;


if(ii+1)>num then
ttt:='avatar';
else
ttt:=bbb(readRecordStoreEntry(rs,(ii+1)));
//nomer:=parser_mayn(a1,'*',1);
//DrawString(nomer,5,60);
repaint_delay;    //delay(5000);

    CloseRecordStore(rs);
   
////// ВЫБОР ПОЛУЧАТЕЛЯ обьединть в процедуру   

//// Доставка номеров не подтвержденной доставки
  ddd:='';
    rs:=OpenRecordStore('dostavka');
  num:=getRecordStoreSize(rs);
    for i:= 1 to num do
    begin
    s11:=readRecordStoreEntry(rs,i);
    s22:=parser_mayn(s11,'!',1);
    ad:=s22;
//    ad:=bbb(readRecordStoreEntry(rs,i));
    add:=parser_mayn(ad,'~',2);
    if pos(ad,'^')<0 then ddd:=ddd+add+'~'; //*^
 
    end;
    CloseRecordStore(rs);

//    DrawString(ddd,5,90+15*ii);
//// Доставка номеров не подтвержденной доставки

/////////////////////////////////
DrawString('идет отравка ...'+ddd, 5, 30); repaint; delay(50);

//url:='http://aviatablo.orgfree.com/baton.php';
//url:='http://data.aviatablo.ru/baton.php';
{
if regim=4 then
begin
a1:='****'; // Если в режиме связи не отрпавлять заказы
end;
}

q_property('Accept', '*/*');
q_property('Accept-Language', 'ru');
q_property('Content-Type', 'application/x-www-form-urlencoded');
i:=q_request(url+'?do=login', POST, 'ott='+a11+'&too='+ttt+'&zakaz='+bb22(a1)+'&dost='+ddd, 'none');
if get_error='' then str:=get_data;
close;
/////////////////////////////////

if pos(str,'PRINYATO11')>0 then
begin

    rs:=OpenRecordStore('zakaz');
  num:=getRecordStoreSize(rs);
 
  for i:= 1 to num do
  begin
  s11:=readRecordStoreEntry(rs,i);
  s22:=parser_mayn(s11,'!',1);
  //if( (a1=bbb(readRecordStoreEntry(rs,i))) and (pos(a1,'~')<0) ) then
  if( (a1=s22) and (pos(a1,'~')<0) ) then
  begin
  ModifyRecordStoreEntry(rs,'!'+a1+'~!',i);
  //ModifyRecordStoreEntry(rs,a1+'~',i);
  end;
  end;

    CloseRecordStore(rs);

end;

if pos(str,'PRINYATO33')>0 then
begin

    rs:=OpenRecordStore('zakaz');
  num:=getRecordStoreSize(rs);
 
  for i:= 1 to num do
  begin
  s11:=readRecordStoreEntry(rs,i);
  s22:=parser_mayn(s11,'!',1);
 
  //if( (a1=bbb(readRecordStoreEntry(rs,i))) and (pos(a1,'@')<0) and (pos(a1,'~')>0) ) then
  if( (a1=s22) and (pos(a1,'^')<0) and (pos(a1,'~')>0) ) then
  begin
  //ModifyRecordStoreEntry(rs,a1+'@',i);
  ModifyRecordStoreEntry(rs,'!'+a1+'^!',i);
  end;
  end;

    CloseRecordStore(rs);

end;

//////////////////////////////// Отправка закончена начало обработки приема


a1:=parser_mayn(str,'!',1);

iw:=0; num:=length(a1); for ii:=0 to num do if getChar(a1,ii)='^' then iw:=iw+1; //*^

for ii:=0 to iw-1 do
begin
a11:=parser_mayn(a1,'^',ii);  //*^

//DrawString(a11,5,90+15*ii);
//DrawString(''+ii,5,90+15*ii);

//// Проверяем есть ли заказ в доставке = а11
    iii:=0;
    rs:=OpenRecordStore('dostavka');
  num:=getRecordStoreSize(rs);
    for i:= 1 to num do
    begin
  s11:=readRecordStoreEntry(rs,ii);
  s22:=parser_mayn(s11,'!',1);
  ad:=s22;
  //  ad:=bbb(readRecordStoreEntry(rs,i));
    if a11=ad then iii:=1;
{
    add:=parser_mayn(ad,'~',2);
    if pos(ddd,add)>0 then ModifyRecordStoreEntry(rs,ad+'@',i);
    DrawString(add,5,90);

    end;
    CloseRecordStore(rs); 
//// Проверяем есть ли заказ в доставке = а11

//    DrawString(''+iii,5,90+15*ii);


if iii=0 then
begin
    rs:=OpenRecordStore('dostavka');
    //n:=AddString(rs, a11);
    n:=AddString(rs, '!'+a11+'!');
    CloseRecordStore(rs); 
end;


end;



    rs:=OpenRecordStore('dostavka');
  num:=getRecordStoreSize(rs);
  for i:= 1 to num do
    begin
  s11:=readRecordStoreEntry(rs,i);
  s22:=parser_mayn(s11,'!',1); 
  ad:=s22;
  //ad:=bbb(readRecordStoreEntry(rs,i));
  add:=parser_mayn(ad,'~',2);
    //if pos(add,'@')<0 then
    if pos(ddd,add)>-1 then
    begin
ModifyRecordStoreEntry(rs,'!'+ad+'^!',i);  // *^
//ModifyRecordStoreEntry(rs,ad+'@',i);
    end;
    end;
    CloseRecordStore(rs); 






    repaint_delay;

delay(1000);
regim:=5;
end;
//////////////////////////////////////////////////////////// 
procedure autor; //Данные отправителя
var dy:integer;
a1,a2,a3:string;
rs:RecordStore;
str:string;
  clicked, c: command;
  yd : integer;
     itemId : integer;
     cmdNext : command;
     cmdQuit : command;
Begin
     
  rs:=OpenRecordStore('autor');    // Открываем хранилище
    a1:=bbb(readRecordStoreEntry(rs,1)); // Пишем туда русскую строчку
  CloseRecordStore(rs); // Закрываем хранилище
 
  a2:=parser_mayn(a1,'*',0);
  a3:=parser_mayn(a1,'*',1);
     
begin
  ShowForm;
  itemId := FormAddTextField('Ваш логин', a2, 20, TF_URL);
  ii := FormAddTextField('Ваш пороль', a3, 20, TF_URL);
  i:=0;
  cmdQuit := CreateCommand('Ok!', CM_OK, 1);
  cmdNext := CreateCommand('Exit', CM_EXIT, 1);
  AddCommand(cmdQuit);
  AddCommand(cmdNext);
  repeat
  clicked := GetClickedCommand;
  if clicked = cmdNext then begin i:=1; clicked:= cmdQuit; end;
  delay(50);
  until (clicked = cmdQuit);


if (length(FormGetText(itemId))>0) and (i=0) then
begin
    str:=FormGetText(itemId)+'*'+FormGetText(ii);
    deleteRecordStore('autor');
    rs:=OpenRecordStore('autor');    // Открываем хранилище
    i:=AddString(rs, bbb(str)); // Пишем туда русскую строчку
  CloseRecordStore(rs); // Закрываем хранилище
end; 
 
  stop_none;
  //while (GetKeyPressed=-6) do begin delay(1000); end;
  regim:=5;
   
  clearForm;    
  ShowCanvas;
end;

end;
////////////////////////////////////////////////////////////
procedure conect; //Данные отправителя
begin

too_web;
regim:=4;
ii:=0;
too_web;
regim:=5;
end;
////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////
procedure dostavka_vopros; //Список заказов
var
a1,s1,s2:string;
rs:RecordStore;
const dy=15;

Begin

stop_none;

repeat

    gui32.init;
    SetSkin(LoadImage('/main4.png')); // Загружаем скин
    CaptionAlign(1); // Выравнивание заголовка окна
    SetWindow(0, 0, GetWidth, GetHeight, 'Что делать с доставкой '+iii); // Задаем окно
    ShowWindow; // Отрисовка окна

    if i>1 then i:=0;
    if i<0 then i:=1;
   
    //if i=0 then key_start_menu('****',5,(15+dy+25*0),150);  else key_start_menu('****',5,(15+dy+25*0),50);
    //if i=1 then key_start_menu('****',5,(15+dy+25*1),150);  else key_start_menu('****',5,(15+dy+25*1),50);
    if i=0 then key_start_menu('УДАЛИТЬ',5,  (15-50+dy+25*2),150);  else key_start_menu('УДАЛИТЬ',5,  (15-50+dy+25*2),50);
    if i=1 then key_start_menu('ПРОСМОТР',5, (15-50+dy+25*3),150);  else key_start_menu('ПРОСМОТР',5, (15-50+dy+25*3),50);

  drawImage(loadImage('/arrow.png'), 15, (22+dy+i*25));

    key:=KeyToAction(GetKeyPressed);
        if (key=GA_UP)   then begin i:=i-1; end;
        if (key=GA_DOWN) then begin i:=i+1; end;
        if (GetKeyPressed=-7) then begin regim:=5; zakaz:=''; end;
       
    if (key=GA_FIRE) then
begin

//if i=0 then regim:=5; //Отрпавка СМС
//if i=1 then regim:=5; //Отрпавка ВЕБ+СМС

if i=0 then
begin
regim:=5; //Удаление доставки
//********************************************************
iii:=iii+1;
dostavka_del;
end;

if i=1 then
begin
  rs:=OpenRecordStore('dostavka');    // Открываем хранилище
  s1:=readRecordStoreEntry(rs,iii+1);
  s2:=parser_mayn(s1,'!',1);
  a1:=s2;
    //a1:=bbb(readRecordStoreEntry(rs,iii+1)); // Пишем туда русскую строчку
  CloseRecordStore(rs); // Закрываем хранилище

zakaz:=parser_mayn(a1,'~',1);
regim:=6;
end;

end;
       
        stop_none;

  //кнопки
  drawImage(loadImage('/error.png'), GetWidth-30, GetHeight-25);    
    repaint_delay;   

until regim<>8;

end;
////////////////////////////////////////////////////////////


основной алгоритм

BEGIN

    font32.init(1);
    Font(0); LoadFont('Verdana_7b');
regim:=5; // стартовый режим
zakaz:=''; // стартовый режим

  REPEAT

 
if(regim=5)  then start_menu_2;
if(regim=0)  then katalog;
if(regim=6)  then zakaz_nabr_2; //Набранный заказ
if(regim=7)  then save_zakaz; //Сохранение заказа
if(regim=1)  then zakaz_spisok; //Список заказов
if(regim=2)  then zakaz_kontakt; //Список контактов
if(regim=8)  then zakaz_vopros; //Что делать с заказом
if(regim=11) then zakaz_del; //Что делать с заказом
if(regim=9)  then zakaz_sms;
if(regim=12) then kontakt_add; //Что делать с заказом
if(regim=13) then kontakt_del; //Что делать с заказом
if(regim=3)  then dostavka; //Что просят доставить
if(regim=10) then too_web; //Отправка заказа на сервер
if(regim=-1) then autor; //Данные отправителя
if(regim=4)  then conect; //Связь
if(regim=15)  then dostavka_vopros; //Связь


  //drawText(''+regim, 30, 40);
  //repaint_delay;   

  UNTIL false;

END.

RSS импорт: www.rss-script.ru

Новости

07 ноября 2011

Гречневая кр.

Социально незащищенным слоям населения мы бесплатно из своих резервов поставляем гречневую крупу и чебрец. …

07 ноября 2011

Рецепт

Кулинарный рецепт каши из топора. Рецепт солдатской каши из гречневой крупы

07 ноября 2011

Google Twitter

Наше представительстве в блогоссфере google

07 ноября 2011

Livejournal

Наш островок на планете Лайфджернал

07 ноября 2011

Mail.RU

Статья на портале mail.ru выложена

08 ноября 2011

Faсebook

страница

08 ноября 2011

ВКонтакте

страница

09 ноября 2011

SMS нужные

К приложению добавлены частые СМС сообщения для упрожения набора

Яндекс.Метрика
Создать бесплатный сайт с uCoz