Главная
Регистрация
Вход
Авторизироваться
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 2 из 3
  • «
  • 1
  • 2
  • 3
  • »
Модератор форума: ADMIN, Nextik  
Форум » MidletPascal » Основной » Библиотека процедур! (Библиотека процедур на все случаи жизни!)
Библиотека процедур!
gost66783805Дата: Пятница, 15.05.2009, 20:33 | Сообщение # 16
Новичок
Группа: Пользователи
Сообщений: 11
Награды: 1
Репутация: « 3 »
Статус: Offline
Тоесть читается переменная, если каретка , то в массив читается следующая строка
 
programmerДата: Пятница, 15.05.2009, 20:37 | Сообщение # 17
Умный
Группа: Проверенные
Сообщений: 599
Награды: 3
Репутация: « 111 »
Статус: Offline
ну да. тот большой имвол - разделитель строки, его можно менять
 
gost66783805Дата: Пятница, 15.05.2009, 20:43 | Сообщение # 18
Новичок
Группа: Пользователи
Сообщений: 11
Награды: 1
Репутация: « 3 »
Статус: Offline
programmer, чето не работает она, ошибка в tm[] там массив не обьявленный.
 
programmerДата: Пятница, 15.05.2009, 20:59 | Сообщение # 19
Умный
Группа: Проверенные
Сообщений: 599
Награды: 3
Репутация: « 111 »
Статус: Offline
а ну да я его в глобальных переменгных обьявлял. обьяви его только после заголовка проги а непроцедуры
 
programmerДата: Вторник, 19.05.2009, 18:47 | Сообщение # 20
Умный
Группа: Проверенные
Сообщений: 599
Награды: 3
Репутация: « 111 »
Статус: Offline
а так идея классная! +1 в репутацию тебе за жто biggrin
 
121212Дата: Среда, 20.05.2009, 15:58 | Сообщение # 21
Программист
Группа: Проверенные
Сообщений: 268
Награды: 7
Репутация: « 14 »
Статус: Offline
Function StrToUtf8(s: string;): string;
var i, c: integer; ch: char; ss: string;
begin
if (pos(s,chr(65488))<>-1) or (pos(s,chr(65489))<>-1) then begin
for i:=1 to Length(s) do begin
ch:=GetChar(s,i-1); c:=ord(ch);
if c=65488 then begin
ss:=ss+CHR(ord(GetChar(s,i))-64384);
i:=i+1;
end
else begin
if c=65489 then begin
ss:=ss+chr(ord(GetChar(s,i))-64320);
i:=i+1;
end
else ss:=ss+ch;
end;
end;
StrToUtf8:=ss;
end
else StrToUtf8:=s;
end;
пример использования StrToUtf8(пипец);
 
Blackpoet1Дата: Среда, 20.05.2009, 21:09 | Сообщение # 22
Новичок
Группа: Пользователи
Сообщений: 4
Награды: 0
Репутация: « 0 »
Статус: Offline
Quote
procedure textMenu(text1,text2,text3,text4:string;x,y,prom:integer);
begin
drawText(text1,x,y);
drawText(text2,x,y+prom);
drawText(text3,x,y+prom+prom);
drawText(text4,x,y+prom+prom+prom);
end;

Супер! Я вот тоже по этому примеру менюшки стал делать. Но не проще ли prom+prom+prom заменить просто на prom*3 (т.е. prom умножить на 3)?

 
121212Дата: Среда, 16.12.2009, 13:45 | Сообщение # 23
Программист
Группа: Проверенные
Сообщений: 268
Награды: 7
Репутация: « 14 »
Статус: Offline
моно итак!
 
DiaBloFFДата: Среда, 13.01.2010, 15:49 | Сообщение # 24
Новичок
Группа: Пользователи
Сообщений: 7
Награды: 0
Репутация: « 1 »
Статус: Offline
Вот небольшой код, использовал для воспроизведения звука

procedure snd(snfl:string;snmd:integer);//для непонятливых:1-файл,2-тип файла
begin
if snmd=1 then
begin
if not OpenPlayer(snfl, 'audio/x-wav') then snderror;
end;
else
if snmd=2 then
begin
if not OpenPlayer(snfl, 'audio/mpeg') then snderror;
end;
else
if snmd=3 then
begin
if not OpenPlayer(snfl, 'audio/midi') then snderror;
end;
end;
end;
end;
if not SetPlayerCount(1) then snderror;
if not StartPlayer then snderror;
end

procedure snderror; //Ошибка звука
begin
setColor(0,0,0);
fillrect(0,0,getWidth,getHeight);
setColor(255,0,0);
drawText('Ошибка звука',(getWidth-getStringWidth('Ошибка звука'))/2,getHeight/2-getStringHeight('Ошибка звука') -getStringHeight('Возможно,'));
drawText('Возможно,',(getWidth-getStringWidth('Возможно, включен режим'))/2,getHeight/2 -getStringHeight('Возможно,'));
drawText('включен режим телефона',(getWidth-getStringWidth('включен режим телефона'))/2,getHeight/2);
drawText('"без звука"',(getWidth-getStringWidth('"без звука"'))/2,getHeight/2+getStringHeight('включен режим телефона'));
repaint;
repeat
keyS:=getKeyClicked;
delay(10);
until keyS<>KE_NONE;
halt;
end;

Сообщение отредактировал DiaBloFF - Среда, 13.01.2010, 15:50
 
IgorДата: Понедельник, 03.05.2010, 20:12 | Сообщение # 25
Начальный
Группа: Пользователи
Сообщений: 40
Награды: 2
Репутация: « 2 »
Статус: Offline
Предлагаю процедуру, которая ждёт нажатия любой клавиши (для остановки в программе)
procedure wait;
var key:integer;
begin
repeat
key:=getkeypressed;
until key<>ke_none;
end;
 
fnc12Дата: Воскресенье, 06.06.2010, 18:02 | Сообщение # 26
Группа: Удаленные





Я предлагаю вашему вниманию мего-функцию RealToString, которой почему-то нет в МП.

Code

function RealToString(r:real):string;
begin
   RealToString:=''+r;
end;


Сообщение отредактировал fnc12 - Воскресенье, 06.06.2010, 18:03
 
121212Дата: Воскресенье, 06.06.2010, 18:25 | Сообщение # 27
Программист
Группа: Проверенные
Сообщений: 268
Награды: 7
Репутация: « 14 »
Статус: Offline
есть только в либе((
 
EdelonДата: Воскресенье, 12.09.2010, 02:10 | Сообщение # 28
Группа: Удаленные





а вот вам еще вопрос: как написать борландовскую процедуру INC (DEC) если в
Code
procedure inc(var inv:integer);
VAR компилятор игнорирует? в общем как не через функцию править перееменные? sad
 
IcedДата: Воскресенье, 12.09.2010, 03:51 | Сообщение # 29
Новичок
Группа: Пользователи
Сообщений: 13
Награды: 0
Репутация: « 7 »
Статус: Offline
Из справки МП
Code
Отличия от стандартного Паскаля:  
· процедуры и функции не могут быть вложенными, т.е. одна функция не может быть объявлена внутри другой функции   
· не поддерживаются объявления параметров var  

Так что никак, а жалко...
 
MidletMasterДата: Воскресенье, 12.09.2010, 15:20 | Сообщение # 30
Группа: Удаленные





Моно только не над писать var
procedure inc(inv,f,f,f:integer);
begin
...
end;


Сообщение отредактировал MidletMaster - Воскресенье, 12.09.2010, 15:20
 
Форум » MidletPascal » Основной » Библиотека процедур! (Библиотека процедур на все случаи жизни!)
  • Страница 2 из 3
  • «
  • 1
  • 2
  • 3
  • »
Поиск: