forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Основной форум (http://forum.boolean.name/forumdisplay.php?f=49)
-   -   Помогите начинаешему ЯВеру! (http://forum.boolean.name/showthread.php?t=3789)

Piligrim 23.07.2007 23:05

Re: Помогите начинаешему ЯВеру!
 
if sms.send('sms://'+dest, text)=0 then
showError('Error');
while sms.is_sending<>0 do begin
Delay(100);
end;
if sms.successfull=0 then
Debug('Error');

BASSON XVI 24.07.2007 17:14

Re: Помогите начинаешему ЯВеру!
 
Спасиб посомтрю ща дописываю своему прилож нормальный Фм! Как только с ним разберюся так сразу и за СМС возсюь!

BASSON XVI 25.07.2007 12:42

Re: Помогите начинаешему ЯВеру!
 
Вот посмотрите код что то не работает!
Код:

program TxT_Edtihion2;
uses jsr75;
uses fsafm;
  var
    cmdNext : command; 
    cmdBack : command; 
    cmdQuit : command;
PCmd,MCmd, clicked : command;

str : string;    // буфер
files: array[1..200] of string; // имена файлов, коичество файлов = размер массива
filesID: array[1..200] of integer; // ID строк 
nameT : string; // текущая папка

num : integer; // щечики
iID : integer;
nfile : string;
etc : string;

//--------------------------------------------------------------------------------------
{Мои булеаны!}
BultextBox, BultextOpen : boolean;
//---------------------------------------------------------------------------------------
{Указываем на процедуры которые идут после комманд на них}
procedure textBox; forward;
procedure textOpen; forward;

//---------------------------------------------------------------------------------------
procedure textOpen;

begin

cmdNext := CreateCommand('ок', CM_OK, 1);
  cmdBack := CreateCommand('выход', CM_EXIT, 1);

nameT:= ''; // начальная папка

while (clicked <> cmdBack) do
begin
// очищаем команды
  removeCommand(cmdNext);
  removeCommand(cmdBack);
  Repaint; // обновление экрана



  if nameT = '' then // проверка на нахождение в корне
  begin


  str:=fsafm.list_roots(''); // чтение дисков
      num:= fsafm.num_disk(nameT); // определяем кол-во дисков



  end 
  else
  begin


  str:=fsafm.list_(nameT); // чтение папок
  num:= fsafm.num_dir(nameT); // определяем кол-во папок

  end;

files [1]:= '...'; // добавляем первой строкой, выполняет функцию вверх



if str <> '' then  // проверка наличия файлов
begin



  for i:=2 to num + 1 do // очистка меню
  begin
  files [i]:= ''
  end;


  for i:=2 to num + 1 do
  begin


    files [i]:=  copy(str, 0, pos(str, '|') ); //заполнение массива именами
    str:= copy(str, pos(str, '|') + 1 , length(str));

  if pos(str, '|') = -1 then  // проверка знака '|' в строке
  begin
  str:= '.';
  break; 
  end;

  end;
end; 




// создаем меню



showMenu(nameT, CH_IMPLICIT);

for i:= 1 to num + 1 do
begin
    if files[i] <> '' then
    begin
    filesID [i] := menuAppendString(files[i]); // создаем строки
    end;
end;


            // добавление команд
            AddCommand(cmdNext);
  AddCommand(cmdBack);
  Repaint; // обновление экрана



            repeat  // ждем нажатия на команду
  delay(100);
  clicked:= getClickedCommand;
  until clicked <> emptyCommand;

  if clicked <> cmdBack then
  begin

  iID:= menuGetSelectedIndex + 1; // к ID выбранной строки прибавим 1, для удобства

  if iID=1 then // если первая строка, переходим вверх
  begin
    if Length(nameT) <= 3 then // проверка на нахождение в корне
    begin
    nameT:='';
    end
    else
    begin

    for i:= 2 to length(nameT) do // команда вверх, вычисление предидущей папки
    begin

    if copy(nameT, length(nameT) - i, length(nameT) - i + 1 ) = '/' then
    begin

    nameT:= copy(nameT, 0, length(nameT) - i + 1  );
    break;

    end;
    end;
    end;
  end
  else
  begin


    if copy(files[iID], length(files[iID]) - 1, length(files[iID])) = '/' then nameT:= nameT + files[iID]; // если выбрана папка переходим в нее

    if length(files[iID]) >= 4 then
    begin

      if copy(files[iID], length(files[iID]) - 4, length(files[iID])) = '.gif' then debug('gif');
      if copy(files[iID], length(files[iID]) - 4, length(files[iID])) = '.txt' then
      begin
        buf:= jsr75.read_file(nameT + files[iID]);
          textbox;
      end;


    end;
  end;

  end;

end; 
end;



//---------------------------------------------------------------------------------------

procedure textBox;
begin
  buf:= jsr75.read_file(fname);
  buf:= getTextBoxString;     

  showtextbox('Редактирование',buf,2000,tf_any);
  PCmd := createCommand('Сохранить', CM_SCREEN, 1);
  MCmd := createCommand('Меню', CM_OK, 0);
  addCommand(PCmd);
  addCommand(MCmd);
  repaint; 
  repeat
    clicked := getClickedCommand;
  until clicked <> emptyCommand;

  if clicked = MCmd then logMenu;
  if clicked = PCmd then logSave;

end;

//---------------------------------------------------------------------------------------
begin
  textOpen;
end.


BASSON XVI 25.07.2007 12:47

Re: Помогите начинаешему ЯВеру!
 
Вложений: 2
Ой забыл библу присоединить нудную! Вот держите!
Вложение 4124

BASSON XVI 24.08.2007 05:10

Re: Помогите начинаешему ЯВеру!
 
НАрод помгайте мне!!! Короче у меня что что с Канвасом стало! Ранше он на Л6 на весь экран был! А теперь белая полоска в 10 пикселей мешает!!! Я даже незнаю что и откуда она взялась! раньше её не было!!!

fads 24.08.2007 16:01

У тебя два раза написано uses. Пиши так: uses fsafm, jsr75. Остальные ошибки незаметны с оперы мини))) А насчет канваса я не понял, че с ним делал и какие ошибки пишет компилятор

