forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   MidletPascal (http://forum.boolean.name/forumdisplay.php?f=46)
-   -   помогите с написанием либы (http://forum.boolean.name/showthread.php?t=3765)

Eddy 27.06.2007 23:27

помогите с написанием либы
 
Народ, возникла следующая проблема:
пытаюсь написать либу, которая выводит рисунок на экран, попытался сделать как это делается в чужих либах, а именно:
M.G.draw... , но втк пишет, что ошибка, попробывал добавить java M и FW, которые взял из скомпилированого проекта, но втк пишет туже ошибку "package M does not exist".
Так как нужно делать?

ViNT 28.06.2007 00:20

Re: помогите с написанием либы
 
Ты как я понял, пишешь import M (судя по ошибке)? Если да, то это писать не надо, если нет, то выложи исходник.

Eddy 28.06.2007 16:24

Re: помогите с написанием либы
 
Вообщем, хочу сделать либу, которая бы юзала нокиа уи
для начала захотел сделать только одну процедуру drawImage из com.nokia.mid.ui.DirectGraphics
файлы из нокиавской либы закинул в midpapi10.jar
сам DirectGraphics выглядит так:
package com.nokia.mid.ui;
import javax.microedition.lcdui.Image;
public interface DirectGraphics
{
public abstract int getAlphaComponent();
public abstract void setARGBColor(int i);
public abstract void drawImage(Image image, int i, int j, int k, int l);
public abstract void drawTriangle(int i, int j, int k, int l, int i1, int j1, int k1);
public abstract void fillTriangle(int i, int j, int k, int l, int i1, int j1, int k1);
public abstract void drawPolygon(int ai[], int i, int ai1[], int j, int k, int l);
public abstract void fillPolygon(int ai[], int i, int ai1[], int j, int k, int l);
public abstract void drawPixels(int ai[], boolean flag, int i, int j, int k, int l, int i1,
int j1, int k1, int l1);
public abstract void getPixels(int ai[], int i, int j, int k, int l, int i1, int j1,
int k1);
public abstract void getPixels(byte abyte0[], byte abyte1[], int i, int j, int k, int l, int i1,
int j1, int k1);
public abstract void getPixels(short aword0[], int i, int j, int k, int l, int i1, int j1,
int k1);
public abstract void drawPixels(byte abyte0[], byte abyte1[], int i, int j, int k, int l, int i1,
int j1, int k1, int l1);
public abstract void drawPixels(short aword0[], boolean flag, int i, int j, int k, int l, int i1,
int j1, int k1, int l1);
public abstract int getNativePixelFormat();
public static final int FLIP_HORIZONTAL = 8192;
public static final int FLIP_VERTICAL = 16384;
public static final int ROTATE_90 = 90;
public static final int ROTATE_180 = 180;
public static final int ROTATE_270 = 270;
public static final int TYPE_BYTE_1_GRAY_VERTICAL = -1;
public static final int TYPE_BYTE_1_GRAY = 1;
public static final int TYPE_BYTE_2_GRAY = 2;
public static final int TYPE_BYTE_4_GRAY = 4;
public static final int TYPE_BYTE_8_GRAY = 8;
public static final int TYPE_BYTE_332_RGB = 332;
public static final int TYPE_USHORT_4444_ARGB = 4444;
public static final int TYPE_USHORT_444_RGB = 444;
public static final int TYPE_USHORT_555_RGB = 555;
public static final int TYPE_USHORT_1555_ARGB = 1555;
public static final int TYPE_USHORT_565_RGB = 565;
public static final int TYPE_INT_888_RGB = 888;
public static final int TYPE_INT_8888_ARGB = 8888;

мой код:
import javax.microedition.lcdui.Image;
import com.nokia.mid.ui.DirectGraphics;

public abstract class Lib_nokia
{
public abstract void drawImageN(Image image, int i, int j, int k, int l);
{
M.G.drawImage(image, i, j, k, l);
}
}
кстати, я эмуль качал урезанным, и справки по фунциям там не было, если у кого она есть, закинте, пожалуйста.


Eddy 28.06.2007 16:26

Re: помогите с написанием либы
 
И сейчас, кстати, другая ошибка, а именно
C:\WTK21\apps\Lib_nokia\src\Lib_nokia.java:10: cannot resolve symbol
symbol : variable image
location: class Lib_nokia
M.G.drawImage(image, i, j, k, l);
и так по всем 5 переменным

Piligrim 28.06.2007 17:00

Re: помогите с написанием либы
 
убери abstract и добавь static

Eddy 28.06.2007 17:09

тогда так ругается
C:\WTK21\apps\Lib_nokia\src\Lib_nokia.java:5: modifier static not allowed here
static class Lib_nokia
^
C:\WTK21\apps\Lib_nokia\src\Lib_nokia.java:7: missing method body, or declare abstract
public static void drawImageN(Image image, int i, int j, int k, int l);

и те ошибки остаются

может с M надо намутить чего?он вообще как должен выглядеть?

ViNT 28.06.2007 18:09

Re: помогите с написанием либы
 
В первую очередь нужно заменить

public abstract class Lib_nokia

на

public class Lib_nokia

а

public abstract void drawImageN

на

public static void drawImageN

Код должен быть примерно таким:

import javax.microedition.lcdui.Image;
//import com.nokia.mid.ui.DirectGraphics;

public class Lib_nokia
{
public static void drawImageN(Image image, int i, int j, int k, int l);
{
M.G.drawImage(image, i, j, k, l);
}
}

Eddy 28.06.2007 19:07

Re: помогите с написанием либы
 
опять те же ошибки:
C:\WTK21\apps\Lib_nokia\src\Lib_nokia.java:6: missing method body, or declare abstract
public static void drawIma(Image image, int i, int j, int k, int l);
^
C:\WTK21\apps\Lib_nokia\src\Lib_nokia.java:8: cannot resolve symbol
symbol : variable image
location: class Lib_nokia
M.G.drawImage(image, i, j, k, l);
^
C:\WTK21\apps\Lib_nokia\src\Lib_nokia.java:8: cannot resolve symbol
symbol : variable i
location: class Lib_nokia
M.G.drawImage(image, i, j, k, l);
^
C:\WTK21\apps\Lib_nokia\src\Lib_nokia.java:8: cannot resolve symbol
symbol : variable j
location: class Lib_nokia
M.G.drawImage(image, i, j, k, l);
^
C:\WTK21\apps\Lib_nokia\src\Lib_nokia.java:8: cannot resolve symbol
symbol : variable k
location: class Lib_nokia
M.G.drawImage(image, i, j, k, l);
^
C:\WTK21\apps\Lib_nokia\src\Lib_nokia.java:8: cannot resolve symbol
symbol : variable l
location: class Lib_nokia
M.G.drawImage(image, i, j, k, l);
может вы объясните, как вы с нуля делаете?

Eddy 28.06.2007 20:12

Re: помогите с написанием либы
 
всё, получилось, всем спасибо.

odd 20.09.2007 08:38

Re: помогите с написанием либы
 
Напишите plz либу чтобы она возвращала значение TimeZone.
типа прототип:
public static int GetTimeZone ()

ViNT 20.09.2007 14:14

Re: помогите с написанием либы
 
Вложений: 2
Вот.
Описание и пример в архиве.

odd 26.10.2007 09:18

Re: помогите с написанием либы
 
Спасибо за либу. А нельзя ещё сделать реализацию getRawOffset(), а то мне впадлу строку обрабатывать. Т.е. к примеру, get_default возращает строку "GMT +2", а нельзя реализовать функцию чтоб она просто возращала 2?

ViNT 27.10.2007 13:44

Re: помогите с написанием либы
 
Вложений: 2
Добавил
function hour_count(idx:integer):integer;
idx-индекс элемента(0-default);

MotoMustanger 02.12.2007 14:13

Re: помогите с написанием либы
 
Нужна еще одна либа, которая создает фулскрин на всех моделях (как в Lib_game) но при этом чтобы стандартные процедуры рисования repaint, setclip и нажатия клавиш оставались стандартными. Тоесть просто чтобы либа создавала фулскрин на всех моделях.У меня не получилось сделать т.к. яву не знаю. Либа cnv2 работает таким образом, но не на всех моделях.

Piligrim 02.12.2007 21:41

Re: помогите с написанием либы
 
Если в опциях проекта поставить Fullscreen MIDP2.0 это и будет полноэкранный для большинства моделей. Просто Моторола слегка отошла от стандарта.


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

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