A2 & Oberon GOOGLE trans to English      Помощь      Поиск      Пользователи  Файловый архив


 Страниц (7): « 1 2 [3] 4 5 6 7 »   

> Описание: Обсуждение Среды разработки и Компилятора Оберон-2
satan
Отправлено: 24 Августа, 2009 - 08:12:16
Post Id



Newbie


Покинул форум
Сообщений всего: 38
Дата рег-ции: Июль 2009  
Репутация: 0




Выложил обновление суда http://satan.ho.com.ua/fed.zip

Обновил редактор...

Добавил выделение экспортированных функций
Добавил всплывающее окно с авто подстановкой и автоматической сортировкой по начальным символам (Попробуйте набрать SY и подождать сек.)
Доработал мультикомментарии (теперь они работают быстрее и эффективнее, а главное правильно!)

При кликанье на Warning или Danger сообщения авто переход на ошибку с открытием файла...

(Отредактировано автором: 28 Сентября, 2009 - 02:59:53)

 
 Top
satan
Отправлено: 27 Августа, 2009 - 03:52:46
Post Id



Newbie


Покинул форум
Сообщений всего: 38
Дата рег-ции: Июль 2009  
Репутация: 0




ОК... просто сейчас пока удобнее видеть дерево файлов

-------------------------------- ---

А как будет на Делфях выглядеть такое?

SYSTEM.GET(SYSTEM.ADR(x.adr)+2,h);
 
 Top
lit-uriy Супермодератор
Отправлено: 28 Августа, 2009 - 17:05:18
Post Id


Advanced Member


Покинул форум
Сообщений всего: 298
Дата рег-ции: Нояб. 2008  
Откуда: Тюмень / Новосибирск
Репутация: 0




satan пишет:
Делать выделение жирным импортируемые фукции или не надо?
я считаю, что это полезно.
 
 Top
BohdanT Администратор
Отправлено: 28 Августа, 2009 - 22:06:05
Post Id



Super Member


Покинул форум
Сообщений всего: 606
Дата рег-ции: Июль 2008  
Откуда: Киев, Украина
Репутация: 2




satan пишет:
А как будет на Делфях выглядеть такое?

А можешь кинуть всю процедуру, т.к. этот код очень некрасив?
 
 Top
satan
Отправлено: 29 Августа, 2009 - 01:36:29
Post Id



Newbie


Покинул форум
Сообщений всего: 38
Дата рег-ции: Июль 2009  
Репутация: 0




Ну вот кусок

  
PROCEDURE SysHiWord*(VAR x: OPL.Item);
VAR
reg:Reg.RegisterT;
h:INTEGER;
BEGIN
IF x.mode=MODE_CON THEN
SYSTEM.GET(SYSTEM.ADR(x.adr)+2,h);
x.adr:=h;
x.typ:=OPT.inttyp;
ELSE
CB.LoadAdr(x);
IF x.mode=MODE_REG THEN
OPM.CommentedErr(E.INTERNAL_MURKS,"adr mode not implemented");
ELSE
INC(x.adr,2);
INC(x.disp,2);
Reg.GetGenReg(reg);
OPL.PutORM(4, 00FB7H, reg, x); (* MOVZX r32, r/m16 *)
OPL.Release(x);
x.bas:=reg;
x.mode:=MODE_REG;
x.typ:=OPT.inttyp;
END;
END;
END SysHiWord;

PROCEDURE SysLoWord*(VAR x: OPL.Item);
VAR
reg:Reg.RegisterT;
h:INTEGER;
BEGIN
IF x.mode=MODE_CON THEN
SYSTEM.GET(SYSTEM.ADR(x.adr),h);
x.adr:=h;
x.typ:=OPT.inttyp;
ELSE
CB.LoadAdr(x);
IF x.mode=MODE_REG THEN
OPM.CommentedErr(E.INTERNAL_MURKS,"adr mode not implemented");
ELSE
Reg.GetGenReg(reg);
OPL.PutORM(4, 00FB7H, reg, x); (* MOVZX r32, r/m16 *)
OPL.Release(x);
x.bas:=reg;
x.mode:=MODE_REG;
x.typ:=OPT.inttyp;
END;
END;
END SysLoWord;


И вот этот до кучи

  PROCEDURE SysMkLong*(VAR x,y: OPL.Item);
VAR
reg:Reg.RegisterT;
h:INTEGER;
BEGIN
IF (x.mode=MODE_CON) & (y.mode=MODE_CON) THEN (* both operands are constants *)
SYSTEM.GET(SYSTEM.ADR(x.adr),h);
x.adr:=y.adr;
SYSTEM.PUT(SYSTEM.ADR(x.adr)+2,h);
x.typ:=OPT.linttyp;
ELSIF x.mode=MODE_CON THEN (* hiword is a constant *)

(Отредактировано автором: 29 Августа, 2009 - 01:37:18)

 
 Top
satan
Отправлено: 03 Сентября, 2009 - 16:30:26
Post Id



Newbie


Покинул форум
Сообщений всего: 38
Дата рег-ции: Июль 2009  
Репутация: 0




ОК ребят, забейте!!! Радость

Токда другой вопрос, кто нить может накидать функцию чтения параметров коммандной строки?
 
 Top
BohdanT Администратор
Отправлено: 03 Сентября, 2009 - 17:28:32
Post Id



Super Member


Покинул форум
Сообщений всего: 606
Дата рег-ции: Июль 2008  
Откуда: Киев, Украина
Репутация: 2




Цитата:
ОК ребят, забейте!!!

Просто некогда написать толково, подожди маленько.
Например можно так:

procedure TForm1.Button1Click(Sender: TObject);
VAR
adr:pointer;
h:pointer;
begin
h:=pointer(LONGINT(adr)+2);
adr:=pointer(h);
end;



Цитата:
Токда другой вопрос, кто нить может накидать функцию чтения параметров коммандной строки?

А чем стандартные средства не устраивают?
 
 Top
Nils
Отправлено: 03 Сентября, 2009 - 17:35:13
Post Id


Newbie


Покинул форум
Сообщений всего: 13
Дата рег-ции: Июнь 2009  
Репутация: 0




satan пишет:
ОК ребят, забейте!!! ::biggrin24.gif::

Токда другой вопрос, кто нить может накидать функцию чтения параметров коммандной строки?

begin
{ get some helpful informations }
GetStartupInfo(@startupinfo);

SysResetFPU;
if not(IsLibrary) then
SysInitFPU;

{ some misc Win32 stuff }
hprevinst:=0;
if not IsLibrary then
SysInstance:=getmodulehandle(GetCommandFile);

MainInstance:=HInstance;

{ pass dummy value }
StackLength := CheckInitialStkLen($1000000);
StackBottom := StackTop - StackLength;

cmdshow:=startupinfo.wshowwindow;
{ Setup heap }
InitHeap;
SysInitExceptions;
{ setup fastmove stuff }
fpc_cpucodeinit;
SysInitStdIO;
{ Arguments }
setup_arguments; { то что Вам требуется }
{ Reset IO Error }
InOutRes:=0;
ProcessID := GetCurrentProcessID;
{ threading }
InitSystemThreads;
{ Reset internal error variable }
errno:=0;
initvariantmanager;
initwidestringmanager;
InitWin32Widestrings;
DispCallByIDProc:=@DoDispCallByIDError;
end.

(Отредактировано автором: 04 Сентября, 2009 - 17:42:34)

 
 Top
satan
Отправлено: 03 Сентября, 2009 - 18:30:35
Post Id



Newbie


Покинул форум
Сообщений всего: 38
Дата рег-ции: Июль 2009  
Репутация: 0




Спасиб за ответ, сорри за вопрос.

Я имел ввиду чтение командной строки из Оберон -2 (не ББ не АОС)

2 Nils

В слове "Спасибо" как минимум одна буква "О", но я не заморачиваюсь Радость
 
 Top
satan
Отправлено: 03 Сентября, 2009 - 20:49:47
Post Id



Newbie


Покинул форум
Сообщений всего: 38
Дата рег-ции: Июль 2009  
Репутация: 0




Делаю в XDS вот так

<* +main*>
MODULE CONSOLE;

IMPORT SYSTEM, WD:=Win32;

VAR
stdOut: WD.HANDLE;

PROCEDURE WriteLPSTR (lp:WD.LPSTR);
VAR
res:WD.BOOL;
written:WD.DWORD;
BEGIN
stdOut:=WD.GetStdHandle(0FFFFFFF5H);
res:=WD.WriteConsoleA(stdOut,lp,255,written,0);
END WriteLPSTR;

PROCEDURE WR();
VAR
commandline:WD.LPSTR;
BEGIN
commandline:=SYSTEM.VAL(WD.LPSTR,WD.GetCommandLine); (*<----- Ошибка *)
WriteLPSTR(commandline);
END WR;

BEGIN
WR();
END CONSOLE.


Не хотит компилить хоть убей

Severe Error: External command fault 255
xlink @tmp.lnk

(Отредактировано автором: 03 Сентября, 2009 - 20:59:30)

 
 Top
Страниц (7): « 1 2 [3] 4 5 6 7 »
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0, скрытых: 0)
« Cредства разработки »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Locations of visitors to this page
[Valid RSS]

RSS

Valid CSS!


Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.0128]     [ Gzipped ]