Авторизироваться
  • Страница 3 из 4
  • «
  • 1
  • 2
  • 3
  • 4
  • »
Модератор форума: ADMIN, Nextik  
Библиотека процедур!
20.05.2009 в 15:58 Сообщение #21
121212
Программист
Проверенные
Сообщений: 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(пипец);
20.05.2009 в 21:09 Сообщение #22
Blackpoet1
Новичок
Пользователи
Сообщений: 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)?

16.12.2009 в 13:45 Сообщение #23
121212
Программист
Проверенные
Сообщений: 268
Награды: 7
Репутация: 14
Offline
моно итак!
13.01.2010 в 15:49 Сообщение #24
DiaBloFF
Новичок
Пользователи
Сообщений: 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
03.05.2010 в 20:12 Сообщение #25
Igor
Начальный
Пользователи
Сообщений: 40
Награды: 2
Репутация: 2
Offline
Предлагаю процедуру, которая ждёт нажатия любой клавиши (для остановки в программе)
procedure wait;
var key:integer;
begin
repeat
key:=getkeypressed;
until key<>ke_none;
end;
06.06.2010 в 18:02 Сообщение #26
fnc12
Удаленные
Я предлагаю вашему вниманию мего-функцию RealToString, которой почему-то нет в МП.

Code

function RealToString(r:real):string;
begin
   RealToString:=''+r;
end;
Сообщение отредактировал fnc12 - Воскресенье, 06.06.2010, 18:03
06.06.2010 в 18:25 Сообщение #27
121212
Программист
Проверенные
Сообщений: 268
Награды: 7
Репутация: 14
Offline
есть только в либе((
12.09.2010 в 02:10 Сообщение #28
Edelon
Удаленные
а вот вам еще вопрос: как написать борландовскую процедуру INC (DEC) если в
Code
procedure inc(var inv:integer);
VAR компилятор игнорирует? в общем как не через функцию править перееменные? sad
12.09.2010 в 03:51 Сообщение #29
Iced
Новичок
Пользователи
Сообщений: 13
Награды: 0
Репутация: 7
Offline
Из справки МП
Code
Отличия от стандартного Паскаля:  
· процедуры и функции не могут быть вложенными, т.е. одна функция не может быть объявлена внутри другой функции   
· не поддерживаются объявления параметров var  

Так что никак, а жалко...
12.09.2010 в 15:20 Сообщение #30
MidletMaster
Удаленные
Моно только не над писать var
procedure inc(inv,f,f,f:integer);
begin
...
end;
Сообщение отредактировал MidletMaster - Воскресенье, 12.09.2010, 15:20
  • Страница 3 из 4
  • «
  • 1
  • 2
  • 3
  • 4
  • »
Поиск: