Avatar billede atox Nybegynder
23. oktober 2001 - 18:24 Der er 7 kommentarer og
1 løsning

Hvad er der galt???

Scriptet skal bruges til at skrive til en Lpt port... har hugget scriptet fra et andet spm på eksperten:


unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}


procedure Out32(PortAdresse:smallint;PortVaerdi:smallint);stdcall;export;
var
  ByteVaerdi: Byte;
begin
  ByteVaerdi:=Byte(PortVaerdi);
  asm
    push dx
    mov dx,PortAdresse
    mov al,ByteVaerdi
    out dx,al
    pop dx
  end;
end;


procedure BinToParallel(bin: String);
var
  tmpByte: Byte;
  I: Integer;
begin
  for I := length(bin) downto 1 do
    if bin[I] = \' \' then
      Delete(bin, I, 1);

  tmpByte := (StrToIntDef(bin[1], 0) * 1) +
            (StrToIntDef(bin[2], 0) * 2) +
            (StrToIntDef(bin[3], 0) * 4) +
            (StrToIntDef(bin[4], 0) * 8) +
            (StrToIntDef(bin[5], 0) * 16) +
            (StrToIntDef(bin[6], 0) * 32) +
            (StrToIntDef(bin[7], 0) * 64) +
            (StrToIntDef(bin[8], 0) * 128);
  Out32($0378,tmpByte)
end;

  procedure TForm1.Button1Click(Sender: TObject);
begin

BinToParallel(\'01010101\');

end;

end.



AtoX
Avatar billede dkn Nybegynder
23. oktober 2001 - 18:31 #1
Hvad siger den??

Det enseste jeg kan se er at kalder noget externt med en procdure, så måske skal det se sådan ud:

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
  procedure Out32(PortAdresse:smallint;PortVaerdi:smallint);stdcall;export;//Har sat den her op
var
  Form1: TForm1;

implementation

{$R *.DFM}

....
Avatar billede torbenthyregod Nybegynder
23. oktober 2001 - 18:45 #2
Er det under win98, nt, 2000 ?????
Avatar billede atox Nybegynder
23. oktober 2001 - 18:51 #3
>> torbenthyregod - jeg kører 2000

>> Dkn - jeg er helt ny i delphi go ved ikke en *%&# om hvordan man gør det...
Avatar billede torbenthyregod Nybegynder
23. oktober 2001 - 18:56 #4
okay 2000!  Under 2000 har du ikke direkte adgang til lpt port, for den sag skyld ikke ret mange adresser overhovedet!!

Jeg er smidt et link til en fil, som du skal bruge for at få adgang !!!
http://venezia.cx/~diskdude/files/cbuilder/DLPortIO/DLPortIO.zip

I den er der en pdf fil som du kan læse lidt i og 2 componenter til delphi som du kan/skal bruge til at få adgang med og et par små programmer som skal installeres (en sys og dll fil (mener jeg!), som installeres i windows biblioteket, som giver adgang til adresserne!!)

Det er i hvertfald noget i den retning !! håber du kan bruge det til noget!!
Avatar billede atox Nybegynder
23. oktober 2001 - 19:05 #5
Den fil du linker til er til c++ og vb...

Jeg bruger delphi.
Avatar billede atox Nybegynder
23. oktober 2001 - 20:20 #6
Er der ikke en som vil prøve at lave et lille eksempel på hvordan man gør med det komponent som torbenthyregod linker til, eller bare vil prøve at forklare mig hvordan man laver et simpelt program som virker...  er helt grøn
Avatar billede atox Nybegynder
24. oktober 2001 - 15:18 #7
lukker!!
Avatar billede atox Nybegynder
24. oktober 2001 - 15:19 #8
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