Avatar billede Slettet bruger
13. maj 2002 - 19:49 Der er 3 kommentarer og
1 løsning

Paralle programmering

Jeg skal have sendt en output til parallel porten, men er fuldstændig newbie i Delphi, men jeg har fundet en
addon til Delphi 6 og jeg har Delphi 6 Personal så jeg ved ikke om det kan gøre nogen forskel men i kan se
et eksempel fra hjælpfilen og det jeg har prøvet at lav og se hvad det er galt. Der følger også et eksempel
med som virker men den er for stor til at jeg kan overskue det

Hjæpfil:

Pin Property
Data Type : Boolean
Set or returns an electrical level from the select pin of curren LPT's D25 connector.
Delphi syntax: object.Pin[PinNumber:Integer] [: = value ];

Parameters:
PinNumber - requested pin number (1..25);
value - TRUE to set an electrical level high, or FALSE to set low.

Returns:
FALSE - if an electrican level on requested pin is low
TRUE - if an electrican level on requested pin is high

Remarks:
1. The current LPT must be in corresponding mode - read or write, see ReadMode property.
2. Not all pins are accessible for this operation. Read LPT documentation or run Bits example for more
info.

ReadMode Property
Data Type : Boolean
Allows to switch the data register of current LPT to "read" or "write" mode.
Delphi syntax: object.ReadMode [: = value ];
The settings for value are:
0 - sets the data register to "write only" mode (default).
1 - sets the data register to "read only" mode (not supported by SPP!).

Returns:
FALSE - "write" mode enabled
TRUE  - "read" mode enabled


Mit forslag:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    VicLPT1: TVicLPT;
    procedure VicLPT1LptInterrupt(DataPort, StatusPort: Byte; TimeStampLo,
      TimeStampHi: Cardinal);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.VicLPT1LptInterrupt(DataPort, StatusPort: Byte;
  TimeStampLo, TimeStampHi: Cardinal);
begin
object.Pin[1:Integer] [: = TRUE ];

end.

Fejlmeddelelser:
[Error] Unit1.pas(29): Statement expected but 'OBJECT' found
[Error] Unit1.pas(29): ']' expected but ':' found
[Error] Unit1.pas(29): Expression expected but ':' found
[Fatal Error] Project2.dpr(5): Could not compile used unit 'Unit1.pas'

Håber det kan hjælpe så i kan hjælpe mig!

Hilsen Bipsen
Avatar billede martinlind Nybegynder
13. maj 2002 - 20:13 #1
Hvis Pin2 er sat ( TRUE ) så sæt Pin1 til TRUE ellers sæt Pin1 til FALSE
:

procedure TForm1.VicLPT1LptInterrupt(DataPort, StatusPort: Byte;
  TimeStampLo, TimeStampHi: Cardinal);
begin
  if VicLPT1.Pin[2] then 
    VicLPT1.Pin[1] := TRUE
  else
    VicLPT1.Pin[1] := FALSE;
end;

Hvis Pin2 er sat ( TRUE ) så sæt Pin1 til TRUE ellers sæt Pin1 til FALSE

/Martin
Avatar billede geronimo Nybegynder
03. juli 2002 - 07:58 #2
hvad er det for et addon du har fået dig der? jeg har selv et andet men dit ser ud til at være bedre til det jeg skal bruge det til :)
Avatar billede Slettet bruger
05. juli 2002 - 12:52 #3
Jeg kunne ikke få det til at fungere men jeg kan måske sende det til dig ellers lægge et link så du kan få det og hvis du så vil gøre det samme så jeg kan se hvad det er du har

Bipsen
Avatar billede Slettet bruger
20. oktober 2006 - 14:41 #4
Lukker spg.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester