Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Немогу сообразить - начинающий (тока-тока)


cambit ©   (2012-08-29 16:37:00) 

Сильно не пинайте - прочитал только две статьи об азах делфи. Имеется код
var aa,e:word;
port,base,data:word;
{.........}
aa:=0;
base:=$3F8;

begin
  port:=base+4;
  data:=2;
  outport(port,aa,data);
      sleep(10);
      port:=base+6;
      e:=inport(port) and 16;
   port:=base+4;
   data:=0;
   outport(port,aa,data);
end;


пробую компилировать - выдает:
[Error] Unit1.pas(21): Identifier redeclared: 'aa'
 [Error] Unit1.pas(22): Identifier redeclared: 'base'
 [Error] Unit1.pas(24): Statements not allowed in interface part
 [Error] Unit1.pas(27): Undeclared identifier: 'outport'
 [Error] Unit1.pas(30): Undeclared identifier: 'inport'
 [Error] Unit1.pas(37): Declaration expected but end of file found
 [Fatal Error] Project2.dpr(5): Could not compile used unit 'Unit1.pas'
Подскажите где косяк?


Palladin   (2012-08-30 16:11:00) [1]

http://www.delphimaster.ru/cgi-bin/forum.pl?id=1208434700&n=6


cambit   (2012-08-29 23:57:00) [2]

Спасибо за совет. Как то сам не додумался...


Плохиш   (2012-08-29 20:47:00) [3]


> прочитал только две статьи об азах делфи

Дальше читать не стал.
Ответ: Найми программиста.


Inovet   (2012-08-29 20:24:00) [4]

> [10] cambit ©   (29.08.12 20:03)
> там что-то сверху добавить надо?

Создать консольное приложение и вставить вместо комментария, где указано.


cambit   (2012-08-29 20:03:00) [5]

Пишет :
[Error] Unit1.pas(21): Statements not allowed in interface part
 [Error] Unit1.pas(23): Statement expected but ')' found
 [Error] Unit1.pas(25): Undeclared identifier: 'PlaySound'
 [Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas'

там что-то сверху добавить надо?


RWolf   (2012-08-29 19:16:00) [6]


var
 h:THandle;
begin
 h:=CreateFile('COM1', GENERIC_READ or  GENERIC_WRITE, 0, nil, OPEN_EXISTING, 0, 0);
);
 EscapeCommFunction(h, SETDTR);
 PlaySound('sound.wav', 0, 0);
 EscapeCommFunction(h, CLRDTR);
 CloseHandle(h);
end;


cambit   (2012-08-29 18:26:00) [7]

А можно чуть по-подробнее - задача имеет чисто прикладное значение, а в Делфи вникать нет времени. Как написать код, чтобы на СОМ1 указанная Вами функция выполнила SETDTR, затем воспроизвелся файл sound.wav, а потом выполнилось бы CLRDTR и программа закрылась.


DVM   (2012-08-29 17:55:00) [8]


> cambit ©   (29.08.12 17:29) [3]

выкинь это все, тут неправильно буквально все.


RWolf   (2012-08-29 17:55:00) [9]

Это делает функция EscapeCommFunction.


Wadimka   (2012-08-29 17:54:00) [10]

Вот косяк
[Error] Unit1.pas(22): Identifier redeclared: 'base'
[Error] Unit1.pas(24): Statements not allowed in interface part
[Error] Unit1.pas(27): Undeclared identifier: 'outport'
[Error] Unit1.pas(30): Undeclared identifier: 'inport'
[Error] Unit1.pas(37): Declaration expected but end of file found

у тебя создано к проекту твоему еще куча пасов как раз там и ошибки
лучще скопируй свой код
создайно Новый проек
и вставь его туда


cambit   (2012-08-29 17:43:00) [11]

Сигнал имеется ввиду +12 вольт на какую либо ножку СОМ порта


cambit   (2012-08-29 17:29:00) [12]

даю код полностью:
unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs;

type
 TForm1 = class(TForm)
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;
var
aa,e:word;
port,base,data:word;
{.........}
aa:=0;
base:=$3F8;

begin
  port:=base+4;
  data:=2;
  outport(port,aa,data);
      sleep(10);
      port:=base+6;
      e:=inport(port) and 16;
   port:=base+4;
   data:=0;
   outport(port,aa,data);

end.

По поводу порта такой вариант меня полностью устраивает (если заработает, код взял из вот этой статьи: http://dikoy44.narod.ru/ports/IndexPP.htm.
Собственно нужна прога, которая выдает сигнал (на любую ногу СОМ-порта), затем воспроизводит аудиофайл коротенький и снимает сигнал с порта. (объявление по системе оповещения из компьютера).
Помогите, если это возможно.


MBo   (2012-08-29 17:00:00) [13]

Помимо синтаксиса стоит сказать, что работать с компортом так уже не стоит (а без хитрых библиотек и просто невозможно)


Amoeba_   (2012-08-29 16:51:00) [14]

Покажи Unit1.pas полностью, а не его огрызок. Косяки у тебя в той его части, которая осталась "за кадром".


Наверх

Титульная страница Поиск, карта сайта Написать письмо