BASSON XVI 24.08.2007 20:27

Re: Помогите начинаешему ЯВеру!
 
Я гороврю не про код FM! Я говорю про экран канвас!!!!
Цитата:

НАрод помгайте мне!!! Короче у меня что что с Канвасом стало! Ранше он на Л6 на весь экран был! А теперь белая полоска в 10 пикселей мешает!!! Я даже незнаю что и откуда она взялась! раньше её не было!!!
__________________

ViNT 28.08.2007 18:12

Re: Помогите начинаешему ЯВеру!
 
Софт-полоска или чтото другое?

BASSON XVI 28.08.2007 18:52

Re: Помогите начинаешему ЯВеру!
 
Извеняй что не написал решил эту траблу!! С помощью добавления класса МММ! А вооще просто белая полоска в 10 пикселей! Была!!!!

BASSON XVI 29.08.2007 20:02

Re: Помогите начинаешему ЯВеру!
 
Можно ли на чертить сетку(условно) в канвасе по которой будет двигаться курсор? Ну скажем квадратами в 10 пикселей! И скажите как пользоваться либой Канвас!(пару кусков кода!)мне нужно вырезать определённые куски изображения из карты шрифта J !

ViNT 29.08.2007 21:04

Re: Помогите начинаешему ЯВеру!
 
На счет сетки-примерно так:
Код:

program NewProject;
var
x,y:integer;
ix,iy,oix,oiy:integer;
key:integer;

procedure drawbutton(x,y,w,h:integer;pressed:boolean);
begin
setcolor(128,128,128);
fillrect(x,y,w,h);
if pressed then
begin
setcolor(0,0,0);
drawline(x,y,x+w,y);
drawline(x,y,x,y+h);
setcolor(255,255,255);
drawline(x+w,y+h,x+w,y);
drawline(x+w,y+h,x,y+h);
end;

if not pressed then
begin
setcolor(255,255,255);
drawline(x,y,x+w,y);
drawline(x,y,x,y+h);
setcolor(0,0,0);
drawline(x+w,y+h,x+w,y);
drawline(x+w,y+h,x,y+h);
end;
end;


begin
iy:=1;
ix:=1;
oix:=1;
oiy:=1;
for y:= 1 to 10 do
for x:= 1 to 10 do
begin
drawbutton(x*10,y*10,9,9,false);
end;
repaint;
repeat

key:=getkeyclicked;
if key=ke_key6 then ix:=ix+1;
if key=ke_key4 then ix:=ix-1;
if key=ke_key2 then iy:=iy-1;
if key=ke_key8 then iy:=iy+1;

if key<>ke_none then
begin
drawbutton(ix*10,iy*10,9,9,true);
drawbutton(oix*10,oiy*10,9,9,false);
oix:=ix;
oiy:=iy;
repaint;
end;
key:=ke_none;
until key=ke_key0;

repaint;       
delay(20000);
end.

На счет либы канвас должен быть пример в архиве.


Часовой пояс GMT +4, время: 14:55.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot